visorus-erp-core 18.0.0 → 19.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/fesm2022/visorus-erp-core.mjs +216 -227
  2. package/fesm2022/visorus-erp-core.mjs.map +1 -1
  3. package/lib/app.module.d.ts +15 -16
  4. package/lib/globalPrimeNg.d.ts +2 -2
  5. package/lib/services/auth.service.d.ts +0 -1
  6. package/package.json +10 -8
  7. package/esm2022/lib/app.module.mjs +0 -112
  8. package/esm2022/lib/components/acreedor/select/select-acreedor.component.mjs +0 -69
  9. package/esm2022/lib/components/acreedor/services/acreedor.service.mjs +0 -20
  10. package/esm2022/lib/components/acreedor/services/acreedorCuentaContable.mjs +0 -24
  11. package/esm2022/lib/components/agente/models/Agente.mjs +0 -8
  12. package/esm2022/lib/components/agente/services/agente.service.mjs +0 -32
  13. package/esm2022/lib/components/almacen/models/Almacen.mjs +0 -4
  14. package/esm2022/lib/components/almacen/services/almacen.service.mjs +0 -24
  15. package/esm2022/lib/components/banco/models/Banco.mjs +0 -7
  16. package/esm2022/lib/components/banco/services/banco.service.mjs +0 -19
  17. package/esm2022/lib/components/caja/session-create/session-create.component.mjs +0 -98
  18. package/esm2022/lib/components/caja/sessionCaja.service.mjs +0 -20
  19. package/esm2022/lib/components/catalogoTipo/models/CatalogoTipo.mjs +0 -4
  20. package/esm2022/lib/components/catalogoTipo/services/catalogoTipo.service.mjs +0 -19
  21. package/esm2022/lib/components/clasificadorTipo/models/ClasificadorTipo.mjs +0 -4
  22. package/esm2022/lib/components/clasificadorTipo/services/clasificadorTipo.service.mjs +0 -19
  23. package/esm2022/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.mjs +0 -19
  24. package/esm2022/lib/components/claveMovimiento/models/ClaveMovimiento.mjs +0 -4
  25. package/esm2022/lib/components/claveMovimiento/services/claveMovimiento.service.mjs +0 -19
  26. package/esm2022/lib/components/cliente/models/Cliente.mjs +0 -12
  27. package/esm2022/lib/components/cliente/models/ClienteCuentaBanco.mjs +0 -8
  28. package/esm2022/lib/components/cliente/models/ClienteFlete.mjs +0 -10
  29. package/esm2022/lib/components/cliente/select/select-cliente.component.mjs +0 -85
  30. package/esm2022/lib/components/cliente/services/cliente.service.mjs +0 -22
  31. package/esm2022/lib/components/cliente/services/clienteCuentaBanco.service.mjs +0 -24
  32. package/esm2022/lib/components/cliente/services/clienteFlete.service.mjs +0 -24
  33. package/esm2022/lib/components/contacto/models/DatoContacto.mjs +0 -7
  34. package/esm2022/lib/components/contacto/services/datoContacto.service.mjs +0 -19
  35. package/esm2022/lib/components/dato-direccion/models/DatoDireccion.mjs +0 -5
  36. package/esm2022/lib/components/dato-direccion/services/datoDireccion.service.mjs +0 -19
  37. package/esm2022/lib/components/departamento/models/Departamento.mjs +0 -5
  38. package/esm2022/lib/components/departamento/services/departamento.service.mjs +0 -19
  39. package/esm2022/lib/components/empresa/models/ConfiguracionEmpresaAdministrativa.mjs +0 -7
  40. package/esm2022/lib/components/empresa/models/Empresa.mjs +0 -11
  41. package/esm2022/lib/components/empresa/services/empresa.service.mjs +0 -24
  42. package/esm2022/lib/components/error404/error404.component.mjs +0 -14
  43. package/esm2022/lib/components/flete/models/Flete.mjs +0 -4
  44. package/esm2022/lib/components/flete/services/flete.service.mjs +0 -20
  45. package/esm2022/lib/components/formaPago/models/FormaPago.mjs +0 -4
  46. package/esm2022/lib/components/formaPago/services/FormaPago.service.mjs +0 -19
  47. package/esm2022/lib/components/loading/loading.component.mjs +0 -33
  48. package/esm2022/lib/components/loading/loading.service.mjs +0 -30
  49. package/esm2022/lib/components/loading-screen/loading-screen.component.mjs +0 -40
  50. package/esm2022/lib/components/loading-screen/loading-screen.service.mjs +0 -31
  51. package/esm2022/lib/components/login-modal/login-modal.component.mjs +0 -70
  52. package/esm2022/lib/components/login-modal/login-modal.service.mjs +0 -21
  53. package/esm2022/lib/components/moneda/models/Moneda.mjs +0 -4
  54. package/esm2022/lib/components/moneda/services/moneda.service.mjs +0 -20
  55. package/esm2022/lib/components/pdfModal/pdf-modal.component.mjs +0 -81
  56. package/esm2022/lib/components/pdfModal/pdf-modal.service.mjs +0 -29
  57. package/esm2022/lib/components/persona-fisica/models/EstadoCivil.mjs +0 -4
  58. package/esm2022/lib/components/persona-fisica/models/Genero.mjs +0 -4
  59. package/esm2022/lib/components/persona-fisica/models/Persona.mjs +0 -7
  60. package/esm2022/lib/components/persona-fisica/models/PersonaFisica.mjs +0 -9
  61. package/esm2022/lib/components/persona-fisica/services/personaFisica.service.mjs +0 -26
  62. package/esm2022/lib/components/proveedor/models/Proveedor.mjs +0 -12
  63. package/esm2022/lib/components/proveedor/models/ProveedorCuentaBanco.mjs +0 -8
  64. package/esm2022/lib/components/proveedor/models/ProveedorFlete.mjs +0 -10
  65. package/esm2022/lib/components/proveedor/select/select-proveedor.component.mjs +0 -68
  66. package/esm2022/lib/components/proveedor/services/proveedor.service.mjs +0 -20
  67. package/esm2022/lib/components/proveedor/services/proveedorCuentaBanco.service.mjs +0 -24
  68. package/esm2022/lib/components/proveedor/services/proveedorFlete.service.mjs +0 -24
  69. package/esm2022/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.mjs +0 -62
  70. package/esm2022/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.mjs +0 -24
  71. package/esm2022/lib/components/selecciona-articulo/selecciona-articulo.component.mjs +0 -128
  72. package/esm2022/lib/components/selecciona-articulo/stock.service.mjs +0 -31
  73. package/esm2022/lib/components/serieDocumento/models/SerieDocumento.mjs +0 -4
  74. package/esm2022/lib/components/serieDocumento/services/serieDocumento.service.mjs +0 -26
  75. package/esm2022/lib/components/tipo-contacto/models/TipoContacto.mjs +0 -6
  76. package/esm2022/lib/components/tipo-contacto/services/tipoContacto.service.mjs +0 -19
  77. package/esm2022/lib/components/ubicacion/models/Ubicacion.mjs +0 -4
  78. package/esm2022/lib/components/ubicacion/services/ubicacion.service.mjs +0 -19
  79. package/esm2022/lib/contabilidad/componentes/cclista/cclista.component.mjs +0 -182
  80. package/esm2022/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.mjs +0 -42
  81. package/esm2022/lib/contabilidad/modelos/cuentaContable.model.mjs +0 -6
  82. package/esm2022/lib/contabilidad/modelos/normaInfoFinanciera.model.mjs +0 -5
  83. package/esm2022/lib/contabilidad/servicios/cuentacontable.service.mjs +0 -23
  84. package/esm2022/lib/globalPrimeNg.mjs +0 -66
  85. package/esm2022/lib/httpInterceptor/httpInterceptor.mjs +0 -90
  86. package/esm2022/lib/importComponents.mjs +0 -24
  87. package/esm2022/lib/importComponetsConta.mjs +0 -7
  88. package/esm2022/lib/models/PersonaMoral.mjs +0 -9
  89. package/esm2022/lib/models/Usuario.mjs +0 -3
  90. package/esm2022/lib/models/auth.mjs +0 -3
  91. package/esm2022/lib/services/auth.service.mjs +0 -224
  92. package/esm2022/lib/services/authenticated.service.mjs +0 -77
  93. package/esm2022/lib/services/canActivateGuard.service.ts.mjs +0 -26
  94. package/esm2022/lib/services/catalogo-adicional.service.mjs +0 -20
  95. package/esm2022/lib/services/controlAcceso.service.mjs +0 -43
  96. package/esm2022/lib/services/crud.service.mjs +0 -46
  97. package/esm2022/lib/services/file.service.mjs +0 -68
  98. package/esm2022/lib/services/global.service.mjs +0 -54
  99. package/esm2022/lib/services/init.service.mjs +0 -51
  100. package/esm2022/lib/services/message.service.mjs +0 -79
  101. package/esm2022/lib/services/paginate.service.mjs +0 -58
  102. package/esm2022/lib/services/personaMoral.service.mjs +0 -19
  103. package/esm2022/lib/services/versionCheck.service.mjs +0 -52
  104. package/esm2022/lib/utils/tipo_catalogo.ts.mjs +0 -5
  105. package/esm2022/public_api.mjs +0 -96
  106. package/esm2022/visorus-erp-core.mjs +0 -5
