Commit 2c319982ac8b9a21870618e24355c196f293bf0a
1 parent
103858e63e
Exists in
master
and in
1 other branch
busqueda by codigo de barras
Showing
2 changed files
with
35 additions
and
10 deletions
Show diff stats
src/app/components/inicio/inicio.component.ts
| ... | ... | @@ -16,11 +16,19 @@ import { HostListener } from '@angular/core'; |
| 16 | 16 | export class InicioComponent implements OnInit { |
| 17 | 17 | |
| 18 | 18 | @HostListener('document:keypress', ["$event"]) catchInput(e: KeyboardEvent) { |
| 19 | - this.busqueda += e.key; | |
| 19 | + | |
| 20 | + if (e.keyCode == 13) { | |
| 21 | + this.buscarByCodigoBarras(this.busqueda); | |
| 22 | + this.busqueda = ''; | |
| 23 | + } else { | |
| 24 | + this.busqueda += e.key; | |
| 25 | + } | |
| 26 | + | |
| 20 | 27 | }; |
| 21 | 28 | |
| 22 | 29 | @ViewChild('pop', { static: false }) popoverDirective: PopoverDirective; |
| 23 | 30 | private productoAcargar: Producto; |
| 31 | + private productos: Producto[]; | |
| 24 | 32 | private promoAcargar: Promocion; |
| 25 | 33 | private tienePromo = false; |
| 26 | 34 | private productoEsPromo = false; |
| ... | ... | @@ -37,10 +45,9 @@ export class InicioComponent implements OnInit { |
| 37 | 45 | |
| 38 | 46 | ngOnInit() { |
| 39 | 47 | |
| 40 | - this.vaciarBusqueda(); | |
| 41 | - | |
| 42 | 48 | this.productoAcargar = this.productoService.productoAcargar; |
| 43 | 49 | this.getPromociones(); |
| 50 | + this.getProductos(); | |
| 44 | 51 | } |
| 45 | 52 | |
| 46 | 53 | getPromociones() { |
| ... | ... | @@ -70,6 +77,13 @@ export class InicioComponent implements OnInit { |
| 70 | 77 | this.popoverDirective.show(); |
| 71 | 78 | } |
| 72 | 79 | |
| 80 | + getProductos() { | |
| 81 | + this.productoService.getAll() | |
| 82 | + .subscribe((productos: Producto[]) => { | |
| 83 | + this.productos = productos; | |
| 84 | + }); | |
| 85 | + } | |
| 86 | + | |
| 73 | 87 | private goPage(pageUrl) { |
| 74 | 88 | |
| 75 | 89 | this.router.navigate([pageUrl]); |
| ... | ... | @@ -118,17 +132,27 @@ export class InicioComponent implements OnInit { |
| 118 | 132 | } |
| 119 | 133 | } |
| 120 | 134 | |
| 121 | - vaciarBusqueda() { | |
| 122 | - | |
| 123 | - setTimeout(() => { | |
| 124 | - this.busqueda = ''; | |
| 125 | - }, 2000); | |
| 126 | - } | |
| 127 | - | |
| 128 | 135 | sinonimoSeleccionado($event: Sinonimo) { |
| 129 | 136 | |
| 130 | 137 | console.log($event); |
| 131 | 138 | this.sinonimoAcargar = $event; |
| 132 | 139 | } |
| 133 | 140 | |
| 141 | + buscarByCodigoBarras(busqueda) { | |
| 142 | + | |
| 143 | + let producto = this.productos.filter(producto => { | |
| 144 | + return producto.codigoBarra == busqueda; | |
| 145 | + }); | |
| 146 | + | |
| 147 | + if (producto.length) { | |
| 148 | + | |
| 149 | + this.productoAcargar = producto[0]; | |
| 150 | + this.getPromociones(); | |
| 151 | + | |
| 152 | + } else { | |
| 153 | + alert('No se encuentra el producto'); | |
| 154 | + } | |
| 155 | + | |
| 156 | + } | |
| 157 | + | |
| 134 | 158 | } |