ng-pli-commons 1.0.135 → 1.0.137
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/esm2022/lib/components/backoffice.commons.component.mjs +41 -0
- package/esm2022/lib/components/common.lists.component.mjs +177 -0
- package/esm2022/lib/components/configuration-token/configuration-token-subject.service.mjs +23 -0
- package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +665 -0
- package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +103 -0
- package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +108 -0
- package/esm2022/lib/components/configuration.commons.component.mjs +41 -0
- package/esm2022/lib/components/dashboard.commons.component.mjs +85 -0
- package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +131 -0
- package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +54 -0
- package/esm2022/lib/components/frontoffice.commons.component.mjs +89 -0
- package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +162 -0
- package/esm2022/lib/components/pdf-config/pdf-config.component.mjs +170 -0
- package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +207 -0
- package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +307 -0
- package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +387 -0
- package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +92 -0
- package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +199 -0
- package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +200 -0
- package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +116 -0
- package/esm2022/lib/components/token/token.component.mjs +1047 -0
- package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +128 -0
- package/esm2022/lib/directives/currency-colfuturo-formatter.directive.mjs +48 -0
- package/esm2022/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +35 -0
- package/esm2022/lib/ng-pli-commons.module.mjs +385 -0
- package/esm2022/lib/ng-pli-commons.service.mjs +14 -0
- package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +36 -0
- package/esm2022/lib/pipes/currency-decimal-colfuturo.pipe.mjs +39 -0
- package/esm2022/lib/pipes/currency-print-colfuturo.pipe.mjs +34 -0
- package/esm2022/lib/pipes/thousands.pipe.mjs +61 -0
- package/esm2022/lib/services/application-fill-percentage.service.mjs +30 -0
- package/esm2022/lib/services/application-pdf-form.service.mjs +27 -0
- package/esm2022/lib/services/application-tag.service.mjs +56 -0
- package/esm2022/lib/services/application.service.mjs +253 -0
- package/esm2022/lib/services/assign-task.service.mjs +30 -0
- package/esm2022/lib/services/authentication.service.mjs +133 -0
- package/esm2022/lib/services/blocked-beneficiary.service.mjs +42 -0
- package/esm2022/lib/services/budget-application.service.mjs +265 -0
- package/esm2022/lib/services/budget-setup.service.mjs +26 -0
- package/esm2022/lib/services/budget-simulation.service.mjs +65 -0
- package/esm2022/lib/services/budget.service.mjs +205 -0
- package/esm2022/lib/services/closure-wallet.service.mjs +39 -0
- package/esm2022/lib/services/cnf-correspondence-document-manager.service.mjs +39 -0
- package/esm2022/lib/services/codebtors.service.mjs +28 -0
- package/esm2022/lib/services/committee-assistant.service.mjs +55 -0
- package/esm2022/lib/services/committee-money.service.mjs +44 -0
- package/esm2022/lib/services/committee-pdf.service.mjs +27 -0
- package/esm2022/lib/services/committee-snapshot.service.mjs +60 -0
- package/esm2022/lib/services/common-info.service.mjs +51 -0
- package/esm2022/lib/services/common.service.mjs +285 -0
- package/esm2022/lib/services/configuration-document.service.mjs +297 -0
- package/esm2022/lib/services/configuration-minisite.service.mjs +26 -0
- package/esm2022/lib/services/configuration.service.mjs +53 -0
- package/esm2022/lib/services/correspondence-document-category.service.mjs +31 -0
- package/esm2022/lib/services/correspondence-manager.service.mjs +74 -0
- package/esm2022/lib/services/credit-score.service.mjs +48 -0
- package/esm2022/lib/services/credit-study.service.mjs +292 -0
- package/esm2022/lib/services/cube.service.mjs +27 -0
- package/esm2022/lib/services/data-form-history.service.mjs +25 -0
- package/esm2022/lib/services/data-form.service.mjs +176 -0
- package/esm2022/lib/services/data-letter-segmentation.service.mjs +64 -0
- package/esm2022/lib/services/document-analysis-auto.service.mjs +27 -0
- package/esm2022/lib/services/document-history.service.mjs +43 -0
- package/esm2022/lib/services/document-management.service.mjs +57 -0
- package/esm2022/lib/services/document-process.service.mjs +27 -0
- package/esm2022/lib/services/document-validation-attempt.service.mjs +32 -0
- package/esm2022/lib/services/document.service.mjs +144 -0
- package/esm2022/lib/services/documentary.type.service.mjs +69 -0
- package/esm2022/lib/services/email.service.mjs +30 -0
- package/esm2022/lib/services/evaluation.service.mjs +181 -0
- package/esm2022/lib/services/export-excel.service.mjs +32 -0
- package/esm2022/lib/services/file.service.mjs +153 -0
- package/esm2022/lib/services/form.service.mjs +112 -0
- package/esm2022/lib/services/gic-client-disbursement-metadata.service.mjs +31 -0
- package/esm2022/lib/services/gic-client.service.mjs +49 -0
- package/esm2022/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -0
- package/esm2022/lib/services/gic-cnf-closing-date.service.mjs +34 -0
- package/esm2022/lib/services/gic-cnf-maintenance.service.mjs +30 -0
- package/esm2022/lib/services/gic-collection.service.mjs +53 -0
- package/esm2022/lib/services/gic-disbursement.service.mjs +39 -0
- package/esm2022/lib/services/gic-extract.service.mjs +41 -0
- package/esm2022/lib/services/gic-log.service.mjs +41 -0
- package/esm2022/lib/services/gic-payment-application.service.mjs +35 -0
- package/esm2022/lib/services/gic-payment-plan-cube.service.mjs +27 -0
- package/esm2022/lib/services/gic-payment-plan.service.mjs +32 -0
- package/esm2022/lib/services/gic-trm.service.mjs +27 -0
- package/esm2022/lib/services/global.show.task.service.mjs +37 -0
- package/esm2022/lib/services/guarantee-document.service.mjs +52 -0
- package/esm2022/lib/services/guarantee-enrollment.service.mjs +37 -0
- package/esm2022/lib/services/guarantee.service.mjs +128 -0
- package/esm2022/lib/services/guarantees-summary-service.mjs +26 -0
- package/esm2022/lib/services/hash.service.mjs +36 -0
- package/esm2022/lib/services/import-data.service.mjs +27 -0
- package/esm2022/lib/services/import-excel-gic.service.mjs +53 -0
- package/esm2022/lib/services/initial-configuration-gic-parameters.service.mjs +51 -0
- package/esm2022/lib/services/initial-record.service.mjs +51 -0
- package/esm2022/lib/services/integration-ado.service.mjs +54 -0
- package/esm2022/lib/services/interaction-application-user.service.mjs +81 -0
- package/esm2022/lib/services/interest-adjustment.service.mjs +34 -0
- package/esm2022/lib/services/keys-assignation.service.mjs +127 -0
- package/esm2022/lib/services/legalization.service.mjs +150 -0
- package/esm2022/lib/services/letter-campaing.service.mjs +49 -0
- package/esm2022/lib/services/letter-task-mapping.service.mjs +40 -0
- package/esm2022/lib/services/log.service.mjs +41 -0
- package/esm2022/lib/services/maintenance.service.mjs +86 -0
- package/esm2022/lib/services/master-category.service.mjs +66 -0
- package/esm2022/lib/services/master-program.service.mjs +78 -0
- package/esm2022/lib/services/master-university.service.mjs +79 -0
- package/esm2022/lib/services/migration-plis.service.mjs +27 -0
- package/esm2022/lib/services/migration-survey-queue.service.mjs +24 -0
- package/esm2022/lib/services/openkm-document.service.mjs +27 -0
- package/esm2022/lib/services/page.service.mjs +38 -0
- package/esm2022/lib/services/partner-system.service.mjs +30 -0
- package/esm2022/lib/services/partner.service.mjs +34 -0
- package/esm2022/lib/services/pdf-analyzer.service.mjs +33 -0
- package/esm2022/lib/services/people-master.service.mjs +42 -0
- package/esm2022/lib/services/permission.service.mjs +29 -0
- package/esm2022/lib/services/pli-cnf-acuity-fields.service.mjs +34 -0
- package/esm2022/lib/services/pli-cnf-app-card-filter.service.mjs +40 -0
- package/esm2022/lib/services/pli-cnf-appointment-type.service.mjs +41 -0
- package/esm2022/lib/services/pli-cnf-budget-program-type.service.mjs +54 -0
- package/esm2022/lib/services/pli-cnf-budget.service.mjs +31 -0
- package/esm2022/lib/services/pli-cnf-cloning.service.mjs +27 -0
- package/esm2022/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +47 -0
- package/esm2022/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +30 -0
- package/esm2022/lib/services/pli-cnf-committee-valpro-columns.service.mjs +42 -0
- package/esm2022/lib/services/pli-cnf-committee-visualization-mode.service.mjs +42 -0
- package/esm2022/lib/services/pli-cnf-committee.service.mjs +66 -0
- package/esm2022/lib/services/pli-cnf-config-minisite.service.mjs +90 -0
- package/esm2022/lib/services/pli-cnf-configuration-credit-study.service.mjs +41 -0
- package/esm2022/lib/services/pli-cnf-document-management.service.mjs +40 -0
- package/esm2022/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +52 -0
- package/esm2022/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +31 -0
- package/esm2022/lib/services/pli-cnf-evaluation-task-template.service.mjs +39 -0
- package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +112 -0
- package/esm2022/lib/services/pli-cnf-evaluation-template.service.mjs +95 -0
- package/esm2022/lib/services/pli-cnf-form-edit.service.mjs +68 -0
- package/esm2022/lib/services/pli-cnf-form-multiaplicacion.service.mjs +46 -0
- package/esm2022/lib/services/pli-cnf-guarantee-documents-template.service.mjs +40 -0
- package/esm2022/lib/services/pli-cnf-guarantee-token.service.mjs +42 -0
- package/esm2022/lib/services/pli-cnf-header.service.mjs +39 -0
- package/esm2022/lib/services/pli-cnf-indicator.service.mjs +39 -0
- package/esm2022/lib/services/pli-cnf-information-system.service.mjs +24 -0
- package/esm2022/lib/services/pli-cnf-interaction.service.mjs +78 -0
- package/esm2022/lib/services/pli-cnf-letter-template-type.service.mjs +29 -0
- package/esm2022/lib/services/pli-cnf-letter-template.service.mjs +48 -0
- package/esm2022/lib/services/pli-cnf-look-and-feel.service.mjs +28 -0
- package/esm2022/lib/services/pli-cnf-mail.service.mjs +30 -0
- package/esm2022/lib/services/pli-cnf-menu-form.service.mjs +34 -0
- package/esm2022/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +34 -0
- package/esm2022/lib/services/pli-cnf-migration-plis-field.service.mjs +47 -0
- package/esm2022/lib/services/pli-cnf-migration-status-plis.service.mjs +44 -0
- package/esm2022/lib/services/pli-cnf-page-section-form.service.mjs +66 -0
- package/esm2022/lib/services/pli-cnf-page-sub-process.service.mjs +25 -0
- package/esm2022/lib/services/pli-cnf-pdfs.service.mjs +31 -0
- package/esm2022/lib/services/pli-cnf-profile-form.service.mjs +40 -0
- package/esm2022/lib/services/pli-cnf-profile-user.service.mjs +49 -0
- package/esm2022/lib/services/pli-cnf-project-summary.service.mjs +39 -0
- package/esm2022/lib/services/pli-cnf-scenario.service.mjs +47 -0
- package/esm2022/lib/services/pli-cnf-segmentation.service.mjs +72 -0
- package/esm2022/lib/services/pli-cnf-snapshot-token.service.mjs +42 -0
- package/esm2022/lib/services/pli-cnf-status-flow-interaction.service.mjs +74 -0
- package/esm2022/lib/services/pli-cnf-status-flow.service.mjs +56 -0
- package/esm2022/lib/services/pli-cnf-support-document-category.service.mjs +47 -0
- package/esm2022/lib/services/pli-cnf-support-document.service.mjs +56 -0
- package/esm2022/lib/services/pli-cnf-survey-document.service.mjs +37 -0
- package/esm2022/lib/services/pli-cnf-survey-pdf.service.mjs +34 -0
- package/esm2022/lib/services/pli-cnf-survey.service.mjs +46 -0
- package/esm2022/lib/services/pli-cnf-task-group.service.mjs +33 -0
- package/esm2022/lib/services/pli-cnf-text-category.service.mjs +38 -0
- package/esm2022/lib/services/pli-cnf-text-option.service.mjs +39 -0
- package/esm2022/lib/services/pli-cnf-text.service.mjs +62 -0
- package/esm2022/lib/services/pli-cnf-type-text.service.mjs +45 -0
- package/esm2022/lib/services/pli-cnf-university-article.service.mjs +39 -0
- package/esm2022/lib/services/pli-cnf-user-calendar.service.mjs +36 -0
- package/esm2022/lib/services/pli-cnf-user-workspace.service.mjs +35 -0
- package/esm2022/lib/services/pli-cnf-valpro-keys.service.mjs +35 -0
- package/esm2022/lib/services/pli-cnf-workspace-segmentation.service.mjs +31 -0
- package/esm2022/lib/services/pli-message-type.service.mjs +40 -0
- package/esm2022/lib/services/pli-multiple-value-filter.service.mjs +39 -0
- package/esm2022/lib/services/pli-promocion-username.service.mjs +57 -0
- package/esm2022/lib/services/pli-seg-action-user.service.mjs +37 -0
- package/esm2022/lib/services/pli-segmentation.service.mjs +130 -0
- package/esm2022/lib/services/pli-tag-assignment.service.mjs +36 -0
- package/esm2022/lib/services/pli-tag.service.mjs +55 -0
- package/esm2022/lib/services/pli-user.service.mjs +51 -0
- package/esm2022/lib/services/plis-beneficiario.service.mjs +29 -0
- package/esm2022/lib/services/plis-estatus-change.service.mjs +30 -0
- package/esm2022/lib/services/post-selection.service.mjs +25 -0
- package/esm2022/lib/services/ppp.service.mjs +360 -0
- package/esm2022/lib/services/profile.service.mjs +60 -0
- package/esm2022/lib/services/progress-bar.service.mjs +40 -0
- package/esm2022/lib/services/promotion-score.service.mjs +44 -0
- package/esm2022/lib/services/registry-identifier.service.mjs +49 -0
- package/esm2022/lib/services/return-refund.service.mjs +53 -0
- package/esm2022/lib/services/segmentation-tokens.service.mjs +43 -0
- package/esm2022/lib/services/segmentation-user-service.service.mjs +94 -0
- package/esm2022/lib/services/segmentation.service.mjs +31 -0
- package/esm2022/lib/services/send-application.service.mjs +541 -0
- package/esm2022/lib/services/sesion-form.service.mjs +31 -0
- package/esm2022/lib/services/sesion.service.mjs +48 -0
- package/esm2022/lib/services/spinner.service.mjs +16 -0
- package/esm2022/lib/services/sponsorship-letter.service.mjs +68 -0
- package/esm2022/lib/services/status.service.mjs +104 -0
- package/esm2022/lib/services/summary-budget.service.mjs +24 -0
- package/esm2022/lib/services/survey-metadata.service.mjs +28 -0
- package/esm2022/lib/services/survey-queue.service.mjs +24 -0
- package/esm2022/lib/services/survey.service.mjs +52 -0
- package/esm2022/lib/services/tag-management.service.mjs +58 -0
- package/esm2022/lib/services/tasa.cambio.service.mjs +35 -0
- package/esm2022/lib/services/token-transformation.service.mjs +62 -0
- package/esm2022/lib/services/token.service.mjs +1477 -0
- package/esm2022/lib/services/university.service.mjs +50 -0
- package/esm2022/lib/services/upload-documents.service.mjs +60 -0
- package/esm2022/lib/services/user.service.mjs +28 -0
- package/esm2022/lib/services/visualization-committee.service.mjs +91 -0
- package/esm2022/lib/utils/custom-validator.mjs +95 -0
- package/esm2022/lib/utils/form-util.mjs +35 -0
- package/esm2022/lib/utils/formio-util.mjs +582 -0
- package/esm2022/lib/utils/version-commons.mjs +10 -0
- package/esm2022/ng-pli-commons.mjs +5 -0
- package/esm2022/public-api.mjs +226 -0
- package/esm2022/version.mjs +29 -0
- package/fesm2022/ng-pli-commons.mjs +657 -657
- package/fesm2022/ng-pli-commons.mjs.map +1 -1
- package/package.json +3 -1
package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonListsComponent } from '../../common.lists.component';
|
|
3
|
+
import { TokenService } from '../../../services/token.service';
|
|
4
|
+
import { PliCnfGuaranteeToken, UtilString } from 'ng-pli-util';
|
|
5
|
+
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../services/common.service";
|
|
8
|
+
import * as i2 from "ngx-toastr";
|
|
9
|
+
import * as i3 from "../../../services/pli-cnf-guarantee-token.service";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
import * as i5 from "@angular/forms";
|
|
12
|
+
import * as i6 from "primeng/api";
|
|
13
|
+
import * as i7 from "primeng/table";
|
|
14
|
+
import * as i8 from "primeng/dialog";
|
|
15
|
+
import * as i9 from "ng-pli-util";
|
|
16
|
+
export class GuaranteeTokenComponent extends CommonListsComponent {
|
|
17
|
+
constructor(cdRef, commonService, toastrService, pliCnfGuaranteeTokenService) {
|
|
18
|
+
super(commonService, cdRef);
|
|
19
|
+
this.cdRef = cdRef;
|
|
20
|
+
this.commonService = commonService;
|
|
21
|
+
this.toastrService = toastrService;
|
|
22
|
+
this.pliCnfGuaranteeTokenService = pliCnfGuaranteeTokenService;
|
|
23
|
+
this.lGuaranteeTokens = [];
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
super.ngOnInit();
|
|
27
|
+
this.getTokenGuarantee();
|
|
28
|
+
}
|
|
29
|
+
/* The label to guarantee tokens */
|
|
30
|
+
labelGuarantee(token) {
|
|
31
|
+
return '${' + TokenService.getKeyGuarantee(token) + '}';
|
|
32
|
+
}
|
|
33
|
+
getTokenGuarantee() {
|
|
34
|
+
this.pliCnfGuaranteeTokenService.getAllByPromCodigo(this.promCodigo).subscribe((result) => {
|
|
35
|
+
this.lGuaranteeTokens = result;
|
|
36
|
+
}, (error) => {
|
|
37
|
+
this.toastrService.error('Error al obtener los token de garantias', 'Error');
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
initForm(tokenSelected) {
|
|
41
|
+
this.tokenSelected =
|
|
42
|
+
tokenSelected == null
|
|
43
|
+
? new PliCnfGuaranteeToken()
|
|
44
|
+
: Object.assign(new PliCnfGuaranteeToken(), JSON.parse(JSON.stringify(tokenSelected)));
|
|
45
|
+
if (!this.tokenSelected.promCodigo) {
|
|
46
|
+
this.tokenSelected.promCodigo = this.promCodigo;
|
|
47
|
+
}
|
|
48
|
+
this.controlName = new UntypedFormControl(this.tokenSelected.name, Validators.required);
|
|
49
|
+
this.controlFormula = new UntypedFormControl(this.tokenSelected.formula, Validators.required);
|
|
50
|
+
this.frmToken = new UntypedFormGroup({
|
|
51
|
+
controlName: this.controlName,
|
|
52
|
+
controlFormula: this.controlFormula
|
|
53
|
+
});
|
|
54
|
+
this.showModal = true;
|
|
55
|
+
}
|
|
56
|
+
save() {
|
|
57
|
+
if (this.isFormValid(this.frmToken) && this.isValid()) {
|
|
58
|
+
this.pliCnfGuaranteeTokenService.save(this.tokenSelected).subscribe((result) => {
|
|
59
|
+
this.getTokenGuarantee();
|
|
60
|
+
this.onCloseModal();
|
|
61
|
+
this.toastrService.success('Se ha guardado exitosamente ', 'Guardado exitoso!');
|
|
62
|
+
this.tokenSelected = null;
|
|
63
|
+
}, (error) => {
|
|
64
|
+
this.toastrService.error('Error al intentar guardar el token', 'Error');
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
isValid() {
|
|
69
|
+
const token = this.lGuaranteeTokens.find((token) => UtilString.replaceAccentSpacesOthers(token.name) ===
|
|
70
|
+
UtilString.replaceAccentSpacesOthers(this.tokenSelected.name) &&
|
|
71
|
+
(!this.tokenSelected.id || this.tokenSelected.id !== token.id));
|
|
72
|
+
if (token) {
|
|
73
|
+
this.toastrService.error('El token ' + token.name + ' ya existe', 'Alerta!');
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
onCloseModal() {
|
|
79
|
+
this.showModal = false;
|
|
80
|
+
}
|
|
81
|
+
delete(token) {
|
|
82
|
+
if (confirm('¿Está seguro que desea eliminar el token ' + token.name + '?')) {
|
|
83
|
+
this.pliCnfGuaranteeTokenService.delete(token.id).subscribe((result) => {
|
|
84
|
+
this.getTokenGuarantee();
|
|
85
|
+
this.toastrService.success('El token fué eliminada exitosamente', 'Exito!');
|
|
86
|
+
}, (error) => {
|
|
87
|
+
this.toastrService.error('Error al intentar eliminar el token', 'Error');
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
resolveKeyCalculatedToken() {
|
|
92
|
+
return UtilString.replaceAccentSpacesOthers(this.tokenSelected.name);
|
|
93
|
+
}
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GuaranteeTokenComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CommonService }, { token: i2.ToastrService }, { token: i3.PliCnfGuaranteeTokenService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
95
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GuaranteeTokenComponent, selector: "pli-guarantee-token", inputs: { promCodigo: "promCodigo" }, usesInheritance: true, ngImport: i0, template: "<h4 class=\"no-margin-top\">\r\n\tTokens Garantias\r\n</h4>\r\n<p-table [value]=\"lGuaranteeTokens\" [responsive]=\"true\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<tr class=\"text-align-center\">\r\n\t\t\t<th class=\"text-align-center\" width=\"40%\">Nombre</th>\r\n\t\t\t<th class=\"text-align-center\">Formula</th>\r\n\t\t\t<th class=\"text-align-center\">Creado</th>\r\n\t\t\t<th class=\"text-align-center\">Modificado</th>\r\n\t\t\t<th class=\"text-align-center\">Acciones</th>\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-token>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t(click)=\"copyMessage(labelGuarantee(token))\"\r\n\t\t\t\t\tstyle=\"margin-right: 8px;\"\r\n\t\t\t\t\ttitle=\"{{ labelGuarantee(token) }}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t</button>\r\n\t\t\t\t{{ token.name }}\r\n\t\t\t</td>\r\n\t\t\t<td class=\"cut-line\">{{ token.formula }}</td>\r\n\t\t\t<td>{{ token.createdAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t<td>{{ token.modifiedAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t<td>\r\n\t\t\t\t<div class=\"btn-group\" role=\"group\">\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-default\"\r\n\t\t\t\t\t\t(click)=\"initForm(token)\"\r\n\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tEditar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-default dropdown-toggle\"\r\n\t\t\t\t\t\tdata-toggle=\"dropdown\"\r\n\t\t\t\t\t\taria-haspopup=\"true\"\r\n\t\t\t\t\t\taria-expanded=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span class=\"caret\"></span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<ul class=\"dropdown-menu\">\r\n\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\t\t(click)=\"delete(token)\"\r\n\t\t\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t\t\t[authorities]=\"[p('ROLE_TOKENS_ELIMINAR')]\"\r\n\t\t\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t\t\t\t>Eliminar</a\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n<div class=\"text-align-right\" style=\"padding: 0.75rem 1.25rem;\">\r\n\t<button type=\"button\" class=\"btn btn-primary\" (click)=\"initForm(null)\">\r\n\t\tAgregar nuevo\r\n\t</button>\r\n</div>\r\n<p-dialog\r\n\theader=\"Token Garantias\"\r\n\t[(visible)]=\"showModal\"\r\n\t[modal]=\"true\"\r\n\t(onHide)=\"onCloseModal()\"\r\n\t[contentStyle]=\"{\r\n\t\twidth: '400px',\r\n\t\t'overflow-y': 'auto',\r\n\t\t'min-height': '500px',\r\n\t\t'max-height': '500px',\r\n\t\t'text-align': 'left'\r\n\t}\"\r\n\theight=\"500px\"\r\n\twidth=\"500px\"\r\n\tdismissableMask=\"true\"\r\n>\r\n\t<form [formGroup]=\"frmToken\" (ngSubmit)=\"save()\" *ngIf=\"tokenSelected\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12 col-md-12 col-lg-12\">\r\n\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"input\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t\tformControlName=\"controlName\"\r\n\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.name\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t<small *ngIf=\"hasError(controlName, 'required')\"\r\n\t\t\t\t\t\t\t>El nombre es requerido</small\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label class=\"form-control-label\">Llave: </label>\r\n\t\t\t\t\t<p style=\"font-weight: bold; margin-bottom: 25px;\">\r\n\t\t\t\t\t\t{{ resolveKeyCalculatedToken() }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\">Formula</label>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\trows=\"3\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tformControlName=\"controlFormula\"\r\n\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.formula\"\r\n\t\t\t\t\t></textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t<small *ngIf=\"hasError(controlFormula, 'required')\"\r\n\t\t\t\t\t\t\t>La f\u00F3rmula es requerida</small\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"card-footer text-align-right\">\r\n\t\t\t\t\t<button type=\"button\" (click)=\"onCloseModal()\" class=\"btn btn-link\">\r\n\t\t\t\t\t\tCancelar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-success\">\r\n\t\t\t\t\t\tGuardar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</p-dialog>\r\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.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: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "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: i9.AuthorityDirectiveDirective, selector: "[pliAuthorityDirective]", inputs: ["authorities", "patCodigo", "externalAllowed"] }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i4.DatePipe, name: "date" }] }); }
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GuaranteeTokenComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'pli-guarantee-token', standalone: false, template: "<h4 class=\"no-margin-top\">\r\n\tTokens Garantias\r\n</h4>\r\n<p-table [value]=\"lGuaranteeTokens\" [responsive]=\"true\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<tr class=\"text-align-center\">\r\n\t\t\t<th class=\"text-align-center\" width=\"40%\">Nombre</th>\r\n\t\t\t<th class=\"text-align-center\">Formula</th>\r\n\t\t\t<th class=\"text-align-center\">Creado</th>\r\n\t\t\t<th class=\"text-align-center\">Modificado</th>\r\n\t\t\t<th class=\"text-align-center\">Acciones</th>\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-token>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\t<button\r\n\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t(click)=\"copyMessage(labelGuarantee(token))\"\r\n\t\t\t\t\tstyle=\"margin-right: 8px;\"\r\n\t\t\t\t\ttitle=\"{{ labelGuarantee(token) }}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t\t</button>\r\n\t\t\t\t{{ token.name }}\r\n\t\t\t</td>\r\n\t\t\t<td class=\"cut-line\">{{ token.formula }}</td>\r\n\t\t\t<td>{{ token.createdAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t<td>{{ token.modifiedAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n\t\t\t<td>\r\n\t\t\t\t<div class=\"btn-group\" role=\"group\">\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-default\"\r\n\t\t\t\t\t\t(click)=\"initForm(token)\"\r\n\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tEditar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button\r\n\t\t\t\t\t\ttype=\"button\"\r\n\t\t\t\t\t\tclass=\"btn btn-default dropdown-toggle\"\r\n\t\t\t\t\t\tdata-toggle=\"dropdown\"\r\n\t\t\t\t\t\taria-haspopup=\"true\"\r\n\t\t\t\t\t\taria-expanded=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span class=\"caret\"></span>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<ul class=\"dropdown-menu\">\r\n\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\thref=\"Javascript:;\"\r\n\t\t\t\t\t\t\t\t(click)=\"delete(token)\"\r\n\t\t\t\t\t\t\t\tpliAuthorityDirective\r\n\t\t\t\t\t\t\t\t[authorities]=\"[p('ROLE_TOKENS_ELIMINAR')]\"\r\n\t\t\t\t\t\t\t\t[externalAllowed]=\"false\"\r\n\t\t\t\t\t\t\t\t>Eliminar</a\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n<div class=\"text-align-right\" style=\"padding: 0.75rem 1.25rem;\">\r\n\t<button type=\"button\" class=\"btn btn-primary\" (click)=\"initForm(null)\">\r\n\t\tAgregar nuevo\r\n\t</button>\r\n</div>\r\n<p-dialog\r\n\theader=\"Token Garantias\"\r\n\t[(visible)]=\"showModal\"\r\n\t[modal]=\"true\"\r\n\t(onHide)=\"onCloseModal()\"\r\n\t[contentStyle]=\"{\r\n\t\twidth: '400px',\r\n\t\t'overflow-y': 'auto',\r\n\t\t'min-height': '500px',\r\n\t\t'max-height': '500px',\r\n\t\t'text-align': 'left'\r\n\t}\"\r\n\theight=\"500px\"\r\n\twidth=\"500px\"\r\n\tdismissableMask=\"true\"\r\n>\r\n\t<form [formGroup]=\"frmToken\" (ngSubmit)=\"save()\" *ngIf=\"tokenSelected\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-sm-12 col-md-12 col-lg-12\">\r\n\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t<label for=\"name\" class=\"form-control-label\">Nombre</label>\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"input\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tname=\"name\"\r\n\t\t\t\t\t\tid=\"name\"\r\n\t\t\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\t\t\tformControlName=\"controlName\"\r\n\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.name\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t<small *ngIf=\"hasError(controlName, 'required')\"\r\n\t\t\t\t\t\t\t>El nombre es requerido</small\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t<label class=\"form-control-label\">Llave: </label>\r\n\t\t\t\t\t<p style=\"font-weight: bold; margin-bottom: 25px;\">\r\n\t\t\t\t\t\t{{ resolveKeyCalculatedToken() }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-group required\">\r\n\t\t\t\t\t<label for=\"formula\" class=\"form-control-label\">Formula</label>\r\n\t\t\t\t\t<textarea\r\n\t\t\t\t\t\trows=\"3\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\tname=\"formula\"\r\n\t\t\t\t\t\tid=\"formula\"\r\n\t\t\t\t\t\tformControlName=\"controlFormula\"\r\n\t\t\t\t\t\t[(ngModel)]=\"tokenSelected.formula\"\r\n\t\t\t\t\t></textarea>\r\n\t\t\t\t\t<div class=\"form-control-error\">\r\n\t\t\t\t\t\t<small *ngIf=\"hasError(controlFormula, 'required')\"\r\n\t\t\t\t\t\t\t>La f\u00F3rmula es requerida</small\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"card-footer text-align-right\">\r\n\t\t\t\t\t<button type=\"button\" (click)=\"onCloseModal()\" class=\"btn btn-link\">\r\n\t\t\t\t\t\tCancelar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<button type=\"submit\" class=\"btn btn-success\">\r\n\t\t\t\t\t\tGuardar\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</p-dialog>\r\n" }]
|
|
100
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CommonService }, { type: i2.ToastrService }, { type: i3.PliCnfGuaranteeTokenService }], propDecorators: { promCodigo: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}] } });
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VhcmFudGVlLXRva2VuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9uLXRva2VuL2d1YXJhbnRlZS10b2tlbi9ndWFyYW50ZWUtdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24tdG9rZW4vZ3VhcmFudGVlLXRva2VuL2d1YXJhbnRlZS10b2tlbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztBQVNsRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9CO0lBV2hFLFlBQ1csS0FBd0IsRUFDeEIsYUFBNEIsRUFDOUIsYUFBNEIsRUFDNUIsMkJBQXdEO1FBRWhFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFMbEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDeEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQVpqRSxxQkFBZ0IsR0FBMkIsRUFB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Q0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDOytHQWxIVyx1QkFBdUI7bUdBQXZCLHVCQUF1Qix3SENkcEMsczBKQThJQTs7NEZEaElhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDSSxxQkFBcUIsY0FFbkIsS0FBSzt3TEFHWCxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25MaXN0c0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi5saXN0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90b2tlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGxpQ25mR3VhcmFudGVlVG9rZW4sIFV0aWxTdHJpbmcgfSBmcm9tICduZy1wbGktdXRpbCc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBQbGlDbmZHdWFyYW50ZWVUb2tlblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wbGktY25mLWd1YXJhbnRlZS10b2tlbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdwbGktZ3VhcmFudGVlLXRva2VuJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ndWFyYW50ZWUtdG9rZW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEd1YXJhbnRlZVRva2VuQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uTGlzdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBJbnB1dCgpIHByb21Db2RpZ286IG51bWJlcjtcclxuXHJcblx0bEd1YXJhbnRlZVRva2VuczogUGxpQ25mR3VhcmFudGVlVG9rZW5bXSA9IFtdO1xyXG5cdHRva2VuU2VsZWN0ZWQ6IFBsaUNuZkd1YXJhbnRlZVRva2VuO1xyXG5cdGZybVRva2VuOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cdGNvbnRyb2xOYW1lOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblx0Y29udHJvbEZvcm11bGE6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcblx0c2hvd01vZGFsOiBib29sZWFuO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByb3RlY3RlZCBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRwcm90ZWN0ZWQgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgdG9hc3RyU2VydmljZTogVG9hc3RyU2VydmljZSxcclxuXHRcdHByaXZhdGUgcGxpQ25mR3VhcmFudGVlVG9rZW5TZXJ2aWNlOiBQbGlDbmZHdWFyYW50ZWVUb2tlblNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKGNvbW1vblNlcnZpY2UsIGNkUmVmKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0c3VwZXIubmdPbkluaXQoKTtcclxuXHRcdHRoaXMuZ2V0VG9rZW5HdWFyYW50ZWUoKTtcclxuXHR9XHJcblxyXG5cdC8qIFRoZSBsYWJlbCB0byBndWFyYW50ZWUgdG9rZW5zICovXHJcblx0bGFiZWxHdWFyYW50ZWUodG9rZW46IFBsaUNuZkd1YXJhbnRlZVRva2VuKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiAnJHsnICsgVG9rZW5TZXJ2aWNlLmdldEtleUd1YXJhbnRlZSh0b2tlbikgKyAnfSc7XHJcblx0fVxyXG5cclxuXHRnZXRUb2tlbkd1YXJhbnRlZSgpIHtcclxuXHRcdHRoaXMucGxpQ25mR3VhcmFudGVlVG9rZW5TZXJ2aWNlLmdldEFsbEJ5UHJvbUNvZGlnbyh0aGlzLnByb21Db2RpZ28pLnN1YnNjcmliZShcclxuXHRcdFx0KHJlc3VsdDogUGxpQ25mR3VhcmFudGVlVG9rZW5bXSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMubEd1YXJhbnRlZVRva2VucyA9IHJlc3VsdDtcclxuXHRcdFx0fSxcclxuXHRcdFx0KGVycm9yKSA9PiB7XHJcblx0XHRcdFx0dGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCdFcnJvciBhbCBvYnRlbmVyIGxvcyB0b2tlbiBkZSBnYXJhbnRpYXMnLCAnRXJyb3InKTtcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGluaXRGb3JtKHRva2VuU2VsZWN0ZWQ6IFBsaUNuZkd1YXJhbnRlZVRva2VuKSB7XHJcblx0XHR0aGlzLnRva2VuU2VsZWN0ZWQgPVxyXG5cdFx0XHR0b2tlblNlbGVjdGVkID09IG51bGxcclxuXHRcdFx0XHQ/IG5ldyBQbGlDbmZHdWFyYW50ZWVUb2tlbigpXHJcblx0XHRcdFx0OiBPYmplY3QuYXNzaWduKFxyXG5cdFx0XHRcdFx0XHRuZXcgUGxpQ25mR3VhcmFudGVlVG9rZW4oKSxcclxuXHRcdFx0XHRcdFx0SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0b2tlblNlbGVjdGVkKSlcclxuXHRcdFx0XHQgICk7XHJcblx0XHRpZiAoIXRoaXMudG9rZW5TZWxlY3RlZC5wcm9tQ29kaWdvKSB7XHJcblx0XHRcdHRoaXMudG9rZW5TZWxlY3RlZC5wcm9tQ29kaWdvID0gdGhpcy5wcm9tQ29kaWdvO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuY29udHJvbE5hbWUgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMudG9rZW5TZWxlY3RlZC5uYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHRcdHRoaXMuY29udHJvbEZvcm11bGEgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKHRoaXMudG9rZW5TZWxlY3RlZC5mb3JtdWxhLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHJcblx0XHR0aGlzLmZybVRva2VuID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xyXG5cdFx0XHRjb250cm9sTmFtZTogdGhpcy5jb250cm9sTmFtZSxcclxuXHRcdFx0Y29udHJvbEZvcm11bGE6IHRoaXMuY29udHJvbEZvcm11bGFcclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdHNhdmUoKSB7XHJcblx0XHRpZiAodGhpcy5pc0Zvcm1WYWxpZCh0aGlzLmZybVRva2VuKSAmJiB0aGlzLmlzVmFsaWQoKSkge1xyXG5cdFx0XHR0aGlzLnBsaUNuZkd1YXJhbnRlZVRva2VuU2VydmljZS5zYXZlKHRoaXMudG9rZW5TZWxlY3RlZCkuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXN1bHQpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuZ2V0VG9rZW5HdWFyYW50ZWUoKTtcclxuXHRcdFx0XHRcdHRoaXMub25DbG9zZU1vZGFsKCk7XHJcblx0XHRcdFx0XHR0aGlzLnRvYXN0clNlcnZpY2Uuc3VjY2VzcygnU2UgaGEgZ3VhcmRhZG8gZXhpdG9zYW1lbnRlICcsICdHdWFyZGFkbyBleGl0b3NvIScpO1xyXG5cdFx0XHRcdFx0dGhpcy50b2tlblNlbGVjdGVkID0gbnVsbDtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCdFcnJvciBhbCBpbnRlbnRhciBndWFyZGFyIGVsIHRva2VuJywgJ0Vycm9yJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aXNWYWxpZCgpIHtcclxuXHRcdGNvbnN0IHRva2VuID0gdGhpcy5sR3VhcmFudGVlVG9rZW5zLmZpbmQoXHJcblx0XHRcdCh0b2tlbikgPT5cclxuXHRcdFx0XHRVdGlsU3RyaW5nLnJlcGxhY2VBY2NlbnRTcGFjZXNPdGhlcnModG9rZW4ubmFtZSkgPT09XHJcblx0XHRcdFx0XHRVdGlsU3RyaW5nLnJlcGxhY2VBY2NlbnRTcGFjZXNPdGhlcnModGhpcy50b2tlblNlbGVjdGVkLm5hbWUpICYmXHJcblx0XHRcdFx0KCF0aGlzLnRva2VuU2VsZWN0ZWQuaWQgfHwgdGhpcy50b2tlblNlbGVjdGVkLmlkICE9PSB0b2tlbi5pZClcclxuXHRcdCk7XHJcblx0XHRpZiAodG9rZW4pIHtcclxuXHRcdFx0dGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCdFbCB0b2tlbiAnICsgdG9rZW4ubmFtZSArICcgeWEgZXhpc3RlJywgJ0FsZXJ0YSEnKTtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fVxyXG5cclxuXHRvbkNsb3NlTW9kYWwoKSB7XHJcblx0XHR0aGlzLnNob3dNb2RhbCA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0ZGVsZXRlKHRva2VuOiBQbGlDbmZHdWFyYW50ZWVUb2tlbikge1xyXG5cdFx0aWYgKGNvbmZpcm0oJ8K/RXN0w6Egc2VndXJvIHF1ZSBkZXNlYSBlbGltaW5hciBlbCB0b2tlbiAnICsgdG9rZW4ubmFtZSArICc/JykpIHtcclxuXHRcdFx0dGhpcy5wbGlDbmZHdWFyYW50ZWVUb2tlblNlcnZpY2UuZGVsZXRlKHRva2VuLmlkKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5nZXRUb2tlbkd1YXJhbnRlZSgpO1xyXG5cdFx0XHRcdFx0dGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoJ0VsIHRva2VuIGZ1w6kgZWxpbWluYWRhIGV4aXRvc2FtZW50ZScsICdFeGl0byEnKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCdFcnJvciBhbCBpbnRlbnRhciBlbGltaW5hciBlbCB0b2tlbicsICdFcnJvcicpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHJlc29sdmVLZXlDYWxjdWxhdGVkVG9rZW4oKSB7XHJcblx0XHRyZXR1cm4gVXRpbFN0cmluZy5yZXBsYWNlQWNjZW50U3BhY2VzT3RoZXJzKHRoaXMudG9rZW5TZWxlY3RlZC5uYW1lKTtcclxuXHR9XHJcbn1cclxuIiwiPGg0IGNsYXNzPVwibm8tbWFyZ2luLXRvcFwiPlxyXG5cdFRva2VucyBHYXJhbnRpYXNcclxuPC9oND5cclxuPHAtdGFibGUgW3ZhbHVlXT1cImxHdWFyYW50ZWVUb2tlbnNcIiBbcmVzcG9uc2l2ZV09XCJ0cnVlXCI+XHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG5cdFx0PHRyIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj5cclxuXHRcdFx0PHRoIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIiB3aWR0aD1cIjQwJVwiPk5vbWJyZTwvdGg+XHJcblx0XHRcdDx0aCBjbGFzcz1cInRleHQtYWxpZ24tY2VudGVyXCI+Rm9ybXVsYTwvdGg+XHJcblx0XHRcdDx0aCBjbGFzcz1cInRleHQtYWxpZ24tY2VudGVyXCI+Q3JlYWRvPC90aD5cclxuXHRcdFx0PHRoIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj5Nb2RpZmljYWRvPC90aD5cclxuXHRcdFx0PHRoIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj5BY2Npb25lczwvdGg+XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtdG9rZW4+XHJcblx0XHQ8dHI+XHJcblx0XHRcdDx0ZD5cclxuXHRcdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcclxuXHRcdFx0XHRcdChjbGljayk9XCJjb3B5TWVzc2FnZShsYWJlbEd1YXJhbnRlZSh0b2tlbikpXCJcclxuXHRcdFx0XHRcdHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA4cHg7XCJcclxuXHRcdFx0XHRcdHRpdGxlPVwie3sgbGFiZWxHdWFyYW50ZWUodG9rZW4pIH19XCJcclxuXHRcdFx0XHQ+XHJcblx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLWNsaXBib2FyZFwiPjwvc3Bhbj5cclxuXHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHR7eyB0b2tlbi5uYW1lIH19XHJcblx0XHRcdDwvdGQ+XHJcblx0XHRcdDx0ZCBjbGFzcz1cImN1dC1saW5lXCI+e3sgdG9rZW4uZm9ybXVsYSB9fTwvdGQ+XHJcblx0XHRcdDx0ZD57eyB0b2tlbi5jcmVhdGVkQXQgfCBkYXRlOiAnZGQgTU1NIHl5eXknIHwgbG93ZXJjYXNlIH19PC90ZD5cclxuXHRcdFx0PHRkPnt7IHRva2VuLm1vZGlmaWVkQXQgfCBkYXRlOiAnZGQgTU1NIHl5eXknIHwgbG93ZXJjYXNlIH19PC90ZD5cclxuXHRcdFx0PHRkPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImluaXRGb3JtKHRva2VuKVwiXHJcblx0XHRcdFx0XHRcdHBsaUF1dGhvcml0eURpcmVjdGl2ZVxyXG5cdFx0XHRcdFx0XHRbZXh0ZXJuYWxBbGxvd2VkXT1cImZhbHNlXCJcclxuXHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0RWRpdGFyXHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDxidXR0b25cclxuXHRcdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGRyb3Bkb3duLXRvZ2dsZVwiXHJcblx0XHRcdFx0XHRcdGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG5cdFx0XHRcdFx0XHRhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcblx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY2FyZXRcIj48L3NwYW4+XHJcblx0XHRcdFx0XHQ8L2J1dHRvbj5cclxuXHRcdFx0XHRcdDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuXHRcdFx0XHRcdFx0PGxpPlxyXG5cdFx0XHRcdFx0XHRcdDxhXHJcblx0XHRcdFx0XHRcdFx0XHRocmVmPVwiSmF2YXNjcmlwdDo7XCJcclxuXHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJkZWxldGUodG9rZW4pXCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsaUF1dGhvcml0eURpcmVjdGl2ZVxyXG5cdFx0XHRcdFx0XHRcdFx0W2F1dGhvcml0aWVzXT1cIltwKCdST0xFX1RPS0VOU19FTElNSU5BUicpXVwiXHJcblx0XHRcdFx0XHRcdFx0XHRbZXh0ZXJuYWxBbGxvd2VkXT1cImZhbHNlXCJcclxuXHRcdFx0XHRcdFx0XHRcdD5FbGltaW5hcjwvYVxyXG5cdFx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdFx0PC9saT5cclxuXHRcdFx0XHRcdDwvdWw+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvdGQ+XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC10YWJsZT5cclxuPGRpdiBjbGFzcz1cInRleHQtYWxpZ24tcmlnaHRcIiBzdHlsZT1cInBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcIj5cclxuXHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJpbml0Rm9ybShudWxsKVwiPlxyXG5cdFx0QWdyZWdhciBudWV2b1xyXG5cdDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuPHAtZGlhbG9nXHJcblx0aGVhZGVyPVwiVG9rZW4gR2FyYW50aWFzXCJcclxuXHRbKHZpc2libGUpXT1cInNob3dNb2RhbFwiXHJcblx0W21vZGFsXT1cInRydWVcIlxyXG5cdChvbkhpZGUpPVwib25DbG9zZU1vZGFsKClcIlxyXG5cdFtjb250ZW50U3R5bGVdPVwie1xyXG5cdFx0d2lkdGg6ICc0MDBweCcsXHJcblx0XHQnb3ZlcmZsb3cteSc6ICdhdXRvJyxcclxuXHRcdCdtaW4taGVpZ2h0JzogJzUwMHB4JyxcclxuXHRcdCdtYXgtaGVpZ2h0JzogJzUwMHB4JyxcclxuXHRcdCd0ZXh0LWFsaWduJzogJ2xlZnQnXHJcblx0fVwiXHJcblx0aGVpZ2h0PVwiNTAwcHhcIlxyXG5cdHdpZHRoPVwiNTAwcHhcIlxyXG5cdGRpc21pc3NhYmxlTWFzaz1cInRydWVcIlxyXG4+XHJcblx0PGZvcm0gW2Zvcm1Hcm91cF09XCJmcm1Ub2tlblwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIiAqbmdJZj1cInRva2VuU2VsZWN0ZWRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtMTIgY29sLWxnLTEyXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmVxdWlyZWRcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJuYW1lXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Ob21icmU8L2xhYmVsPlxyXG5cdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdHR5cGU9XCJpbnB1dFwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0bmFtZT1cIm5hbWVcIlxyXG5cdFx0XHRcdFx0XHRpZD1cIm5hbWVcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIk5vbWJyZVwiXHJcblx0XHRcdFx0XHRcdGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuXHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJ0b2tlblNlbGVjdGVkLm5hbWVcIlxyXG5cdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj5cclxuXHRcdFx0XHRcdFx0PHNtYWxsICpuZ0lmPVwiaGFzRXJyb3IoY29udHJvbE5hbWUsICdyZXF1aXJlZCcpXCJcclxuXHRcdFx0XHRcdFx0XHQ+RWwgbm9tYnJlIGVzIHJlcXVlcmlkbzwvc21hbGxcclxuXHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkxsYXZlOiA8L2xhYmVsPlxyXG5cdFx0XHRcdFx0PHAgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDsgbWFyZ2luLWJvdHRvbTogMjVweDtcIj5cclxuXHRcdFx0XHRcdFx0e3sgcmVzb2x2ZUtleUNhbGN1bGF0ZWRUb2tlbigpIH19XHJcblx0XHRcdFx0XHQ8L3A+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmVxdWlyZWRcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBmb3I9XCJmb3JtdWxhXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Gb3JtdWxhPC9sYWJlbD5cclxuXHRcdFx0XHRcdDx0ZXh0YXJlYVxyXG5cdFx0XHRcdFx0XHRyb3dzPVwiM1wiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuXHRcdFx0XHRcdFx0bmFtZT1cImZvcm11bGFcIlxyXG5cdFx0XHRcdFx0XHRpZD1cImZvcm11bGFcIlxyXG5cdFx0XHRcdFx0XHRmb3JtQ29udHJvbE5hbWU9XCJjb250cm9sRm9ybXVsYVwiXHJcblx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwidG9rZW5TZWxlY3RlZC5mb3JtdWxhXCJcclxuXHRcdFx0XHRcdD48L3RleHRhcmVhPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZvcm0tY29udHJvbC1lcnJvclwiPlxyXG5cdFx0XHRcdFx0XHQ8c21hbGwgKm5nSWY9XCJoYXNFcnJvcihjb250cm9sRm9ybXVsYSwgJ3JlcXVpcmVkJylcIlxyXG5cdFx0XHRcdFx0XHRcdD5MYSBmw7NybXVsYSBlcyByZXF1ZXJpZGE8L3NtYWxsXHJcblx0XHRcdFx0XHRcdD5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY2FyZC1mb290ZXIgdGV4dC1hbGlnbi1yaWdodFwiPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2xvc2VNb2RhbCgpXCIgY2xhc3M9XCJidG4gYnRuLWxpbmtcIj5cclxuXHRcdFx0XHRcdFx0Q2FuY2VsYXJcclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXN1Y2Nlc3NcIj5cclxuXHRcdFx0XHRcdFx0R3VhcmRhclxyXG5cdFx0XHRcdFx0PC9idXR0b24+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0PC9mb3JtPlxyXG48L3AtZGlhbG9nPlxyXG4iXX0=
|
package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { PliCnfSnapshotToken, UtilString } from "ng-pli-util";
|
|
3
|
+
import { CommonListsComponent } from "../../common.lists.component";
|
|
4
|
+
import { TokenService } from "../../../services/token.service";
|
|
5
|
+
import { UntypedFormControl, UntypedFormGroup, Validators } from "@angular/forms";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../services/common.service";
|
|
8
|
+
import * as i2 from "ngx-toastr";
|
|
9
|
+
import * as i3 from "../../../services/pli-cnf-snapshot-token.service";
|
|
10
|
+
import * as i4 from "@angular/common";
|
|
11
|
+
import * as i5 from "@angular/forms";
|
|
12
|
+
import * as i6 from "primeng/api";
|
|
13
|
+
import * as i7 from "primeng/table";
|
|
14
|
+
import * as i8 from "primeng/dialog";
|
|
15
|
+
import * as i9 from "ng-pli-util";
|
|
16
|
+
export class SnapshotTokenComponent extends CommonListsComponent {
|
|
17
|
+
constructor(cdRef, commonService, toastrService, tokenService) {
|
|
18
|
+
super(commonService, cdRef);
|
|
19
|
+
this.cdRef = cdRef;
|
|
20
|
+
this.commonService = commonService;
|
|
21
|
+
this.toastrService = toastrService;
|
|
22
|
+
this.tokenService = tokenService;
|
|
23
|
+
}
|
|
24
|
+
/** Tet the label to calculated tokens */
|
|
25
|
+
labelSnapshot(token) {
|
|
26
|
+
return '${' + TokenService.getKeySnapshot(token) + '}';
|
|
27
|
+
}
|
|
28
|
+
async ngOnInit() {
|
|
29
|
+
super.ngOnInit();
|
|
30
|
+
this.getTokens();
|
|
31
|
+
this.types = await this.tokenService.getAllType().toPromise();
|
|
32
|
+
}
|
|
33
|
+
initForm(tokenSelected) {
|
|
34
|
+
this.tokenSelected =
|
|
35
|
+
tokenSelected == null
|
|
36
|
+
? new PliCnfSnapshotToken()
|
|
37
|
+
: Object.assign(new PliCnfSnapshotToken(), JSON.parse(JSON.stringify(tokenSelected)));
|
|
38
|
+
if (!this.tokenSelected.promCodigo) {
|
|
39
|
+
this.tokenSelected.promCodigo = this.promCodigo;
|
|
40
|
+
}
|
|
41
|
+
this.controlName = new UntypedFormControl(this.tokenSelected.name, Validators.required);
|
|
42
|
+
this.controlFormula = new UntypedFormControl(this.tokenSelected.formula, Validators.required);
|
|
43
|
+
this.controlType = new UntypedFormControl(this.tokenSelected.type, Validators.required);
|
|
44
|
+
this.frmToken = new UntypedFormGroup({
|
|
45
|
+
controlName: this.controlName,
|
|
46
|
+
controlFormula: this.controlFormula,
|
|
47
|
+
controlType: this.controlType
|
|
48
|
+
});
|
|
49
|
+
this.showModal = true;
|
|
50
|
+
}
|
|
51
|
+
/** It deletes a sponsor */
|
|
52
|
+
delete(token) {
|
|
53
|
+
if (confirm('¿Está seguro que desea eliminar el token ' + token.name + '?')) {
|
|
54
|
+
this.tokenService.delete(token.id).subscribe((result) => {
|
|
55
|
+
this.toastrService.success('El token fué eliminada exitosamente');
|
|
56
|
+
this.getTokens();
|
|
57
|
+
}, (error) => {
|
|
58
|
+
this.toastrService.error('Error al intentar eliminar el token');
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
getTokens() {
|
|
63
|
+
this.tokenService.getAllByPromCode(this.promCodigo).subscribe((lToken) => {
|
|
64
|
+
this.tokens = lToken;
|
|
65
|
+
}, (error) => {
|
|
66
|
+
console.log('Error getTokenCalculated -getListByPromCodigo', error);
|
|
67
|
+
this.toastrService.error('Error el formulario');
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
resolveKeyCalculatedToken() {
|
|
71
|
+
return UtilString.replaceAccentSpacesOthers(this.tokenSelected.name);
|
|
72
|
+
}
|
|
73
|
+
onCloseModal() {
|
|
74
|
+
this.showModal = false;
|
|
75
|
+
}
|
|
76
|
+
save() {
|
|
77
|
+
if (this.isFormValid(this.frmToken) && this.isValid()) {
|
|
78
|
+
this.tokenService.save(this.tokenSelected).subscribe((tokenSave) => {
|
|
79
|
+
this.toastrService.success('Se ha guardado exitosamente ', 'Guardado exitoso!');
|
|
80
|
+
this.tokenSelected = null;
|
|
81
|
+
this.getTokens();
|
|
82
|
+
this.onCloseModal();
|
|
83
|
+
}, (error) => {
|
|
84
|
+
console.error(error);
|
|
85
|
+
this.toastrService.error('Error al intentar guardar el token', 'Error!');
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
isValid() {
|
|
90
|
+
const token = this.tokens.find(token => UtilString.replaceAccentSpacesOthers(token.name) ===
|
|
91
|
+
UtilString.replaceAccentSpacesOthers(this.tokenSelected.name) &&
|
|
92
|
+
(!this.tokenSelected.id || this.tokenSelected.id !== token.id));
|
|
93
|
+
if (token) {
|
|
94
|
+
this.toastrService.error('El token ' + token.name + ' ya existe', 'Alerta!');
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnapshotTokenComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CommonService }, { token: i2.ToastrService }, { token: i3.PliCnfSnapshotTokenServices }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SnapshotTokenComponent, selector: "pli-snapshot-token", inputs: { promCodigo: "promCodigo" }, usesInheritance: true, ngImport: i0, template: "<h4 class=\"no-margin-top\">\r\n Tokens Snapshot\r\n</h4>\r\n<p-table [value]=\"tokens\" [responsive]=\"true\">\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"text-align-center\">\r\n <th class=\"text-align-center\" width=\"40%\">Nombre</th>\r\n <th class=\"text-align-center\">Formula</th>\r\n <th class=\"text-align-center\">Tipo</th>\r\n <th class=\"text-align-center\">Creado</th>\r\n <th class=\"text-align-center\">Modificado</th>\r\n <th class=\"text-align-center\">Acciones</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-token>\r\n <tr>\r\n <td>\r\n <button\r\n type=\"button\"\r\n (click)=\"copyMessage(labelSnapshot(token))\"\r\n style=\"margin-right: 8px;\"\r\n title=\"{{ labelSnapshot(token) }}\"\r\n >\r\n <span class=\"fa fa-clipboard\"></span>\r\n </button>\r\n {{ token.name }}\r\n </td>\r\n <td class=\"cut-line\">{{ token.formula }}</td>\r\n <td class=\"cut-line\">{{ token.type.name }}</td>\r\n <td>{{ token.createdAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n <td>{{ token.modifiedAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n <td>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default\"\r\n (click)=\"initForm(token)\"\r\n pliAuthorityDirective\r\n [externalAllowed]=\"false\"\r\n >\r\n Editar\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n <span class=\"caret\"></span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a\r\n href=\"Javascript:;\"\r\n (click)=\"delete(token)\"\r\n pliAuthorityDirective\r\n [authorities]=\"[p('ROLE_TOKENS_ELIMINAR')]\"\r\n [externalAllowed]=\"false\"\r\n >Eliminar</a\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n<div class=\"text-align-right\" style=\"padding: .75rem 1.25rem;\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n (click)=\"initForm(null)\"\r\n >\r\n Agregar nuevo\r\n </button>\r\n</div>\r\n\r\n<p-dialog\r\n header=\"Snapshot Token\"\r\n [(visible)]=\"showModal\"\r\n [modal]=\"true\"\r\n (onHide)=\"onCloseModal()\"\r\n [contentStyle]=\"{\r\n\t\twidth: '400px',\r\n\t\t'overflow-y': 'auto',\r\n\t\t'min-height': '500px',\r\n\t\t'max-height': '500px',\r\n\t\t'text-align': 'left'\r\n\t}\"\r\n height=\"500px\"\r\n width=\"400px\"\r\n dismissableMask=\"true\"\r\n>\r\n <form [formGroup]=\"frmToken\" (ngSubmit)=\"save()\" *ngIf=\"tokenSelected\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"name\" class=\"form-control-label\">Nombre</label>\r\n <input\r\n type=\"input\"\r\n class=\"form-control\"\r\n name=\"name\"\r\n id=\"name\"\r\n placeholder=\"Nombre\"\r\n formControlName=\"controlName\"\r\n [(ngModel)]=\"tokenSelected.name\"/>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlName, 'required')\">Nombre es requerido</small>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"type\" class=\"form-control-label\">Tipo</label>\r\n <select\r\n name=\"type\"\r\n id=\"type\"\r\n class=\"form-control\"\r\n formControlName=\"controlType\"\r\n [(ngModel)]=\"tokenSelected.type.id\">\r\n <option value=\"\">-- Seleccione opci\u00F3n</option>\r\n <option *ngFor=\"let type of types\" [value]=\"type.id\">{{ type.name }}</option>\r\n </select>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlType, 'required')\">Tipo de token requerido</small>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label class=\"form-control-label\">Llave:</label> \r\n <span style=\"font-weight: bold;\"> {{resolveKeyCalculatedToken()}}</span>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"formula\" class=\"form-control-label\"\r\n >Formula</label\r\n >\r\n <textarea\r\n cols=\"150\"\r\n rows=\"4\"\r\n class=\"form-control\"\r\n name=\"formula\"\r\n id=\"formula\"\r\n formControlName=\"controlFormula\"\r\n [(ngModel)]=\"tokenSelected.formula\"\r\n ></textarea>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlFormula, 'required')\"\r\n >F\u00F3rmula es requerida</small\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-footer text-align-right\">\r\n <button type=\"button\" (click)=\"onCloseModal()\" class=\"btn btn-link\">\r\n Cancelar\r\n </button>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-success\"\r\n >\r\n Guardar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n</p-dialog>\r\n\r\n\r\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.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i5.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: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.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: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "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: i9.AuthorityDirectiveDirective, selector: "[pliAuthorityDirective]", inputs: ["authorities", "patCodigo", "externalAllowed"] }, { kind: "pipe", type: i4.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i4.DatePipe, name: "date" }] }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SnapshotTokenComponent, decorators: [{
|
|
103
|
+
type: Component,
|
|
104
|
+
args: [{ selector: 'pli-snapshot-token', standalone: false, template: "<h4 class=\"no-margin-top\">\r\n Tokens Snapshot\r\n</h4>\r\n<p-table [value]=\"tokens\" [responsive]=\"true\">\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"text-align-center\">\r\n <th class=\"text-align-center\" width=\"40%\">Nombre</th>\r\n <th class=\"text-align-center\">Formula</th>\r\n <th class=\"text-align-center\">Tipo</th>\r\n <th class=\"text-align-center\">Creado</th>\r\n <th class=\"text-align-center\">Modificado</th>\r\n <th class=\"text-align-center\">Acciones</th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-token>\r\n <tr>\r\n <td>\r\n <button\r\n type=\"button\"\r\n (click)=\"copyMessage(labelSnapshot(token))\"\r\n style=\"margin-right: 8px;\"\r\n title=\"{{ labelSnapshot(token) }}\"\r\n >\r\n <span class=\"fa fa-clipboard\"></span>\r\n </button>\r\n {{ token.name }}\r\n </td>\r\n <td class=\"cut-line\">{{ token.formula }}</td>\r\n <td class=\"cut-line\">{{ token.type.name }}</td>\r\n <td>{{ token.createdAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n <td>{{ token.modifiedAt | date: 'dd MMM yyyy' | lowercase }}</td>\r\n <td>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default\"\r\n (click)=\"initForm(token)\"\r\n pliAuthorityDirective\r\n [externalAllowed]=\"false\"\r\n >\r\n Editar\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-default dropdown-toggle\"\r\n data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\"\r\n aria-expanded=\"false\"\r\n >\r\n <span class=\"caret\"></span>\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <li>\r\n <a\r\n href=\"Javascript:;\"\r\n (click)=\"delete(token)\"\r\n pliAuthorityDirective\r\n [authorities]=\"[p('ROLE_TOKENS_ELIMINAR')]\"\r\n [externalAllowed]=\"false\"\r\n >Eliminar</a\r\n >\r\n </li>\r\n </ul>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n</p-table>\r\n<div class=\"text-align-right\" style=\"padding: .75rem 1.25rem;\">\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n (click)=\"initForm(null)\"\r\n >\r\n Agregar nuevo\r\n </button>\r\n</div>\r\n\r\n<p-dialog\r\n header=\"Snapshot Token\"\r\n [(visible)]=\"showModal\"\r\n [modal]=\"true\"\r\n (onHide)=\"onCloseModal()\"\r\n [contentStyle]=\"{\r\n\t\twidth: '400px',\r\n\t\t'overflow-y': 'auto',\r\n\t\t'min-height': '500px',\r\n\t\t'max-height': '500px',\r\n\t\t'text-align': 'left'\r\n\t}\"\r\n height=\"500px\"\r\n width=\"400px\"\r\n dismissableMask=\"true\"\r\n>\r\n <form [formGroup]=\"frmToken\" (ngSubmit)=\"save()\" *ngIf=\"tokenSelected\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"name\" class=\"form-control-label\">Nombre</label>\r\n <input\r\n type=\"input\"\r\n class=\"form-control\"\r\n name=\"name\"\r\n id=\"name\"\r\n placeholder=\"Nombre\"\r\n formControlName=\"controlName\"\r\n [(ngModel)]=\"tokenSelected.name\"/>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlName, 'required')\">Nombre es requerido</small>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"type\" class=\"form-control-label\">Tipo</label>\r\n <select\r\n name=\"type\"\r\n id=\"type\"\r\n class=\"form-control\"\r\n formControlName=\"controlType\"\r\n [(ngModel)]=\"tokenSelected.type.id\">\r\n <option value=\"\">-- Seleccione opci\u00F3n</option>\r\n <option *ngFor=\"let type of types\" [value]=\"type.id\">{{ type.name }}</option>\r\n </select>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlType, 'required')\">Tipo de token requerido</small>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label class=\"form-control-label\">Llave:</label> \r\n <span style=\"font-weight: bold;\"> {{resolveKeyCalculatedToken()}}</span>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-12 col-md-12\">\r\n <div class=\"form-group required\">\r\n <label for=\"formula\" class=\"form-control-label\"\r\n >Formula</label\r\n >\r\n <textarea\r\n cols=\"150\"\r\n rows=\"4\"\r\n class=\"form-control\"\r\n name=\"formula\"\r\n id=\"formula\"\r\n formControlName=\"controlFormula\"\r\n [(ngModel)]=\"tokenSelected.formula\"\r\n ></textarea>\r\n <div class=\"form-control-error\">\r\n <small *ngIf=\"hasError(controlFormula, 'required')\"\r\n >F\u00F3rmula es requerida</small\r\n >\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-footer text-align-right\">\r\n <button type=\"button\" (click)=\"onCloseModal()\" class=\"btn btn-link\">\r\n Cancelar\r\n </button>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-success\"\r\n >\r\n Guardar\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n</p-dialog>\r\n\r\n\r\n" }]
|
|
105
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CommonService }, { type: i2.ToastrService }, { type: i3.PliCnfSnapshotTokenServices }], propDecorators: { promCodigo: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}] } });
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3QtdG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24tdG9rZW4vc25hcHNob3QtdG9rZW4vc25hcHNob3QtdG9rZW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24tdG9rZW4vc25hcHNob3QtdG9rZW4vc25hcHNob3QtdG9rZW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQkFBbUIsRUFBNEIsVUFBVSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWxFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBU2hGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxvQkFBb0I7SUFhOUQsWUFBc0IsS0FBd0IsRUFDeEIsYUFBNEIsRUFDOUIsYUFBNEIsRUFDNUIsWUFBeUM7UUFDM0QsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUpSLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlCQUFZLEdBQVosWUFBWSxDQUE2QjtJQUU3RCxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLGFB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QUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRSxJQUFHLEtBQUssRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3RCLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksRUFDdkMsU0FBUyxDQUNWLENBQUM7WUFDRixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7K0dBcEhVLHNCQUFzQjttR0FBdEIsc0JBQXNCLHVIQ2RuQyxncU1BZ0xBOzs0RkRsS2Esc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG9CQUFvQixjQUVsQixLQUFLO3dMQUlWLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1BsaUNuZlNuYXBzaG90VG9rZW4sIFBsaUNuZlRTbmFwc2hvdFRva2VuVHlwZSwgVXRpbFN0cmluZ30gZnJvbSBcIm5nLXBsaS11dGlsXCI7XHJcbmltcG9ydCB7Q29tbW9uTGlzdHNDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb21tb24ubGlzdHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q29tbW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7VG9rZW5TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvdG9rZW4uc2VydmljZVwiO1xyXG5pbXBvcnQge1VudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yc30gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSBcIm5neC10b2FzdHJcIjtcclxuaW1wb3J0IHtQbGlDbmZTbmFwc2hvdFRva2VuU2VydmljZXN9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9wbGktY25mLXNuYXBzaG90LXRva2VuLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdwbGktc25hcHNob3QtdG9rZW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NuYXBzaG90LXRva2VuLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbmFwc2hvdFRva2VuQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uTGlzdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBwcm9tQ29kaWdvOiBudW1iZXI7XHJcblxyXG4gIHNob3dNb2RhbDogYm9vbGVhbjtcclxuICB0b2tlbnM6IFBsaUNuZlNuYXBzaG90VG9rZW5bXTtcclxuICB0eXBlczogUGxpQ25mVFNuYXBzaG90VG9rZW5UeXBlW107XHJcbiAgdG9rZW5TZWxlY3RlZDogUGxpQ25mU25hcHNob3RUb2tlbjtcclxuICBmcm1Ub2tlbjogVW50eXBlZEZvcm1Hcm91cDtcclxuICBjb250cm9sTmFtZTogVW50eXBlZEZvcm1Db250cm9sO1xyXG4gIGNvbnRyb2xGb3JtdWxhOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgY29udHJvbFR5cGU6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHRvYXN0clNlcnZpY2U6IFRvYXN0clNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSB0b2tlblNlcnZpY2U6IFBsaUNuZlNuYXBzaG90VG9rZW5TZXJ2aWNlcykge1xyXG4gICAgc3VwZXIoY29tbW9uU2VydmljZSwgY2RSZWYpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRldCB0aGUgbGFiZWwgdG8gY2FsY3VsYXRlZCB0b2tlbnMgKi9cclxuICBsYWJlbFNuYXBzaG90KHRva2VuOiBQbGlDbmZTbmFwc2hvdFRva2VuKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnJHsnICsgVG9rZW5TZXJ2aWNlLmdldEtleVNuYXBzaG90KHRva2VuKSArICd9JztcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuZ2V0VG9rZW5zKCk7XHJcbiAgICB0aGlzLnR5cGVzID0gYXdhaXQgdGhpcy50b2tlblNlcnZpY2UuZ2V0QWxsVHlwZSgpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdEZvcm0odG9rZW5TZWxlY3RlZDogUGxpQ25mU25hcHNob3RUb2tlbikge1xyXG4gICAgdGhpcy50b2tlblNlbGVjdGVkID1cclxuICAgICAgdG9rZW5TZWxlY3RlZCA9PSBudWxsXHJcbiAgICAgICAgPyBuZXcgUGxpQ25mU25hcHNob3RUb2tlbigpXHJcbiAgICAgICAgOiBPYmplY3QuYXNzaWduKG5ldyBQbGlDbmZTbmFwc2hvdFRva2VuKCksIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodG9rZW5TZWxlY3RlZCkpKTtcclxuICAgIGlmICghdGhpcy50b2tlblNlbGVjdGVkLnByb21Db2RpZ28pIHtcclxuICAgICAgdGhpcy50b2tlblNlbGVjdGVkLnByb21Db2RpZ28gPSB0aGlzLnByb21Db2RpZ287XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb250cm9sTmFtZSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy50b2tlblNlbGVjdGVkLm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgdGhpcy5jb250cm9sRm9ybXVsYSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy50b2tlblNlbGVjdGVkLmZvcm11bGEsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgdGhpcy5jb250cm9sVHlwZSA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodGhpcy50b2tlblNlbGVjdGVkLnR5cGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuICAgIHRoaXMuZnJtVG9rZW4gPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7XHJcbiAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbnRyb2xOYW1lLFxyXG4gICAgICBjb250cm9sRm9ybXVsYTogdGhpcy5jb250cm9sRm9ybXVsYSxcclxuICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGVcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc2hvd01vZGFsID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKiBJdCBkZWxldGVzIGEgc3BvbnNvciAqL1xyXG4gIGRlbGV0ZSh0b2tlbjogUGxpQ25mU25hcHNob3RUb2tlbikge1xyXG4gICAgaWYgKGNvbmZpcm0oJ8K/RXN0w6Egc2VndXJvIHF1ZSBkZXNlYSBlbGltaW5hciBlbCB0b2tlbiAnICsgdG9rZW4ubmFtZSArICc/JykpIHtcclxuICAgICAgdGhpcy50b2tlblNlcnZpY2UuZGVsZXRlKHRva2VuLmlkKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoJ0VsIHRva2VuIGZ1w6kgZWxpbWluYWRhIGV4aXRvc2FtZW50ZScpO1xyXG4gICAgICAgICAgdGhpcy5nZXRUb2tlbnMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCdFcnJvciBhbCBpbnRlbnRhciBlbGltaW5hciBlbCB0b2tlbicpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRva2VucygpIHtcclxuICAgIHRoaXMudG9rZW5TZXJ2aWNlLmdldEFsbEJ5UHJvbUNvZGUodGhpcy5wcm9tQ29kaWdvKS5zdWJzY3JpYmUoXHJcbiAgICAgIChsVG9rZW46IFBsaUNuZlNuYXBzaG90VG9rZW5bXSkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9rZW5zID0gbFRva2VuO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgZ2V0VG9rZW5DYWxjdWxhdGVkIC1nZXRMaXN0QnlQcm9tQ29kaWdvJywgZXJyb3IpO1xyXG4gICAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcignRXJyb3IgZWwgZm9ybXVsYXJpbycpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVzb2x2ZUtleUNhbGN1bGF0ZWRUb2tlbigpIHtcclxuICAgIHJldHVybiBVdGlsU3RyaW5nLnJlcGxhY2VBY2NlbnRTcGFjZXNPdGhlcnModGhpcy50b2tlblNlbGVjdGVkLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZU1vZGFsKCkge1xyXG4gICAgdGhpcy5zaG93TW9kYWwgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNhdmUoKSB7XHJcbiAgICBpZiAodGhpcy5pc0Zvcm1WYWxpZCh0aGlzLmZybVRva2VuKSAmJiB0aGlzLmlzVmFsaWQoKSkge1xyXG4gICAgICB0aGlzLnRva2VuU2VydmljZS5zYXZlKHRoaXMudG9rZW5TZWxlY3RlZCkuc3Vic2NyaWJlKCh0b2tlblNhdmU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLnN1Y2Nlc3MoJ1NlIGhhIGd1YXJkYWRvIGV4aXRvc2FtZW50ZSAnLCAnR3VhcmRhZG8gZXhpdG9zbyEnKTtcclxuICAgICAgICAgIHRoaXMudG9rZW5TZWxlY3RlZCA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLmdldFRva2VucygpO1xyXG4gICAgICAgICAgdGhpcy5vbkNsb3NlTW9kYWwoKTtcclxuICAgICAgICB9LCAoZXJyb3IpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHJTZXJ2aWNlLmVycm9yKCdFcnJvciBhbCBpbnRlbnRhciBndWFyZGFyIGVsIHRva2VuJywgJ0Vycm9yIScpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzVmFsaWQoKSB7XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMudG9rZW5zLmZpbmQodG9rZW4gPT5cclxuICAgICAgVXRpbFN0cmluZy5yZXBsYWNlQWNjZW50U3BhY2VzT3RoZXJzKHRva2VuLm5hbWUpID09PVxyXG4gICAgICBVdGlsU3RyaW5nLnJlcGxhY2VBY2NlbnRTcGFjZXNPdGhlcnModGhpcy50b2tlblNlbGVjdGVkLm5hbWUpICYmXHJcbiAgICAgICghdGhpcy50b2tlblNlbGVjdGVkLmlkIHx8IHRoaXMudG9rZW5TZWxlY3RlZC5pZCAhPT0gdG9rZW4uaWQpKTtcclxuICAgIGlmKHRva2VuKSB7XHJcbiAgICAgIHRoaXMudG9hc3RyU2VydmljZS5lcnJvcihcclxuICAgICAgICAnRWwgdG9rZW4gJyArIHRva2VuLm5hbWUgKyAnIHlhIGV4aXN0ZScsXHJcbiAgICAgICAgJ0FsZXJ0YSEnXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxufVxyXG4iLCI8aDQgY2xhc3M9XCJuby1tYXJnaW4tdG9wXCI+XHJcbiAgVG9rZW5zIFNuYXBzaG90XHJcbjwvaDQ+XHJcbjxwLXRhYmxlIFt2YWx1ZV09XCJ0b2tlbnNcIiBbcmVzcG9uc2l2ZV09XCJ0cnVlXCI+XHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgPHRyIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgPHRoIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIiB3aWR0aD1cIjQwJVwiPk5vbWJyZTwvdGg+XHJcbiAgICAgIDx0aCBjbGFzcz1cInRleHQtYWxpZ24tY2VudGVyXCI+Rm9ybXVsYTwvdGg+XHJcbiAgICAgIDx0aCBjbGFzcz1cInRleHQtYWxpZ24tY2VudGVyXCI+VGlwbzwvdGg+XHJcbiAgICAgIDx0aCBjbGFzcz1cInRleHQtYWxpZ24tY2VudGVyXCI+Q3JlYWRvPC90aD5cclxuICAgICAgPHRoIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj5Nb2RpZmljYWRvPC90aD5cclxuICAgICAgPHRoIGNsYXNzPVwidGV4dC1hbGlnbi1jZW50ZXJcIj5BY2Npb25lczwvdGg+XHJcbiAgICA8L3RyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtdG9rZW4+XHJcbiAgICA8dHI+XHJcbiAgICAgIDx0ZD5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIChjbGljayk9XCJjb3B5TWVzc2FnZShsYWJlbFNuYXBzaG90KHRva2VuKSlcIlxyXG4gICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDhweDtcIlxyXG4gICAgICAgICAgdGl0bGU9XCJ7eyBsYWJlbFNuYXBzaG90KHRva2VuKSB9fVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1jbGlwYm9hcmRcIj48L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAge3sgdG9rZW4ubmFtZSB9fVxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJjdXQtbGluZVwiPnt7IHRva2VuLmZvcm11bGEgfX08L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJjdXQtbGluZVwiPnt7IHRva2VuLnR5cGUubmFtZSB9fTwvdGQ+XHJcbiAgICAgIDx0ZD57eyB0b2tlbi5jcmVhdGVkQXQgfCBkYXRlOiAnZGQgTU1NIHl5eXknIHwgbG93ZXJjYXNlIH19PC90ZD5cclxuICAgICAgPHRkPnt7IHRva2VuLm1vZGlmaWVkQXQgfCBkYXRlOiAnZGQgTU1NIHl5eXknIHwgbG93ZXJjYXNlIH19PC90ZD5cclxuICAgICAgPHRkPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImluaXRGb3JtKHRva2VuKVwiXHJcbiAgICAgICAgICAgIHBsaUF1dGhvcml0eURpcmVjdGl2ZVxyXG4gICAgICAgICAgICBbZXh0ZXJuYWxBbGxvd2VkXT1cImZhbHNlXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgRWRpdGFyXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGRyb3Bkb3duLXRvZ2dsZVwiXHJcbiAgICAgICAgICAgIGRhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIlxyXG4gICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZXRcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIj5cclxuICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICBocmVmPVwiSmF2YXNjcmlwdDo7XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGUodG9rZW4pXCJcclxuICAgICAgICAgICAgICAgIHBsaUF1dGhvcml0eURpcmVjdGl2ZVxyXG4gICAgICAgICAgICAgICAgW2F1dGhvcml0aWVzXT1cIltwKCdST0xFX1RPS0VOU19FTElNSU5BUicpXVwiXHJcbiAgICAgICAgICAgICAgICBbZXh0ZXJuYWxBbGxvd2VkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICA+RWxpbWluYXI8L2FcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3AtdGFibGU+XHJcbjxkaXYgY2xhc3M9XCJ0ZXh0LWFsaWduLXJpZ2h0XCIgc3R5bGU9XCJwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTtcIj5cclxuICA8YnV0dG9uXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcclxuICAgIChjbGljayk9XCJpbml0Rm9ybShudWxsKVwiXHJcbiAgPlxyXG4gICAgQWdyZWdhciBudWV2b1xyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuXHJcbjxwLWRpYWxvZ1xyXG4gIGhlYWRlcj1cIlNuYXBzaG90IFRva2VuXCJcclxuICBbKHZpc2libGUpXT1cInNob3dNb2RhbFwiXHJcbiAgW21vZGFsXT1cInRydWVcIlxyXG4gIChvbkhpZGUpPVwib25DbG9zZU1vZGFsKClcIlxyXG4gIFtjb250ZW50U3R5bGVdPVwie1xyXG5cdFx0d2lkdGg6ICc0MDBweCcsXHJcblx0XHQnb3ZlcmZsb3cteSc6ICdhdXRvJyxcclxuXHRcdCdtaW4taGVpZ2h0JzogJzUwMHB4JyxcclxuXHRcdCdtYXgtaGVpZ2h0JzogJzUwMHB4JyxcclxuXHRcdCd0ZXh0LWFsaWduJzogJ2xlZnQnXHJcblx0fVwiXHJcbiAgaGVpZ2h0PVwiNTAwcHhcIlxyXG4gIHdpZHRoPVwiNDAwcHhcIlxyXG4gIGRpc21pc3NhYmxlTWFzaz1cInRydWVcIlxyXG4+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmcm1Ub2tlblwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIiAqbmdJZj1cInRva2VuU2VsZWN0ZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm5hbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPk5vbWJyZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgbmFtZT1cIm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJuYW1lXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTm9tYnJlXCJcclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidG9rZW5TZWxlY3RlZC5uYW1lXCIvPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cImhhc0Vycm9yKGNvbnRyb2xOYW1lLCAncmVxdWlyZWQnKVwiPk5vbWJyZSBlcyByZXF1ZXJpZG88L3NtYWxsPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS0xMiBjb2wtbWQtMTJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwidHlwZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+VGlwbzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHNlbGVjdFxyXG4gICAgICAgICAgICAgICAgbmFtZT1cInR5cGVcIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0eXBlXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xUeXBlXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidG9rZW5TZWxlY3RlZC50eXBlLmlkXCI+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+LS0gU2VsZWNjaW9uZSBvcGNpw7NuPC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB0eXBlIG9mIHR5cGVzXCIgW3ZhbHVlXT1cInR5cGUuaWRcIj57eyB0eXBlLm5hbWUgfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250cm9sLWVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICA8c21hbGwgKm5nSWY9XCJoYXNFcnJvcihjb250cm9sVHlwZSwgJ3JlcXVpcmVkJylcIj5UaXBvIGRlIHRva2VuIHJlcXVlcmlkbzwvc21hbGw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTEyIGNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCByZXF1aXJlZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkxsYXZlOjwvbGFiZWw+Jm5ic3A7Jm5ic3A7XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj4ge3tyZXNvbHZlS2V5Q2FsY3VsYXRlZFRva2VuKCl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tMTIgY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZvcm11bGFcIiBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiXHJcbiAgICAgICAgICAgICAgPkZvcm11bGE8L2xhYmVsXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgY29scz1cIjE1MFwiXHJcbiAgICAgICAgICAgICAgICByb3dzPVwiNFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZm9ybXVsYVwiXHJcbiAgICAgICAgICAgICAgICBpZD1cImZvcm11bGFcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbEZvcm11bGFcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0b2tlblNlbGVjdGVkLmZvcm11bGFcIlxyXG4gICAgICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNvbnRyb2wtZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgIDxzbWFsbCAqbmdJZj1cImhhc0Vycm9yKGNvbnRyb2xGb3JtdWxhLCAncmVxdWlyZWQnKVwiXHJcbiAgICAgICAgICAgICAgICA+RsOzcm11bGEgZXMgcmVxdWVyaWRhPC9zbWFsbFxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciB0ZXh0LWFsaWduLXJpZ2h0XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwib25DbG9zZU1vZGFsKClcIiBjbGFzcz1cImJ0biBidG4tbGlua1wiPlxyXG4gICAgICAgICAgICBDYW5jZWxhclxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2Vzc1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIEd1YXJkYXJcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9wLWRpYWxvZz5cclxuXHJcblxyXG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { CommonListsComponent } from './common.lists.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/common.service";
|
|
5
|
+
export class ConfigurationCommonsComponent extends CommonListsComponent {
|
|
6
|
+
constructor(commonService, cdRef) {
|
|
7
|
+
super(commonService, cdRef);
|
|
8
|
+
this.commonService = commonService;
|
|
9
|
+
this.cdRef = cdRef;
|
|
10
|
+
/** */
|
|
11
|
+
this.fullWidth = false;
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
super.ngOnInit();
|
|
15
|
+
if (this.fullWidth) {
|
|
16
|
+
const element = document.getElementById('mainContainer');
|
|
17
|
+
if (element) {
|
|
18
|
+
element.classList.remove('container');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
if (this.fullWidth) {
|
|
24
|
+
const element = document.getElementById('mainContainer');
|
|
25
|
+
if (element) {
|
|
26
|
+
element.classList.add('container');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationCommonsComponent, deps: [{ token: i1.CommonService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ConfigurationCommonsComponent, selector: "app-configuration-commons", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConfigurationCommonsComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{
|
|
36
|
+
selector: 'app-configuration-commons',
|
|
37
|
+
template: '',
|
|
38
|
+
standalone: false
|
|
39
|
+
}]
|
|
40
|
+
}], ctorParameters: () => [{ type: i1.CommonService }, { type: i0.ChangeDetectorRef }] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5jb21tb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9jb25maWd1cmF0aW9uLmNvbW1vbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBT2hFLE1BQU0sT0FBZ0IsNkJBQ3JCLFNBQVEsb0JBQW9CO0lBTTVCLFlBQXNCLGFBQTRCLEVBQVksS0FBd0I7UUFDckYsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQURQLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFIdEYsTUFBTTtRQUNOLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFJM0IsQ0FBQztJQUVELFFBQVE7UUFDUCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6RCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pELElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEMsQ0FBQztRQUNGLENBQUM7SUFDRixDQUFDOytHQTVCb0IsNkJBQTZCO21HQUE3Qiw2QkFBNkIsd0ZBSHJDLEVBQUU7OzRGQUdNLDZCQUE2QjtrQkFMbEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIE9uRGVzdHJveSwgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21tb25MaXN0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLmxpc3RzLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLWNvbmZpZ3VyYXRpb24tY29tbW9ucycsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29uZmlndXJhdGlvbkNvbW1vbnNDb21wb25lbnRcclxuXHRleHRlbmRzIENvbW1vbkxpc3RzQ29tcG9uZW50XHJcblx0aW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxyXG57XHJcblx0LyoqICovXHJcblx0ZnVsbFdpZHRoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLCBwcm90ZWN0ZWQgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcblx0XHRzdXBlcihjb21tb25TZXJ2aWNlLCBjZFJlZik7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHN1cGVyLm5nT25Jbml0KCk7XHJcblx0XHRpZiAodGhpcy5mdWxsV2lkdGgpIHtcclxuXHRcdFx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluQ29udGFpbmVyJyk7XHJcblx0XHRcdGlmIChlbGVtZW50KSB7XHJcblx0XHRcdFx0ZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdjb250YWluZXInKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRpZiAodGhpcy5mdWxsV2lkdGgpIHtcclxuXHRcdFx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtYWluQ29udGFpbmVyJyk7XHJcblx0XHRcdGlmIChlbGVtZW50KSB7XHJcblx0XHRcdFx0ZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjb250YWluZXInKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { DateUtil } from 'ng-pli-util';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/common.service";
|
|
5
|
+
import * as i2 from "../services/common-info.service";
|
|
6
|
+
export class DashboardCommonsComponent {
|
|
7
|
+
constructor(commonService, cdRef, commonInfoService) {
|
|
8
|
+
this.commonService = commonService;
|
|
9
|
+
this.cdRef = cdRef;
|
|
10
|
+
this.commonInfoService = commonInfoService;
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
this.lVersionInfo = [];
|
|
14
|
+
}
|
|
15
|
+
addVersionProjectInfo() {
|
|
16
|
+
this.lVersionInfo.push({
|
|
17
|
+
name: 'Proyecto Commons',
|
|
18
|
+
version: this.commonsVersion,
|
|
19
|
+
build: this.commonsBuildTimestamp
|
|
20
|
+
});
|
|
21
|
+
this.lVersionInfo.push({
|
|
22
|
+
name: 'Proyecto Security',
|
|
23
|
+
version: this.securityVersion,
|
|
24
|
+
build: this.securityBuildTimestamp
|
|
25
|
+
});
|
|
26
|
+
this.lVersionInfo.push({
|
|
27
|
+
name: 'Proyecto Util',
|
|
28
|
+
version: this.utilVersion,
|
|
29
|
+
build: this.utilBuildTimestamp
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
createVersionAndBuildTimeProject(version, buildTimestamp) {
|
|
33
|
+
let result = this.createVersionAndBuildTime(version, buildTimestamp);
|
|
34
|
+
console.log('VersionAndBuildTime-Project', result);
|
|
35
|
+
this.version = result.version;
|
|
36
|
+
this.buildTimestamp = result.buildTimes;
|
|
37
|
+
}
|
|
38
|
+
createVersionAndBuildTimeCommons(version, buildTimestamp) {
|
|
39
|
+
let result = this.createVersionAndBuildTime(version, buildTimestamp);
|
|
40
|
+
console.log('VersionAndBuildTime-Commons', result);
|
|
41
|
+
this.commonsVersion = result.version;
|
|
42
|
+
this.commonsBuildTimestamp = result.buildTimes;
|
|
43
|
+
}
|
|
44
|
+
createVersionAndBuildTimeSecurity(version, buildTimestamp) {
|
|
45
|
+
let result = this.createVersionAndBuildTime(version, buildTimestamp);
|
|
46
|
+
console.log('VersionAndBuildTime-Security', result);
|
|
47
|
+
this.securityVersion = result.version;
|
|
48
|
+
this.securityBuildTimestamp = result.buildTimes;
|
|
49
|
+
}
|
|
50
|
+
createVersionAndBuildTimeUtil(version, buildTimestamp) {
|
|
51
|
+
let result = this.createVersionAndBuildTime(version, buildTimestamp);
|
|
52
|
+
console.log('VersionAndBuildTime-Util', result);
|
|
53
|
+
this.utilVersion = result.version;
|
|
54
|
+
this.utilBuildTimestamp = result.buildTimes;
|
|
55
|
+
}
|
|
56
|
+
createVersionAndBuildTime(showVersion, showBuildTime) {
|
|
57
|
+
let version, buildTimes;
|
|
58
|
+
version = null;
|
|
59
|
+
if (showVersion) {
|
|
60
|
+
version = showVersion;
|
|
61
|
+
}
|
|
62
|
+
buildTimes = null;
|
|
63
|
+
if (showBuildTime) {
|
|
64
|
+
let momentValue = DateUtil.getMoment(showBuildTime).utcOffset(0, true);
|
|
65
|
+
buildTimes = momentValue
|
|
66
|
+
.utcOffset(DateUtil.UTC_AMERICA_BOGOTA)
|
|
67
|
+
.format('DD MMM YYYY HH:mm');
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
version: version,
|
|
71
|
+
buildTimes: buildTimes
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardCommonsComponent, deps: [{ token: i1.CommonService }, { token: i0.ChangeDetectorRef }, { token: i2.CommonInfoService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DashboardCommonsComponent, selector: "app-dashboard-commons", ngImport: i0, template: '', isInline: true }); }
|
|
76
|
+
}
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DashboardCommonsComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{
|
|
80
|
+
selector: 'app-dashboard-commons',
|
|
81
|
+
template: '',
|
|
82
|
+
standalone: false
|
|
83
|
+
}]
|
|
84
|
+
}], ctorParameters: () => [{ type: i1.CommonService }, { type: i0.ChangeDetectorRef }, { type: i2.CommonInfoService }] });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbW1vbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2Rhc2hib2FyZC5jb21tb25zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTZCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBUXZDLE1BQU0sT0FBZ0IseUJBQXlCO0lBc0I5QyxZQUNXLGFBQTRCLEVBQzVCLEtBQXdCLEVBQ3hCLGlCQUFvQztRQUZwQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBQzVDLENBQUM7SUFFSixRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELHFCQUFxQjtRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLEVBQUUsa0JBQWtCO1lBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYztZQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLHFCQUFxQjtTQUNqQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZTtZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtTQUNsQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLEVBQUUsZUFBZTtZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7U0FDOUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELGdDQUFnQyxDQUFDLE9BQU8sRUFBRSxjQUFjO1FBQ3ZELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDckUsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxnQ0FBZ0MsQ0FBQyxPQUFPLEVBQUUsY0FBYztRQUN2RCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxPQUFPLEVBQUUsY0FBYztRQUN4RCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ2pELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxPQUFPLEVBQUUsY0FBYztRQUNwRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQzdDLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxXQUFtQixFQUFFLGFBQXFCO1FBQ25FLElBQUksT0FBZSxFQUFFLFVBQWtCLENBQUM7UUFDeEMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNmLElBQUksV0FBVyxFQUFFLENBQUM7WUFDakIsT0FBTyxHQUFHLFdBQVcsQ0FBQztRQUN2QixDQUFDO1FBQ0QsVUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2RSxVQUFVLEdBQUcsV0FBVztpQkFDdEIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDdEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU87WUFDTixPQUFPLEVBQUUsT0FBTztZQUNoQixVQUFVLEVBQUUsVUFBVTtTQUN0QixDQUFDO0lBQ0gsQ0FBQzsrR0EvRm9CLHlCQUF5QjttR0FBekIseUJBQXlCLDZEQUhqQyxFQUFFOzs0RkFHTSx5QkFBeUI7a0JBTDlDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLEtBQUs7aUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGVVdGlsIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgeyBDb21tb25JbmZvU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbW1vbi1pbmZvLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2FwcC1kYXNoYm9hcmQtY29tbW9ucycsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGFzaGJvYXJkQ29tbW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0LyoqICovXHJcblx0dmVyc2lvbjogc3RyaW5nO1xyXG5cdC8qKiAqL1xyXG5cdGJ1aWxkVGltZXN0YW1wOiBzdHJpbmc7XHJcblx0LyoqICovXHJcblx0Y29tbW9uc1ZlcnNpb246IHN0cmluZztcclxuXHQvKiogKi9cclxuXHRjb21tb25zQnVpbGRUaW1lc3RhbXA6IHN0cmluZztcclxuXHQvKiogKi9cclxuXHRzZWN1cml0eVZlcnNpb246IHN0cmluZztcclxuXHQvKiogKi9cclxuXHRzZWN1cml0eUJ1aWxkVGltZXN0YW1wOiBzdHJpbmc7XHJcblx0LyoqICovXHJcblx0dXRpbFZlcnNpb246IHN0cmluZztcclxuXHQvKiogKi9cclxuXHR1dGlsQnVpbGRUaW1lc3RhbXA6IHN0cmluZztcclxuXHQvKiogKi9cclxuXHRsUHJvcGVydGllczogYW55W107XHJcblx0LyoqICovXHJcblx0bFZlcnNpb25JbmZvOiBhbnlbXTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgY29tbW9uU2VydmljZTogQ29tbW9uU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0XHRwcm90ZWN0ZWQgY29tbW9uSW5mb1NlcnZpY2U6IENvbW1vbkluZm9TZXJ2aWNlXHJcblx0KSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMubFZlcnNpb25JbmZvID0gW107XHJcblx0fVxyXG5cclxuXHRhZGRWZXJzaW9uUHJvamVjdEluZm8oKSB7XHJcblx0XHR0aGlzLmxWZXJzaW9uSW5mby5wdXNoKHtcclxuXHRcdFx0bmFtZTogJ1Byb3llY3RvIENvbW1vbnMnLFxyXG5cdFx0XHR2ZXJzaW9uOiB0aGlzLmNvbW1vbnNWZXJzaW9uLFxyXG5cdFx0XHRidWlsZDogdGhpcy5jb21tb25zQnVpbGRUaW1lc3RhbXBcclxuXHRcdH0pO1xyXG5cdFx0dGhpcy5sVmVyc2lvbkluZm8ucHVzaCh7XHJcblx0XHRcdG5hbWU6ICdQcm95ZWN0byBTZWN1cml0eScsXHJcblx0XHRcdHZlcnNpb246IHRoaXMuc2VjdXJpdHlWZXJzaW9uLFxyXG5cdFx0XHRidWlsZDogdGhpcy5zZWN1cml0eUJ1aWxkVGltZXN0YW1wXHJcblx0XHR9KTtcclxuXHRcdHRoaXMubFZlcnNpb25JbmZvLnB1c2goe1xyXG5cdFx0XHRuYW1lOiAnUHJveWVjdG8gVXRpbCcsXHJcblx0XHRcdHZlcnNpb246IHRoaXMudXRpbFZlcnNpb24sXHJcblx0XHRcdGJ1aWxkOiB0aGlzLnV0aWxCdWlsZFRpbWVzdGFtcFxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRjcmVhdGVWZXJzaW9uQW5kQnVpbGRUaW1lUHJvamVjdCh2ZXJzaW9uLCBidWlsZFRpbWVzdGFtcCkge1xyXG5cdFx0bGV0IHJlc3VsdCA9IHRoaXMuY3JlYXRlVmVyc2lvbkFuZEJ1aWxkVGltZSh2ZXJzaW9uLCBidWlsZFRpbWVzdGFtcCk7XHJcblx0XHRjb25zb2xlLmxvZygnVmVyc2lvbkFuZEJ1aWxkVGltZS1Qcm9qZWN0JywgcmVzdWx0KTtcclxuXHRcdHRoaXMudmVyc2lvbiA9IHJlc3VsdC52ZXJzaW9uO1xyXG5cdFx0dGhpcy5idWlsZFRpbWVzdGFtcCA9IHJlc3VsdC5idWlsZFRpbWVzO1xyXG5cdH1cclxuXHJcblx0Y3JlYXRlVmVyc2lvbkFuZEJ1aWxkVGltZUNvbW1vbnModmVyc2lvbiwgYnVpbGRUaW1lc3RhbXApIHtcclxuXHRcdGxldCByZXN1bHQgPSB0aGlzLmNyZWF0ZVZlcnNpb25BbmRCdWlsZFRpbWUodmVyc2lvbiwgYnVpbGRUaW1lc3RhbXApO1xyXG5cdFx0Y29uc29sZS5sb2coJ1ZlcnNpb25BbmRCdWlsZFRpbWUtQ29tbW9ucycsIHJlc3VsdCk7XHJcblx0XHR0aGlzLmNvbW1vbnNWZXJzaW9uID0gcmVzdWx0LnZlcnNpb247XHJcblx0XHR0aGlzLmNvbW1vbnNCdWlsZFRpbWVzdGFtcCA9IHJlc3VsdC5idWlsZFRpbWVzO1xyXG5cdH1cclxuXHJcblx0Y3JlYXRlVmVyc2lvbkFuZEJ1aWxkVGltZVNlY3VyaXR5KHZlcnNpb24sIGJ1aWxkVGltZXN0YW1wKSB7XHJcblx0XHRsZXQgcmVzdWx0ID0gdGhpcy5jcmVhdGVWZXJzaW9uQW5kQnVpbGRUaW1lKHZlcnNpb24sIGJ1aWxkVGltZXN0YW1wKTtcclxuXHRcdGNvbnNvbGUubG9nKCdWZXJzaW9uQW5kQnVpbGRUaW1lLVNlY3VyaXR5JywgcmVzdWx0KTtcclxuXHRcdHRoaXMuc2VjdXJpdHlWZXJzaW9uID0gcmVzdWx0LnZlcnNpb247XHJcblx0XHR0aGlzLnNlY3VyaXR5QnVpbGRUaW1lc3RhbXAgPSByZXN1bHQuYnVpbGRUaW1lcztcclxuXHR9XHJcblxyXG5cdGNyZWF0ZVZlcnNpb25BbmRCdWlsZFRpbWVVdGlsKHZlcnNpb24sIGJ1aWxkVGltZXN0YW1wKSB7XHJcblx0XHRsZXQgcmVzdWx0ID0gdGhpcy5jcmVhdGVWZXJzaW9uQW5kQnVpbGRUaW1lKHZlcnNpb24sIGJ1aWxkVGltZXN0YW1wKTtcclxuXHRcdGNvbnNvbGUubG9nKCdWZXJzaW9uQW5kQnVpbGRUaW1lLVV0aWwnLCByZXN1bHQpO1xyXG5cdFx0dGhpcy51dGlsVmVyc2lvbiA9IHJlc3VsdC52ZXJzaW9uO1xyXG5cdFx0dGhpcy51dGlsQnVpbGRUaW1lc3RhbXAgPSByZXN1bHQuYnVpbGRUaW1lcztcclxuXHR9XHJcblxyXG5cdGNyZWF0ZVZlcnNpb25BbmRCdWlsZFRpbWUoc2hvd1ZlcnNpb246IHN0cmluZywgc2hvd0J1aWxkVGltZTogc3RyaW5nKTogYW55IHtcclxuXHRcdGxldCB2ZXJzaW9uOiBzdHJpbmcsIGJ1aWxkVGltZXM6IHN0cmluZztcclxuXHRcdHZlcnNpb24gPSBudWxsO1xyXG5cdFx0aWYgKHNob3dWZXJzaW9uKSB7XHJcblx0XHRcdHZlcnNpb24gPSBzaG93VmVyc2lvbjtcclxuXHRcdH1cclxuXHRcdGJ1aWxkVGltZXMgPSBudWxsO1xyXG5cdFx0aWYgKHNob3dCdWlsZFRpbWUpIHtcclxuXHRcdFx0bGV0IG1vbWVudFZhbHVlID0gRGF0ZVV0aWwuZ2V0TW9tZW50KHNob3dCdWlsZFRpbWUpLnV0Y09mZnNldCgwLCB0cnVlKTtcclxuXHRcdFx0YnVpbGRUaW1lcyA9IG1vbWVudFZhbHVlXHJcblx0XHRcdFx0LnV0Y09mZnNldChEYXRlVXRpbC5VVENfQU1FUklDQV9CT0dPVEEpXHJcblx0XHRcdFx0LmZvcm1hdCgnREQgTU1NIFlZWVkgSEg6bW0nKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB7XHJcblx0XHRcdHZlcnNpb246IHZlcnNpb24sXHJcblx0XHRcdGJ1aWxkVGltZXM6IGJ1aWxkVGltZXNcclxuXHRcdH07XHJcblx0fVxyXG59XHJcbiJdfQ==
|