promocion.component.ts 2.06 KB
import { Component, OnInit, HostListener } from '@angular/core';
import { BsModalRef } from 'ngx-bootstrap/modal';
import { IArticulo } from 'src/app/interfaces/IArticulo';
import { ArticuloService } from 'src/app/services/articulo/articulo.service';
import { PromocionService } from 'src/app/services/promocion/promocion.service';
import { Subject } from 'rxjs';
import { APP_SETTINGS } from 'src/etc/AppSettings';
import { InactiveScreenService } from 'src/app/services/inactive-screen/inactive-screen.service';

@Component({
  selector: 'app-promocion',
  templateUrl: './promocion.component.html',
  styleUrls: ['./promocion.component.scss']
})
export class PromocionComponent implements OnInit {
  idArticulo: number;
  articulosPromo: IArticulo[] = [];
  promociones: IArticulo[] = [];
  onClose: Subject<any>;
  urlImagenes = `${APP_SETTINGS.apiDeboSuite}/imagenes/`;

  constructor(
    public modalRef: BsModalRef,
    private articuloService: ArticuloService,
    private promocionService: PromocionService,
    private inactiveScreen: InactiveScreenService,
  ) {
    this.onClose = new Subject();
  }

  ngOnInit() {
    this.articuloService.getById(this.idArticulo)
      .subscribe((res: IArticulo) => {
        this.articulosPromo[0] = res;
        this.getPromociones();
      }, err => console.error(err));
    this.mediaPantalla();    
  }

  elegirPromo(promo: IArticulo) {
    promo.cantidad = 1;
    this.articuloService.setArticulo(promo);
    this.modalRef.hide();
  }

  getPromociones() {
    const sector = this.articulosPromo[0].CodSec;
    const codigo = this.articulosPromo[0].CodArt;
    this.promocionService.getPromociones(sector, codigo)
      .subscribe((res: IArticulo[]) => {
        this.promociones = res;
      }, error => { console.error(error); });
  }

  @HostListener('document:click', ['$event'])
  eventListener(event: Event) {
    clearTimeout(this.inactiveScreen.timerReposo);
    this.inactiveScreen.startTimeOutInactividad();
  }

  mediaPantalla() {
    if($('body').hasClass('media-pantalla')) {
      $('.modal-content').addClass('media-pantalla');
    }
  }
}