iptdevs-design-system 2.7.40 → 2.7.43
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/README.md +24 -24
- package/esm2020/iptdevs-design-system.mjs +4 -4
- package/esm2020/lib/cod/cod-documents-section/cod-documents-section.component.mjs +16 -16
- package/esm2020/lib/cod/cod-form/cod-form.component.mjs +227 -227
- package/esm2020/lib/cod/cod.module.mjs +90 -90
- package/esm2020/lib/cod/logic/calculate-quotes.service.mjs +72 -72
- package/esm2020/lib/cod/logic/cod-form-controls.mjs +91 -91
- package/esm2020/lib/cod/logic/cod-form-steps.mjs +29 -29
- package/esm2020/lib/cod/logic/communicator.service.mjs +28 -28
- package/esm2020/lib/cod/logic/local-storage-cod.service.mjs +39 -39
- package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +146 -146
- package/esm2020/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.mjs +251 -251
- package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +200 -200
- package/esm2020/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.mjs +175 -175
- package/esm2020/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.mjs +255 -255
- package/esm2020/lib/components/atoms/aside-button/aside-button.component.mjs +50 -50
- package/esm2020/lib/components/atoms/button/button.component.mjs +64 -64
- package/esm2020/lib/components/atoms/checkbox/checkbox.component.mjs +47 -47
- package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +94 -94
- package/esm2020/lib/components/atoms/input/input.component.mjs +145 -145
- package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +64 -64
- package/esm2020/lib/components/atoms/level-text/level-text.component.mjs +19 -19
- package/esm2020/lib/components/atoms/loader/loader.component.mjs +48 -48
- package/esm2020/lib/components/atoms/radio/radio.component.mjs +47 -47
- package/esm2020/lib/components/atoms/select/select.component.mjs +102 -102
- package/esm2020/lib/components/atoms/text-link/text-link.component.mjs +39 -39
- package/esm2020/lib/components/components.module.mjs +123 -123
- package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +228 -228
- package/esm2020/lib/components/forms/login-form/login-form.component.mjs +93 -93
- package/esm2020/lib/components/material.module.mjs +19 -19
- package/esm2020/lib/components/molecules/question-type/edit-question-types.component.mjs +346 -302
- package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +150 -150
- package/esm2020/lib/core/core.module.mjs +73 -73
- package/esm2020/lib/core/models/academic/academic.component.mjs +2 -2
- package/esm2020/lib/core/models/activities/activities.interface.mjs +2 -2
- package/esm2020/lib/core/models/attendance/attendance.interface.mjs +2 -2
- package/esm2020/lib/core/models/budget/budget.model.mjs +2 -2
- package/esm2020/lib/core/models/calendar/calendar-rq.models.mjs +2 -2
- package/esm2020/lib/core/models/classroom/classroom-rq.model.mjs +2 -2
- package/esm2020/lib/core/models/cod/cod-rq.model.mjs +2 -2
- package/esm2020/lib/core/models/commercial/commercial.model.mjs +2 -2
- package/esm2020/lib/core/models/course/course-rq.model.mjs +2 -2
- package/esm2020/lib/core/models/course/courses.model.mjs +2 -2
- package/esm2020/lib/core/models/cronogram/cronogram.models.mjs +2 -2
- package/esm2020/lib/core/models/marketing/marketing.model.mjs +2 -2
- package/esm2020/lib/core/models/notes/notes.interface.mjs +2 -2
- package/esm2020/lib/core/models/payment/payment-rq.model.mjs +2 -2
- package/esm2020/lib/core/models/response/response.interface.mjs +2 -2
- package/esm2020/lib/core/models/session/session.model.mjs +3 -3
- package/esm2020/lib/core/models/student/student.interface.mjs +2 -2
- package/esm2020/lib/core/models/table/table-rs.model.mjs +2 -2
- package/esm2020/lib/core/models/test/test.model.mjs +2 -2
- package/esm2020/lib/core/models/url/url.model.mjs +2 -2
- package/esm2020/lib/core/models/user/user-rq.model.mjs +2 -2
- package/esm2020/lib/core/models/user/user-rs.model.mjs +5 -5
- package/esm2020/lib/core/services/academic-service/academic.service.mjs +55 -55
- package/esm2020/lib/core/services/activity-service/activity.service.mjs +87 -87
- package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +64 -64
- package/esm2020/lib/core/services/budget-service/budget-service.mjs +66 -66
- package/esm2020/lib/core/services/calendar-service/calendar.service.mjs +65 -65
- package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +26 -26
- package/esm2020/lib/core/services/classroom-service/classroom-service.service.mjs +36 -36
- package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +49 -49
- package/esm2020/lib/core/services/commercial-service/validators.mjs +4 -4
- package/esm2020/lib/core/services/copies.service.mjs +17 -17
- package/esm2020/lib/core/services/course-service/course-service.model.mjs +70 -70
- package/esm2020/lib/core/services/ekt-service/userekt.service.mjs +29 -29
- package/esm2020/lib/core/services/marketing-service/marketing-service.mjs +52 -52
- package/esm2020/lib/core/services/notes-service/notes.service.mjs +46 -46
- package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +173 -173
- package/esm2020/lib/core/services/service-enviroments.mjs +26 -26
- package/esm2020/lib/core/services/storage-service/storage-service.mjs +50 -50
- package/esm2020/lib/core/services/student-service/student.service.mjs +26 -26
- package/esm2020/lib/core/services/switch-service/switch.service.mjs +16 -16
- package/esm2020/lib/core/services/test-service/test.service.mjs +128 -128
- package/esm2020/lib/core/services/user-service/user-service.mjs +100 -100
- package/esm2020/lib/core/utils/base-service/base.service.mjs +191 -191
- package/esm2020/lib/core/utils/copies.mjs +214 -214
- package/esm2020/lib/core/utils/route-service/route.service.mjs +18 -18
- package/esm2020/lib/design-system.module.mjs +40 -40
- package/esm2020/public-api.mjs +89 -89
- package/fesm2015/iptdevs-design-system.mjs +4592 -4548
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +4589 -4545
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/iptdevs-design-system.d.ts +5 -5
- package/lib/cod/cod-documents-section/cod-documents-section.component.d.ts +8 -8
- package/lib/cod/cod-form/cod-form.component.d.ts +37 -37
- package/lib/cod/cod.module.d.ts +21 -21
- package/lib/cod/logic/calculate-quotes.service.d.ts +14 -14
- package/lib/cod/logic/cod-form-controls.d.ts +16 -16
- package/lib/cod/logic/cod-form-steps.d.ts +15 -15
- package/lib/cod/logic/communicator.service.d.ts +13 -13
- package/lib/cod/logic/local-storage-cod.service.d.ts +8 -8
- package/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.d.ts +31 -31
- package/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.d.ts +47 -47
- package/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.d.ts +46 -46
- package/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.d.ts +35 -35
- package/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.d.ts +44 -44
- package/lib/components/atoms/aside-button/aside-button.component.d.ts +11 -11
- package/lib/components/atoms/button/button.component.d.ts +13 -13
- package/lib/components/atoms/checkbox/checkbox.component.d.ts +11 -11
- package/lib/components/atoms/datalist/datalist.component.d.ts +20 -20
- package/lib/components/atoms/input/input.component.d.ts +26 -26
- package/lib/components/atoms/level-button/level-button.component.d.ts +11 -11
- package/lib/components/atoms/level-text/level-text.component.d.ts +7 -7
- package/lib/components/atoms/loader/loader.component.d.ts +7 -7
- package/lib/components/atoms/radio/radio.component.d.ts +11 -11
- package/lib/components/atoms/select/select.component.d.ts +26 -26
- package/lib/components/atoms/text-link/text-link.component.d.ts +12 -12
- package/lib/components/components.module.d.ts +25 -25
- package/lib/components/forms/create-user-form/create-user-form.component.d.ts +36 -36
- package/lib/components/forms/login-form/login-form.component.d.ts +13 -13
- package/lib/components/material.module.d.ts +11 -11
- package/lib/components/molecules/question-type/edit-question-types.component.d.ts +11 -10
- package/lib/components/molecules/sidenav/sidenav.component.d.ts +25 -25
- package/lib/core/core.module.d.ts +6 -6
- package/lib/core/models/academic/academic.component.d.ts +26 -26
- package/lib/core/models/activities/activities.interface.d.ts +12 -12
- package/lib/core/models/attendance/attendance.interface.d.ts +62 -62
- package/lib/core/models/budget/budget.model.d.ts +69 -69
- package/lib/core/models/calendar/calendar-rq.models.d.ts +27 -27
- package/lib/core/models/classroom/classroom-rq.model.d.ts +23 -23
- package/lib/core/models/cod/cod-rq.model.d.ts +168 -168
- package/lib/core/models/commercial/commercial.model.d.ts +10 -10
- package/lib/core/models/course/course-rq.model.d.ts +86 -86
- package/lib/core/models/course/courses.model.d.ts +18 -18
- package/lib/core/models/cronogram/cronogram.models.d.ts +183 -183
- package/lib/core/models/marketing/marketing.model.d.ts +104 -104
- package/lib/core/models/notes/notes.interface.d.ts +89 -89
- package/lib/core/models/payment/payment-rq.model.d.ts +212 -212
- package/lib/core/models/response/response.interface.d.ts +10 -10
- package/lib/core/models/session/session.model.d.ts +5 -5
- package/lib/core/models/student/student.interface.d.ts +4 -4
- package/lib/core/models/table/table-rs.model.d.ts +7 -7
- package/lib/core/models/test/test.model.d.ts +219 -219
- package/lib/core/models/url/url.model.d.ts +8 -8
- package/lib/core/models/user/user-rq.model.d.ts +90 -90
- package/lib/core/models/user/user-rs.model.d.ts +35 -35
- package/lib/core/services/academic-service/academic.service.d.ts +20 -20
- package/lib/core/services/activity-service/activity.service.d.ts +25 -25
- package/lib/core/services/attendance-service/attendance.service.d.ts +22 -22
- package/lib/core/services/budget-service/budget-service.d.ts +23 -23
- package/lib/core/services/calendar-service/calendar.service.d.ts +23 -23
- package/lib/core/services/certificate-service/certificate.service.d.ts +13 -13
- package/lib/core/services/classroom-service/classroom-service.service.d.ts +15 -15
- package/lib/core/services/commercial-service/comercial.service.d.ts +19 -19
- package/lib/core/services/commercial-service/validators.d.ts +2 -2
- package/lib/core/services/copies.service.d.ts +7 -7
- package/lib/core/services/course-service/course-service.model.d.ts +23 -23
- package/lib/core/services/ekt-service/userekt.service.d.ts +13 -13
- package/lib/core/services/marketing-service/marketing-service.d.ts +19 -19
- package/lib/core/services/notes-service/notes.service.d.ts +18 -18
- package/lib/core/services/parameters-service/parameters.service.d.ts +49 -49
- package/lib/core/services/service-enviroments.d.ts +5 -5
- package/lib/core/services/storage-service/storage-service.d.ts +18 -18
- package/lib/core/services/student-service/student.service.d.ts +13 -13
- package/lib/core/services/switch-service/switch.service.d.ts +8 -8
- package/lib/core/services/test-service/test.service.d.ts +33 -33
- package/lib/core/services/user-service/user-service.d.ts +30 -30
- package/lib/core/utils/base-service/base.service.d.ts +23 -23
- package/lib/core/utils/copies.d.ts +1 -1
- package/lib/core/utils/route-service/route.service.d.ts +9 -9
- package/lib/design-system.module.d.ts +10 -10
- package/package.json +1 -1
- package/public-api.d.ts +76 -76
|
@@ -1,175 +1,175 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { Validators } from '@angular/forms';
|
|
3
|
-
import { CodFormControls } from '../../logic/cod-form-controls';
|
|
4
|
-
import { CodFormSteps } from '../../logic/cod-form-steps';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "../../../core/services/parameters-service/parameters.service";
|
|
8
|
-
import * as i3 from "../../logic/cod-form-controls";
|
|
9
|
-
import * as i4 from "../../../components/atoms/select/select.component";
|
|
10
|
-
import * as i5 from "../../../components/atoms/input/input.component";
|
|
11
|
-
import * as i6 from "@angular/common";
|
|
12
|
-
import * as i7 from "primeng/button";
|
|
13
|
-
export class CodFormStepThreeComponent extends CodFormSteps {
|
|
14
|
-
constructor(fb, parameterService, codFormControls) {
|
|
15
|
-
super();
|
|
16
|
-
this.fb = fb;
|
|
17
|
-
this.parameterService = parameterService;
|
|
18
|
-
this.codFormControls = codFormControls;
|
|
19
|
-
this.changeStepEvent = new EventEmitter();
|
|
20
|
-
this.globalControls = new CodFormControls();
|
|
21
|
-
this.errorMessage = 'Faltan campos por llenar.';
|
|
22
|
-
this.needAtendants = [
|
|
23
|
-
{ code: '1', name: 'Si requiere acudiente' },
|
|
24
|
-
{ code: '2', name: 'No requiere acudiente' },
|
|
25
|
-
];
|
|
26
|
-
// Controls del formulario
|
|
27
|
-
this.controls = new CodFormControls().controls[2];
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this.getParameters();
|
|
31
|
-
this.initForm();
|
|
32
|
-
this.startLocalStorageWork();
|
|
33
|
-
this.validateErrors();
|
|
34
|
-
}
|
|
35
|
-
validateErrors() {
|
|
36
|
-
this.codFormStepThree.valueChanges.subscribe(changes => {
|
|
37
|
-
if (this.codFormStepThree.controls['parent_name'].hasError('minlength')) {
|
|
38
|
-
this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';
|
|
39
|
-
}
|
|
40
|
-
else if (this.codFormStepThree.controls['parent_last_name'].hasError('minlength')) {
|
|
41
|
-
this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.errorMessage = 'Faltan campos por llenar';
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
startLocalStorageWork() {
|
|
49
|
-
this.controls.forEach(control => {
|
|
50
|
-
let localStorageValue = this.readAndWriteLS(3, control.name);
|
|
51
|
-
this.codFormStepThree.controls[control.name].setValue(localStorageValue.value);
|
|
52
|
-
this.listenFormChanges(3, control.name, this.codFormStepThree.controls[control.name].valueChanges);
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
getParameters() {
|
|
56
|
-
this.parameterService.getCardTypes('col').subscribe((response) => {
|
|
57
|
-
this.idTypes = response.data;
|
|
58
|
-
});
|
|
59
|
-
this.parameterService.getIndicatives().subscribe((response) => {
|
|
60
|
-
this.indicatives = response.data;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
initForm() {
|
|
64
|
-
this.codFormStepThree = this.fb.group({
|
|
65
|
-
parent_id_card_type: ['', [Validators.required]],
|
|
66
|
-
parent_id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),],],
|
|
67
|
-
parent_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32),],],
|
|
68
|
-
parent_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)],],
|
|
69
|
-
needAtendant: ['', [Validators.required], []],
|
|
70
|
-
parent_phone_indicative: ['', [Validators.required], []],
|
|
71
|
-
parent_occupation: ['', [Validators.required], []],
|
|
72
|
-
parent_address: ['', [Validators.required], []],
|
|
73
|
-
parent_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15),],],
|
|
74
|
-
});
|
|
75
|
-
this.listenNeedAtendantField();
|
|
76
|
-
}
|
|
77
|
-
listenNeedAtendantField() {
|
|
78
|
-
const control = this.codFormStepThree.get('needAtendant');
|
|
79
|
-
control?.valueChanges.subscribe((change) => {
|
|
80
|
-
if (change === '1') {
|
|
81
|
-
// Poner validaciones
|
|
82
|
-
this.codFormStepThree.controls['parent_id_card_type'].setValidators([Validators.required]);
|
|
83
|
-
this.codFormStepThree.controls['parent_id_card'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(20)]);
|
|
84
|
-
this.codFormStepThree.controls['parent_last_name'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
|
|
85
|
-
this.codFormStepThree.controls['parent_name'].setValidators([Validators.required, Validators.minLength(3), Validators.maxLength(32)]);
|
|
86
|
-
this.codFormStepThree.controls['parent_phone_indicative'].setValidators([Validators.required]);
|
|
87
|
-
this.codFormStepThree.controls['parent_occupation'].setValidators([Validators.required]);
|
|
88
|
-
this.codFormStepThree.controls['parent_address'].setValidators([Validators.required]);
|
|
89
|
-
this.codFormStepThree.controls['parent_phone_number'].setValidators([Validators.required, Validators.minLength(10), Validators.maxLength(15)]);
|
|
90
|
-
// Actualizar para que se tomen los cambios
|
|
91
|
-
this.updateValueAndValidity();
|
|
92
|
-
// Actualizar los controls globales
|
|
93
|
-
this.updateGlobalControls(change);
|
|
94
|
-
}
|
|
95
|
-
if (change === '2') {
|
|
96
|
-
// Quitar las validaciones
|
|
97
|
-
this.codFormStepThree.controls['parent_id_card_type'].clearValidators();
|
|
98
|
-
this.codFormStepThree.controls['parent_id_card'].clearValidators();
|
|
99
|
-
this.codFormStepThree.controls['parent_last_name'].clearValidators();
|
|
100
|
-
this.codFormStepThree.controls['parent_name'].clearValidators();
|
|
101
|
-
this.codFormStepThree.controls['parent_phone_indicative'].clearValidators();
|
|
102
|
-
this.codFormStepThree.controls['parent_occupation'].clearValidators();
|
|
103
|
-
this.codFormStepThree.controls['parent_address'].clearValidators();
|
|
104
|
-
this.codFormStepThree.controls['parent_phone_number'].clearValidators();
|
|
105
|
-
// Actualizar para que se tomen los cambios
|
|
106
|
-
this.updateValueAndValidity();
|
|
107
|
-
// Actualizar los controls globales
|
|
108
|
-
this.updateGlobalControls(change);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
updateGlobalControls(change) {
|
|
113
|
-
let controls = this.controls.filter(control => control.name !== 'needAtendant');
|
|
114
|
-
controls.forEach(control => {
|
|
115
|
-
if (change === '1')
|
|
116
|
-
this.codFormControls.changeValue(3, control.name, true);
|
|
117
|
-
if (change === '2')
|
|
118
|
-
this.codFormControls.changeValue(3, control.name, false);
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
updateValueAndValidity() {
|
|
122
|
-
this.codFormStepThree.controls['parent_id_card_type'].updateValueAndValidity();
|
|
123
|
-
this.codFormStepThree.controls['parent_id_card'].updateValueAndValidity();
|
|
124
|
-
this.codFormStepThree.controls['parent_last_name'].updateValueAndValidity();
|
|
125
|
-
this.codFormStepThree.controls['parent_name'].updateValueAndValidity();
|
|
126
|
-
this.codFormStepThree.controls['parent_phone_indicative'].updateValueAndValidity();
|
|
127
|
-
this.codFormStepThree.controls['parent_occupation'].updateValueAndValidity();
|
|
128
|
-
this.codFormStepThree.controls['parent_address'].updateValueAndValidity();
|
|
129
|
-
this.codFormStepThree.controls['parent_phone_number'].updateValueAndValidity();
|
|
130
|
-
}
|
|
131
|
-
needAtendant() {
|
|
132
|
-
return this.codFormStepThree.controls['needAtendant'].value == 1;
|
|
133
|
-
}
|
|
134
|
-
sendForm() {
|
|
135
|
-
this.codFormStepThree.markAllAsTouched();
|
|
136
|
-
if (this.codFormStepThree.controls['needAtendant'].value === '1' && this.codFormStepThree.invalid)
|
|
137
|
-
return;
|
|
138
|
-
// Movernos al paso 4
|
|
139
|
-
this.changeStepEvent.emit(3);
|
|
140
|
-
}
|
|
141
|
-
// Eventos de los select
|
|
142
|
-
selectNeedAtendant(needAtendant) {
|
|
143
|
-
if (needAtendant !== 'Requiere acudiente') {
|
|
144
|
-
this.codFormStepThree.controls['needAtendant'].setValue(needAtendant);
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
this.codFormStepThree.controls['needAtendant'].setValue(null);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
selectIdTypeParents(value) {
|
|
151
|
-
if (value !== 'Tipo de documento') {
|
|
152
|
-
this.codFormStepThree.controls['parent_id_card_type'].setValue(value);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
this.codFormStepThree.controls['parent_id_card_type'].setValue(null);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
selectIndicativesParents(value) {
|
|
159
|
-
if (value !== 'Indicativo') {
|
|
160
|
-
this.codFormStepThree.controls['parent_phone_indicative'].setValue(value);
|
|
161
|
-
}
|
|
162
|
-
else {
|
|
163
|
-
this.codFormStepThree.controls['parent_phone_indicative'].setValue(null);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
CodFormStepThreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i3.CodFormControls }], target: i0.ɵɵFactoryTarget.Component });
|
|
168
|
-
CodFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\n [control]=\"codFormStepThree.controls['needAtendant']\"\n (eventSelect)=\"selectNeedAtendant($event)\"\n [data]=\"needAtendants\"\n [defaultText]=\"'Requiere acudiente'\"\n ></ipt-select>\n </div>\n\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepThree.controls['parent_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdTypeParents($event)\"\n [defaultText]=\"'Tipo de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicativesParents($event)\"\n [defaultText]=\"'Indicativo'\"\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepThree.controls['parent_occupation']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepThree.controls['parent_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\n [control]=\"codFormStepThree.controls['parent_address']\"\n ></ipt-input>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [""], components: [{ type: i4.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { type: i5.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, decorators: [{
|
|
170
|
-
type: Component,
|
|
171
|
-
args: [{ selector: 'app-cod-form-step-three', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\n <div class=\"col-12\">\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\n [control]=\"codFormStepThree.controls['needAtendant']\"\n (eventSelect)=\"selectNeedAtendant($event)\"\n [data]=\"needAtendants\"\n [defaultText]=\"'Requiere acudiente'\"\n ></ipt-select>\n </div>\n\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codFormStepThree.controls['parent_name']\"\n ></ipt-input>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdTypeParents($event)\"\n [defaultText]=\"'Tipo de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\n ></ipt-select>\n <ipt-select\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicativesParents($event)\"\n [defaultText]=\"'Indicativo'\"\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Ocupaci\u00F3n'\"\n [control]=\"codFormStepThree.controls['parent_occupation']\"\n ></ipt-input>\n </div>\n <div class=\"col-12 md:col-6\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codFormStepThree.controls['parent_last_name']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codFormStepThree.controls['parent_id_card']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\n [control]=\"codFormStepThree.controls['parent_address']\"\n ></ipt-input>\n </div>\n </div>\n</form>\n\n<div class=\"flex mt-3 align-items-center gap-3\">\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\n</div>\n", styles: [""] }]
|
|
172
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }, { type: i3.CodFormControls }]; }, propDecorators: { changeStepEvent: [{
|
|
173
|
-
type: Output
|
|
174
|
-
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsWUFBWTtJQWdCekQsWUFDVSxFQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLGVBQWdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBSkEsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBbEJoQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBS3ZDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFDbkQsa0JBQWEsR0FBVTtZQUNyQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQzVDLEVBQUUsSUFBSSxFQUFFLEdB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Q0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNwQyxJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7O3NIQTNLVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix1SUNYdEMsMHVGQW1FQTsyRkR4RGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHlCQUF5QjsrSkFLekIsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvcGFyYW1ldGVycy1zZXJ2aWNlL3BhcmFtZXRlcnMuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XG5pbXBvcnQgeyBDb2RGb3JtU3RlcHMsIGxvY2FsU3RvcmFnZVZhbHVlcyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1mb3JtLXN0ZXBzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1mb3JtLXN0ZXAtdGhyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvZEZvcm1TdGVwVGhyZWVDb21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgY2hhbmdlU3RlcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIGdsb2JhbENvbnRyb2xzID0gbmV3IENvZEZvcm1Db250cm9scygpO1xuXG4gIGlkVHlwZXM6IGFueTtcbiAgaW5kaWNhdGl2ZXM6IGFueTtcbiAgY29kRm9ybVN0ZXBUaHJlZSE6IEZvcm1Hcm91cDtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIG5lZWRBdGVuZGFudHM6IGFueVtdID0gW1xuICAgIHsgY29kZTogJzEnLCBuYW1lOiAnU2kgcmVxdWllcmUgYWN1ZGllbnRlJyB9LFxuICAgIHsgY29kZTogJzInLCBuYW1lOiAnTm8gcmVxdWllcmUgYWN1ZGllbnRlJyB9LFxuICBdO1xuXG4gICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xuICAgY29udHJvbHMgPSBuZXcgQ29kRm9ybUNvbnRyb2xzKCkuY29udHJvbHNbMl07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBwYXJhbWV0ZXJTZXJ2aWNlOiBQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RGb3JtQ29udHJvbHNcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAgIHRoaXMudmFsaWRhdGVFcnJvcnMoKTtcbiAgfVxuXG4gIHZhbGlkYXRlRXJyb3JzKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNoYW5nZXMgPT4ge1xuICAgICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIG5vbWJyZXMgZGViZW4gdGVuZXIgbcOtbmltbyAzIGNhcmFjdGVyZXMnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIGFwZWxsaWRvcyBkZWJlbiB0ZW5lciBtw61uaW1vIDUgY2FyYWN0ZXJlcyc7XG4gICAgICB9XG4gICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hcic7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlcyA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMywgY29udHJvbC5uYW1lKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1tjb250cm9sLm5hbWVdLnNldFZhbHVlKGxvY2FsU3RvcmFnZVZhbHVlLnZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuRm9ybUNoYW5nZXMoMywgY29udHJvbC5uYW1lLCB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0Q2FyZFR5cGVzKCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmlkVHlwZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRJbmRpY2F0aXZlcygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaW5kaWNhdGl2ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICB9XG5cbiAgaW5pdEZvcm0oKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBwYXJlbnRfaWRfY2FyZF90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBwYXJlbnRfaWRfY2FyZDogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdLF0sXG4gICAgICBwYXJlbnRfbGFzdF9uYW1lOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpLF0sXSxcbiAgICAgIHBhcmVudF9uYW1lOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSxdLFxuICAgICAgbmVlZEF0ZW5kYW50OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgcGFyZW50X3Bob25lX2luZGljYXRpdmU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBwYXJlbnRfb2NjdXBhdGlvbjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHBhcmVudF9hZGRyZXNzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgcGFyZW50X3Bob25lX251bWJlcjogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSxWYWxpZGF0b3JzLm1heExlbmd0aCgxNSksXSxdLFxuICAgIH0pXG5cbiAgICB0aGlzLmxpc3Rlbk5lZWRBdGVuZGFudEZpZWxkKClcbiAgfVxuXG4gIGxpc3Rlbk5lZWRBdGVuZGFudEZpZWxkKCkge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuZ2V0KCduZWVkQXRlbmRhbnQnKTtcbiAgICBjb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgIGlmIChjaGFuZ2UgPT09ICcxJykge1xuICAgICAgICAvLyBQb25lciB2YWxpZGFjaW9uZXNcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmQnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTUpXSlcblxuICAgICAgICAvLyBBY3R1YWxpemFyIHBhcmEgcXVlIHNlIHRvbWVuIGxvcyBjYW1iaW9zXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgbG9zIGNvbnRyb2xzIGdsb2JhbGVzXG4gICAgICAgIHRoaXMudXBkYXRlR2xvYmFsQ29udHJvbHMoY2hhbmdlKVxuICAgICAgfVxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB7XG4gICAgICAgIC8vIFF1aXRhciBsYXMgdmFsaWRhY2lvbmVzXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9hZGRyZXNzJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddLmNsZWFyVmFsaWRhdG9ycygpO1xuXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgcGFyYSBxdWUgc2UgdG9tZW4gbG9zIGNhbWJpb3NcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG5cbiAgICAgICAgLy8gQWN0dWFsaXphciBsb3MgY29udHJvbHMgZ2xvYmFsZXNcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2U6IHN0cmluZykge1xuICAgIGxldCBjb250cm9scyA9IHRoaXMuY29udHJvbHMuZmlsdGVyKGNvbnRyb2wgPT4gY29udHJvbC5uYW1lICE9PSAnbmVlZEF0ZW5kYW50Jyk7XG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGlmIChjaGFuZ2UgPT09ICcxJykgdGhpcy5jb2RGb3JtQ29udHJvbHMuY2hhbmdlVmFsdWUoMywgY29udHJvbC5uYW1lLCB0cnVlKVxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSgzLCBjb250cm9sLm5hbWUsIGZhbHNlKVxuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gIH1cblxuICBuZWVkQXRlbmRhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT0gMTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT09ICcxJyAmJiB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyA0XG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgzKTtcbiAgfVxuXG4gIC8vIEV2ZW50b3MgZGUgbG9zIHNlbGVjdFxuICBzZWxlY3ROZWVkQXRlbmRhbnQobmVlZEF0ZW5kYW50OiBhbnkpIHtcbiAgICBpZiAobmVlZEF0ZW5kYW50ICE9PSAnUmVxdWllcmUgYWN1ZGllbnRlJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShuZWVkQXRlbmRhbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ25lZWRBdGVuZGFudCddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdElkVHlwZVBhcmVudHModmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPT0gJ1RpcG8gZGUgZG9jdW1lbnRvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJbmRpY2F0aXZlc1BhcmVudHModmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPT0gJ0luZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY29kRm9ybVN0ZXBUaHJlZVwiY2xhc3M9XCJncmlkXCI+XG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0TmVlZEF0ZW5kYW50KCRldmVudClcIlxuICAgICAgW2RhdGFdPVwibmVlZEF0ZW5kYW50c1wiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ1JlcXVpZXJlIGFjdWRpZW50ZSdcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCJuZWVkQXRlbmRhbnQoKVwiIGNsYXNzPVwiZ3JpZCBjb2wtMTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIG1kOmNvbC02XCI+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOb21icmVzJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10udmFsdWVcIlxuICAgICAgICBbZGF0YV09XCJpZFR5cGVzXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZVBhcmVudHMoJGV2ZW50KVwiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInVGlwbyBkZSBkb2N1bWVudG8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8aXB0LXNlbGVjdFxuICAgICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udmFsdWVcIlxuICAgICAgICBbZGF0YV09XCJpbmRpY2F0aXZlc1wiXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJbmRpY2F0aXZlc1BhcmVudHMoJGV2ZW50KVwiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInSW5kaWNhdGl2bydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZSddXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidPY3VwYWNpw7NuJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgbWQ6Y29sLTZcIj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0FwZWxsaWRvcydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSB0ZWzDqWZvbm8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RpcmVjY2nDs24gLSBPZmljaW5hJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9hZGRyZXNzJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdiBjbGFzcz1cImZsZXggbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgPHNwYW4gKm5nSWY9XCIoY29kRm9ybVN0ZXBUaHJlZS5pbnZhbGlkICYmIGNvZEZvcm1TdGVwVGhyZWUudG91Y2hlZCkgJiYgbmVlZEF0ZW5kYW50KClcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJtbC1hdXRvIHAtYnV0dG9uLXNtXCIgKGNsaWNrKT1cInNlbmRGb3JtKClcIiBwQnV0dG9uIGxhYmVsPVwiU2lndWllbnRlXCIgaWNvbj1cInBpIHBpLWFycm93LXJpZ2h0XCI+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
1
|
+
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { CodFormControls } from '../../logic/cod-form-controls';
|
|
4
|
+
import { CodFormSteps } from '../../logic/cod-form-steps';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "../../../core/services/parameters-service/parameters.service";
|
|
8
|
+
import * as i3 from "../../logic/cod-form-controls";
|
|
9
|
+
import * as i4 from "../../../components/atoms/select/select.component";
|
|
10
|
+
import * as i5 from "../../../components/atoms/input/input.component";
|
|
11
|
+
import * as i6 from "@angular/common";
|
|
12
|
+
import * as i7 from "primeng/button";
|
|
13
|
+
export class CodFormStepThreeComponent extends CodFormSteps {
|
|
14
|
+
constructor(fb, parameterService, codFormControls) {
|
|
15
|
+
super();
|
|
16
|
+
this.fb = fb;
|
|
17
|
+
this.parameterService = parameterService;
|
|
18
|
+
this.codFormControls = codFormControls;
|
|
19
|
+
this.changeStepEvent = new EventEmitter();
|
|
20
|
+
this.globalControls = new CodFormControls();
|
|
21
|
+
this.errorMessage = 'Faltan campos por llenar.';
|
|
22
|
+
this.needAtendants = [
|
|
23
|
+
{ code: '1', name: 'Si requiere acudiente' },
|
|
24
|
+
{ code: '2', name: 'No requiere acudiente' },
|
|
25
|
+
];
|
|
26
|
+
// Controls del formulario
|
|
27
|
+
this.controls = new CodFormControls().controls[2];
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.getParameters();
|
|
31
|
+
this.initForm();
|
|
32
|
+
this.startLocalStorageWork();
|
|
33
|
+
this.validateErrors();
|
|
34
|
+
}
|
|
35
|
+
validateErrors() {
|
|
36
|
+
this.codFormStepThree.valueChanges.subscribe(changes => {
|
|
37
|
+
if (this.codFormStepThree.controls['parent_name'].hasError('minlength')) {
|
|
38
|
+
this.errorMessage = 'Los nombres deben tener mínimo 3 caracteres';
|
|
39
|
+
}
|
|
40
|
+
else if (this.codFormStepThree.controls['parent_last_name'].hasError('minlength')) {
|
|
41
|
+
this.errorMessage = 'Los apellidos deben tener mínimo 5 caracteres';
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.errorMessage = 'Faltan campos por llenar';
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
startLocalStorageWork() {
|
|
49
|
+
this.controls.forEach(control => {
|
|
50
|
+
let localStorageValue = this.readAndWriteLS(3, control.name);
|
|
51
|
+
this.codFormStepThree.controls[control.name].setValue(localStorageValue.value);
|
|
52
|
+
this.listenFormChanges(3, control.name, this.codFormStepThree.controls[control.name].valueChanges);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
getParameters() {
|
|
56
|
+
this.parameterService.getCardTypes('col').subscribe((response) => {
|
|
57
|
+
this.idTypes = response.data;
|
|
58
|
+
});
|
|
59
|
+
this.parameterService.getIndicatives().subscribe((response) => {
|
|
60
|
+
this.indicatives = response.data;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
initForm() {
|
|
64
|
+
this.codFormStepThree = this.fb.group({
|
|
65
|
+
parent_id_card_type: ['', [Validators.required]],
|
|
66
|
+
parent_id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),],],
|
|
67
|
+
parent_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32),],],
|
|
68
|
+
parent_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)],],
|
|
69
|
+
needAtendant: ['', [Validators.required], []],
|
|
70
|
+
parent_phone_indicative: ['', [Validators.required], []],
|
|
71
|
+
parent_occupation: ['', [Validators.required], []],
|
|
72
|
+
parent_address: ['', [Validators.required], []],
|
|
73
|
+
parent_phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15),],],
|
|
74
|
+
});
|
|
75
|
+
this.listenNeedAtendantField();
|
|
76
|
+
}
|
|
77
|
+
listenNeedAtendantField() {
|
|
78
|
+
const control = this.codFormStepThree.get('needAtendant');
|
|
79
|
+
control?.valueChanges.subscribe((change) => {
|
|
80
|
+
if (change === '1') {
|
|
81
|
+
// Poner validaciones
|
|
82
|
+
this.codFormStepThree.controls['parent_id_card_type'].setValidators([Validators.required]);
|
|
83
|
+
this.codFormStepThree.controls['parent_id_card'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(20)]);
|
|
84
|
+
this.codFormStepThree.controls['parent_last_name'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(32)]);
|
|
85
|
+
this.codFormStepThree.controls['parent_name'].setValidators([Validators.required, Validators.minLength(3), Validators.maxLength(32)]);
|
|
86
|
+
this.codFormStepThree.controls['parent_phone_indicative'].setValidators([Validators.required]);
|
|
87
|
+
this.codFormStepThree.controls['parent_occupation'].setValidators([Validators.required]);
|
|
88
|
+
this.codFormStepThree.controls['parent_address'].setValidators([Validators.required]);
|
|
89
|
+
this.codFormStepThree.controls['parent_phone_number'].setValidators([Validators.required, Validators.minLength(10), Validators.maxLength(15)]);
|
|
90
|
+
// Actualizar para que se tomen los cambios
|
|
91
|
+
this.updateValueAndValidity();
|
|
92
|
+
// Actualizar los controls globales
|
|
93
|
+
this.updateGlobalControls(change);
|
|
94
|
+
}
|
|
95
|
+
if (change === '2') {
|
|
96
|
+
// Quitar las validaciones
|
|
97
|
+
this.codFormStepThree.controls['parent_id_card_type'].clearValidators();
|
|
98
|
+
this.codFormStepThree.controls['parent_id_card'].clearValidators();
|
|
99
|
+
this.codFormStepThree.controls['parent_last_name'].clearValidators();
|
|
100
|
+
this.codFormStepThree.controls['parent_name'].clearValidators();
|
|
101
|
+
this.codFormStepThree.controls['parent_phone_indicative'].clearValidators();
|
|
102
|
+
this.codFormStepThree.controls['parent_occupation'].clearValidators();
|
|
103
|
+
this.codFormStepThree.controls['parent_address'].clearValidators();
|
|
104
|
+
this.codFormStepThree.controls['parent_phone_number'].clearValidators();
|
|
105
|
+
// Actualizar para que se tomen los cambios
|
|
106
|
+
this.updateValueAndValidity();
|
|
107
|
+
// Actualizar los controls globales
|
|
108
|
+
this.updateGlobalControls(change);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
updateGlobalControls(change) {
|
|
113
|
+
let controls = this.controls.filter(control => control.name !== 'needAtendant');
|
|
114
|
+
controls.forEach(control => {
|
|
115
|
+
if (change === '1')
|
|
116
|
+
this.codFormControls.changeValue(3, control.name, true);
|
|
117
|
+
if (change === '2')
|
|
118
|
+
this.codFormControls.changeValue(3, control.name, false);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
updateValueAndValidity() {
|
|
122
|
+
this.codFormStepThree.controls['parent_id_card_type'].updateValueAndValidity();
|
|
123
|
+
this.codFormStepThree.controls['parent_id_card'].updateValueAndValidity();
|
|
124
|
+
this.codFormStepThree.controls['parent_last_name'].updateValueAndValidity();
|
|
125
|
+
this.codFormStepThree.controls['parent_name'].updateValueAndValidity();
|
|
126
|
+
this.codFormStepThree.controls['parent_phone_indicative'].updateValueAndValidity();
|
|
127
|
+
this.codFormStepThree.controls['parent_occupation'].updateValueAndValidity();
|
|
128
|
+
this.codFormStepThree.controls['parent_address'].updateValueAndValidity();
|
|
129
|
+
this.codFormStepThree.controls['parent_phone_number'].updateValueAndValidity();
|
|
130
|
+
}
|
|
131
|
+
needAtendant() {
|
|
132
|
+
return this.codFormStepThree.controls['needAtendant'].value == 1;
|
|
133
|
+
}
|
|
134
|
+
sendForm() {
|
|
135
|
+
this.codFormStepThree.markAllAsTouched();
|
|
136
|
+
if (this.codFormStepThree.controls['needAtendant'].value === '1' && this.codFormStepThree.invalid)
|
|
137
|
+
return;
|
|
138
|
+
// Movernos al paso 4
|
|
139
|
+
this.changeStepEvent.emit(3);
|
|
140
|
+
}
|
|
141
|
+
// Eventos de los select
|
|
142
|
+
selectNeedAtendant(needAtendant) {
|
|
143
|
+
if (needAtendant !== 'Requiere acudiente') {
|
|
144
|
+
this.codFormStepThree.controls['needAtendant'].setValue(needAtendant);
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
this.codFormStepThree.controls['needAtendant'].setValue(null);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
selectIdTypeParents(value) {
|
|
151
|
+
if (value !== 'Tipo de documento') {
|
|
152
|
+
this.codFormStepThree.controls['parent_id_card_type'].setValue(value);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
this.codFormStepThree.controls['parent_id_card_type'].setValue(null);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
selectIndicativesParents(value) {
|
|
159
|
+
if (value !== 'Indicativo') {
|
|
160
|
+
this.codFormStepThree.controls['parent_phone_indicative'].setValue(value);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
this.codFormStepThree.controls['parent_phone_indicative'].setValue(null);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
CodFormStepThreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i3.CodFormControls }], target: i0.ɵɵFactoryTarget.Component });
|
|
168
|
+
CodFormStepThreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CodFormStepThreeComponent, selector: "app-cod-form-step-three", outputs: { changeStepEvent: "changeStepEvent" }, usesInheritance: true, ngImport: i0, template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\r\n [control]=\"codFormStepThree.controls['needAtendant']\"\r\n (eventSelect)=\"selectNeedAtendant($event)\"\r\n [data]=\"needAtendants\"\r\n [defaultText]=\"'Requiere acudiente'\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepThree.controls['parent_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdTypeParents($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicativesParents($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupaci\u00F3n'\"\r\n [control]=\"codFormStepThree.controls['parent_occupation']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepThree.controls['parent_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\r\n [control]=\"codFormStepThree.controls['parent_address']\"\r\n ></ipt-input>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n", styles: [""], components: [{ type: i4.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { type: i5.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CodFormStepThreeComponent, decorators: [{
|
|
170
|
+
type: Component,
|
|
171
|
+
args: [{ selector: 'app-cod-form-step-three', template: "<form autocomplete=\"off\" [formGroup]=\"codFormStepThree\"class=\"grid\">\r\n <div class=\"col-12\">\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['needAtendant'].value\"\r\n [control]=\"codFormStepThree.controls['needAtendant']\"\r\n (eventSelect)=\"selectNeedAtendant($event)\"\r\n [data]=\"needAtendants\"\r\n [defaultText]=\"'Requiere acudiente'\"\r\n ></ipt-select>\r\n </div>\r\n\r\n <div *ngIf=\"needAtendant()\" class=\"grid col-12\">\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Nombres'\"\r\n [control]=\"codFormStepThree.controls['parent_name']\"\r\n ></ipt-input>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_id_card_type'].value\"\r\n [data]=\"idTypes\"\r\n (eventSelect)=\"selectIdTypeParents($event)\"\r\n [defaultText]=\"'Tipo de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card_type']\"\r\n ></ipt-select>\r\n <ipt-select\r\n [initialValue]=\"codFormStepThree.controls['parent_phone_indicative'].value\"\r\n [data]=\"indicatives\"\r\n (eventSelect)=\"selectIndicativesParents($event)\"\r\n [defaultText]=\"'Indicativo'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_indicative']\"\r\n ></ipt-select>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Ocupaci\u00F3n'\"\r\n [control]=\"codFormStepThree.controls['parent_occupation']\"\r\n ></ipt-input>\r\n </div>\r\n <div class=\"col-12 md:col-6\">\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Apellidos'\"\r\n [control]=\"codFormStepThree.controls['parent_last_name']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de documento'\"\r\n [control]=\"codFormStepThree.controls['parent_id_card']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'number'\"\r\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\r\n [control]=\"codFormStepThree.controls['parent_phone_number']\"\r\n ></ipt-input>\r\n <ipt-input\r\n [inputType]=\"'text'\"\r\n [placeHolder]=\"'Direcci\u00F3n - Oficina'\"\r\n [control]=\"codFormStepThree.controls['parent_address']\"\r\n ></ipt-input>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<div class=\"flex mt-3 align-items-center gap-3\">\r\n <span *ngIf=\"(codFormStepThree.invalid && codFormStepThree.touched) && needAtendant()\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span>\r\n <button type=\"submit\" class=\"ml-auto p-button-sm\" (click)=\"sendForm()\" pButton label=\"Siguiente\" icon=\"pi pi-arrow-right\"></button>\r\n</div>\r\n", styles: [""] }]
|
|
172
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }, { type: i3.CodFormControls }]; }, propDecorators: { changeStepEvent: [{
|
|
173
|
+
type: Output
|
|
174
|
+
}] } });
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLWZvcm0tc3RlcC10aHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQXNCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7OztBQU85RSxNQUFNLE9BQU8seUJBQTBCLFNBQVEsWUFBWTtJQWdCekQsWUFDVSxFQUFlLEVBQ2YsZ0JBQWtDLEVBQ2xDLGVBQWdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBSkEsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBbEJoQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBS3ZDLGlCQUFZLEdBQVcsMkJBQTJCLENBQUM7UUFDbkQsa0JBQWEsR0FBVTtZQUNyQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQzVDLEVBQUUsSUFBSSxFQUFFLEdB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Q0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNwQyxJQUFJLEtBQUssS0FBSyxZQUFZLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUM7O3NIQTNLVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix1SUNYdEMsZzNGQW1FQTsyRkR4RGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHlCQUF5QjsrSkFLekIsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFBhcmFtZXRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3BhcmFtZXRlcnMtc2VydmljZS9wYXJhbWV0ZXJzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb2RGb3JtQ29udHJvbHMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1jb250cm9scyc7XHJcbmltcG9ydCB7IENvZEZvcm1TdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tc3RlcHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29kLWZvcm0tc3RlcC10aHJlZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtdGhyZWUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcFRocmVlQ29tcG9uZW50IGV4dGVuZHMgQ29kRm9ybVN0ZXBzIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgY2hhbmdlU3RlcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgZ2xvYmFsQ29udHJvbHMgPSBuZXcgQ29kRm9ybUNvbnRyb2xzKCk7XHJcblxyXG4gIGlkVHlwZXM6IGFueTtcclxuICBpbmRpY2F0aXZlczogYW55O1xyXG4gIGNvZEZvcm1TdGVwVGhyZWUhOiBGb3JtR3JvdXA7XHJcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XHJcbiAgbmVlZEF0ZW5kYW50czogYW55W10gPSBbXHJcbiAgICB7IGNvZGU6ICcxJywgbmFtZTogJ1NpIHJlcXVpZXJlIGFjdWRpZW50ZScgfSxcclxuICAgIHsgY29kZTogJzInLCBuYW1lOiAnTm8gcmVxdWllcmUgYWN1ZGllbnRlJyB9LFxyXG4gIF07XHJcblxyXG4gICAvLyBDb250cm9scyBkZWwgZm9ybXVsYXJpb1xyXG4gICBjb250cm9scyA9IG5ldyBDb2RGb3JtQ29udHJvbHMoKS5jb250cm9sc1syXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgcGFyYW1ldGVyU2VydmljZTogUGFyYW1ldGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RGb3JtQ29udHJvbHNcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xyXG4gICAgdGhpcy5pbml0Rm9ybSgpO1xyXG4gICAgdGhpcy5zdGFydExvY2FsU3RvcmFnZVdvcmsoKTtcclxuICAgIHRoaXMudmFsaWRhdGVFcnJvcnMoKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRXJyb3JzKCkge1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIG5vbWJyZXMgZGViZW4gdGVuZXIgbcOtbmltbyAzIGNhcmFjdGVyZXMnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0xvcyBhcGVsbGlkb3MgZGViZW4gdGVuZXIgbcOtbmltbyA1IGNhcmFjdGVyZXMnO1xyXG4gICAgICB9XHJcbiAgICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdGYWx0YW4gY2FtcG9zIHBvciBsbGVuYXInO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xyXG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xyXG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlcyA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMywgY29udHJvbC5uYW1lKTtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xyXG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDMsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFyYW1ldGVycygpIHtcclxuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDYXJkVHlwZXMoJ2NvbCcpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5pZFR5cGVzID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEluZGljYXRpdmVzKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLmluZGljYXRpdmVzID0gcmVzcG9uc2UuZGF0YTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdEZvcm0oKSB7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgcGFyZW50X2lkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxyXG4gICAgICBwYXJlbnRfaWRfY2FyZDogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdLF0sXHJcbiAgICAgIHBhcmVudF9sYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxyXG4gICAgICBwYXJlbnRfbmFtZTogWycnLFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0sXSxcclxuICAgICAgbmVlZEF0ZW5kYW50OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxyXG4gICAgICBwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcclxuICAgICAgcGFyZW50X29jY3VwYXRpb246IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXHJcbiAgICAgIHBhcmVudF9hZGRyZXNzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxyXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBbJycsW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMTApLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KSxdLF0sXHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMubGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKVxyXG4gIH1cclxuXHJcbiAgbGlzdGVuTmVlZEF0ZW5kYW50RmllbGQoKSB7XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5jb2RGb3JtU3RlcFRocmVlLmdldCgnbmVlZEF0ZW5kYW50Jyk7XHJcbiAgICBjb250cm9sPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcclxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzEnKSB7XHJcbiAgICAgICAgLy8gUG9uZXIgdmFsaWRhY2lvbmVzXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApXSlcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9sYXN0X25hbWUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV0pXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXSlcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWluTGVuZ3RoKDEwKSxWYWxpZGF0b3JzLm1heExlbmd0aCgxNSldKVxyXG5cclxuICAgICAgICAvLyBBY3R1YWxpemFyIHBhcmEgcXVlIHNlIHRvbWVuIGxvcyBjYW1iaW9zXHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgbG9zIGNvbnRyb2xzIGdsb2JhbGVzXHJcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB7XHJcbiAgICAgICAgLy8gUXVpdGFyIGxhcyB2YWxpZGFjaW9uZXNcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkX3R5cGUnXS5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ10uY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbGFzdF9uYW1lJ10uY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfbmFtZSddLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9vY2N1cGF0aW9uJ10uY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddLmNsZWFyVmFsaWRhdG9ycygpO1xyXG5cclxuICAgICAgICAvLyBBY3R1YWxpemFyIHBhcmEgcXVlIHNlIHRvbWVuIGxvcyBjYW1iaW9zXHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG4gICAgICAgIC8vIEFjdHVhbGl6YXIgbG9zIGNvbnRyb2xzIGdsb2JhbGVzXHJcbiAgICAgICAgdGhpcy51cGRhdGVHbG9iYWxDb250cm9scyhjaGFuZ2UpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlR2xvYmFsQ29udHJvbHMoY2hhbmdlOiBzdHJpbmcpIHtcclxuICAgIGxldCBjb250cm9scyA9IHRoaXMuY29udHJvbHMuZmlsdGVyKGNvbnRyb2wgPT4gY29udHJvbC5uYW1lICE9PSAnbmVlZEF0ZW5kYW50Jyk7XHJcbiAgICBjb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xyXG4gICAgICBpZiAoY2hhbmdlID09PSAnMScpIHRoaXMuY29kRm9ybUNvbnRyb2xzLmNoYW5nZVZhbHVlKDMsIGNvbnRyb2wubmFtZSwgdHJ1ZSlcclxuICAgICAgaWYgKGNoYW5nZSA9PT0gJzInKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSgzLCBjb250cm9sLm5hbWUsIGZhbHNlKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCkge1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X25hbWUnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfb2NjdXBhdGlvbiddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2FkZHJlc3MnXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9udW1iZXInXS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG5cclxuICBuZWVkQXRlbmRhbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS52YWx1ZSA9PSAxO1xyXG4gIH1cclxuXHJcbiAgc2VuZEZvcm0oKSB7XHJcbiAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWUgPT09ICcxJyAmJiB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuaW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIC8vIE1vdmVybm9zIGFsIHBhc28gNFxyXG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgzKTtcclxuICB9XHJcblxyXG4gIC8vIEV2ZW50b3MgZGUgbG9zIHNlbGVjdFxyXG4gIHNlbGVjdE5lZWRBdGVuZGFudChuZWVkQXRlbmRhbnQ6IGFueSkge1xyXG4gICAgaWYgKG5lZWRBdGVuZGFudCAhPT0gJ1JlcXVpZXJlIGFjdWRpZW50ZScpIHtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShuZWVkQXRlbmRhbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXS5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdElkVHlwZVBhcmVudHModmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlICE9PSAnVGlwbyBkZSBkb2N1bWVudG8nKSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SW5kaWNhdGl2ZXNQYXJlbnRzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gJ0luZGljYXRpdm8nKSB7XHJcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZEZvcm1TdGVwVGhyZWVcImNsYXNzPVwiZ3JpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgIDxpcHQtc2VsZWN0XHJcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1snbmVlZEF0ZW5kYW50J10udmFsdWVcIlxyXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWyduZWVkQXRlbmRhbnQnXVwiXHJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3ROZWVkQXRlbmRhbnQoJGV2ZW50KVwiXHJcbiAgICAgIFtkYXRhXT1cIm5lZWRBdGVuZGFudHNcIlxyXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ1JlcXVpZXJlIGFjdWRpZW50ZSdcIlxyXG4gICAgPjwvaXB0LXNlbGVjdD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cIm5lZWRBdGVuZGFudCgpXCIgY2xhc3M9XCJncmlkIGNvbC0xMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIlxyXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9uYW1lJ11cIlxyXG4gICAgICA+PC9pcHQtaW5wdXQ+XHJcbiAgICAgIDxpcHQtc2VsZWN0XHJcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ10udmFsdWVcIlxyXG4gICAgICAgIFtkYXRhXT1cImlkVHlwZXNcIlxyXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJZFR5cGVQYXJlbnRzKCRldmVudClcIlxyXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInVGlwbyBkZSBkb2N1bWVudG8nXCJcclxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfaWRfY2FyZF90eXBlJ11cIlxyXG4gICAgICA+PC9pcHQtc2VsZWN0PlxyXG4gICAgICA8aXB0LXNlbGVjdFxyXG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXS52YWx1ZVwiXHJcbiAgICAgICAgW2RhdGFdPVwiaW5kaWNhdGl2ZXNcIlxyXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJbmRpY2F0aXZlc1BhcmVudHMoJGV2ZW50KVwiXHJcbiAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidJbmRpY2F0aXZvJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX2luZGljYXRpdmUnXVwiXHJcbiAgICAgID48L2lwdC1zZWxlY3Q+XHJcbiAgICAgIDxpcHQtaW5wdXRcclxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXHJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidPY3VwYWNpw7NuJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X29jY3VwYXRpb24nXVwiXHJcbiAgICAgID48L2lwdC1pbnB1dD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNlwiPlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInQXBlbGxpZG9zJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X2xhc3RfbmFtZSddXCJcclxuICAgICAgPjwvaXB0LWlucHV0PlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIGRvY3VtZW50bydcIlxyXG4gICAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVGhyZWUuY29udHJvbHNbJ3BhcmVudF9pZF9jYXJkJ11cIlxyXG4gICAgICA+PC9pcHQtaW5wdXQ+XHJcbiAgICAgIDxpcHQtaW5wdXRcclxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcclxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXHJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUaHJlZS5jb250cm9sc1sncGFyZW50X3Bob25lX251bWJlciddXCJcclxuICAgICAgPjwvaXB0LWlucHV0PlxyXG4gICAgICA8aXB0LWlucHV0XHJcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInRGlyZWNjacOzbiAtIE9maWNpbmEnXCJcclxuICAgICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFRocmVlLmNvbnRyb2xzWydwYXJlbnRfYWRkcmVzcyddXCJcclxuICAgICAgPjwvaXB0LWlucHV0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuXHJcbjxkaXYgY2xhc3M9XCJmbGV4IG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XHJcbiAgPHNwYW4gKm5nSWY9XCIoY29kRm9ybVN0ZXBUaHJlZS5pbnZhbGlkICYmIGNvZEZvcm1TdGVwVGhyZWUudG91Y2hlZCkgJiYgbmVlZEF0ZW5kYW50KClcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cclxuICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cIm1sLWF1dG8gcC1idXR0b24tc21cIiAoY2xpY2spPVwic2VuZEZvcm0oKVwiIHBCdXR0b24gbGFiZWw9XCJTaWd1aWVudGVcIiBpY29uPVwicGkgcGktYXJyb3ctcmlnaHRcIj48L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
|