@@ -1,128 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { PaginateService } from '../../services/paginate.service';
3
- import { AlmacenService } from '../almacen/services/almacen.service';
4
- import { StockService } from './stock.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./stock.service";
7
- import * as i2 from "../../services/paginate.service";
8
- import * as i3 from "../almacen/services/almacen.service";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "primeng/api";
11
- import * as i6 from "primeng/table";
12
- import * as i7 from "primeng/button";
13
- import * as i8 from "primeng/inputtext";
14
- import * as i9 from "primeng/paginator";
15
- import * as i10 from "@angular/forms";
16
- import * as i11 from "primeng/dialog";
17
- import * as i12 from "@ngx-translate/core";
18
- import * as i13 from "../seleccion-articulo-informacion/seleccion-articulo-informacion.component";
19
- export class SeleccionaArticuloComponent {
20
- constructor(_stockService, _paginateService, _almacenService) {
21
- this._stockService = _stockService;
22
- this._paginateService = _paginateService;
23
- this._almacenService = _almacenService;
24
- this.manejaUnidadSecundaria = false;
25
- this.emitFilaSeleccionada = new EventEmitter();
26
- this.emitShowArticulos = new EventEmitter();
27
- this.articulosList = [];
28
- this.ordenar = [];
29
- this.busquedaArticulos = {
30
- tipoBusqueda: ''
31
- };
32
- this.showModal = false;
33
- this.showModalInformacion = false;
34
- this.showFirstTime = true;
35
- this.clasificadorList = [];
36
- this.size = 640;
37
- }
38
- ngOnInit() {
39
- this.page = this._paginateService.getPage();
40
- this.ordenar = this._paginateService.getOrden([
41
- { param: 'nombre', label: 'estatus' }
42
- ], 'es');
43
- this.showFirstTime = true;
44
- this._almacenService.getAll(this.configuracion.params).subscribe((data) => {
45
- this.almacenList = data.data;
46
- });
47
- this.busquedaArticulos.tipoBusqueda = 'CD';
48
- //tempthis.obtenerExistenciaArticulosShow();
49
- }
50
- pagina(e) {
51
- this.page.rows = e.rows;
52
- this.page.offset = e.first;
53
- this.obtenerExistenciaArticulos();
54
- }
55
- obtenerExistenciaArticulosShow() {
56
- this.busquedaArticulos.tipoBusqueda = 'CD';
57
- if (this.showFirstTime) {
58
- this.obtenerExistenciaArticulos();
59
- this.showFirstTime = false;
60
- }
61
- }
62
- obtenerExistenciaArticulos() {
63
- this.busquedaArticulos.params = this._paginateService.getParams(this.page);
64
- const parametros = {
65
- almacen: (this.configuracion.noOcupaAlamacen ? null : this.movimiento.almacen),
66
- tipoPrecio: this.configuracion.tipoPrecio,
67
- busquedaArticulos: this.busquedaArticulos,
68
- tipoArticulo: this.configuracion.tipoArticulo ? this.configuracion.tipoArticulo : null,
69
- numeroPrecioDefault: this.configuracion.numeroPrecioDefault
70
- };
71
- this._stockService.obtenerExistenciasArticulosDescripcion(parametros, this.busquedaArticulos.params).then((data) => {
72
- this.articulosList = data.articulosDescripcion;
73
- this.page.total = data.total;
74
- if (data.clasificadores) {
75
- this.clasificadorList = data.clasificadores;
76
- }
77
- if (!this.showModal) {
78
- this.showModal = true;
79
- }
80
- }).catch(e => {
81
- this.articulosList = [];
82
- });
83
- }
84
- obtenerExistenciaArticulosVal() {
85
- if (this.busquedaArticulos.tipoBusqueda != '' && !this.busquedaArticulos.key)
86
- return false;
87
- this.obtenerExistenciaArticulos();
88
- }
89
- obtenerExistenciaArticulosKey($event) {
90
- if ($event.key === 'Enter')
91
- this.obtenerExistenciaArticulos();
92
- }
93
- filaSeleccionada($event) {
94
- this.emitFilaSeleccionada.emit($event);
95
- }
96
- emitirShowArticulos() {
97
- this.emitShowArticulos.emit(0);
98
- }
99
- seriesArticulo(series) {
100
- console.log(series);
101
- }
102
- onShowInformacion(eventArticulo) {
103
- this.articuloSelected = eventArticulo;
104
- this.showModalInformacion = true;
105
- }
106
- onEventInformacion(event) {
107
- this.showModalInformacion = event.status;
108
- }
109
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SeleccionaArticuloComponent, deps: [{ token: i1.StockService }, { token: i2.PaginateService }, { token: i3.AlmacenService }], target: i0.ɵɵFactoryTarget.Component }); }
110
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SeleccionaArticuloComponent, selector: "app-selecciona-articulo", inputs: { configuracion: "configuracion", showArticulos: "showArticulos", movimiento: "movimiento", manejaUnidadSecundaria: "manejaUnidadSecundaria" }, outputs: { emitFilaSeleccionada: "emitFilaSeleccionada", emitShowArticulos: "emitShowArticulos" }, ngImport: i0, template: "<!--inicia seleccion de articulos-->\n<!-- (onShow)=\"obtenerExistenciaArticulosShow()\" -->\n<!--\n <div class=\"col-12 col-center\" >-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\">\n <div class=\"grid grid-fluid\">\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 115px;\">\n <select pInputText [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Codigo</option>\n <option value=\"D\">Descripcion</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n </div>\n <input type=\"text\" style=\"width: 200px;\" pInputText [(ngModel)]=\"busquedaArticulos.key\"\n (keypress)=\"obtenerExistenciaArticulosKey( $event )\" id=\"key\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\"\n (click)=\"obtenerExistenciaArticulos( )\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 100px;\">\n <label for=\"almacen\">Almacen:</label>\n </div>\n <select pInputText style=\"width: 200px;\" [(ngModel)]=\"movimiento.almacen\" disabled id=\"almacen\"\n (change)=\"obtenerExistenciaArticulosVal()\">\n <option *ngFor=\"let almacen of almacenList\" value=\"{{ almacen.id }}\">{{almacen.descripcion}}</option>\n </select>\n </div>\n\n </div>\n </div>\n\n <!--\n <div id=\"table-wrapper\">\n <div id=\"table-scroll\">-->\n <!-- new table\n <p-table #dt [columns]=\"colsDD\" [value]=\"listDD\" [scrollable]=\"true\" \n [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" \n [resizableColumns]=\"true\" [(selection)]=\"selectedXML\" (onRowSelect)=\"onRowSelect($event)\" dataKey=\"uuid\">\n\n \n -->\n\n <p-table [value]=\"articulosList\" [scrollable]=\"true\" #dt scrollHeight=\"400px\" responsiveLayout=\"scroll\" \n selectionMode=\"single\" (onRowSelect)=\"filaSeleccionada($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 80px\" translate>C\u00F3digo Ubicacion</th>\n <th style=\"width: 70px\" translate>Existencia</th>\n <th style=\"width: 40px\" translate>Unidad</th>\n <th style=\"width: 50px\" *ngIf=\"manejaUnidadSecundaria\" translate>existenciaSecundaria</th>\n <th style=\"width: 40px\" *ngIf=\"manejaUnidadSecundaria\" translate>Unidad</th>\n <th style=\"width: 80px\" translate>C\u00F3digo</th>\n <th style=\"width: 120px\" translate>Descripcion</th>\n <th style=\"width: 40px\" translate></th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 2</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 3</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 4</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 5</th>\n <th style=\"width: 40px\" *ngIf=\"configuracion.tipoPrecio === 'costo' \" translate>Movimiento.costo</th>\n <th style=\"width: 40px\" translate>Existencia por Unidad</th>\n <th *ngFor=\"let item of clasificadorList\" style=\"width: 80px\" translate>{{item.descripcion}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 80px;\" *ngIf=\"!rowData.ubicacionCodigo\" translate>Movimiento.NoAsignado</td>\n <td style=\"width: 80px;\" *ngIf=\"rowData.ubicacionCodigo\">{{rowData.ubicacionCodigo}}</td>\n <td style=\"width: 70px;\">{{rowData.existencia}}</td>\n <td style=\"width: 40px;\">{{rowData.unidadCodigo}}</td>\n\n <td style=\"width: 50px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.existenciaSecundaria}}</td>\n <td style=\"width: 40px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.unidadSecundariaCodigo}}</td>\n\n <td style=\"width: 80px;\">{{rowData.articulo.codigo}}</td>\n <td style=\"width: 120px;\">{{rowData.articulo.descripcion}}</td>\n <td style=\"width: 40px;\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"ui-button-raised ui-button-primary\"\n (click)=\"onShowInformacion(rowData)\">\n </button>\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precioConImpuestos | currency }}\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio2ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio3ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio4ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio5ConImpuestos | currency\n }}</td>\n <td style=\"width: 40px;\" *ngIf=\"configuracion.tipoPrecio === 'costo' \">{{rowData.precio | currency }}</td>\n <td style=\"width: 40px;\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of rowData.existenciaUnidades\">\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div>\n </div>\n </td>\n <!-- <td style=\"width: 40px;\"></td> -->\n <td *ngFor=\"let itemData of rowData.articuloClasificadorList\" style=\"width: 80px;\">{{itemData.valor}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <!-- /new table-->\n <!-- \n <p-table [(value)]=\"articulosList\" responsive=\"true\" \n selectionMode=\"multiple\" (onRowSelect)=\"filaSeleccionada($event)\" [scrollable]=\"true\" scrollHeight=\"350px\" >\n\n <p-column header=\"{{ 'Codigo ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n <p-column field=\"ubicacionCodigo\" header=\"{{ 'Descripcion ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n\n <p-column field=\"existencia\" header=\"{{'Existencia' | translate}}\"></p-column>\n <p-column field=\"unidadCodigo\" header=\"{{'Unidad' | translate}}\"></p-column>\n <p-column field=\"unidadDescripcion\" header=\"{{'Descripcion unidad' | translate}}\"></p-column>\n\n <p-column field=\"existenciaSecundaria\" header=\"{{'existenciaSecundaria' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n <p-column field=\"unidadSecundariaCodigo\" header=\"{{'Unidad' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n \n\n <p-column *ngIf=\"configuracion.tipoPrecio !== 'costo' \" header=\"{{'Movimiento.movimientoDetalle.precio' | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precioConImpuestos | currency }}</label>\n </ng-template>\n </p-column>\n <p-column *ngIf=\"configuracion.tipoPrecio === 'costo' \" header=\"{{'Movimiento.costo' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precio | currency }}</label>\n </ng-template>\n </p-column>\n\n\n <p-column field=\"articulo.codigo\" header=\"{{'Codigo articulo' | translate}}\"></p-column>\n <p-column field=\"articulo.descripcion\" header=\"{{'Descripcion' | translate}}\"></p-column>\n\n\n\n <p-column header=\"{{'ExistenciaPorUnidad' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of dato.existenciaUnidades\" >\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div> \n </div> \n </ng-template>\n </p-column>\n \n </p-table>\n -->\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n <!-- \n </div>\n </div>\n -->\n</p-dialog>\n<!--\n </div> \n -->\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n<lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\" *ngIf=\"showModalInformacion\">\n</lib-seleccion-articulo-informacion>", styles: ["tr:hover{background-color:#34a835!important;color:#fff!important}table{position:absolute}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i6.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i8.InputText, selector: "[pInputText]" }, { kind: "component", type: i9.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "appendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "locale", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "directive", type: i10.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i10.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i11.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i12.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i13.SeleccionArticuloInformacionComponent, selector: "lib-seleccion-articulo-informacion", inputs: ["showModal", "articulo"], outputs: ["eventSelection"] }, { kind: "pipe", type: i4.DecimalPipe, name: "number" }, { kind: "pipe", type: i4.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
111
- }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SeleccionaArticuloComponent, decorators: [{
113
- type: Component,
114
- args: [{ selector: 'app-selecciona-articulo', standalone: false, template: "<!--inicia seleccion de articulos-->\n<!-- (onShow)=\"obtenerExistenciaArticulosShow()\" -->\n<!--\n <div class=\"col-12 col-center\" >-->\n<p-dialog header=\"{{ 'Articulos' | translate }}\" [(visible)]=\"showArticulos\" [maximizable]=\"true\"\n (onShow)=\"obtenerExistenciaArticulosShow()\" (onHide)=\"busquedaArticulos = { tipoBusqueda : ''}; emitirShowArticulos()\"\n [baseZIndex]=\"10000\" [blockScroll]=\"true\" [style]=\"{'width': size+'px', 'min-width': '200px'}\" [minY]=\"70\">\n <div class=\"grid grid-fluid\">\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 115px;\">\n <select pInputText [(ngModel)]=\"busquedaArticulos.tipoBusqueda\" (change)=\"obtenerExistenciaArticulosVal()\">\n <option value=\"C\">Codigo</option>\n <option value=\"D\">Descripcion</option>\n <option value=\"CD\">Coincidencia</option>\n <option value=\"CI\">Igual a</option>\n </select>\n </div>\n <input type=\"text\" style=\"width: 200px;\" pInputText [(ngModel)]=\"busquedaArticulos.key\"\n (keypress)=\"obtenerExistenciaArticulosKey( $event )\" id=\"key\">\n <button pButton type=\"button\" icon=\"pi pi-search\" styleClass=\"p-button-secondary\"\n (click)=\"obtenerExistenciaArticulos( )\"></button>\n </div>\n </div>\n <div class=\"col-12 md:col-6 lg:col-6\">\n <div style=\"display: flex;\">\n <div style=\"width: 100px;\">\n <label for=\"almacen\">Almacen:</label>\n </div>\n <select pInputText style=\"width: 200px;\" [(ngModel)]=\"movimiento.almacen\" disabled id=\"almacen\"\n (change)=\"obtenerExistenciaArticulosVal()\">\n <option *ngFor=\"let almacen of almacenList\" value=\"{{ almacen.id }}\">{{almacen.descripcion}}</option>\n </select>\n </div>\n\n </div>\n </div>\n\n <!--\n <div id=\"table-wrapper\">\n <div id=\"table-scroll\">-->\n <!-- new table\n <p-table #dt [columns]=\"colsDD\" [value]=\"listDD\" [scrollable]=\"true\" \n [style]=\"{width: '100%'} \" [scrollHeight]=\"maxH + 'px'\" \n [resizableColumns]=\"true\" [(selection)]=\"selectedXML\" (onRowSelect)=\"onRowSelect($event)\" dataKey=\"uuid\">\n\n \n -->\n\n <p-table [value]=\"articulosList\" [scrollable]=\"true\" #dt scrollHeight=\"400px\" responsiveLayout=\"scroll\" \n selectionMode=\"single\" (onRowSelect)=\"filaSeleccionada($event)\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th style=\"width: 80px\" translate>C\u00F3digo Ubicacion</th>\n <th style=\"width: 70px\" translate>Existencia</th>\n <th style=\"width: 40px\" translate>Unidad</th>\n <th style=\"width: 50px\" *ngIf=\"manejaUnidadSecundaria\" translate>existenciaSecundaria</th>\n <th style=\"width: 40px\" *ngIf=\"manejaUnidadSecundaria\" translate>Unidad</th>\n <th style=\"width: 80px\" translate>C\u00F3digo</th>\n <th style=\"width: 120px\" translate>Descripcion</th>\n <th style=\"width: 40px\" translate></th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 2</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 3</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 4</th>\n <th style=\"width: 80px\" *ngIf=\"configuracion.tipoPrecio !== 'costo' \" translate>Precio 5</th>\n <th style=\"width: 40px\" *ngIf=\"configuracion.tipoPrecio === 'costo' \" translate>Movimiento.costo</th>\n <th style=\"width: 40px\" translate>Existencia por Unidad</th>\n <th *ngFor=\"let item of clasificadorList\" style=\"width: 80px\" translate>{{item.descripcion}}</th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-rowIndex=\"rowIndex\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 80px;\" *ngIf=\"!rowData.ubicacionCodigo\" translate>Movimiento.NoAsignado</td>\n <td style=\"width: 80px;\" *ngIf=\"rowData.ubicacionCodigo\">{{rowData.ubicacionCodigo}}</td>\n <td style=\"width: 70px;\">{{rowData.existencia}}</td>\n <td style=\"width: 40px;\">{{rowData.unidadCodigo}}</td>\n\n <td style=\"width: 50px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.existenciaSecundaria}}</td>\n <td style=\"width: 40px;\" *ngIf=\"manejaUnidadSecundaria\">{{rowData.unidadSecundariaCodigo}}</td>\n\n <td style=\"width: 80px;\">{{rowData.articulo.codigo}}</td>\n <td style=\"width: 120px;\">{{rowData.articulo.descripcion}}</td>\n <td style=\"width: 40px;\">\n <button pButton type=\"button\" icon=\"pi pi-eye\" class=\"ui-button-raised ui-button-primary\"\n (click)=\"onShowInformacion(rowData)\">\n </button>\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precioConImpuestos | currency }}\n </td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio2ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio3ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio4ConImpuestos | currency\n }}</td>\n <td style=\"width: 80px;\" *ngIf=\"configuracion.tipoPrecio !== 'costo'\">{{rowData.precio5ConImpuestos | currency\n }}</td>\n <td style=\"width: 40px;\" *ngIf=\"configuracion.tipoPrecio === 'costo' \">{{rowData.precio | currency }}</td>\n <td style=\"width: 40px;\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of rowData.existenciaUnidades\">\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div>\n </div>\n </td>\n <!-- <td style=\"width: 40px;\"></td> -->\n <td *ngFor=\"let itemData of rowData.articuloClasificadorList\" style=\"width: 80px;\">{{itemData.valor}}</td>\n </tr>\n </ng-template>\n </p-table>\n\n <!-- /new table-->\n <!-- \n <p-table [(value)]=\"articulosList\" responsive=\"true\" \n selectionMode=\"multiple\" (onRowSelect)=\"filaSeleccionada($event)\" [scrollable]=\"true\" scrollHeight=\"350px\" >\n\n <p-column header=\"{{ 'Codigo ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n <p-column field=\"ubicacionCodigo\" header=\"{{ 'Descripcion ubicacion'.toString() | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\" *ngIf=\"!dato.ubicacionCodigo\" translate> Movimiento.NoAsignado </label>\n <label for=\"\" *ngIf=\"dato.ubicacionCodigo\" > {{ dato.ubicacionCodigo }}</label>\n </ng-template>\n </p-column>\n\n <p-column field=\"existencia\" header=\"{{'Existencia' | translate}}\"></p-column>\n <p-column field=\"unidadCodigo\" header=\"{{'Unidad' | translate}}\"></p-column>\n <p-column field=\"unidadDescripcion\" header=\"{{'Descripcion unidad' | translate}}\"></p-column>\n\n <p-column field=\"existenciaSecundaria\" header=\"{{'existenciaSecundaria' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n <p-column field=\"unidadSecundariaCodigo\" header=\"{{'Unidad' | translate}}\" *ngIf=\"manejaUnidadSecundaria\"></p-column>\n \n\n <p-column *ngIf=\"configuracion.tipoPrecio !== 'costo' \" header=\"{{'Movimiento.movimientoDetalle.precio' | translate}}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precioConImpuestos | currency }}</label>\n </ng-template>\n </p-column>\n <p-column *ngIf=\"configuracion.tipoPrecio === 'costo' \" header=\"{{'Movimiento.costo' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <label for=\"\">{{ dato.precio | currency }}</label>\n </ng-template>\n </p-column>\n\n\n <p-column field=\"articulo.codigo\" header=\"{{'Codigo articulo' | translate}}\"></p-column>\n <p-column field=\"articulo.descripcion\" header=\"{{'Descripcion' | translate}}\"></p-column>\n\n\n\n <p-column header=\"{{'ExistenciaPorUnidad' | translate }}\">\n <ng-template let-dato=\"rowData\" pTemplate=\"body\">\n <div class=\"row justify-content-between\" *ngFor=\"let item of dato.existenciaUnidades\" >\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_codigo}}</label></div>\n <div class=\"col-lg-4\"><label for=\"\">{{item.unidad_existencia | number : '1.2-2'}}</label>\n </div> \n </div> \n </ng-template>\n </p-column>\n \n </p-table>\n -->\n <p-paginator [rows]=\"page.rows\" [totalRecords]=\"page.total\" [pageLinkSize]=\"5\" (onPageChange)=\"pagina($event)\"\n [rowsPerPageOptions]=\"[10,25,50,100,500]\"></p-paginator>\n <!-- \n </div>\n </div>\n -->\n</p-dialog>\n<!--\n </div> \n -->\n<!--termina seleccion de articulos-->\n<!--selecciona ubicacion -->\n<lib-seleccion-articulo-informacion [showModal]=\"showModalInformacion\" [articulo]=\"articuloSelected\"\n (eventSelection)=\"onEventInformacion($event)\" *ngIf=\"showModalInformacion\">\n</lib-seleccion-articulo-informacion>", styles: ["tr:hover{background-color:#34a835!important;color:#fff!important}table{position:absolute}\n"] }]
115
- }], ctorParameters: () => [{ type: i1.StockService }, { type: i2.PaginateService }, { type: i3.AlmacenService }], propDecorators: { configuracion: [{
116
- type: Input
117
- }], showArticulos: [{
118
- type: Input
119
- }], movimiento: [{
120
- type: Input
121
- }], manejaUnidadSecundaria: [{
122
- type: Input
123
- }], emitFilaSeleccionada: [{
124
- type: Output
125
- }], emitShowArticulos: [{
126
- type: Output
127
- }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWNjaW9uYS1hcnRpY3Vsby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcnAtY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWNjaW9uYS1hcnRpY3Vsby9zZWxlY2Npb25hLWFydGljdWxvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VycC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY2Npb25hLWFydGljdWxvL3NlbGVjY2lvbmEtYXJ0aWN1bG8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBUS9DLE1BQU0sT0FBTywyQkFBMkI7SUE0QnRDLFlBQ1UsYUFBMkIsRUFDM0IsZ0JBQWlDLEVBQ2pDLGVBQStCO1FBRi9CLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDakMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBekJoQywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFFdkMseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0Qsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFLcEUsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFFeEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLHNCQUFpQixHQUFRO1lBQ3ZCLFlBQVksRUFBRSxFQUFFO1NBQ2pCLENB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VEFxTHFDOzs0RkR6S3hCLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsS0FBSzs0SUFNUixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsbWFjZW4gfSBmcm9tICcuLi9hbG1hY2VuL21vZGVscy9BbG1hY2VuJztcbmltcG9ydCB7IFBhZ2luYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BhZ2luYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxtYWNlblNlcnZpY2UgfSBmcm9tICcuLi9hbG1hY2VuL3NlcnZpY2VzL2FsbWFjZW4uc2VydmljZSc7XG5pbXBvcnQgeyBTdG9ja1NlcnZpY2UgfSBmcm9tICcuL3N0b2NrLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWNjaW9uYS1hcnRpY3VsbycsXG4gIHN0YW5kYWxvbmU6IGZhbHNlLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWNjaW9uYS1hcnRpY3Vsby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjY2lvbmEtYXJ0aWN1bG8uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjY2lvbmFBcnRpY3Vsb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgY29uZmlndXJhY2lvbjogYW55O1xuICBASW5wdXQoKSBzaG93QXJ0aWN1bG9zOiBib29sZWFuO1xuICBASW5wdXQoKSBtb3ZpbWllbnRvOiBhbnk7XG5cbiAgQElucHV0KCkgbWFuZWphVW5pZGFkU2VjdW5kYXJpYTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBlbWl0RmlsYVNlbGVjY2lvbmFkYTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBlbWl0U2hvd0FydGljdWxvczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cblxuXG4gIGFsbWFjZW5MaXN0OiBBbG1hY2VuW107XG4gIGFydGljdWxvc0xpc3Q6IGFueSA9IFtdO1xuICBwYWdlOiBhbnk7XG4gIG9yZGVuYXIgPSBbXTtcbiAgYnVzcXVlZGFBcnRpY3Vsb3M6IGFueSA9IHtcbiAgICB0aXBvQnVzcXVlZGE6ICcnXG4gIH07XG5cbiAgc2hvd01vZGFsOiBib29sZWFuID0gZmFsc2U7XG4gIGFydGljdWxvU2VsZWN0ZWQ6IGFueTtcbiAgc2hvd01vZGFsSW5mb3JtYWNpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd0ZpcnN0VGltZTogYm9vbGVhbiA9IHRydWU7XG4gIGNsYXNpZmljYWRvckxpc3Q6IGFueSA9IFtdO1xuICBzaXplID0gNjQwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3N0b2NrU2VydmljZTogU3RvY2tTZXJ2aWNlLFxuICAgIHByaXZhdGUgX3BhZ2luYXRlU2VydmljZTogUGFnaW5hdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2FsbWFjZW5TZXJ2aWNlOiBBbG1hY2VuU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYWdlID0gdGhpcy5fcGFnaW5hdGVTZXJ2aWNlLmdldFBhZ2UoKTtcbiAgICB0aGlzLm9yZGVuYXIgPSB0aGlzLl9wYWdpbmF0ZVNlcnZpY2UuZ2V0T3JkZW4oXG4gICAgICBbXG4gICAgICAgIHsgcGFyYW06ICdub21icmUnLCBsYWJlbDogJ2VzdGF0dXMnIH1cbiAgICAgIF0sICdlcycpO1xuXG5cbiAgICB0aGlzLnNob3dGaXJzdFRpbWUgPSB0cnVlO1xuICAgIHRoaXMuX2FsbWFjZW5TZXJ2aWNlLmdldEFsbCh0aGlzLmNvbmZpZ3VyYWNpb24ucGFyYW1zKS5zdWJzY3JpYmUoXG4gICAgICAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuYWxtYWNlbkxpc3QgPSA8QWxtYWNlbltdPmRhdGEuZGF0YTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5idXNxdWVkYUFydGljdWxvcy50aXBvQnVzcXVlZGEgPSAnQ0QnO1xuICAgIC8vdGVtcHRoaXMub2J0ZW5lckV4aXN0ZW5jaWFBcnRpY3Vsb3NTaG93KCk7XG4gIH1cblxuICBwYWdpbmEoZSkge1xuICAgIHRoaXMucGFnZS5yb3dzID0gZS5yb3dzO1xuICAgIHRoaXMucGFnZS5vZmZzZXQgPSBlLmZpcnN0O1xuICAgIHRoaXMub2J0ZW5lckV4aXN0ZW5jaWFBcnRpY3Vsb3MoKTtcbiAgfVxuICBvYnRlbmVyRXhpc3RlbmNpYUFydGljdWxvc1Nob3coKSB7XG4gICAgdGhpcy5idXNxdWVkYUFydGljdWxvcy50aXBvQnVzcXVlZGEgPSAnQ0QnO1xuICAgIGlmICh0aGlzLnNob3dGaXJzdFRpbWUpIHtcbiAgICAgIHRoaXMub2J0ZW5lckV4aXN0ZW5jaWFBcnRpY3Vsb3MoKTtcbiAgICAgIHRoaXMuc2hvd0ZpcnN0VGltZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9idGVuZXJFeGlzdGVuY2lhQXJ0aWN1bG9zKCkge1xuICAgIHRoaXMuYnVzcXVlZGFBcnRpY3Vsb3MucGFyYW1zID0gdGhpcy5fcGFnaW5hdGVTZXJ2aWNlLmdldFBhcmFtcyh0aGlzLnBhZ2UpO1xuICAgIGNvbnN0IHBhcmFtZXRyb3MgPSB7XG4gICAgICBhbG1hY2VuOiAodGhpcy5jb25maWd1cmFjaW9uLm5vT2N1cGFBbGFtYWNlbiA/IG51bGwgOiB0aGlzLm1vdmltaWVudG8uYWxtYWNlbiksXG4gICAgICB0aXBvUHJlY2lvOiB0aGlzLmNvbmZpZ3VyYWNpb24udGlwb1ByZWNpbyxcbiAgICAgIGJ1c3F1ZWRhQXJ0aWN1bG9zOiB0aGlzLmJ1c3F1ZWRhQXJ0aWN1bG9zLFxuICAgICAgdGlwb0FydGljdWxvOiB0aGlzLmNvbmZpZ3VyYWNpb24udGlwb0FydGljdWxvID8gdGhpcy5jb25maWd1cmFjaW9uLnRpcG9BcnRpY3VsbyA6IG51bGwsXG4gICAgICBudW1lcm9QcmVjaW9EZWZhdWx0OiB0aGlzLmNvbmZpZ3VyYWNpb24ubnVtZXJvUHJlY2lvRGVmYXVsdFxuICAgIH07XG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLm9idGVuZXJFeGlzdGVuY2lhc0FydGljdWxvc0Rlc2NyaXBjaW9uKHBhcmFtZXRyb3MsIHRoaXMuYnVzcXVlZGFBcnRpY3Vsb3MucGFyYW1zKS50aGVuKFxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmFydGljdWxvc0xpc3QgPSBkYXRhLmFydGljdWxvc0Rlc2NyaXBjaW9uO1xuICAgICAgICB0aGlzLnBhZ2UudG90YWwgPSBkYXRhLnRvdGFsO1xuICAgICAgICBpZiAoZGF0YS5jbGFzaWZpY2Fkb3Jlcykge1xuICAgICAgICAgIHRoaXMuY2xhc2lmaWNhZG9yTGlzdCA9IGRhdGEuY2xhc2lmaWNhZG9yZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnNob3dNb2RhbCkge1xuICAgICAgICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICkuY2F0Y2goZSA9PiB7XG4gICAgICB0aGlzLmFydGljdWxvc0xpc3QgPSBbXTtcbiAgICB9KTtcbiAgfVxuXG4gIG9idGVuZXJFeGlzdGVuY2lhQXJ0aWN1bG9zVmFsKCkge1xuICAgIGlmICh0aGlzLmJ1c3F1ZWRhQXJ0aWN1bG9zLnRpcG9CdXNxdWVkYSAhPSAnJyAmJiAhdGhpcy5idXNxdWVkYUFydGljdWxvcy5rZXkpXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgdGhpcy5vYnRlbmVyRXhpc3RlbmNpYUFydGljdWxvcygpO1xuICB9XG4gIG9idGVuZXJFeGlzdGVuY2lhQXJ0aWN1bG9zS2V5KCRldmVudCkge1xuICAgIGlmICgkZXZlbnQua2V5ID09PSAnRW50ZXInKVxuICAgICAgdGhpcy5vYnRlbmVyRXhpc3RlbmNpYUFydGljdWxvcygpO1xuICB9XG5cbiAgZmlsYVNlbGVjY2lvbmFkYSgkZXZlbnQpIHtcbiAgICB0aGlzLmVtaXRGaWxhU2VsZWNjaW9uYWRhLmVtaXQoJGV2ZW50KTtcbiAgfVxuXG4gIGVtaXRpclNob3dBcnRpY3Vsb3MoKSB7XG4gICAgdGhpcy5lbWl0U2hvd0FydGljdWxvcy5lbWl0KDApO1xuICB9XG5cbiAgc2VyaWVzQXJ0aWN1bG8oc2VyaWVzKSB7XG4gICAgY29uc29sZS5sb2coc2VyaWVzKTtcbiAgfVxuXG4gIG9uU2hvd0luZm9ybWFjaW9uKGV2ZW50QXJ0aWN1bG8pIHtcbiAgICB0aGlzLmFydGljdWxvU2VsZWN0ZWQgPSBldmVudEFydGljdWxvO1xuICAgIHRoaXMuc2hvd01vZGFsSW5mb3JtYWNpb24gPSB0cnVlO1xuICB9XG5cbiAgb25FdmVudEluZm9ybWFjaW9uKGV2ZW50KSB7XG4gICAgdGhpcy5zaG93TW9kYWxJbmZvcm1hY2lvbiA9IGV2ZW50LnN0YXR1cztcbiAgfVxufVxuIiwiPCEtLWluaWNpYSBzZWxlY2Npb24gZGUgYXJ0aWN1bG9zLS0+XG48IS0tICAgKG9uU2hvdyk9XCJvYnRlbmVyRXhpc3RlbmNpYUFydGljdWxvc1Nob3coKVwiIC0tPlxuPCEtLVxuICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1jZW50ZXJcIiA+LS0+XG48cC1kaWFsb2cgaGVhZGVyPVwie3sgJ0FydGljdWxvcycgfCB0cmFuc2xhdGUgfX1cIiBbKHZpc2libGUpXT1cInNob3dBcnRpY3Vsb3NcIiBbbWF4aW1pemFibGVdPVwidHJ1ZVwiXG4gIChvblNob3cpPVwib2J0ZW5lckV4aXN0ZW5jaWFBcnRpY3Vsb3NTaG93KClcIiAob25IaWRlKT1cImJ1c3F1ZWRhQXJ0aWN1bG9zID0geyB0aXBvQnVzcXVlZGEgOiAnJ307IGVtaXRpclNob3dBcnRpY3Vsb3MoKVwiXG4gIFtiYXNlWkluZGV4XT1cIjEwMDAwXCIgW2Jsb2NrU2Nyb2xsXT1cInRydWVcIiBbc3R5bGVdPVwieyd3aWR0aCc6IHNpemUrJ3B4JywgJ21pbi13aWR0aCc6ICcyMDBweCd9XCIgW21pblldPVwiNzBcIj5cbiAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1mbHVpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWQ6Y29sLTYgbGc6Y29sLTZcIj5cbiAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDExNXB4O1wiPlxuICAgICAgICAgIDxzZWxlY3QgcElucHV0VGV4dCBbKG5nTW9kZWwpXT1cImJ1c3F1ZWRhQXJ0aWN1bG9zLnRpcG9CdXNxdWVkYVwiIChjaGFuZ2UpPVwib2J0ZW5lckV4aXN0ZW5jaWFBcnRpY3Vsb3NWYWwoKVwiPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkNcIj5Db2RpZ288L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJEXCI+RGVzY3JpcGNpb248L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJDRFwiPkNvaW5jaWRlbmNpYTwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIkNJXCI+SWd1YWwgYTwvb3B0aW9uPlxuICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJ3aWR0aDogMjAwcHg7XCIgcElucHV0VGV4dCBbKG5nTW9kZWwpXT1cImJ1c3F1ZWRhQXJ0aWN1bG9zLmtleVwiXG4gICAgICAgICAgKGtleXByZXNzKT1cIm9idGVuZXJFeGlzdGVuY2lhQXJ0aWN1bG9zS2V5KCAkZXZlbnQgKVwiIGlkPVwia2V5XCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWNvbj1cInBpIHBpLXNlYXJjaFwiIHN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi1zZWNvbmRhcnlcIlxuICAgICAgICAgIChjbGljayk9XCJvYnRlbmVyRXhpc3RlbmNpYUFydGljdWxvcyggKVwiPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNiBsZzpjb2wtNlwiPlxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwcHg7XCI+XG4gICAgICAgICAgPGxhYmVsIGZvcj1cImFsbWFjZW5cIj5BbG1hY2VuOjwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2VsZWN0IHBJbnB1dFRleHQgc3R5bGU9XCJ3aWR0aDogMjAwcHg7XCIgWyhuZ01vZGVsKV09XCJtb3ZpbWllbnRvLmFsbWFjZW5cIiBkaXNhYmxlZCBpZD1cImFsbWFjZW5cIlxuICAgICAgICAgIChjaGFuZ2UpPVwib2J0ZW5lckV4aXN0ZW5jaWFBcnRpY3Vsb3NWYWwoKVwiPlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGFsbWFjZW4gb2YgYWxtYWNlbkxpc3RcIiB2YWx1ZT1cInt7IGFsbWFjZW4uaWQgfX1cIj57e2FsbWFjZW4uZGVzY3JpcGNpb259fTwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS1cbiAgICAgIDxkaXYgaWQ9XCJ0YWJsZS13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGlkPVwidGFibGUtc2Nyb2xsXCI+LS0+XG4gIDwhLS0gbmV3IHRhYmxlXG4gICAgICAgPHAtdGFibGUgI2R0IFtjb2x1bW5zXT1cImNvbHNERFwiIFt2YWx1ZV09XCJsaXN0RERcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCIgXG4gICAgICAgW3N0eWxlXT1cInt3aWR0aDogJzEwMCUnfSBcIiBbc2Nyb2xsSGVpZ2h0XT1cIm1heEggKyAncHgnXCIgXG4gICAgICAgW3Jlc2l6YWJsZUNvbHVtbnNdPVwidHJ1ZVwiIFsoc2VsZWN0aW9uKV09XCJzZWxlY3RlZFhNTFwiIChvblJvd1NlbGVjdCk9XCJvblJvd1NlbGVjdCgkZXZlbnQpXCIgZGF0YUtleT1cInV1aWRcIj5cblxuICAgICAgIFxuICAgICAgLS0+XG5cbiAgPHAtdGFibGUgW3ZhbHVlXT1cImFydGljdWxvc0xpc3RcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCIgI2R0IHNjcm9sbEhlaWdodD1cIjQwMHB4XCIgcmVzcG9uc2l2ZUxheW91dD1cInNjcm9sbFwiIFxuICAgIHNlbGVjdGlvbk1vZGU9XCJzaW5nbGVcIiAob25Sb3dTZWxlY3QpPVwiZmlsYVNlbGVjY2lvbmFkYSgkZXZlbnQpXCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgPHRyPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogODBweFwiIHRyYW5zbGF0ZT5Dw7NkaWdvIFViaWNhY2lvbjwvdGg+XG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA3MHB4XCIgdHJhbnNsYXRlPkV4aXN0ZW5jaWE8L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogNDBweFwiIHRyYW5zbGF0ZT5VbmlkYWQ8L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogNTBweFwiICpuZ0lmPVwibWFuZWphVW5pZGFkU2VjdW5kYXJpYVwiIHRyYW5zbGF0ZT5leGlzdGVuY2lhU2VjdW5kYXJpYTwvdGg+XG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA0MHB4XCIgKm5nSWY9XCJtYW5lamFVbmlkYWRTZWN1bmRhcmlhXCIgdHJhbnNsYXRlPlVuaWRhZDwvdGg+XG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA4MHB4XCIgdHJhbnNsYXRlPkPDs2RpZ288L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogMTIwcHhcIiB0cmFuc2xhdGU+RGVzY3JpcGNpb248L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogNDBweFwiIHRyYW5zbGF0ZT48L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogODBweFwiICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvICE9PSAnY29zdG8nIFwiIHRyYW5zbGF0ZT5QcmVjaW88L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogODBweFwiICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvICE9PSAnY29zdG8nIFwiIHRyYW5zbGF0ZT5QcmVjaW8gMjwvdGg+XG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA4MHB4XCIgKm5nSWY9XCJjb25maWd1cmFjaW9uLnRpcG9QcmVjaW8gIT09ICdjb3N0bycgXCIgdHJhbnNsYXRlPlByZWNpbyAzPC90aD5cbiAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDgwcHhcIiAqbmdJZj1cImNvbmZpZ3VyYWNpb24udGlwb1ByZWNpbyAhPT0gJ2Nvc3RvJyBcIiB0cmFuc2xhdGU+UHJlY2lvIDQ8L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogODBweFwiICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvICE9PSAnY29zdG8nIFwiIHRyYW5zbGF0ZT5QcmVjaW8gNTwvdGg+XG4gICAgICAgIDx0aCBzdHlsZT1cIndpZHRoOiA0MHB4XCIgKm5nSWY9XCJjb25maWd1cmFjaW9uLnRpcG9QcmVjaW8gPT09ICdjb3N0bycgXCIgdHJhbnNsYXRlPk1vdmltaWVudG8uY29zdG88L3RoPlxuICAgICAgICA8dGggc3R5bGU9XCJ3aWR0aDogNDBweFwiIHRyYW5zbGF0ZT5FeGlzdGVuY2lhIHBvciBVbmlkYWQ8L3RoPlxuICAgICAgICA8dGggKm5nRm9yPVwibGV0IGl0ZW0gb2YgY2xhc2lmaWNhZG9yTGlzdFwiIHN0eWxlPVwid2lkdGg6IDgwcHhcIiB0cmFuc2xhdGU+e3tpdGVtLmRlc2NyaXBjaW9ufX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvd0RhdGEgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgIDx0ciBbcFNlbGVjdGFibGVSb3ddPVwicm93RGF0YVwiPlxuICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAqbmdJZj1cIiFyb3dEYXRhLnViaWNhY2lvbkNvZGlnb1wiIHRyYW5zbGF0ZT5Nb3ZpbWllbnRvLk5vQXNpZ25hZG88L3RkPlxuICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAqbmdJZj1cInJvd0RhdGEudWJpY2FjaW9uQ29kaWdvXCI+e3tyb3dEYXRhLnViaWNhY2lvbkNvZGlnb319PC90ZD5cbiAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDcwcHg7XCI+e3tyb3dEYXRhLmV4aXN0ZW5jaWF9fTwvdGQ+XG4gICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA0MHB4O1wiPnt7cm93RGF0YS51bmlkYWRDb2RpZ299fTwvdGQ+XG5cbiAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDUwcHg7XCIgKm5nSWY9XCJtYW5lamFVbmlkYWRTZWN1bmRhcmlhXCI+e3tyb3dEYXRhLmV4aXN0ZW5jaWFTZWN1bmRhcmlhfX08L3RkPlxuICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogNDBweDtcIiAqbmdJZj1cIm1hbmVqYVVuaWRhZFNlY3VuZGFyaWFcIj57e3Jvd0RhdGEudW5pZGFkU2VjdW5kYXJpYUNvZGlnb319PC90ZD5cblxuICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogODBweDtcIj57e3Jvd0RhdGEuYXJ0aWN1bG8uY29kaWdvfX08L3RkPlxuICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogMTIwcHg7XCI+e3tyb3dEYXRhLmFydGljdWxvLmRlc2NyaXBjaW9ufX08L3RkPlxuICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogNDBweDtcIj5cbiAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1leWVcIiBjbGFzcz1cInVpLWJ1dHRvbi1yYWlzZWQgdWktYnV0dG9uLXByaW1hcnlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2hvd0luZm9ybWFjaW9uKHJvd0RhdGEpXCI+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA4MHB4O1wiICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvICE9PSAnY29zdG8nXCI+e3tyb3dEYXRhLnByZWNpb0NvbkltcHVlc3RvcyB8IGN1cnJlbmN5IH19XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA4MHB4O1wiICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvICE9PSAnY29zdG8nXCI+e3tyb3dEYXRhLnByZWNpbzJDb25JbXB1ZXN0b3MgfCBjdXJyZW5jeVxuICAgICAgICAgIH19PC90ZD5cbiAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDgwcHg7XCIgKm5nSWY9XCJjb25maWd1cmFjaW9uLnRpcG9QcmVjaW8gIT09ICdjb3N0bydcIj57e3Jvd0RhdGEucHJlY2lvM0NvbkltcHVlc3RvcyB8IGN1cnJlbmN5XG4gICAgICAgICAgfX08L3RkPlxuICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDogODBweDtcIiAqbmdJZj1cImNvbmZpZ3VyYWNpb24udGlwb1ByZWNpbyAhPT0gJ2Nvc3RvJ1wiPnt7cm93RGF0YS5wcmVjaW80Q29uSW1wdWVzdG9zIHwgY3VycmVuY3lcbiAgICAgICAgICB9fTwvdGQ+XG4gICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOiA4MHB4O1wiICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvICE9PSAnY29zdG8nXCI+e3tyb3dEYXRhLnByZWNpbzVDb25JbXB1ZXN0b3MgfCBjdXJyZW5jeVxuICAgICAgICAgIH19PC90ZD5cbiAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDQwcHg7XCIgKm5nSWY9XCJjb25maWd1cmFjaW9uLnRpcG9QcmVjaW8gPT09ICdjb3N0bycgXCI+e3tyb3dEYXRhLnByZWNpbyB8IGN1cnJlbmN5IH19PC90ZD5cbiAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6IDQwcHg7XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvd0RhdGEuZXhpc3RlbmNpYVVuaWRhZGVzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTRcIj48bGFiZWwgZm9yPVwiXCI+e3tpdGVtLnVuaWRhZF9jb2RpZ299fTwvbGFiZWw+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTRcIj48bGFiZWwgZm9yPVwiXCI+e3tpdGVtLnVuaWRhZF9leGlzdGVuY2lhIHwgbnVtYmVyIDogJzEuMi0yJ319PC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8IS0tIDx0ZCBzdHlsZT1cIndpZHRoOiA0MHB4O1wiPjwvdGQ+ICAgLS0+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgaXRlbURhdGEgb2Ygcm93RGF0YS5hcnRpY3Vsb0NsYXNpZmljYWRvckxpc3RcIiBzdHlsZT1cIndpZHRoOiA4MHB4O1wiPnt7aXRlbURhdGEudmFsb3J9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvcC10YWJsZT5cblxuICA8IS0tIC9uZXcgdGFibGUtLT5cbiAgPCEtLSBcbiAgICAgIDxwLXRhYmxlIFsodmFsdWUpXT1cImFydGljdWxvc0xpc3RcIiByZXNwb25zaXZlPVwidHJ1ZVwiIFxuICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU9XCJtdWx0aXBsZVwiIChvblJvd1NlbGVjdCk9XCJmaWxhU2VsZWNjaW9uYWRhKCRldmVudClcIiAgW3Njcm9sbGFibGVdPVwidHJ1ZVwiIHNjcm9sbEhlaWdodD1cIjM1MHB4XCIgPlxuXG4gICAgICAgIDxwLWNvbHVtbiAgaGVhZGVyPVwie3sgJ0NvZGlnbyB1YmljYWNpb24nLnRvU3RyaW5nKCkgfCB0cmFuc2xhdGV9fVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtZGF0bz1cInJvd0RhdGFcIiBwVGVtcGxhdGU9XCJib2R5XCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCIgKm5nSWY9XCIhZGF0by51YmljYWNpb25Db2RpZ29cIiAgdHJhbnNsYXRlPiBNb3ZpbWllbnRvLk5vQXNpZ25hZG8gPC9sYWJlbD5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiAqbmdJZj1cImRhdG8udWJpY2FjaW9uQ29kaWdvXCIgPiB7eyBkYXRvLnViaWNhY2lvbkNvZGlnbyB9fTwvbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLWNvbHVtbj5cbiAgICAgICAgPHAtY29sdW1uIGZpZWxkPVwidWJpY2FjaW9uQ29kaWdvXCIgaGVhZGVyPVwie3sgJ0Rlc2NyaXBjaW9uIHViaWNhY2lvbicudG9TdHJpbmcoKSB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1kYXRvPVwicm93RGF0YVwiIHBUZW1wbGF0ZT1cImJvZHlcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIiAqbmdJZj1cIiFkYXRvLnViaWNhY2lvbkNvZGlnb1wiICB0cmFuc2xhdGU+IE1vdmltaWVudG8uTm9Bc2lnbmFkbyA8L2xhYmVsPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIlwiICpuZ0lmPVwiZGF0by51YmljYWNpb25Db2RpZ29cIiA+IHt7IGRhdG8udWJpY2FjaW9uQ29kaWdvIH19PC9sYWJlbD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3AtY29sdW1uPlxuXG4gICAgICAgIDxwLWNvbHVtbiBmaWVsZD1cImV4aXN0ZW5jaWFcIiBoZWFkZXI9XCJ7eydFeGlzdGVuY2lhJyB8IHRyYW5zbGF0ZX19XCI+PC9wLWNvbHVtbj5cbiAgICAgICAgPHAtY29sdW1uIGZpZWxkPVwidW5pZGFkQ29kaWdvXCIgaGVhZGVyPVwie3snVW5pZGFkJyB8IHRyYW5zbGF0ZX19XCI+PC9wLWNvbHVtbj5cbiAgICAgICAgPHAtY29sdW1uIGZpZWxkPVwidW5pZGFkRGVzY3JpcGNpb25cIiBoZWFkZXI9XCJ7eydEZXNjcmlwY2lvbiB1bmlkYWQnIHwgdHJhbnNsYXRlfX1cIj48L3AtY29sdW1uPlxuXG4gICAgICAgIDxwLWNvbHVtbiBmaWVsZD1cImV4aXN0ZW5jaWFTZWN1bmRhcmlhXCIgaGVhZGVyPVwie3snZXhpc3RlbmNpYVNlY3VuZGFyaWEnIHwgdHJhbnNsYXRlfX1cIiAqbmdJZj1cIm1hbmVqYVVuaWRhZFNlY3VuZGFyaWFcIj48L3AtY29sdW1uPlxuICAgICAgICA8cC1jb2x1bW4gZmllbGQ9XCJ1bmlkYWRTZWN1bmRhcmlhQ29kaWdvXCIgaGVhZGVyPVwie3snVW5pZGFkJyB8IHRyYW5zbGF0ZX19XCIgKm5nSWY9XCJtYW5lamFVbmlkYWRTZWN1bmRhcmlhXCI+PC9wLWNvbHVtbj5cbiAgICAgICAgXG5cbiAgICAgICAgPHAtY29sdW1uICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvICE9PSAnY29zdG8nIFwiICBoZWFkZXI9XCJ7eydNb3ZpbWllbnRvLm1vdmltaWVudG9EZXRhbGxlLnByZWNpbycgfCB0cmFuc2xhdGV9fVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtZGF0bz1cInJvd0RhdGFcIiBwVGVtcGxhdGU9XCJib2R5XCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiXCI+e3sgZGF0by5wcmVjaW9Db25JbXB1ZXN0b3MgfCBjdXJyZW5jeSB9fTwvbGFiZWw+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9wLWNvbHVtbj5cbiAgICAgICAgPHAtY29sdW1uICpuZ0lmPVwiY29uZmlndXJhY2lvbi50aXBvUHJlY2lvID09PSAnY29zdG8nIFwiIGhlYWRlcj1cInt7J01vdmltaWVudG8uY29zdG8nIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1kYXRvPVwicm93RGF0YVwiIHBUZW1wbGF0ZT1cImJvZHlcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJcIj57eyBkYXRvLnByZWNpbyB8IGN1cnJlbmN5IH19PC9sYWJlbD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3AtY29sdW1uPlxuXG5cbiAgICAgICAgPHAtY29sdW1uIGZpZWxkPVwiYXJ0aWN1bG8uY29kaWdvXCIgaGVhZGVyPVwie3snQ29kaWdvIGFydGljdWxvJyB8IHRyYW5zbGF0ZX19XCI+PC9wLWNvbHVtbj5cbiAgICAgICAgPHAtY29sdW1uIGZpZWxkPVwiYXJ0aWN1bG8uZGVzY3JpcGNpb25cIiBoZWFkZXI9XCJ7eydEZXNjcmlwY2lvbicgfCB0cmFuc2xhdGV9fVwiPjwvcC1jb2x1bW4+XG5cblxuXG4gICAgICAgIDxwLWNvbHVtbiAgaGVhZGVyPVwie3snRXhpc3RlbmNpYVBvclVuaWRhZCcgfCB0cmFuc2xhdGUgfX1cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWRhdG89XCJyb3dEYXRhXCIgcFRlbXBsYXRlPVwiYm9keVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdG8uZXhpc3RlbmNpYVVuaWRhZGVzXCIgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTRcIj48bGFiZWwgZm9yPVwiXCI+e3tpdGVtLnVuaWRhZF9jb2RpZ299fTwvbGFiZWw+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctNFwiPjxsYWJlbCBmb3I9XCJcIj57e2l0ZW0udW5pZGFkX2V4aXN0ZW5jaWEgfCBudW1iZXIgOiAnMS4yLTInfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvcC1jb2x1bW4+XG4gICAgICAgIFxuICAgICAgPC9wLXRhYmxlPlxuICAgICAgLS0+XG4gIDxwLXBhZ2luYXRvciBbcm93c109XCJwYWdlLnJvd3NcIiBbdG90YWxSZWNvcmRzXT1cInBhZ2UudG90YWxcIiBbcGFnZUxpbmtTaXplXT1cIjVcIiAob25QYWdlQ2hhbmdlKT1cInBhZ2luYSgkZXZlbnQpXCJcbiAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIlsxMCwyNSw1MCwxMDAsNTAwXVwiPjwvcC1wYWdpbmF0b3I+XG4gIDwhLS0gIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIC0tPlxuPC9wLWRpYWxvZz5cbjwhLS1cbiAgPC9kaXY+IFxuICAgICAgLS0+XG48IS0tdGVybWluYSBzZWxlY2Npb24gZGUgYXJ0aWN1bG9zLS0+XG48IS0tc2VsZWNjaW9uYSB1YmljYWNpb24gLS0+XG48bGliLXNlbGVjY2lvbi1hcnRpY3Vsby1pbmZvcm1hY2lvbiBbc2hvd01vZGFsXT1cInNob3dNb2RhbEluZm9ybWFjaW9uXCIgW2FydGljdWxvXT1cImFydGljdWxvU2VsZWN0ZWRcIlxuICAoZXZlbnRTZWxlY3Rpb24pPVwib25FdmVudEluZm9ybWFjaW9uKCRldmVudClcIiAqbmdJZj1cInNob3dNb2RhbEluZm9ybWFjaW9uXCI+XG48L2xpYi1zZWxlY2Npb24tYXJ0aWN1bG8taW5mb3JtYWNpb24+Il19
@@ -1,31 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
- import { CrudService } from '../../services/crud.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class StockService extends CrudService {
7
- constructor(httpClient) {
8
- super(httpClient, 'stock');
9
- this.httpClient = httpClient;
10
- }
11
- obtenerExistenciasArticulosDescripcion(parametros, params) {
12
- const url = this.getBaseUrl() + '/stock/obtenerExistenciasArticulos';
13
- let promesa = new Promise((resolve, reject) => {
14
- this.httpClient.post(url + this.serializeParams(params), parametros, this.buildAuth()).subscribe((data) => {
15
- resolve(data);
16
- }, (err) => {
17
- reject(err);
18
- });
19
- });
20
- return promesa;
21
- }
22
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StockService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StockService, providedIn: 'root' }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: StockService, decorators: [{
26
- type: Injectable,
27
- args: [{
28
- providedIn: 'root'
29
- }]
30
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VycC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY2Npb25hLWFydGljdWxvL3N0b2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFNMUQsTUFBTSxPQUFPLFlBQWEsU0FBUyxXQUFXO0lBRzVDLFlBQXFCLFVBQXNCO1FBQ3pDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFEUixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRTNDLENBQUM7SUFHRCxzQ0FBc0MsQ0FBQyxVQUFVLEVBQUUsTUFBTTtRQUV2RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsb0NBQW9DLENBQUM7UUFDckUsSUFBSSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUcsTUFBTSxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUcsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBRSxDQUFDLFNBQVMsQ0FDL0YsQ0FBQyxJQUFTLEVBQUUsRUFBRTtnQkFDUixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLENBQUMsQ0FDSixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO2tJQXJCVSxZQUFZO3NJQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NydWQuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tTZXJ2aWNlIGV4dGVuZHMgIENydWRTZXJ2aWNlIHtcblxuXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcihodHRwQ2xpZW50LCAnc3RvY2snKTtcbiAgfVxuXG5cbiAgb2J0ZW5lckV4aXN0ZW5jaWFzQXJ0aWN1bG9zRGVzY3JpcGNpb24ocGFyYW1ldHJvcywgcGFyYW1zKSB7XG5cbiAgICBjb25zdCB1cmwgPSB0aGlzLmdldEJhc2VVcmwoKSArICcvc3RvY2svb2J0ZW5lckV4aXN0ZW5jaWFzQXJ0aWN1bG9zJztcbiAgICBsZXQgcHJvbWVzYSA9IG5ldyBQcm9taXNlKChyZXNvbHZlICwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmh0dHBDbGllbnQucG9zdCggdXJsICsgdGhpcy5zZXJpYWxpemVQYXJhbXMocGFyYW1zKSwgIHBhcmFtZXRyb3MsIHRoaXMuYnVpbGRBdXRoKCkgKS5zdWJzY3JpYmUoXG4gICAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgfSwgKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcHJvbWVzYTtcbiAgfVxuXG59XG4iXX0=
@@ -1,4 +0,0 @@
1
- export class SerieDocumento {
2
- constructor() { }
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VyaWVEb2N1bWVudG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcnAtY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2VyaWVEb2N1bWVudG8vbW9kZWxzL1NlcmllRG9jdW1lbnRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxjQUFjO0lBNEJ2QixnQkFBZ0IsQ0FBQztDQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsYXZlTW92aW1pZW50byB9IGZyb20gXCIuLi8uLi9jbGF2ZU1vdmltaWVudG8vbW9kZWxzL0NsYXZlTW92aW1pZW50b1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBTZXJpZURvY3VtZW50byB7XG4gICAgaWQgICAgICAgICAgICAgICA6IG51bWJlcjtcbiAgICB2ZXJzaW9uICAgICAgICAgIDogbnVtYmVyO1xuICAgIGNvZGlnbyAgICAgICAgICAgOiBzdHJpbmc7XG4gICAgZGVzY3JpcGNpb24gICAgICA6IHN0cmluZztcbiAgICBmb2xpbyAgICAgICAgICAgIDogbnVtYmVyO1xuICAgIHNlcmllSW1wcmltaXIgICAgOiBzdHJpbmc7XG4gICAgZm9ybWF0b0RlZmF1bHQgICA6IHN0cmluZztcbiAgICBpbXByZXNvcmFEZWZhdWx0IDogc3RyaW5nO1xuICAgIGxpbmVhc1JlcG9ydGUgICAgOiBudW1iZXI7XG4gICAgcHJlY2lvRGVmYXVsdCAgICA6IG51bWJlcjtcbiAgICBlbXByZXNhQ29udGFibGUgIDogbnVtYmVyO1xuICAgIHRpcG9TZXJpZSAgICAgICAgOiBzdHJpbmc7XG4gICAgbnVtZXJvRGVDb3BpYXMgICA6IG51bWJlcjtcbiAgICBmb2xpb1RlbXBvcmFsICAgIDogYm9vbGVhbjtcbiAgICBwcmV2ZXJJbXByZXNpb24gIDogYm9vbGVhbjtcbiAgICBmb2xpb0F1dG9tYXRpY28gIDogYm9vbGVhbjtcbiAgICBhcGFydGFyTWVyY2FuY2lhIDogYm9vbGVhbjtcbiAgICBtb3N0cmFyUHJlY2lvc05ldG9zIDogYm9vbGVhbjtcbiAgICB2ZW50YU5lZ2FkYSAgICAgIDogYm9vbGVhbjtcbiAgICBkdXBsaWNhckZvbGlvICAgIDogYm9vbGVhbjtcbiAgICBlc3RhdHVzICAgICAgICAgICA6IGJvb2xlYW47XG4gICAgY2xhdmVNb3ZpbWllbnRvICAgOiBDbGF2ZU1vdmltaWVudG87XG5cbiAgICBmb3JtYXRvUmVwb3J0ZSAgICA6IGFueTtcbiAgICBub21icmVSZXBvcnRlICAgICA6c3RyaW5nO1xuXG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxufSJdfQ==
@@ -1,26 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { HttpClient } from "@angular/common/http";
3
- import { CrudService } from "../../../services/crud.service";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class SerieDocumentoService extends CrudService {
7
- constructor(httpClient) {
8
- super(httpClient, 'serieDocumento');
9
- this.httpClient = httpClient;
10
- }
11
- getTipos() {
12
- return this.httpClient.get(this.getUrl('serieDocumento') + '/tipoSerie', this.buildAuth());
13
- }
14
- getReporte(params) {
15
- return this.httpClient.get(this.getUrl('serieDocumento') + '/descargaFormatoReporte' + this.serializeParams(params), this.buildAuth());
16
- }
17
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SerieDocumentoService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SerieDocumentoService, providedIn: 'root' }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SerieDocumentoService, decorators: [{
21
- type: Injectable,
22
- args: [{
23
- providedIn: 'root'
24
- }]
25
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVEb2N1bWVudG8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VycC1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zZXJpZURvY3VtZW50by9zZXJ2aWNlcy9zZXJpZURvY3VtZW50by5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBSzdELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxXQUFXO0lBQzlDLFlBQW9CLFVBQXVCO1FBQ3ZDLEtBQUssQ0FBQyxVQUFVLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQURuQixlQUFVLEdBQVYsVUFBVSxDQUFhO0lBRTNDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBUSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBTTtRQUNmLE9BQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFDLHlCQUF5QixHQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDckksQ0FBQztrSUFWSSxxQkFBcUI7c0lBQXJCLHFCQUFxQixjQUZsQixNQUFNOzs0RkFFVCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9jcnVkLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZXJpZURvY3VtZW50b1NlcnZpY2UgZXh0ZW5kcyBDcnVkU2VydmljZXtcbiAgICAgICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50IDogSHR0cENsaWVudCl7XG4gICAgICAgICAgICBzdXBlcihodHRwQ2xpZW50LCdzZXJpZURvY3VtZW50bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2V0VGlwb3MoKXtcbiAgICAgICAgICByZXR1cm4gIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5nZXRVcmwoJ3NlcmllRG9jdW1lbnRvJykrJy90aXBvU2VyaWUnLHRoaXMuYnVpbGRBdXRoKCkpO1xuICAgICAgICB9XG4gICAgICAgIGdldFJlcG9ydGUocGFyYW1zKXtcbiAgICAgICAgICByZXR1cm4gIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5nZXRVcmwoJ3NlcmllRG9jdW1lbnRvJykrJy9kZXNjYXJnYUZvcm1hdG9SZXBvcnRlJyt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhwYXJhbXMpLHRoaXMuYnVpbGRBdXRoKCkpO1xuICAgICAgICB9XG59Il19
@@ -1,6 +0,0 @@
1
- export class TipoContacto {
2
- constructor() {
3
- this.estatus = true;
4
- }
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGlwb0NvbnRhY3RvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXJwLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3RpcG8tY29udGFjdG8vbW9kZWxzL1RpcG9Db250YWN0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQUtyQjtRQUNJLElBQUksQ0FBQyxPQUFPLEdBQUUsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUaXBvQ29udGFjdG97XG4gICAgIGlkICAgICAgICAgICA6IG51bWJlcjtcbiAgICAgZGVzY3JpcGNpb24gIDogU3RyaW5nO1xuICAgICBlc3RhdHVzICAgICAgOiBib29sZWFuO1xuICAgICB2ZXJzaW9uICAgICAgOiBudW1iZXI7XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgdGhpcy5lc3RhdHVzPSB0cnVlO1xuICAgIH1cbn0iXX0=
@@ -1,19 +0,0 @@
1
- import { CrudService } from "../../../services/crud.service";
2
- import { HttpClient } from "@angular/common/http";
3
- import { Injectable } from "@angular/core";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class TipoContactoService extends CrudService {
7
- constructor(http) {
8
- super(http, '/tipoContacto');
9
- }
10
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TipoContactoService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TipoContactoService, providedIn: 'root' }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TipoContactoService, decorators: [{
14
- type: Injectable,
15
- args: [{
16
- providedIn: 'root'
17
- }]
18
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlwb0NvbnRhY3RvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcnAtY29yZS9zcmMvbGliL2NvbXBvbmVudHMvdGlwby1jb250YWN0by9zZXJ2aWNlcy90aXBvQ29udGFjdG8uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBVztJQUNoRCxZQUFhLElBQWdCO1FBQ3pCLEtBQUssQ0FBQyxJQUFJLEVBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEMsQ0FBQztrSUFIUSxtQkFBbUI7c0lBQW5CLG1CQUFtQixjQUZoQixNQUFNOzs0RkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBDcnVkU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9jcnVkLnNlcnZpY2VcIjtcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG4gIH0pXG5leHBvcnQgY2xhc3MgVGlwb0NvbnRhY3RvU2VydmljZSBleHRlbmRzIENydWRTZXJ2aWNle1xuICAgIGNvbnN0cnVjdG9yKCBodHRwOiBIdHRwQ2xpZW50KXtcbiAgICAgICAgc3VwZXIoaHR0cCwnL3RpcG9Db250YWN0bycpO1xuICAgIH1cbiAgICBcbn0iXX0=
@@ -1,4 +0,0 @@
1
- export class Ubicacion {
2
- constructor() { }
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVWJpY2FjaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXJwLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3ViaWNhY2lvbi9tb2RlbHMvVWJpY2FjaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxTQUFTO0lBZXBCLGdCQUFjLENBQUM7Q0FDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVWJpY2FjaW9uIHtcbiAgaWQgICAgICAgIDogbnVtYmVyO1xuICB2ZXJzaW9uICAgOiBudW1iZXI7XG4gIGVzdGF0dXMgICA6IGJvb2xlYW47XG4gIGNvZGlnbyAgICA6IHN0cmluZztcbiAgbGFyZ28gICAgIDogbnVtYmVyO1xuICBhbmNobyAgICAgOiBudW1iZXI7XG4gIGFsdG8gICAgICA6IG51bWJlcjtcbiAgcGVzb01heGltbyAgOiBudW1iZXI7IFxuICBkZXNjcmlwY2lvbiA6IHN0cmluZztcbiAgbml2ZWwxICA6IHN0cmluZztcbiAgbml2ZWwyICA6IHN0cmluZztcbiAgbml2ZWwzICA6IHN0cmluZztcbiAgbml2ZWw0ICA6IHN0cmluZztcbiAgbml2ZWw1ICA6IHN0cmluZztcbiAgY29uc3RydWN0b3IoKXt9XG59Il19
@@ -1,19 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { HttpClient } from "@angular/common/http";
3
- import { CrudService } from "../../../services/crud.service";
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common/http";
6
- export class UbicacionService extends CrudService {
7
- constructor(http) {
8
- super(http, 'ubicacion');
9
- }
10
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UbicacionService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UbicacionService, providedIn: 'root' }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: UbicacionService, decorators: [{
14
- type: Injectable,
15
- args: [{
16
- providedIn: 'root'
17
- }]
18
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWJpY2FjaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcnAtY29yZS9zcmMvbGliL2NvbXBvbmVudHMvdWJpY2FjaW9uL3NlcnZpY2VzL3ViaWNhY2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBSTFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBQ2hELFlBQVksSUFBaUI7UUFDdkIsS0FBSyxDQUFDLElBQUksRUFBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO2tJQUhXLGdCQUFnQjtzSUFBaEIsZ0JBQWdCLGNBRGhCLE1BQU07OzRGQUNOLGdCQUFnQjtrQkFGL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IENydWRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2NydWQuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KSBleHBvcnQgY2xhc3MgVWJpY2FjaW9uU2VydmljZSBleHRlbmRzIENydWRTZXJ2aWNle1xuICAgIGNvbnN0cnVjdG9yKGh0dHAgOiBIdHRwQ2xpZW50KXtcbiAgICAgICAgICBzdXBlcihodHRwLCd1YmljYWNpb24nKTtcbiAgICB9XG59Il19