Commit 5b96c077809eb2aed62ea310fca135620fc72ee1

Authored by Marcelo Puebla
1 parent 3fe8e18ec7
Exists in develop

Add

Modal de advertencia de producto sin stock
src/app/modules/seleccion-articulos/no-stock/no-stock.component.html
... ... @@ -0,0 +1,24 @@
  1 +<div class="bg-primary rounded">
  2 + <div class="modal-body">
  3 + <img
  4 + draggable="false"
  5 + ondragstart="return false;"
  6 + (contextmenu)="false"
  7 + (click)="close()"
  8 + class="btn-effect icon-30 mt-2 mr-2 position-absolute top-0 right-0 z-index"
  9 + src="assets/img/icono-cancelar-blanco.svg">
  10 + <div class="row mx-0 my-2">
  11 + <img
  12 + draggable="false"
  13 + ondragstart="return false;"
  14 + (contextmenu)="false"
  15 + class="d-block mx-auto icon-60"
  16 + src="assets/img/sin-stock-2.svg">
  17 + <div class="col-12 py-3">
  18 + <p class="text-white text-center h4">
  19 + Disculpá, este articulo no está disponible por el momento
  20 + </p>
  21 + </div>
  22 + </div>
  23 + </div>
  24 +</div>
src/app/modules/seleccion-articulos/no-stock/no-stock.component.scss
src/app/modules/seleccion-articulos/no-stock/no-stock.component.spec.ts
... ... @@ -0,0 +1,25 @@
  1 +import { async, ComponentFixture, TestBed } from '@angular/core/testing';
  2 +
  3 +import { NoStockComponent } from './no-stock.component';
  4 +
  5 +describe('NoStockComponent', () => {
  6 + let component: NoStockComponent;
  7 + let fixture: ComponentFixture<NoStockComponent>;
  8 +
  9 + beforeEach(async(() => {
  10 + TestBed.configureTestingModule({
  11 + declarations: [ NoStockComponent ]
  12 + })
  13 + .compileComponents();
  14 + }));
  15 +
  16 + beforeEach(() => {
  17 + fixture = TestBed.createComponent(NoStockComponent);
  18 + component = fixture.componentInstance;
  19 + fixture.detectChanges();
  20 + });
  21 +
  22 + it('should create', () => {
  23 + expect(component).toBeTruthy();
  24 + });
  25 +});
src/app/modules/seleccion-articulos/no-stock/no-stock.component.ts
... ... @@ -0,0 +1,27 @@
  1 +import { Component, OnInit } from '@angular/core';
  2 +import { BsModalRef } from 'ngx-bootstrap/modal';
  3 +import { Subject } from 'rxjs';
  4 +
  5 +@Component({
  6 + selector: 'app-no-stock',
  7 + templateUrl: './no-stock.component.html',
  8 + styleUrls: ['./no-stock.component.scss']
  9 +})
  10 +export class NoStockComponent implements OnInit {
  11 + onClose: Subject<any>;
  12 +
  13 + constructor(
  14 + private modalRef: BsModalRef,
  15 + ) {
  16 + this.onClose = new Subject();
  17 + }
  18 +
  19 + ngOnInit() {
  20 + }
  21 +
  22 + close() {
  23 + this.onClose.next();
  24 + this.modalRef.hide();
  25 + }
  26 +
  27 +}
src/app/modules/seleccion-articulos/seleccion-articulos.component.ts
... ... @@ -12,6 +12,7 @@ import { SinonimoComponent } from &#39;src/app/shared/sinonimo/sinonimo.component&#39;;
12 12 import { FiltroCategoriasComponent } from './filtro-categorias/filtro-categorias.component';
13 13 import * as _ from 'lodash';
14 14 import { ANIMATIONS } from 'src/app/utils/animations';
  15 +import { NoStockComponent } from './no-stock/no-stock.component';
