Commit be87ffca1a05b4413628987bcd70f490a7e7aee2

Authored by Marcelo Puebla
1 parent ef8676a43d
Exists in develop

Change

Codigo identado
src/app/shared/promocion/promocion.component.ts
1 import { Component, OnInit, HostListener } from '@angular/core'; 1 import { Component, OnInit, HostListener } from '@angular/core';
2 import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal'; 2 import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
3 import { IArticulo } from 'src/app/interfaces/IArticulo'; 3 import { IArticulo } from 'src/app/interfaces/IArticulo';
4 import { ArticuloService } from 'src/app/services/articulo/articulo.service'; 4 import { ArticuloService } from 'src/app/services/articulo/articulo.service';
5 import { PromocionService } from 'src/app/services/promocion/promocion.service'; 5 import { PromocionService } from 'src/app/services/promocion/promocion.service';
6 import { Subject } from 'rxjs'; 6 import { Subject } from 'rxjs';
7 import { APP_SETTINGS } from 'src/etc/AppSettings'; 7 import { APP_SETTINGS } from 'src/etc/AppSettings';
8 import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service'; 8 import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service';
9 import { SinonimoService } from 'src/app/services/sinonimo/sinonimo.service'; 9 import { SinonimoService } from 'src/app/services/sinonimo/sinonimo.service';
10 import { ISinonimo } from 'src/app/interfaces/ISinonimo'; 10 import { ISinonimo } from 'src/app/interfaces/ISinonimo';
11 import { SinonimoComponent } from '../sinonimo/sinonimo.component'; 11 import { SinonimoComponent } from '../sinonimo/sinonimo.component';
12 12
13 @Component({ 13 @Component({
14 selector: 'app-promocion', 14 selector: 'app-promocion',
15 templateUrl: './promocion.component.html', 15 templateUrl: './promocion.component.html',
16 styleUrls: ['./promocion.component.scss'] 16 styleUrls: ['./promocion.component.scss']
17 }) 17 })
18 export class PromocionComponent implements OnInit { 18 export class PromocionComponent implements OnInit {
19 articulosPromo: IArticulo[] = []; 19 articulosPromo: IArticulo[] = [];
20 promociones: IArticulo[] = []; 20 promociones: IArticulo[] = [];
21 onClose: Subject<any>; 21 onClose: Subject<any>;
22 urlImagenes = `${APP_SETTINGS.apiDeboSuite}/imagenes/`; 22 urlImagenes = `${APP_SETTINGS.apiDeboSuite}/imagenes/`;
23 23
24 constructor( 24 constructor(
25 public modalRef: BsModalRef, 25 public modalRef: BsModalRef,
26 private modalService: BsModalService, 26 private modalService: BsModalService,
27 private articuloService: ArticuloService, 27 private articuloService: ArticuloService,
28 private promocionService: PromocionService, 28 private promocionService: PromocionService,
29 private sinonimoService: SinonimoService, 29 private sinonimoService: SinonimoService,
30 private inactiveScreen: InactiveScreenService, 30 private inactiveScreen: InactiveScreenService,
31 ) { 31 ) {
32 this.onClose = new Subject(); 32 this.onClose = new Subject();
33 } 33 }
34 34
35 ngOnInit() { 35 ngOnInit() {
36 this.getPromociones(); 36 this.getPromociones();
37 } 37 }
38 38
39 selectPromo(promo: IArticulo) { 39 selectPromo(promo: IArticulo) {
40 this.sinonimoService.getSinonimos(promo.CodSec, promo.CodArt) 40 this.sinonimoService.getSinonimos(promo.CodSec, promo.CodArt)
41 .subscribe((res: ISinonimo[]) => { 41 .subscribe((res: ISinonimo[]) => {
42 if (res.length) { 42 if (res.length) {
43 this.openModalSinonimos(res); 43 this.openModalSinonimos(res);
44 } else { 44 } else {
45 promo.cantidad = 1; 45 promo.cantidad = 1;
46 this.articuloService.setArticulo(promo); 46 this.articuloService.setArticulo(promo);
47 this.modalRef.hide(); 47 this.modalRef.hide();
48 } 48 }
49 }, err => console.error(err)); 49 }, err => console.error(err));
50 this.mediaPantalla(); 50 this.mediaPantalla();
51 } 51 }
52 52
53 openModalSinonimos(sinonimosData: ISinonimo[]) { 53 openModalSinonimos(sinonimosData: ISinonimo[]) {
54 this.modalRef = this.modalService.show(SinonimoComponent, { 54 this.modalRef = this.modalService.show(SinonimoComponent, {
55 initialState: { sinonimos: sinonimosData }, 55 initialState: { sinonimos: sinonimosData },
56 class: 'modal-promo modal-dialog-centered' 56 class: 'modal-promo modal-dialog-centered'
57 }); 57 });
58 } 58 }
59 59
60 getPromociones() { 60 getPromociones() {
61 const sector = this.articulosPromo[0].CodSec; 61 const sector = this.articulosPromo[0].CodSec;
62 const codigo = this.articulosPromo[0].CodArt; 62 const codigo = this.articulosPromo[0].CodArt;
63 this.promocionService.getPromociones(sector, codigo) 63 this.promocionService.getPromociones(sector, codigo)
64 .subscribe((res: IArticulo[]) => { 64 .subscribe((res: IArticulo[]) => {
65 this.promociones = res; 65 this.promociones = res;
66 }, error => { console.error(error); }); 66 }, error => { console.error(error); });
67 } 67 }
68 68
69 @HostListener('document:click', ['$event']) 69 @HostListener('document:click', ['$event'])
70 eventListener(event: Event) { 70 eventListener(event: Event) {
71 clearTimeout(this.inactiveScreen.timerReposo); 71 clearTimeout(this.inactiveScreen.timerReposo);
72 this.inactiveScreen.startTimeOutInactividad(); 72 this.inactiveScreen.startTimeOutInactividad();
73 } 73 }
74 74
75 mediaPantalla() { 75 mediaPantalla() {
76 if($('body').hasClass('media-pantalla')) { 76 if ($('body').hasClass('media-pantalla')) {
77 $('.modal-content').addClass('media-pantalla'); 77 $('.modal-content').addClass('media-pantalla');
78 } 78 }
79 } 79 }
80 } 80 }
81 81