diff --git a/src/app/modules/admin/admin.component.ts b/src/app/modules/admin/admin.component.ts index df3ff90..b2c5510 100644 --- a/src/app/modules/admin/admin.component.ts +++ b/src/app/modules/admin/admin.component.ts @@ -1,5 +1,6 @@ import { Component, OnInit, HostListener, OnDestroy } from '@angular/core'; import { Router } from '@angular/router'; +import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service'; @Component({ selector: 'app-admin', @@ -8,30 +9,22 @@ import { Router } from '@angular/router'; }) export class AdminComponent implements OnInit, OnDestroy { - timerReposo: any; - constructor( - private router: Router, + private inactiveScreen: InactiveScreenService, ) { } ngOnInit() { - this.startTimeOutInactividad(); + this.inactiveScreen.startTimeOutInactividad(); } ngOnDestroy() { - clearTimeout(this.timerReposo); + clearTimeout(this.inactiveScreen.timerReposo); } @HostListener('document:click', ['$event']) - documentClick(event: MouseEvent) { - clearTimeout(this.timerReposo); - this.startTimeOutInactividad(); - } - - startTimeOutInactividad() { - this.timerReposo = setTimeout(() => { - this.router.navigate(['cancelar-compra']); - }, 90000); + eventListener(event: Event) { + clearTimeout(this.inactiveScreen.timerReposo); + this.inactiveScreen.startTimeOutInactividad(); } } diff --git a/src/app/modules/carrito/carrito.component.html b/src/app/modules/carrito/carrito.component.html index f501c81..b2e1bd4 100644 --- a/src/app/modules/carrito/carrito.component.html +++ b/src/app/modules/carrito/carrito.component.html @@ -13,7 +13,9 @@ -
No hay artÃculos en el carrito
diff --git a/src/app/modules/carrito/carrito.component.ts b/src/app/modules/carrito/carrito.component.ts index aef1e01..de7c4f0 100644 --- a/src/app/modules/carrito/carrito.component.ts +++ b/src/app/modules/carrito/carrito.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, OnDestroy } from '@angular/core'; +import { Component, OnInit, OnDestroy, HostListener } from '@angular/core'; import { Location } from '@angular/common'; import { ArticuloService } from 'src/app/services/articulo/articulo.service'; import { APP_SETTINGS } from 'src/etc/AppSettings'; @@ -6,6 +6,7 @@ import { trigger, state, style, transition, animate } from '@angular/animations' import { IArticulo } from 'src/app/interfaces/IArticulo'; import { Router } from '@angular/router'; import { BsModalRef } from 'ngx-bootstrap/modal/public_api'; +import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service'; @Component({ selector: 'app-carrito', @@ -33,6 +34,7 @@ export class CarritoComponent implements OnInit, OnDestroy { public articuloService: ArticuloService, private location: Location, private router: Router, + private inactiveScreen: InactiveScreenService, ) { } ngOnInit() { @@ -67,4 +69,10 @@ export class CarritoComponent implements OnInit, OnDestroy { this.location.back(); } + @HostListener('document:click', ['$event']) + eventListener(event: Event) { + clearTimeout(this.inactiveScreen.timerReposo); + this.inactiveScreen.startTimeOutInactividad(); + } + } diff --git a/src/app/modules/seleccion-articulos/seleccion-articulos.component.html b/src/app/modules/seleccion-articulos/seleccion-articulos.component.html index 402cc98..5842fcf 100644 --- a/src/app/modules/seleccion-articulos/seleccion-articulos.component.html +++ b/src/app/modules/seleccion-articulos/seleccion-articulos.component.html @@ -33,7 +33,8 @@No hay articulos en el carrito
diff --git a/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts b/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts index 552640b..d8bc15e 100644 --- a/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts +++ b/src/app/modules/seleccion-articulos/seleccion-articulos.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, TemplateRef, OnDestroy } from '@angular/core'; +import { Component, OnInit, TemplateRef, OnDestroy, HostListener } from '@angular/core'; import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal'; import { ArticuloService } from 'src/app/services/articulo/articulo.service'; import { IArticulo } from 'src/app/interfaces/IArticulo'; @@ -7,6 +7,7 @@ import { ICategoria } from 'src/app/interfaces/ICategoria'; import { CategoriaService } from 'src/app/services/categoria/categoria.service'; import { PromocionService } from 'src/app/services/promocion/promocion.service'; import { PromocionComponent } from 'src/app/shared/promocion/promocion.component'; +import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service'; @Component({ selector: 'app-seleccion-articulos', @@ -33,6 +34,7 @@ export class SeleccionArticulosComponent implements OnInit, OnDestroy { public articuloService: ArticuloService, private categoriaService: CategoriaService, private modalService: BsModalService, + private inactiveScreen: InactiveScreenService, ) { } ngOnInit() { @@ -156,6 +158,12 @@ export class SeleccionArticulosComponent implements OnInit, OnDestroy { this.showQuantity += 100; } + @HostListener("scroll", ['$event']) + scrollEvent(event: Event) { + clearTimeout(this.inactiveScreen.timerReposo); + this.inactiveScreen.startTimeOutInactividad(); + } + mouseup() { if (!this.timeoutHandler) return; clearInterval(this.timeoutHandler); diff --git a/src/app/services/inactive-screen/inactive-screen.service.spec.ts b/src/app/services/inactive-screen/inactive-screen.service.spec.ts new file mode 100644 index 0000000..34a520f --- /dev/null +++ b/src/app/services/inactive-screen/inactive-screen.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { InactiveScreenService } from './inactive-screen.service'; + +describe('InactiveScreenService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: InactiveScreenService = TestBed.get(InactiveScreenService); + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/inactive-screen/inactive-screen.service.ts b/src/app/services/inactive-screen/inactive-screen.service.ts new file mode 100644 index 0000000..d9e8a6f --- /dev/null +++ b/src/app/services/inactive-screen/inactive-screen.service.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@angular/core'; +import { Router } from '@angular/router'; + +@Injectable({ + providedIn: 'root' +}) +export class InactiveScreenService { + timerReposo: any; + + constructor( + private router: Router, + ) { } + + startTimeOutInactividad() { + this.timerReposo = setTimeout(() => { + this.router.navigate(['cancelar-compra']); + }, 90000); + } +} diff --git a/src/app/shared/promocion/promocion.component.html b/src/app/shared/promocion/promocion.component.html index 030e9d8..9efd96a 100644 --- a/src/app/shared/promocion/promocion.component.html +++ b/src/app/shared/promocion/promocion.component.html @@ -38,7 +38,9 @@ class="card-img-top img-fluid rounded-circle">