15 16  
16 17 @Component({
17 18 selector: 'app-seleccion-articulos',
... ... @@ -97,6 +98,16 @@ export class SeleccionArticulosComponent implements OnInit, AfterViewInit, OnDes
97 98 }
98 99  
99 100 selectArticulo(articulo: IArticulo) {
  101 + if (articulo.ExiVta < 1) {
  102 + if (this.modalRef) return;
  103 + this.modalRef = this.modalService.show(NoStockComponent, {
  104 + class: 'modal-dialog-centered',
  105 + backdrop: false,
  106 + ignoreBackdropClick: true,
  107 + });
  108 + this.modalRef.content.onClose
  109 + .subscribe(() => this.modalRef = null);
  110 + }
100 111 this.getByID(articulo.id);
101 112 }
102 113  
src/app/modules/seleccion-articulos/seleccion-articulos.module.ts
... ... @@ -12,6 +12,7 @@ import { FormsModule } from &#39;@angular/forms&#39;;
12 12 import { ConfirmacionComponent } from 'src/app/shared/confirmacion/confirmacion.component';
13 13 import { ArticuloCantidadComponent } from 'src/app/shared/articulo-cantidad/articulo-cantidad.component';
14 14 import { FiltroCategoriasComponent } from './filtro-categorias/filtro-categorias.component';
  15 +import { NoStockComponent } from './no-stock/no-stock.component';
15 16  
16 17 @NgModule({
17 18 declarations: [
... ... @@ -22,6 +23,7 @@ import { FiltroCategoriasComponent } from &#39;./filtro-categorias/filtro-categorias
22 23 ConfirmacionComponent,
23 24 ArticuloCantidadComponent,
24 25 FiltroCategoriasComponent,
  26 + NoStockComponent,
25 27 ],
26 28 imports: [
27 29 CommonModule,
... ... @@ -32,6 +34,6 @@ import { FiltroCategoriasComponent } from &#39;./filtro-categorias/filtro-categorias
32 34 SharedModule
33 35 ],
34 36 exports: [HeaderPublicidadComponent, ArticuloCantidadComponent],
35   - entryComponents: [PromocionComponent, ConfirmacionComponent, SinonimoComponent]
  37 + entryComponents: [PromocionComponent, ConfirmacionComponent, SinonimoComponent, NoStockComponent]
36 38 })
37 39 export class SeleccionArticulosModule { }
src/assets/img/sin-stock-2.svg
... ... @@ -0,0 +1,18 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  3 +<!-- Creator: CorelDRAW X7 -->
  4 +<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="10.5274mm" height="10.5274mm" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
  5 +viewBox="0 0 733 733"
  6 + xmlns:xlink="http://www.w3.org/1999/xlink">
  7 + <defs>
  8 + <style type="text/css">
  9 + <![CDATA[
  10 + .fil0 {fill:#F4B223}
  11 + ]]>
  12 + </style>
  13 + </defs>
  14 + <g id="Capa_x0020_1">
  15 + <metadata id="CorelCorpID_0Corel-Layer"/>
  16 + <path class="fil0" d="M360 592l7 0 191 -108 0 -237c-11,-6 -182,-99 -191,-107l-6 0 -191 107 -1 237c35,19 64,36 96,53l95 55zm179 -367l76 -76c50,58 81,134 81,217 0,183 -147,330 -330,330 -83,0 -159,-31 -217,-81l83 -83c-11,-6 -21,-12 -32,-18l-76 76c-54,-59 -87,-137 -87,-224 0,-182 147,-329 329,-329 87,0 165,33 224,87l-84 84c12,6 23,12 33,17zm-173 508c-202,0 -366,-164 -366,-367 0,-202 164,-366 366,-366 203,0 367,164 367,366 0,203 -164,367 -367,367zm8 -372l0 203c13,-5 29,-16 41,-22 20,-11 111,-64 123,-68l0 -203c-9,2 -31,17 -41,22 -19,10 -112,64 -123,68zm-184 113c12,4 28,15 40,22l124 68 0 -204c-14,-4 -102,-55 -122,-67 -12,-6 -30,-18 -43,-22l1 203zm11 -221c10,8 43,24 57,32 21,13 20,4 60,-17 16,-9 109,-60 116,-67 -19,-11 -37,-21 -57,-32 -19,-10 -18,-5 -59,19l-117 65zm93 52l58 33c17,9 12,7 29,-3l145 -82 -57 -32c-16,-10 -13,-8 -29,1l-87 49c-7,3 -53,28 -59,34zm159 42c-8,2 -54,30 -57,35 -3,8 -1,36 -1,45 0,14 -4,36 15,30 4,-2 23,-15 29,-18 7,-4 24,-12 26,-19 2,-5 1,-37 1,-45 0,-11 2,-33 -13,-28zm-38 45l0 37c38,-18 31,-16 31,-54 -11,4 -20,11 -31,17z"/>
  17 + </g>
  18 +</svg>