visorus-erp-core 11.0.0 → 13.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.
- package/{esm2015/lib/app.module.js → esm2020/lib/app.module.mjs} +4 -4
- package/esm2020/lib/components/acreedor/select/select-acreedor.component.mjs +205 -0
- package/{esm2015/lib/components/acreedor/services/acreedor.service.js → esm2020/lib/components/acreedor/services/acreedor.service.mjs} +2 -2
- package/{esm2015/lib/components/acreedor/services/acreedorCuentaContable.js → esm2020/lib/components/acreedor/services/acreedorCuentaContable.mjs} +2 -2
- package/{esm2015/lib/components/agente/services/agente.service.js → esm2020/lib/components/agente/services/agente.service.mjs} +2 -2
- package/{esm2015/lib/components/almacen/services/almacen.service.js → esm2020/lib/components/almacen/services/almacen.service.mjs} +2 -2
- package/{esm2015/lib/components/banco/services/banco.service.js → esm2020/lib/components/banco/services/banco.service.mjs} +2 -2
- package/esm2020/lib/components/caja/session-create/session-create.component.mjs +177 -0
- package/{esm2015/lib/components/caja/sessionCaja.service.js → esm2020/lib/components/caja/sessionCaja.service.mjs} +2 -2
- package/{esm2015/lib/components/catalogoTipo/services/catalogoTipo.service.js → esm2020/lib/components/catalogoTipo/services/catalogoTipo.service.mjs} +2 -2
- package/{esm2015/lib/components/clasificadorTipo/services/clasificadorTipo.service.js → esm2020/lib/components/clasificadorTipo/services/clasificadorTipo.service.mjs} +2 -2
- package/{esm2015/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.js → esm2020/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.mjs} +2 -2
- package/{esm2015/lib/components/claveMovimiento/services/claveMovimiento.service.js → esm2020/lib/components/claveMovimiento/services/claveMovimiento.service.mjs} +2 -2
- package/esm2020/lib/components/cliente/select/select-cliente.component.mjs +215 -0
- package/{esm2015/lib/components/cliente/services/cliente.service.js → esm2020/lib/components/cliente/services/cliente.service.mjs} +2 -2
- package/{esm2015/lib/components/cliente/services/clienteCuentaBanco.service.js → esm2020/lib/components/cliente/services/clienteCuentaBanco.service.mjs} +2 -2
- package/{esm2015/lib/components/cliente/services/clienteFlete.service.js → esm2020/lib/components/cliente/services/clienteFlete.service.mjs} +2 -2
- package/{esm2015/lib/components/contacto/services/datoContacto.service.js → esm2020/lib/components/contacto/services/datoContacto.service.mjs} +2 -2
- package/{esm2015/lib/components/dato-direccion/services/datoDireccion.service.js → esm2020/lib/components/dato-direccion/services/datoDireccion.service.mjs} +2 -2
- package/{esm2015/lib/components/departamento/services/departamento.service.js → esm2020/lib/components/departamento/services/departamento.service.mjs} +2 -2
- package/{esm2015/lib/components/empresa/services/empresa.service.js → esm2020/lib/components/empresa/services/empresa.service.mjs} +2 -2
- package/esm2020/lib/components/error404/error404.component.mjs +21 -0
- package/{esm2015/lib/components/flete/services/flete.service.js → esm2020/lib/components/flete/services/flete.service.mjs} +2 -2
- package/{esm2015/lib/components/formaPago/services/FormaPago.service.js → esm2020/lib/components/formaPago/services/FormaPago.service.mjs} +2 -2
- package/esm2020/lib/components/loading/loading.component.mjs +48 -0
- package/{esm2015/lib/components/loading/loading.service.js → esm2020/lib/components/loading/loading.service.mjs} +2 -2
- package/esm2020/lib/components/loading-screen/loading-screen.component.mjs +44 -0
- package/{esm2015/lib/components/loading-screen/loading-screen.service.js → esm2020/lib/components/loading-screen/loading-screen.service.mjs} +2 -2
- package/esm2020/lib/components/login-modal/login-modal.component.mjs +152 -0
- package/{esm2015/lib/components/login-modal/login-modal.service.js → esm2020/lib/components/login-modal/login-modal.service.mjs} +2 -2
- package/{esm2015/lib/components/moneda/services/moneda.service.js → esm2020/lib/components/moneda/services/moneda.service.mjs} +2 -2
- package/{esm2015/lib/components/pdfModal/pdf-modal.component.js → esm2020/lib/components/pdfModal/pdf-modal.component.mjs} +3 -7
- package/{esm2015/lib/components/pdfModal/pdf-modal.service.js → esm2020/lib/components/pdfModal/pdf-modal.service.mjs} +2 -2
- package/{esm2015/lib/components/persona-fisica/services/personaFisica.service.js → esm2020/lib/components/persona-fisica/services/personaFisica.service.mjs} +2 -2
- package/esm2020/lib/components/proveedor/select/select-proveedor.component.mjs +138 -0
- package/{esm2015/lib/components/proveedor/services/proveedor.service.js → esm2020/lib/components/proveedor/services/proveedor.service.mjs} +2 -2
- package/{esm2015/lib/components/proveedor/services/proveedorCuentaBanco.service.js → esm2020/lib/components/proveedor/services/proveedorCuentaBanco.service.mjs} +2 -2
- package/{esm2015/lib/components/proveedor/services/proveedorFlete.service.js → esm2020/lib/components/proveedor/services/proveedorFlete.service.mjs} +2 -2
- package/esm2020/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.mjs +143 -0
- package/{esm2015/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.js → esm2020/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.mjs} +2 -2
- package/esm2020/lib/components/selecciona-articulo/selecciona-articulo.component.mjs +493 -0
- package/{esm2015/lib/components/selecciona-articulo/stock.service.js → esm2020/lib/components/selecciona-articulo/stock.service.mjs} +2 -2
- package/{esm2015/lib/components/serieDocumento/services/serieDocumento.service.js → esm2020/lib/components/serieDocumento/services/serieDocumento.service.mjs} +2 -2
- package/{esm2015/lib/components/tipo-contacto/services/tipoContacto.service.js → esm2020/lib/components/tipo-contacto/services/tipoContacto.service.mjs} +2 -2
- package/{esm2015/lib/components/ubicacion/services/ubicacion.service.js → esm2020/lib/components/ubicacion/services/ubicacion.service.mjs} +2 -2
- package/esm2020/lib/contabilidad/componentes/cclista/cclista.component.mjs +262 -0
- package/{esm2015/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.js → esm2020/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.mjs} +6 -13
- package/{esm2015/lib/contabilidad/servicios/cuentacontable.service.js → esm2020/lib/contabilidad/servicios/cuentacontable.service.mjs} +2 -2
- package/{esm2015/lib/httpInterceptor/httpInterceptor.js → esm2020/lib/httpInterceptor/httpInterceptor.mjs} +2 -2
- package/{esm2015/lib/services/auth.service.js → esm2020/lib/services/auth.service.mjs} +2 -2
- package/{esm2015/lib/services/authenticated.service.js → esm2020/lib/services/authenticated.service.mjs} +2 -2
- package/{esm2015/lib/services/canActivateGuard.service.ts.js → esm2020/lib/services/canActivateGuard.service.ts.mjs} +2 -2
- package/{esm2015/lib/services/catalogo-adicional.service.js → esm2020/lib/services/catalogo-adicional.service.mjs} +2 -2
- package/{esm2015/lib/services/controlAcceso.service.js → esm2020/lib/services/controlAcceso.service.mjs} +2 -2
- package/{esm2015/lib/services/file.service.js → esm2020/lib/services/file.service.mjs} +2 -2
- package/{esm2015/lib/services/init.service.js → esm2020/lib/services/init.service.mjs} +2 -2
- package/{esm2015/lib/services/message.service.js → esm2020/lib/services/message.service.mjs} +2 -2
- package/{esm2015/lib/services/paginate.service.js → esm2020/lib/services/paginate.service.mjs} +2 -2
- package/{esm2015/lib/services/personaMoral.service.js → esm2020/lib/services/personaMoral.service.mjs} +2 -2
- package/{esm2015/lib/services/versionCheck.service.js → esm2020/lib/services/versionCheck.service.mjs} +2 -2
- package/fesm2015/visorus-erp-core.mjs +4066 -0
- package/fesm2015/visorus-erp-core.mjs.map +1 -0
- package/fesm2020/visorus-erp-core.mjs +3747 -0
- package/fesm2020/visorus-erp-core.mjs.map +1 -0
- package/lib/app.module.d.ts +3 -3
- package/lib/components/acreedor/select/select-acreedor.component.d.ts +2 -2
- package/lib/components/acreedor/services/acreedor.service.d.ts +2 -2
- package/lib/components/acreedor/services/acreedorCuentaContable.d.ts +2 -2
- package/lib/components/agente/services/agente.service.d.ts +2 -2
- package/lib/components/almacen/services/almacen.service.d.ts +2 -2
- package/lib/components/banco/services/banco.service.d.ts +2 -2
- package/lib/components/caja/session-create/session-create.component.d.ts +2 -2
- package/lib/components/caja/sessionCaja.service.d.ts +2 -2
- package/lib/components/catalogoTipo/services/catalogoTipo.service.d.ts +2 -2
- package/lib/components/clasificadorTipo/services/clasificadorTipo.service.d.ts +2 -2
- package/lib/components/claveAumentoDisminucion/services/clave-aumento-disminucion.service.d.ts +2 -2
- package/lib/components/claveMovimiento/services/claveMovimiento.service.d.ts +2 -2
- package/lib/components/cliente/select/select-cliente.component.d.ts +2 -2
- package/lib/components/cliente/services/cliente.service.d.ts +2 -2
- package/lib/components/cliente/services/clienteCuentaBanco.service.d.ts +2 -2
- package/lib/components/cliente/services/clienteFlete.service.d.ts +2 -2
- package/lib/components/contacto/services/datoContacto.service.d.ts +2 -2
- package/lib/components/dato-direccion/services/datoDireccion.service.d.ts +2 -2
- package/lib/components/departamento/services/departamento.service.d.ts +2 -2
- package/lib/components/empresa/services/empresa.service.d.ts +2 -2
- package/lib/components/error404/error404.component.d.ts +2 -2
- package/lib/components/flete/services/flete.service.d.ts +2 -2
- package/lib/components/formaPago/services/FormaPago.service.d.ts +2 -2
- package/lib/components/loading/loading.component.d.ts +2 -2
- package/lib/components/loading/loading.service.d.ts +2 -2
- package/lib/components/loading-screen/loading-screen.component.d.ts +2 -2
- package/lib/components/loading-screen/loading-screen.service.d.ts +2 -2
- package/lib/components/login-modal/login-modal.component.d.ts +2 -2
- package/lib/components/login-modal/login-modal.service.d.ts +2 -2
- package/lib/components/moneda/services/moneda.service.d.ts +2 -2
- package/lib/components/pdfModal/pdf-modal.component.d.ts +2 -2
- package/lib/components/pdfModal/pdf-modal.service.d.ts +2 -2
- package/lib/components/persona-fisica/services/personaFisica.service.d.ts +2 -2
- package/lib/components/proveedor/select/select-proveedor.component.d.ts +2 -2
- package/lib/components/proveedor/services/proveedor.service.d.ts +2 -2
- package/lib/components/proveedor/services/proveedorCuentaBanco.service.d.ts +2 -2
- package/lib/components/proveedor/services/proveedorFlete.service.d.ts +2 -2
- package/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.d.ts +2 -2
- package/lib/components/seleccion-articulo-informacion/services/articulo-informacion.service.d.ts +2 -2
- package/lib/components/selecciona-articulo/selecciona-articulo.component.d.ts +2 -2
- package/lib/components/selecciona-articulo/stock.service.d.ts +2 -2
- package/lib/components/serieDocumento/services/serieDocumento.service.d.ts +2 -2
- package/lib/components/tipo-contacto/services/tipoContacto.service.d.ts +2 -2
- package/lib/components/ubicacion/services/ubicacion.service.d.ts +2 -2
- package/lib/contabilidad/componentes/cclista/cclista.component.d.ts +2 -2
- package/lib/contabilidad/componentes/ccseleccion-dialog/ccseleccion-dialog.component.d.ts +2 -2
- package/lib/contabilidad/servicios/cuentacontable.service.d.ts +2 -2
- package/lib/httpInterceptor/httpInterceptor.d.ts +2 -2
- package/lib/services/auth.service.d.ts +2 -2
- package/lib/services/authenticated.service.d.ts +2 -2
- package/lib/services/canActivateGuard.service.ts.d.ts +2 -2
- package/lib/services/catalogo-adicional.service.d.ts +2 -2
- package/lib/services/controlAcceso.service.d.ts +2 -2
- package/lib/services/file.service.d.ts +2 -2
- package/lib/services/init.service.d.ts +2 -2
- package/lib/services/message.service.d.ts +2 -2
- package/lib/services/paginate.service.d.ts +2 -2
- package/lib/services/personaMoral.service.d.ts +2 -2
- package/lib/services/versionCheck.service.d.ts +2 -2
- package/package.json +26 -13
- package/bundles/visorus-erp-core.umd.js +0 -5019
- package/bundles/visorus-erp-core.umd.js.map +0 -1
- package/bundles/visorus-erp-core.umd.min.js +0 -2
- package/bundles/visorus-erp-core.umd.min.js.map +0 -1
- package/esm2015/lib/components/acreedor/select/select-acreedor.component.js +0 -217
- package/esm2015/lib/components/caja/session-create/session-create.component.js +0 -194
- package/esm2015/lib/components/cliente/select/select-cliente.component.js +0 -227
- package/esm2015/lib/components/error404/error404.component.js +0 -35
- package/esm2015/lib/components/loading/loading.component.js +0 -66
- package/esm2015/lib/components/loading-screen/loading-screen.component.js +0 -58
- package/esm2015/lib/components/login-modal/login-modal.component.js +0 -180
- package/esm2015/lib/components/proveedor/select/select-proveedor.component.js +0 -148
- package/esm2015/lib/components/seleccion-articulo-informacion/seleccion-articulo-informacion.component.js +0 -154
- package/esm2015/lib/components/selecciona-articulo/selecciona-articulo.component.js +0 -522
- package/esm2015/lib/contabilidad/componentes/cclista/cclista.component.js +0 -274
- package/fesm2015/visorus-erp-core.js +0 -3898
- package/fesm2015/visorus-erp-core.js.map +0 -1
- /package/{esm2015/lib/components/agente/models/Agente.js → esm2020/lib/components/agente/models/Agente.mjs} +0 -0
- /package/{esm2015/lib/components/almacen/models/Almacen.js → esm2020/lib/components/almacen/models/Almacen.mjs} +0 -0
- /package/{esm2015/lib/components/banco/models/Banco.js → esm2020/lib/components/banco/models/Banco.mjs} +0 -0
- /package/{esm2015/lib/components/catalogoTipo/models/CatalogoTipo.js → esm2020/lib/components/catalogoTipo/models/CatalogoTipo.mjs} +0 -0
- /package/{esm2015/lib/components/clasificadorTipo/models/ClasificadorTipo.js → esm2020/lib/components/clasificadorTipo/models/ClasificadorTipo.mjs} +0 -0
- /package/{esm2015/lib/components/claveMovimiento/models/ClaveMovimiento.js → esm2020/lib/components/claveMovimiento/models/ClaveMovimiento.mjs} +0 -0
- /package/{esm2015/lib/components/cliente/models/Cliente.js → esm2020/lib/components/cliente/models/Cliente.mjs} +0 -0
- /package/{esm2015/lib/components/cliente/models/ClienteCuentaBanco.js → esm2020/lib/components/cliente/models/ClienteCuentaBanco.mjs} +0 -0
- /package/{esm2015/lib/components/cliente/models/ClienteFlete.js → esm2020/lib/components/cliente/models/ClienteFlete.mjs} +0 -0
- /package/{esm2015/lib/components/contacto/models/DatoContacto.js → esm2020/lib/components/contacto/models/DatoContacto.mjs} +0 -0
- /package/{esm2015/lib/components/dato-direccion/models/DatoDireccion.js → esm2020/lib/components/dato-direccion/models/DatoDireccion.mjs} +0 -0
- /package/{esm2015/lib/components/departamento/models/Departamento.js → esm2020/lib/components/departamento/models/Departamento.mjs} +0 -0
- /package/{esm2015/lib/components/empresa/models/ConfiguracionEmpresaAdministrativa.js → esm2020/lib/components/empresa/models/ConfiguracionEmpresaAdministrativa.mjs} +0 -0
- /package/{esm2015/lib/components/empresa/models/Empresa.js → esm2020/lib/components/empresa/models/Empresa.mjs} +0 -0
- /package/{esm2015/lib/components/flete/models/Flete.js → esm2020/lib/components/flete/models/Flete.mjs} +0 -0
- /package/{esm2015/lib/components/formaPago/models/FormaPago.js → esm2020/lib/components/formaPago/models/FormaPago.mjs} +0 -0
- /package/{esm2015/lib/components/moneda/models/Moneda.js → esm2020/lib/components/moneda/models/Moneda.mjs} +0 -0
- /package/{esm2015/lib/components/persona-fisica/models/EstadoCivil.js → esm2020/lib/components/persona-fisica/models/EstadoCivil.mjs} +0 -0
- /package/{esm2015/lib/components/persona-fisica/models/Genero.js → esm2020/lib/components/persona-fisica/models/Genero.mjs} +0 -0
- /package/{esm2015/lib/components/persona-fisica/models/Persona.js → esm2020/lib/components/persona-fisica/models/Persona.mjs} +0 -0
- /package/{esm2015/lib/components/persona-fisica/models/PersonaFisica.js → esm2020/lib/components/persona-fisica/models/PersonaFisica.mjs} +0 -0
- /package/{esm2015/lib/components/proveedor/models/Proveedor.js → esm2020/lib/components/proveedor/models/Proveedor.mjs} +0 -0
- /package/{esm2015/lib/components/proveedor/models/ProveedorCuentaBanco.js → esm2020/lib/components/proveedor/models/ProveedorCuentaBanco.mjs} +0 -0
- /package/{esm2015/lib/components/proveedor/models/ProveedorFlete.js → esm2020/lib/components/proveedor/models/ProveedorFlete.mjs} +0 -0
- /package/{esm2015/lib/components/serieDocumento/models/SerieDocumento.js → esm2020/lib/components/serieDocumento/models/SerieDocumento.mjs} +0 -0
- /package/{esm2015/lib/components/tipo-contacto/models/TipoContacto.js → esm2020/lib/components/tipo-contacto/models/TipoContacto.mjs} +0 -0
- /package/{esm2015/lib/components/ubicacion/models/Ubicacion.js → esm2020/lib/components/ubicacion/models/Ubicacion.mjs} +0 -0
- /package/{esm2015/lib/contabilidad/modelos/cuentaContable.model.js → esm2020/lib/contabilidad/modelos/cuentaContable.model.mjs} +0 -0
- /package/{esm2015/lib/contabilidad/modelos/normaInfoFinanciera.model.js → esm2020/lib/contabilidad/modelos/normaInfoFinanciera.model.mjs} +0 -0
- /package/{esm2015/lib/globalPrimeNg.js → esm2020/lib/globalPrimeNg.mjs} +0 -0
- /package/{esm2015/lib/importComponents.js → esm2020/lib/importComponents.mjs} +0 -0
- /package/{esm2015/lib/importComponetsConta.js → esm2020/lib/importComponetsConta.mjs} +0 -0
- /package/{esm2015/lib/models/PersonaMoral.js → esm2020/lib/models/PersonaMoral.mjs} +0 -0
- /package/{esm2015/lib/models/Usuario.js → esm2020/lib/models/Usuario.mjs} +0 -0
- /package/{esm2015/lib/models/auth.js → esm2020/lib/models/auth.mjs} +0 -0
- /package/{esm2015/lib/services/crud.service.js → esm2020/lib/services/crud.service.mjs} +0 -0
- /package/{esm2015/lib/services/global.service.js → esm2020/lib/services/global.service.mjs} +0 -0
- /package/{esm2015/lib/utils/tipo_catalogo.ts.js → esm2020/lib/utils/tipo_catalogo.ts.mjs} +0 -0
- /package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- /package/{esm2015/visorus-erp-core.js → esm2020/visorus-erp-core.mjs} +0 -0
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { CuentaContableService } from '../../servicios/cuentacontable.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../servicios/cuentacontable.service";
|
|
5
|
-
import * as i2 from "@angular/forms";
|
|
6
|
-
import * as i3 from "primeng/inputtext";
|
|
7
|
-
import * as i4 from "primeng/treetable";
|
|
8
|
-
import * as i5 from "primeng/api";
|
|
9
|
-
import * as i6 from "@angular/common";
|
|
10
|
-
import * as i7 from "primeng/button";
|
|
11
|
-
function CclistaComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
-
i0.ɵɵelementStart(0, "tr");
|
|
13
|
-
i0.ɵɵelementStart(1, "th", 5);
|
|
14
|
-
i0.ɵɵtext(2, "Cuenta contable");
|
|
15
|
-
i0.ɵɵelementEnd();
|
|
16
|
-
i0.ɵɵelementStart(3, "th", 5);
|
|
17
|
-
i0.ɵɵtext(4, "Descripci\u00F3n");
|
|
18
|
-
i0.ɵɵelementEnd();
|
|
19
|
-
i0.ɵɵelementStart(5, "th", 6);
|
|
20
|
-
i0.ɵɵtext(6, "Naturaleza");
|
|
21
|
-
i0.ɵɵelementEnd();
|
|
22
|
-
i0.ɵɵelementStart(7, "th", 7);
|
|
23
|
-
i0.ɵɵtext(8, "Tipo");
|
|
24
|
-
i0.ɵɵelementEnd();
|
|
25
|
-
i0.ɵɵelementStart(9, "th", 8);
|
|
26
|
-
i0.ɵɵtext(10, "Acciones");
|
|
27
|
-
i0.ɵɵelementEnd();
|
|
28
|
-
i0.ɵɵelementEnd();
|
|
29
|
-
} }
|
|
30
|
-
function CclistaComponent_ng_template_4_button_12_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
-
const _r8 = i0.ɵɵgetCurrentView();
|
|
32
|
-
i0.ɵɵelementStart(0, "button", 16);
|
|
33
|
-
i0.ɵɵlistener("click", function CclistaComponent_ng_template_4_button_12_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const rowData_r3 = i0.ɵɵnextContext().rowData; const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.selectCuentaContable(rowData_r3); });
|
|
34
|
-
i0.ɵɵelementEnd();
|
|
35
|
-
} }
|
|
36
|
-
function CclistaComponent_ng_template_4_button_13_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
-
const _r11 = i0.ɵɵgetCurrentView();
|
|
38
|
-
i0.ɵɵelementStart(0, "button", 16);
|
|
39
|
-
i0.ɵɵlistener("click", function CclistaComponent_ng_template_4_button_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r11); const rowData_r3 = i0.ɵɵnextContext().rowData; const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.selectCuentaContable(rowData_r3); });
|
|
40
|
-
i0.ɵɵelementEnd();
|
|
41
|
-
} }
|
|
42
|
-
function CclistaComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
-
i0.ɵɵelementStart(0, "tr");
|
|
44
|
-
i0.ɵɵelementStart(1, "td", 9);
|
|
45
|
-
i0.ɵɵelement(2, "p-treeTableToggler", 10);
|
|
46
|
-
i0.ɵɵtext(3);
|
|
47
|
-
i0.ɵɵelementEnd();
|
|
48
|
-
i0.ɵɵelementStart(4, "td", 9);
|
|
49
|
-
i0.ɵɵtext(5);
|
|
50
|
-
i0.ɵɵelementEnd();
|
|
51
|
-
i0.ɵɵelementStart(6, "td", 11);
|
|
52
|
-
i0.ɵɵtext(7);
|
|
53
|
-
i0.ɵɵelementEnd();
|
|
54
|
-
i0.ɵɵelementStart(8, "td", 12);
|
|
55
|
-
i0.ɵɵtext(9);
|
|
56
|
-
i0.ɵɵelementEnd();
|
|
57
|
-
i0.ɵɵelementStart(10, "td", 13);
|
|
58
|
-
i0.ɵɵelementStart(11, "div", 14);
|
|
59
|
-
i0.ɵɵtemplate(12, CclistaComponent_ng_template_4_button_12_Template, 1, 0, "button", 15);
|
|
60
|
-
i0.ɵɵtemplate(13, CclistaComponent_ng_template_4_button_13_Template, 1, 0, "button", 15);
|
|
61
|
-
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵelementEnd();
|
|
63
|
-
i0.ɵɵelementEnd();
|
|
64
|
-
} if (rf & 2) {
|
|
65
|
-
const rowNode_r2 = ctx.$implicit;
|
|
66
|
-
const rowData_r3 = ctx.rowData;
|
|
67
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
68
|
-
i0.ɵɵadvance(2);
|
|
69
|
-
i0.ɵɵproperty("rowNode", rowNode_r2);
|
|
70
|
-
i0.ɵɵadvance(1);
|
|
71
|
-
i0.ɵɵtextInterpolate1(" ", rowData_r3.cuentaContable, " ");
|
|
72
|
-
i0.ɵɵadvance(2);
|
|
73
|
-
i0.ɵɵtextInterpolate1(" ", rowData_r3.descripcion, " ");
|
|
74
|
-
i0.ɵɵadvance(2);
|
|
75
|
-
i0.ɵɵtextInterpolate1(" ", rowData_r3.naturaleza, " ");
|
|
76
|
-
i0.ɵɵadvance(2);
|
|
77
|
-
i0.ɵɵtextInterpolate1(" ", rowData_r3.tipo, " ");
|
|
78
|
-
i0.ɵɵadvance(3);
|
|
79
|
-
i0.ɵɵproperty("ngIf", ctx_r1.typeAccount == 1 && rowData_r3.cuentaRegistro);
|
|
80
|
-
i0.ɵɵadvance(1);
|
|
81
|
-
i0.ɵɵproperty("ngIf", ctx_r1.typeAccount == 2 && !rowData_r3.cuentaRegistro);
|
|
82
|
-
} }
|
|
83
|
-
const _c0 = function () { return { width: "100%" }; };
|
|
84
|
-
export class CclistaComponent {
|
|
85
|
-
constructor(_cuentaContableService) {
|
|
86
|
-
this._cuentaContableService = _cuentaContableService;
|
|
87
|
-
this.cuentasContables = [];
|
|
88
|
-
this.maxH = 720;
|
|
89
|
-
this.query = "";
|
|
90
|
-
this.tempAccounts = [];
|
|
91
|
-
this.evSelectedAccount = new EventEmitter();
|
|
92
|
-
}
|
|
93
|
-
ngOnInit() {
|
|
94
|
-
this.maxH = window.innerHeight - 320;
|
|
95
|
-
this.obtenerCuentasContablesRecursivo();
|
|
96
|
-
}
|
|
97
|
-
obtenerCuentasContablesRecursivo() {
|
|
98
|
-
this._cuentaContableService.obtieneCuentasContablesRecursivo().subscribe((result) => {
|
|
99
|
-
if (result) {
|
|
100
|
-
this.cuentasContables = result;
|
|
101
|
-
this.sortAccounts();
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
sortAccounts() {
|
|
106
|
-
this.cuentasContables.sort(function (a, b) {
|
|
107
|
-
// get symbol for string
|
|
108
|
-
let characterBreak = '.';
|
|
109
|
-
const listA = a.data.cuentaContable.split(characterBreak);
|
|
110
|
-
const listB = b.data.cuentaContable.split(characterBreak);
|
|
111
|
-
if (listA.length > 0 && listB.length > 0) {
|
|
112
|
-
if (listA.length === listB.length) {
|
|
113
|
-
for (let i = 0; i < listA.length; i++) {
|
|
114
|
-
if (parseInt(listA[i]) > parseInt(listB[i])) {
|
|
115
|
-
return 1;
|
|
116
|
-
}
|
|
117
|
-
if (parseInt(listA[i]) < parseInt(listB[i])) {
|
|
118
|
-
return -1;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return 0;
|
|
122
|
-
}
|
|
123
|
-
if (listA.length < listB.length) {
|
|
124
|
-
for (let i = 0; i < listA.length; i++) {
|
|
125
|
-
if (parseInt(listA[i]) > parseInt(listB[i])) {
|
|
126
|
-
return 1;
|
|
127
|
-
}
|
|
128
|
-
if (parseInt(listA[i]) < parseInt(listB[i])) {
|
|
129
|
-
return -1;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return -1;
|
|
133
|
-
}
|
|
134
|
-
if (listB.length < listA.length) {
|
|
135
|
-
for (let i = 0; i < listB.length; i++) {
|
|
136
|
-
if (parseInt(listA[i]) > parseInt(listB[i])) {
|
|
137
|
-
return 1;
|
|
138
|
-
}
|
|
139
|
-
if (parseInt(listA[i]) < parseInt(listB[i])) {
|
|
140
|
-
return -1;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return 1;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
return 0;
|
|
147
|
-
});
|
|
148
|
-
for (let item of this.cuentasContables) {
|
|
149
|
-
if (item.children) {
|
|
150
|
-
this.sortItem(item);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
this.tempAccounts = this.cuentasContables;
|
|
154
|
-
}
|
|
155
|
-
sortItem(account) {
|
|
156
|
-
account.children.sort(function (a, b) {
|
|
157
|
-
// get symbol for string
|
|
158
|
-
let characterBreak = '.';
|
|
159
|
-
const listA = a.data.cuentaContable.split(characterBreak);
|
|
160
|
-
const listB = b.data.cuentaContable.split(characterBreak);
|
|
161
|
-
if (listA.length > 0 && listB.length > 0) {
|
|
162
|
-
if (listA.length === listB.length) {
|
|
163
|
-
for (let i = 0; i < listA.length; i++) {
|
|
164
|
-
if (parseInt(listA[i]) > parseInt(listB[i])) {
|
|
165
|
-
return 1;
|
|
166
|
-
}
|
|
167
|
-
if (parseInt(listA[i]) < parseInt(listB[i])) {
|
|
168
|
-
return -1;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return 0;
|
|
172
|
-
}
|
|
173
|
-
if (listA.length < listB.length) {
|
|
174
|
-
for (let i = 0; i < listA.length; i++) {
|
|
175
|
-
if (parseInt(listA[i]) > parseInt(listB[i])) {
|
|
176
|
-
return 1;
|
|
177
|
-
}
|
|
178
|
-
if (parseInt(listA[i]) < parseInt(listB[i])) {
|
|
179
|
-
return -1;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
return -1;
|
|
183
|
-
}
|
|
184
|
-
if (listB.length < listA.length) {
|
|
185
|
-
for (let i = 0; i < listB.length; i++) {
|
|
186
|
-
if (parseInt(listA[i]) > parseInt(listB[i])) {
|
|
187
|
-
return 1;
|
|
188
|
-
}
|
|
189
|
-
if (parseInt(listA[i]) < parseInt(listB[i])) {
|
|
190
|
-
return -1;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return 1;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return 0;
|
|
197
|
-
});
|
|
198
|
-
for (let item of account.children) {
|
|
199
|
-
this.sortItem(item);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
selectCuentaContable(account) {
|
|
203
|
-
this.evSelectedAccount.emit(account);
|
|
204
|
-
}
|
|
205
|
-
filterAccounts(evt) {
|
|
206
|
-
if (!evt) {
|
|
207
|
-
const temp = this.resetAccount();
|
|
208
|
-
this.cuentasContables = temp;
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
this.cuentasContables = this.browseAccount(this.tempAccounts);
|
|
212
|
-
}
|
|
213
|
-
resetAccount() {
|
|
214
|
-
this.query = '';
|
|
215
|
-
let accounts = [];
|
|
216
|
-
for (let cc of this.tempAccounts) {
|
|
217
|
-
accounts.push(cc);
|
|
218
|
-
}
|
|
219
|
-
return accounts;
|
|
220
|
-
}
|
|
221
|
-
browseAccount(accounts) {
|
|
222
|
-
let listAccounts = [];
|
|
223
|
-
if (this.query === '') {
|
|
224
|
-
const temp = this.resetAccount();
|
|
225
|
-
this.cuentasContables = temp;
|
|
226
|
-
}
|
|
227
|
-
else {
|
|
228
|
-
for (let account of accounts) {
|
|
229
|
-
if (account.data.cuentaContable.toString().toLowerCase().includes(this.query.toLowerCase()) || account.data.descripcion.toString().toLowerCase().includes(this.query.toLowerCase())) {
|
|
230
|
-
listAccounts = listAccounts.concat({
|
|
231
|
-
data: account.data,
|
|
232
|
-
children: this.browseAccount(account.children)
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
listAccounts = listAccounts.concat(this.browseAccount(account.children));
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
return listAccounts;
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
/** @nocollapse */ CclistaComponent.ɵfac = function CclistaComponent_Factory(t) { return new (t || CclistaComponent)(i0.ɵɵdirectiveInject(i1.CuentaContableService)); };
|
|
244
|
-
/** @nocollapse */ CclistaComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CclistaComponent, selectors: [["lib-cclista"]], inputs: { isShared: "isShared", typeAccount: "typeAccount" }, outputs: { evSelectedAccount: "evSelectedAccount" }, decls: 5, vars: 8, consts: [["type", "text", "pInputText", "", "placeholder", "Cuenta o descripci\u00F3n", 2, "width", "100%", 3, "ngModel", "ngModelChange", "keyup"], [2, "padding", "10px"], [3, "value", "scrollable", "scrollHeight", "resizableColumns"], ["pTemplate", "header"], ["pTemplate", "body", "style", "width: 100%;"], [2, "width", "150px"], [2, "width", "90px"], [2, "width", "60px"], [2, "width", "200px"], [1, "ui-resizable-column", 2, "width", "150px"], [3, "rowNode"], [1, "ui-resizable-column", 2, "width", "90px"], [1, "ui-resizable-column", 2, "width", "60px"], [1, "ui-resizable-column", 2, "width", "200px"], [1, "button-row"], ["pButton", "", "type", "button", "icon", "pi pi-check", "class", "ui-button-raised ui-button-success", 3, "click", 4, "ngIf"], ["pButton", "", "type", "button", "icon", "pi pi-check", 1, "ui-button-raised", "ui-button-success", 3, "click"]], template: function CclistaComponent_Template(rf, ctx) { if (rf & 1) {
|
|
245
|
-
i0.ɵɵelementStart(0, "input", 0);
|
|
246
|
-
i0.ɵɵlistener("ngModelChange", function CclistaComponent_Template_input_ngModelChange_0_listener($event) { return ctx.query = $event; })("keyup", function CclistaComponent_Template_input_keyup_0_listener($event) { return ctx.filterAccounts($event); });
|
|
247
|
-
i0.ɵɵelementEnd();
|
|
248
|
-
i0.ɵɵelementStart(1, "div", 1);
|
|
249
|
-
i0.ɵɵelementStart(2, "p-treeTable", 2);
|
|
250
|
-
i0.ɵɵtemplate(3, CclistaComponent_ng_template_3_Template, 11, 0, "ng-template", 3);
|
|
251
|
-
i0.ɵɵtemplate(4, CclistaComponent_ng_template_4_Template, 14, 7, "ng-template", 4);
|
|
252
|
-
i0.ɵɵelementEnd();
|
|
253
|
-
i0.ɵɵelementEnd();
|
|
254
|
-
} if (rf & 2) {
|
|
255
|
-
i0.ɵɵproperty("ngModel", ctx.query);
|
|
256
|
-
i0.ɵɵadvance(2);
|
|
257
|
-
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(7, _c0));
|
|
258
|
-
i0.ɵɵproperty("value", ctx.cuentasContables ? ctx.cuentasContables : ctx.tempAccounts)("scrollable", true)("scrollHeight", ctx.maxH + "px")("resizableColumns", true);
|
|
259
|
-
} }, directives: [i2.DefaultValueAccessor, i3.InputText, i2.NgControlStatus, i2.NgModel, i4.TreeTable, i5.PrimeTemplate, i4.TreeTableToggler, i6.NgIf, i7.ButtonDirective], styles: [""] });
|
|
260
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CclistaComponent, [{
|
|
261
|
-
type: Component,
|
|
262
|
-
args: [{
|
|
263
|
-
selector: 'lib-cclista',
|
|
264
|
-
templateUrl: './cclista.component.html',
|
|
265
|
-
styleUrls: ['./cclista.component.css']
|
|
266
|
-
}]
|
|
267
|
-
}], function () { return [{ type: i1.CuentaContableService }]; }, { isShared: [{
|
|
268
|
-
type: Input
|
|
269
|
-
}], typeAccount: [{
|
|
270
|
-
type: Input
|
|
271
|
-
}], evSelectedAccount: [{
|
|
272
|
-
type: Output
|
|
273
|
-
}] }); })();
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2NsaXN0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcnAtY29yZS9zcmMvbGliL2NvbnRhYmlsaWRhZC9jb21wb25lbnRlcy9jY2xpc3RhL2NjbGlzdGEuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXJwLWNvcmUvc3JjL2xpYi9jb250YWJpbGlkYWQvY29tcG9uZW50ZXMvY2NsaXN0YS9jY2xpc3RhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7Ozs7SUNHbkUsMEJBQUk7SUFDQSw2QkFBMEI7SUFBQSwrQkFBZTtJQUFBLGlCQUFLO0lBQzlDLDZCQUEwQjtJQUFBLGdDQUFXO0lBQUEsaUJBQUs7SUFDMUMsNkJBQXlCO0lBQUEsMEJBQVU7SUFBQSxpQkFBSztJQUN4Qyw2QkFBeUI7SUFBQSxvQkFBSTtJQUFBLGlCQUFLO0lBQ2xDLDZCQUEwQjtJQUFBLHlCQUFRO0lBQUEsaUJBQUs7SUFDM0MsaUJBQUs7Ozs7SUFtQk8sa0NBQXFMO0lBQXpGLHlRQUF1QztJQUFrRCxpQkFBUzs7OztJQUM5TCxrQ0FBc0w7SUFBMUYsMFFBQXVDO0lBQW1ELGlCQUFTOzs7SUFqQjNNLDBCQUFJO0lBQ0EsNkJBQXNEO0lBQ2xELHlDQUE2RDtJQUM3RCxZQUNKO0lBQUEsaUJBQUs7SUFDTCw2QkFBc0Q7SUFDbEQsWUFDSjtJQUFBLGlCQUFLO0lBQ0wsOEJBQXFEO0lBQ2pELFlBQ0o7SUFBQSxpQkFBSztJQUNMLDhCQUFxRDtJQUNqRCxZQUNKO0lBQUEsaUJBQUs7SUFDTCwrQkFBc0Q7SUFDbEQsZ0NBQXdCO0lBQ3BC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QyxRQUFRLENBQUM7cUJBQy9DLENBQUMsQ0FBQztpQkFDSjtxQkFBTTtvQkFDTCxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUMxRTthQUNGO1lBQ0QsT0FBTyxZQUFZLENBQUM7U0FDckI7SUFDSCxDQUFDOzttR0FqTFUsZ0JBQWdCO3dFQUFoQixnQkFBZ0I7UUNUN0IsZ0NBQTJJO1FBQXJELHdJQUFtQixxRkFBVSwwQkFBc0IsSUFBaEM7UUFBekcsaUJBQTJJO1FBRTNJLDhCQUE0QjtRQUN4QixzQ0FBNEs7UUFDeEssa0ZBUWM7UUFDZCxrRkFzQmM7UUFDbEIsaUJBQWM7UUFDbEIsaUJBQU07O1FBckNnRixtQ0FBbUI7UUFHWCxlQUEwQjtRQUExQix5Q0FBMEI7UUFBdkcsc0ZBQXdELG9CQUFBLGlDQUFBLDBCQUFBOzt1RkRNNUQsZ0JBQWdCO2NBTDVCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsV0FBVyxFQUFFLDBCQUEwQjtnQkFDdkMsU0FBUyxFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDdkM7d0VBSUMsUUFBUTtrQkFEUCxLQUFLO1lBR04sV0FBVztrQkFEVixLQUFLO1lBR04saUJBQWlCO2tCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3VlbnRhQ29udGFibGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsb3MvY3VlbnRhQ29udGFibGUubW9kZWwnO1xuaW1wb3J0IHsgQ3VlbnRhQ29udGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljaW9zL2N1ZW50YWNvbnRhYmxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2NsaXN0YScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jY2xpc3RhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2NsaXN0YS5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ2NsaXN0YUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgaXNTaGFyZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHR5cGVBY2NvdW50OiBudW1iZXI7XG4gIEBPdXRwdXQoKVxuICBldlNlbGVjdGVkQWNjb3VudDogRXZlbnRFbWl0dGVyPEN1ZW50YUNvbnRhYmxlTW9kZWw+O1xuICBjdWVudGFzQ29udGFibGVzOiBhbnlbXSA9IFtdO1xuICBtYXhIID0gNzIwO1xuICBxdWVyeTogYW55ID0gXCJcIjtcbiAgdGVtcEFjY291bnRzOiBDdWVudGFDb250YWJsZU1vZGVsW10gPSBbXTtcblxuICBjdWVudGFTZWxlY2Npb25hZGE6IEN1ZW50YUNvbnRhYmxlTW9kZWw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY3VlbnRhQ29udGFibGVTZXJ2aWNlOiBDdWVudGFDb250YWJsZVNlcnZpY2UpIHtcbiAgICB0aGlzLmV2U2VsZWN0ZWRBY2NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxDdWVudGFDb250YWJsZU1vZGVsPigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5tYXhIID0gd2luZG93LmlubmVySGVpZ2h0IC0gMzIwO1xuICAgIHRoaXMub2J0ZW5lckN1ZW50YXNDb250YWJsZXNSZWN1cnNpdm8oKTtcbiAgfVxuXG4gIG9idGVuZXJDdWVudGFzQ29udGFibGVzUmVjdXJzaXZvKCkge1xuICAgIHRoaXMuX2N1ZW50YUNvbnRhYmxlU2VydmljZS5vYnRpZW5lQ3VlbnRhc0NvbnRhYmxlc1JlY3Vyc2l2bygpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgdGhpcy5jdWVudGFzQ29udGFibGVzID0gcmVzdWx0O1xuICAgICAgICB0aGlzLnNvcnRBY2NvdW50cygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc29ydEFjY291bnRzKCkge1xuICAgIHRoaXMuY3VlbnRhc0NvbnRhYmxlcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAvLyBnZXQgc3ltYm9sIGZvciBzdHJpbmdcbiAgICAgIGxldCBjaGFyYWN0ZXJCcmVhayA9ICcuJztcbiAgICAgIGNvbnN0IGxpc3RBOiBhbnlbXSA9IGEuZGF0YS5jdWVudGFDb250YWJsZS5zcGxpdChjaGFyYWN0ZXJCcmVhayk7XG4gICAgICBjb25zdCBsaXN0QjogYW55W10gPSBiLmRhdGEuY3VlbnRhQ29udGFibGUuc3BsaXQoY2hhcmFjdGVyQnJlYWspO1xuXG4gICAgICBpZiAobGlzdEEubGVuZ3RoID4gMCAmJiBsaXN0Qi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChsaXN0QS5sZW5ndGggPT09IGxpc3RCLmxlbmd0aCkge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdEEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChwYXJzZUludChsaXN0QVtpXSkgPiBwYXJzZUludChsaXN0QltpXSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyc2VJbnQobGlzdEFbaV0pIDwgcGFyc2VJbnQobGlzdEJbaV0pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpc3RBLmxlbmd0aCA8IGxpc3RCLmxlbmd0aCkge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdEEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChwYXJzZUludChsaXN0QVtpXSkgPiBwYXJzZUludChsaXN0QltpXSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyc2VJbnQobGlzdEFbaV0pIDwgcGFyc2VJbnQobGlzdEJbaV0pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaXN0Qi5sZW5ndGggPCBsaXN0QS5sZW5ndGgpIHtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3RCLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocGFyc2VJbnQobGlzdEFbaV0pID4gcGFyc2VJbnQobGlzdEJbaV0pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBhcnNlSW50KGxpc3RBW2ldKSA8IHBhcnNlSW50KGxpc3RCW2ldKSkge1xuICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9KTtcbiAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuY3VlbnRhc0NvbnRhYmxlcykge1xuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgdGhpcy5zb3J0SXRlbShpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy50ZW1wQWNjb3VudHMgPSB0aGlzLmN1ZW50YXNDb250YWJsZXM7XG4gIH1cblxuICBzb3J0SXRlbShhY2NvdW50OiBhbnkpIHtcbiAgICBhY2NvdW50LmNoaWxkcmVuLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIC8vIGdldCBzeW1ib2wgZm9yIHN0cmluZ1xuICAgICAgbGV0IGNoYXJhY3RlckJyZWFrID0gJy4nO1xuICAgICAgY29uc3QgbGlzdEE6IGFueVtdID0gYS5kYXRhLmN1ZW50YUNvbnRhYmxlLnNwbGl0KGNoYXJhY3RlckJyZWFrKTtcbiAgICAgIGNvbnN0IGxpc3RCOiBhbnlbXSA9IGIuZGF0YS5jdWVudGFDb250YWJsZS5zcGxpdChjaGFyYWN0ZXJCcmVhayk7XG4gICAgICBpZiAobGlzdEEubGVuZ3RoID4gMCAmJiBsaXN0Qi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChsaXN0QS5sZW5ndGggPT09IGxpc3RCLmxlbmd0aCkge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdEEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChwYXJzZUludChsaXN0QVtpXSkgPiBwYXJzZUludChsaXN0QltpXSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyc2VJbnQobGlzdEFbaV0pIDwgcGFyc2VJbnQobGlzdEJbaV0pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpc3RBLmxlbmd0aCA8IGxpc3RCLmxlbmd0aCkge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdEEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChwYXJzZUludChsaXN0QVtpXSkgPiBwYXJzZUludChsaXN0QltpXSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyc2VJbnQobGlzdEFbaV0pIDwgcGFyc2VJbnQobGlzdEJbaV0pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaXN0Qi5sZW5ndGggPCBsaXN0QS5sZW5ndGgpIHtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3RCLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocGFyc2VJbnQobGlzdEFbaV0pID4gcGFyc2VJbnQobGlzdEJbaV0pKSB7XG4gICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBhcnNlSW50KGxpc3RBW2ldKSA8IHBhcnNlSW50KGxpc3RCW2ldKSkge1xuICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9KTtcbiAgICBmb3IgKGxldCBpdGVtIG9mIGFjY291bnQuY2hpbGRyZW4pIHtcbiAgICAgIHRoaXMuc29ydEl0ZW0oaXRlbSk7XG4gICAgfVxuICB9XG5cblxuXG4gIHNlbGVjdEN1ZW50YUNvbnRhYmxlKGFjY291bnQ6IEN1ZW50YUNvbnRhYmxlTW9kZWwpIHtcbiAgICB0aGlzLmV2U2VsZWN0ZWRBY2NvdW50LmVtaXQoYWNjb3VudCk7XG4gIH1cblxuICBmaWx0ZXJBY2NvdW50cyhldnQ6IGFueSkge1xuICAgIGlmICghZXZ0KSB7XG4gICAgICBjb25zdCB0ZW1wID0gdGhpcy5yZXNldEFjY291bnQoKTtcbiAgICAgIHRoaXMuY3VlbnRhc0NvbnRhYmxlcyA9IHRlbXA7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3VlbnRhc0NvbnRhYmxlcyA9IHRoaXMuYnJvd3NlQWNjb3VudCh0aGlzLnRlbXBBY2NvdW50cyk7XG4gIH1cblxuICByZXNldEFjY291bnQoKSB7XG4gICAgdGhpcy5xdWVyeSA9ICcnO1xuICAgIGxldCBhY2NvdW50cyA9IFtdO1xuICAgIGZvciAobGV0IGNjIG9mIHRoaXMudGVtcEFjY291bnRzKSB7XG4gICAgICBhY2NvdW50cy5wdXNoKGNjKTtcbiAgICB9XG4gICAgcmV0dXJuIGFjY291bnRzO1xuICB9XG5cblxuXG4gIGJyb3dzZUFjY291bnQoYWNjb3VudHM6IGFueSkge1xuICAgIGxldCBsaXN0QWNjb3VudHM6IGFueVtdID0gW107XG4gICAgaWYgKHRoaXMucXVlcnkgPT09ICcnKSB7XG4gICAgICBjb25zdCB0ZW1wID0gdGhpcy5yZXNldEFjY291bnQoKTtcbiAgICAgIHRoaXMuY3VlbnRhc0NvbnRhYmxlcyA9IHRlbXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAobGV0IGFjY291bnQgb2YgYWNjb3VudHMpIHtcbiAgICAgICAgaWYgKGFjY291bnQuZGF0YS5jdWVudGFDb250YWJsZS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5xdWVyeS50b0xvd2VyQ2FzZSgpKSB8fCBhY2NvdW50LmRhdGEuZGVzY3JpcGNpb24udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMucXVlcnkudG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgICAgICBsaXN0QWNjb3VudHMgPSBsaXN0QWNjb3VudHMuY29uY2F0KHtcbiAgICAgICAgICAgIGRhdGE6IGFjY291bnQuZGF0YSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLmJyb3dzZUFjY291bnQoYWNjb3VudC5jaGlsZHJlbilcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsaXN0QWNjb3VudHMgPSBsaXN0QWNjb3VudHMuY29uY2F0KHRoaXMuYnJvd3NlQWNjb3VudChhY2NvdW50LmNoaWxkcmVuKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBsaXN0QWNjb3VudHM7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxpbnB1dCB0eXBlPVwidGV4dFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgcElucHV0VGV4dCBwbGFjZWhvbGRlcj1cIkN1ZW50YSBvIGRlc2NyaXBjacOzblwiIFsobmdNb2RlbCldPVwicXVlcnlcIiAoa2V5dXApPVwiZmlsdGVyQWNjb3VudHMoJGV2ZW50KVwiPlxuXG48ZGl2IHN0eWxlPVwicGFkZGluZzogMTBweDtcIj5cbiAgICA8cC10cmVlVGFibGUgW3ZhbHVlXT1cImN1ZW50YXNDb250YWJsZXM/Y3VlbnRhc0NvbnRhYmxlczp0ZW1wQWNjb3VudHNcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCIgW3N0eWxlXT1cInt3aWR0aDogJzEwMCUnfSBcIiBbc2Nyb2xsSGVpZ2h0XT1cIm1heEggKyAncHgnXCIgW3Jlc2l6YWJsZUNvbHVtbnNdPVwidHJ1ZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDE1MHB4O1wiPkN1ZW50YSBjb250YWJsZTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDE1MHB4O1wiPkRlc2NyaXBjacOzbjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDkwcHg7XCI+TmF0dXJhbGV6YTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDYwcHg7XCI+VGlwbzwvdGg+XG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwid2lkdGg6IDIwMHB4O1wiPkFjY2lvbmVzPC90aD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvd05vZGUgbGV0LXJvd0RhdGE9XCJyb3dEYXRhXCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIj5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ1aS1yZXNpemFibGUtY29sdW1uXCIgc3R5bGU9XCJ3aWR0aDogMTUwcHg7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwLXRyZWVUYWJsZVRvZ2dsZXIgW3Jvd05vZGVdPVwicm93Tm9kZVwiPjwvcC10cmVlVGFibGVUb2dnbGVyPlxuICAgICAgICAgICAgICAgICAgICB7e3Jvd0RhdGEuY3VlbnRhQ29udGFibGV9fVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidWktcmVzaXphYmxlLWNvbHVtblwiIHN0eWxlPVwid2lkdGg6IDE1MHB4O1wiPlxuICAgICAgICAgICAgICAgICAgICB7e3Jvd0RhdGEuZGVzY3JpcGNpb259fVxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidWktcmVzaXphYmxlLWNvbHVtblwiIHN0eWxlPVwid2lkdGg6IDkwcHg7XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7cm93RGF0YS5uYXR1cmFsZXphfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInVpLXJlc2l6YWJsZS1jb2x1bW5cIiBzdHlsZT1cIndpZHRoOiA2MHB4O1wiPlxuICAgICAgICAgICAgICAgICAgICB7e3Jvd0RhdGEudGlwb319XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJ1aS1yZXNpemFibGUtY29sdW1uXCIgc3R5bGU9XCJ3aWR0aDogMjAwcHg7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1jaGVja1wiIGNsYXNzPVwidWktYnV0dG9uLXJhaXNlZCB1aS1idXR0b24tc3VjY2Vzc1wiIChjbGljayk9XCJzZWxlY3RDdWVudGFDb250YWJsZShyb3dEYXRhKVwiICpuZ0lmPVwidHlwZUFjY291bnQ9PTEgJiYgcm93RGF0YS5jdWVudGFSZWdpc3Ryb1wiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHR5cGU9XCJidXR0b25cIiBpY29uPVwicGkgcGktY2hlY2tcIiBjbGFzcz1cInVpLWJ1dHRvbi1yYWlzZWQgdWktYnV0dG9uLXN1Y2Nlc3NcIiAoY2xpY2spPVwic2VsZWN0Q3VlbnRhQ29udGFibGUocm93RGF0YSlcIiAqbmdJZj1cInR5cGVBY2NvdW50PT0yICYmICFyb3dEYXRhLmN1ZW50YVJlZ2lzdHJvXCI+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvcC10cmVlVGFibGU+XG48L2Rpdj4iXX0=
|