iptdevs-design-system 2.7.82 → 2.7.84
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/esm2020/lib/cod/cod-documents-section/cod-documents-section.component.mjs +3 -3
- package/esm2020/lib/cod/cod-form/cod-form.component.mjs +13 -13
- package/esm2020/lib/cod/cod.module.mjs +13 -15
- package/esm2020/lib/cod/logic/calculate-quotes.service.mjs +4 -4
- package/esm2020/lib/cod/logic/cod-form-controls.mjs +3 -3
- package/esm2020/lib/cod/logic/communicator.service.mjs +3 -3
- package/esm2020/lib/cod/logic/local-storage-cod.service.mjs +3 -3
- package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +9 -9
- package/esm2020/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.mjs +9 -9
- package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +6 -6
- package/esm2020/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.mjs +6 -6
- package/esm2020/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.mjs +7 -7
- package/esm2020/lib/components/atoms/aside-button/aside-button.component.mjs +4 -4
- package/esm2020/lib/components/atoms/button/button.component.mjs +4 -4
- package/esm2020/lib/components/atoms/checkbox/checkbox.component.mjs +4 -4
- package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +4 -4
- package/esm2020/lib/components/atoms/input/input.component.mjs +4 -4
- package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +4 -4
- package/esm2020/lib/components/atoms/level-text/level-text.component.mjs +3 -3
- package/esm2020/lib/components/atoms/loader/loader.component.mjs +4 -4
- package/esm2020/lib/components/atoms/radio/radio.component.mjs +5 -5
- package/esm2020/lib/components/atoms/select/select.component.mjs +4 -4
- package/esm2020/lib/components/atoms/text-link/text-link.component.mjs +3 -3
- package/esm2020/lib/components/components.module.mjs +11 -13
- package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +9 -9
- package/esm2020/lib/components/forms/login-form/login-form.component.mjs +7 -7
- package/esm2020/lib/components/material.module.mjs +4 -4
- package/esm2020/lib/components/molecules/question-type/edit-question-types.component.mjs +7 -7
- package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +9 -9
- package/esm2020/lib/core/core.module.mjs +4 -4
- package/esm2020/lib/core/services/academic-service/academic.service.mjs +3 -3
- package/esm2020/lib/core/services/activity-service/activity.service.mjs +3 -3
- package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +3 -3
- package/esm2020/lib/core/services/budget-service/budget-service.mjs +3 -3
- package/esm2020/lib/core/services/calendar-service/calendar.service.mjs +3 -3
- package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +3 -3
- package/esm2020/lib/core/services/classroom-service/classroom-service.service.mjs +3 -3
- package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +3 -3
- package/esm2020/lib/core/services/copies.service.mjs +3 -3
- package/esm2020/lib/core/services/course-service/course-service.model.mjs +3 -3
- package/esm2020/lib/core/services/ekt-service/userekt.service.mjs +3 -3
- package/esm2020/lib/core/services/marketing-service/marketing-service.mjs +3 -3
- package/esm2020/lib/core/services/notes-service/notes.service.mjs +3 -3
- package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +3 -3
- package/esm2020/lib/core/services/storage-service/storage-service.mjs +3 -3
- package/esm2020/lib/core/services/student-service/student.service.mjs +3 -3
- package/esm2020/lib/core/services/switch-service/switch.service.mjs +3 -3
- package/esm2020/lib/core/services/test-service/test.service.mjs +3 -3
- package/esm2020/lib/core/services/user-service/user-service.mjs +3 -3
- package/esm2020/lib/core/utils/base-service/base.service.mjs +3 -3
- package/esm2020/lib/core/utils/route-service/route.service.mjs +3 -3
- package/esm2020/lib/design-system.module.mjs +8 -10
- package/fesm2015/iptdevs-design-system.mjs +209 -215
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +209 -215
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/cod/cod-documents-section/cod-documents-section.component.d.ts +1 -1
- package/lib/cod/cod-form/cod-form.component.d.ts +1 -1
- package/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.d.ts +1 -1
- package/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.d.ts +1 -1
- package/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.d.ts +1 -1
- package/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.d.ts +1 -1
- package/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.d.ts +1 -1
- package/lib/components/atoms/aside-button/aside-button.component.d.ts +1 -1
- package/lib/components/atoms/button/button.component.d.ts +1 -1
- package/lib/components/atoms/checkbox/checkbox.component.d.ts +1 -1
- package/lib/components/atoms/datalist/datalist.component.d.ts +1 -1
- package/lib/components/atoms/input/input.component.d.ts +1 -1
- package/lib/components/atoms/level-button/level-button.component.d.ts +1 -1
- package/lib/components/atoms/level-text/level-text.component.d.ts +1 -1
- package/lib/components/atoms/loader/loader.component.d.ts +1 -1
- package/lib/components/atoms/radio/radio.component.d.ts +1 -1
- package/lib/components/atoms/select/select.component.d.ts +1 -1
- package/lib/components/atoms/text-link/text-link.component.d.ts +1 -1
- package/lib/components/forms/create-user-form/create-user-form.component.d.ts +1 -1
- package/lib/components/forms/login-form/login-form.component.d.ts +1 -1
- package/lib/components/molecules/question-type/edit-question-types.component.d.ts +1 -1
- package/lib/components/molecules/sidenav/sidenav.component.d.ts +1 -1
- package/package.json +3 -3
- /package/{iptdevs-design-system.d.ts → index.d.ts} +0 -0
|
@@ -7,8 +7,8 @@ export class LoaderComponent {
|
|
|
7
7
|
this.isDialog = false;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10
|
+
LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
+
LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: LoaderComponent, selector: "ipt-loader", inputs: { message: "message", isDialog: "isDialog" }, ngImport: i0, template: `
|
|
12
12
|
<div [ngClass]="{'dialog': isDialog}">
|
|
13
13
|
<div [ngClass]="{'loader_container' : isDialog}">
|
|
14
14
|
<span>{{ message }}</span>
|
|
@@ -22,8 +22,8 @@ LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
24
24
|
</div>
|
|
25
|
-
</div>`, isInline: true, styles: [".dialog{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s;z-index:9999}.loader_container{height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:6px;padding:1rem;z-index:9999}span{display:flex;justify-content:center;color:#1c77f7;font:bold;margin-bottom:1rem}.container{display:flex;justify-content:center}.spinner{width:60px;height:60px;position:relative}.spinner .dot{position:absolute;inset:0;display:flex;justify-content:center}.spinner .dot:after{content:\"\";width:7px;height:7px;border-radius:50%;background-color:#1c77f7}@keyframes spin{to{transform:rotate(360deg)}}.spinner .dot{animation:spin 2s infinite}.spinner .dot:nth-child(2){animation-delay:.1s}.spinner .dot:nth-child(3){animation-delay:.2s}.spinner .dot:nth-child(4){animation-delay:.3s}.spinner .dot:nth-child(5){animation-delay:.4s}\n"],
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
25
|
+
</div>`, isInline: true, styles: [".dialog{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s;z-index:9999}.loader_container{height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:6px;padding:1rem;z-index:9999}span{display:flex;justify-content:center;color:#1c77f7;font:bold;margin-bottom:1rem}.container{display:flex;justify-content:center}.spinner{width:60px;height:60px;position:relative}.spinner .dot{position:absolute;inset:0;display:flex;justify-content:center}.spinner .dot:after{content:\"\";width:7px;height:7px;border-radius:50%;background-color:#1c77f7}@keyframes spin{to{transform:rotate(360deg)}}.spinner .dot{animation:spin 2s infinite}.spinner .dot:nth-child(2){animation-delay:.1s}.spinner .dot:nth-child(3){animation-delay:.2s}.spinner .dot:nth-child(4){animation-delay:.3s}.spinner .dot:nth-child(5){animation-delay:.4s}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{ selector: 'ipt-loader', template: `
|
|
29
29
|
<div [ngClass]="{'dialog': isDialog}">
|
|
@@ -12,8 +12,8 @@ export class RadioComponent {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
15
|
+
RadioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: RadioComponent, selector: "ipt-radio", inputs: { radioOption: "radioOption", control: "control" }, outputs: { onSelected: "onSelected" }, ngImport: i0, template: `
|
|
17
17
|
<label class="cont">
|
|
18
18
|
<input
|
|
19
19
|
class="radio"
|
|
@@ -23,8 +23,8 @@ RadioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
|
23
23
|
type="radio">
|
|
24
24
|
<span></span>
|
|
25
25
|
</label>
|
|
26
|
-
`, isInline: true, styles: [""],
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
`, isInline: true, styles: [""], dependencies: [{ kind: "directive", type: i1.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: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: RadioComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{ selector: 'ipt-radio', template: `
|
|
30
30
|
<label class="cont">
|
|
@@ -36,7 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
36
36
|
type="radio">
|
|
37
37
|
<span></span>
|
|
38
38
|
</label>
|
|
39
|
-
|
|
39
|
+
` }]
|
|
40
40
|
}], propDecorators: { radioOption: [{
|
|
41
41
|
type: Input
|
|
42
42
|
}], control: [{
|
|
@@ -49,8 +49,8 @@ export class SelectComponent {
|
|
|
49
49
|
return (this.clicked || this.initialValue !== '') ? 'labelUp' : 'label';
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
53
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
52
|
+
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: SelectComponent, selector: "ipt-select", inputs: { isRequired: "isRequired", data: "data", defaultText: "defaultText", selectCode: "selectCode", disabledSel: "disabledSel", initialValue: "initialValue", control: "control" }, outputs: { eventSelect: "eventSelect" }, usesOnChanges: true, ngImport: i0, template: `
|
|
54
54
|
<div class="select-container">
|
|
55
55
|
<label [ngClass]="labelClass">{{ defaultText }}</label>
|
|
56
56
|
<select
|
|
@@ -64,8 +64,8 @@ SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
|
|
|
64
64
|
</option>
|
|
65
65
|
</select>
|
|
66
66
|
</div>
|
|
67
|
-
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.select-container{position:relative;margin-top:30px}.select{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}.selected{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;transition:.5s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;background-color:#fff;padding-left:10px}select:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.select:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"],
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
+
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.select-container{position:relative;margin-top:30px}.select{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:10px;background-color:#fff;-webkit-appearance:none}.selected{box-shadow:#64646f33 0 7px 29px;border-radius:6px;border:none;outline:none;transition:.5s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;background-color:#fff;padding-left:10px}select:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.select:focus{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px;transition:0s;border:1.5px solid #1c77f7}.label{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:7px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.labelUp{color:#1c77f7;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:20px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: SelectComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
70
|
args: [{ selector: 'ipt-select', template: `
|
|
71
71
|
<div class="select-container">
|
|
@@ -8,8 +8,8 @@ export class TextLinkComponent {
|
|
|
8
8
|
this.isClicked.emit(true);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
TextLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
TextLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
11
|
+
TextLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TextLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
TextLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: TextLinkComponent, selector: "ipt-text-link", inputs: { text: "text", blank: "blank", icon: "icon" }, outputs: { isClicked: "isClicked" }, ngImport: i0, template: `
|
|
13
13
|
<a class="text-link" (click)='isLinkClicked()'>
|
|
14
14
|
<p class="text-link__paragraph">
|
|
15
15
|
<i class="{{icon}}" aria-hidden="true"></i>
|
|
@@ -17,7 +17,7 @@ TextLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
17
17
|
</p>
|
|
18
18
|
</a>
|
|
19
19
|
`, isInline: true, styles: [".text-link{font-family:Poppins,sans-serif;font-size:1.1rem;color:gray;display:flex;flex-direction:row}.text-link__image{height:1rem;background-position:center;fill:#0ff;-webkit-print-color-adjust:aqua;color-adjust:aqua}.text-link__paragraph{margin:0;text-align:end}a:hover,a:focus,.text-link:hover,.text-link:focus{color:#1c77f7;cursor:pointer}@media (max-width: 1200px){.text-link{font-size:.9rem;width:160px}}@media (max-width: 450px){.text-link{font-size:.9rem;width:150px}}\n"] });
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: TextLinkComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'ipt-text-link', template: `
|
|
23
23
|
<a class="text-link" (click)='isLinkClicked()'>
|
|
@@ -21,8 +21,8 @@ import { QuestionTypeComponent } from './molecules/question-type/edit-question-t
|
|
|
21
21
|
import * as i0 from "@angular/core";
|
|
22
22
|
export class ComponentsModule {
|
|
23
23
|
}
|
|
24
|
-
ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
25
|
-
ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
24
|
+
ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
25
|
+
ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, declarations: [AsideButtonComponent,
|
|
26
26
|
ButtonComponent,
|
|
27
27
|
CheckboxComponent,
|
|
28
28
|
CreateUserFormComponent,
|
|
@@ -57,18 +57,16 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
|
|
|
57
57
|
SidenavComponent,
|
|
58
58
|
CurrencyMaskModule,
|
|
59
59
|
QuestionTypeComponent] });
|
|
60
|
-
ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
60
|
+
ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, providers: [
|
|
61
61
|
CurrencyPipe,
|
|
62
62
|
TitleCasePipe
|
|
63
|
-
], imports: [
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
], CurrencyMaskModule] });
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
63
|
+
], imports: [CommonModule,
|
|
64
|
+
// BrowserModule, // Para evitar doble carga de BrowserModule
|
|
65
|
+
FormsModule,
|
|
66
|
+
ReactiveFormsModule,
|
|
67
|
+
MaterialModule,
|
|
68
|
+
CurrencyMaskModule, CurrencyMaskModule] });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
72
70
|
type: NgModule,
|
|
73
71
|
args: [{
|
|
74
72
|
declarations: [
|
|
@@ -120,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
120
118
|
]
|
|
121
119
|
}]
|
|
122
120
|
}] });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQzs7QUFxRGhHLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFoRHpCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGVBQWU7UUFDZixjQUFjO1FBQ2QsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIscUJBQXFCLGFBR3JCLFlBQVk7UUFDWiw2REFBNkQ7UUFDN0QsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2Qsa0JBQWtCLGFBR2xCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsY0FBYztRQUNkLG9CQUFvQjtRQUNwQixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjs4R0FRWixnQkFBZ0IsYUFOaEI7UUFDVCxZQUFZO1FBQ1osYUFBYTtLQUNkLFlBNUJDLFlBQVk7UUFDWiw2REFBNkQ7UUFDN0QsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2Qsa0JBQWtCLEVBaUJsQixrQkFBa0I7MkZBU1QsZ0JBQWdCO2tCQWxENUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osNkRBQTZEO3dCQUM3RCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxrQkFBa0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixxQkFBcUI7cUJBQ3RCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxZQUFZO3dCQUNaLGFBQWE7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBDdXJyZW5jeVBpcGUsIFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQXNpZGVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2F0b21zL2FzaWRlLWJ1dHRvbi9hc2lkZS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhbGlzdENvbXBvbmVudCB9IGZyb20gJy4vYXRvbXMvZGF0YWxpc3QvZGF0YWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9hdG9tcy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGV2ZWxCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2F0b21zL2xldmVsLWJ1dHRvbi9sZXZlbC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IExldmVsVGV4dENvbXBvbmVudCB9IGZyb20gJy4vYXRvbXMvbGV2ZWwtdGV4dC9sZXZlbC10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2F0b21zL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9hdG9tcy9yYWRpby9yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hdG9tcy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0TGlua0NvbXBvbmVudCB9IGZyb20gJy4vYXRvbXMvdGV4dC1saW5rL3RleHQtbGluay5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBMb2dpbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2xvZ2luLWZvcm0vbG9naW4tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3JlYXRlVXNlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm1zL2NyZWF0ZS11c2VyLWZvcm0vY3JlYXRlLXVzZXItZm9ybS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTaWRlbmF2Q29tcG9uZW50IH0gZnJvbSAnLi9tb2xlY3VsZXMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IEN1cnJlbmN5TWFza01vZHVsZSB9IGZyb20gJ25nMi1jdXJyZW5jeS1tYXNrJztcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUNvbXBvbmVudCB9IGZyb20gJy4vbW9sZWN1bGVzL3F1ZXN0aW9uLXR5cGUvZWRpdC1xdWVzdGlvbi10eXBlcy5jb21wb25lbnQnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFzaWRlQnV0dG9uQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBDaGVja2JveENvbXBvbmVudCxcbiAgICBDcmVhdGVVc2VyRm9ybUNvbXBvbmVudCxcbiAgICBEYXRhbGlzdENvbXBvbmVudCxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBMZXZlbEJ1dHRvbkNvbXBvbmVudCxcbiAgICBMZXZlbFRleHRDb21wb25lbnQsXG4gICAgTG9naW5Gb3JtQ29tcG9uZW50LFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBSYWRpb0NvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgU2lkZW5hdkNvbXBvbmVudCxcbiAgICBUZXh0TGlua0NvbXBvbmVudCxcbiAgICBRdWVzdGlvblR5cGVDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgLy8gQnJvd3Nlck1vZHVsZSwgLy8gUGFyYSBldml0YXIgZG9ibGUgY2FyZ2EgZGUgQnJvd3Nlck1vZHVsZVxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0ZXJpYWxNb2R1bGUsXG4gICAgQ3VycmVuY3lNYXNrTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBBc2lkZUJ1dHRvbkNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgQ3JlYXRlVXNlckZvcm1Db21wb25lbnQsXG4gICAgRGF0YWxpc3RDb21wb25lbnQsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgTGV2ZWxCdXR0b25Db21wb25lbnQsXG4gICAgTGV2ZWxUZXh0Q29tcG9uZW50LFxuICAgIExvYWRlckNvbXBvbmVudCxcbiAgICBSYWRpb0NvbXBvbmVudCxcbiAgICBTZWxlY3RDb21wb25lbnQsXG4gICAgVGV4dExpbmtDb21wb25lbnQsXG4gICAgTG9naW5Gb3JtQ29tcG9uZW50LFxuICAgIFNpZGVuYXZDb21wb25lbnQsXG4gICAgQ3VycmVuY3lNYXNrTW9kdWxlLFxuICAgIFF1ZXN0aW9uVHlwZUNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBDdXJyZW5jeVBpcGUsXG4gICAgVGl0bGVDYXNlUGlwZVxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50c01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "@angular/forms";
|
|
6
6
|
import * as i2 from "../../../core/services/parameters-service/parameters.service";
|
|
7
7
|
import * as i3 from "../../../core/services/user-service/user-service";
|
|
8
|
-
import * as i4 from "
|
|
9
|
-
import * as i5 from "../../atoms/
|
|
10
|
-
import * as i6 from "../../atoms/
|
|
11
|
-
import * as i7 from "
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "../../atoms/button/button.component";
|
|
10
|
+
import * as i6 from "../../atoms/input/input.component";
|
|
11
|
+
import * as i7 from "../../atoms/select/select.component";
|
|
12
12
|
export class CreateUserFormComponent {
|
|
13
13
|
constructor(fb, parameterService, userService) {
|
|
14
14
|
this.fb = fb;
|
|
@@ -197,8 +197,8 @@ export class CreateUserFormComponent {
|
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
}
|
|
200
|
-
CreateUserFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
201
|
-
CreateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
200
|
+
CreateUserFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CreateUserFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i3.UserService }], target: i0.ɵɵFactoryTarget.Component });
|
|
201
|
+
CreateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CreateUserFormComponent, selector: "ipt-create-user-form", inputs: { userType: "userType", visibility: "visibility" }, outputs: { userCreated: "userCreated", onHide: "onHide" }, ngImport: i0, template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:6px}.header_modal{display:flex;padding:0 15px;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}.user_type_image{display:none}}@media screen and (min-width: 768px){form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;justify-content:center}}@media screen and (min-width: 1366px){form{padding:0rem}.grid_container{display:grid;grid-template-columns:1fr 250px;gap:1rem;padding:1rem}.user_type_image{display:flex;background-size:cover;background-repeat:no-repeat;background-position:center;height:100%;border-radius:1rem;padding:1rem}}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: i6.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }, { kind: "component", type: i7.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "pipe", type: i4.TitleCasePipe, name: "titlecase" }], animations: [
|
|
202
202
|
trigger('fade', [
|
|
203
203
|
transition('void => *', [
|
|
204
204
|
style({ opacity: 0 }),
|
|
@@ -206,7 +206,7 @@ CreateUserFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
206
206
|
])
|
|
207
207
|
])
|
|
208
208
|
] });
|
|
209
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CreateUserFormComponent, decorators: [{
|
|
210
210
|
type: Component,
|
|
211
211
|
args: [{ selector: 'ipt-create-user-form', animations: [
|
|
212
212
|
trigger('fade', [
|
|
@@ -215,7 +215,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
215
215
|
animate(200, style({ opacity: 1 }))
|
|
216
216
|
])
|
|
217
217
|
])
|
|
218
|
-
], template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:6px}.header_modal{display:flex;padding:0 15px;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr}form{display:grid;grid-template-columns:1fr;
|
|
218
|
+
], template: "<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Tel\u00E9fono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un n\u00FAmero de tel\u00E9fono v\u00E1lido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el n\u00FAmero de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contrase\u00F1a'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contrase\u00F1a'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n", styles: ["@media screen and (min-width: 320px){main{background:rgba(0,0,0,.472);color:#fff;position:fixed;top:0;left:0;height:100vh;width:100vw;transition:all .5s}main .modal_container{width:60%;height:-moz-fit-content;height:fit-content;position:absolute;inset:0;margin:auto;background-color:#fff;border-radius:6px}.header_modal{display:flex;padding:0 15px;gap:1rem;align-items:center}.header_modal h1{padding:.5rem;background-color:#1c77f7;color:#fff;width:100%;border-radius:10px;font-size:1.25rem;font-weight:700}.header_modal button{margin-left:auto;font-size:26px;padding:1.2rem;font-weight:200;color:#6c7f7d;display:flex;width:25px;height:25px;align-items:center;justify-content:center;transition:50ms;background-color:transparent;border:none}.header_modal button:hover{cursor:pointer;border-radius:50%;background-color:#d4d4d4}.grid_container{display:grid;grid-template-columns:1fr}form{display:grid;grid-template-columns:1fr;gap:.25rem;justify-content:center;padding:0 1rem}.buttons-container{margin-top:2rem;margin-bottom:2rem;display:flex;justify-content:center;align-items:center;justify-items:center;align-content:center}.user_type_image{display:none}}@media screen and (min-width: 768px){form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;justify-content:center}}@media screen and (min-width: 1366px){form{padding:0rem}.grid_container{display:grid;grid-template-columns:1fr 250px;gap:1rem;padding:1rem}.user_type_image{display:flex;background-size:cover;background-repeat:no-repeat;background-position:center;height:100%;border-radius:1rem;padding:1rem}}\n"] }]
|
|
219
219
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }, { type: i3.UserService }]; }, propDecorators: { userType: [{
|
|
220
220
|
type: Input
|
|
221
221
|
}], visibility: [{
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
225
225
|
}], onHide: [{
|
|
226
226
|
type: Output
|
|
227
227
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jcmVhdGUtdXNlci1mb3JtL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3JlYXRlLXVzZXItZm9ybS9jcmVhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWtCcEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNsQyxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsV0FBd0I7UUFGeEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFmekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLElBQUksWUFBWSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztRQU1wRCxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLFVBQUssR0FBVyxFQUFFLENBQUM7SUFNaEIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxD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LFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOztvSEExTVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbUxDcEJwQyxnOUhBMkdBLGlyRkRoR2M7UUFDVixPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2QsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQkFDdEIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO2FBQ2xDLENBQUM7U0FDSCxDQUFDO0tBQ0g7MkZBRVUsdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNFLHNCQUFzQixjQUdwQjt3QkFDVixPQUFPLENBQUMsTUFBTSxFQUFFOzRCQUNkLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzs2QkFDbEMsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzJKQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEYXNoYm9hcmRScSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9wYXJhbWV0ZXJzLXNlcnZpY2UvcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy91c2VyLXNlcnZpY2UvdXNlci1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXB0LWNyZWF0ZS11c2VyLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXVzZXItZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50LmNzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKDIwMCwgc3R5bGUoe29wYWNpdHk6IDF9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVVc2VyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHVzZXJUeXBlITogc3RyaW5nO1xuICBASW5wdXQoKSB2aXNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB1c2VyQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuICBAT3V0cHV0KCkgb25IaWRlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgY3JlYXRlVXNlckZvcm0hOiBGb3JtR3JvdXA7XG4gIHBob25lTnVtYmVySW5kaWNhdGl2ZXM6IGFueTtcbiAgaWRUeXBlczogYW55O1xuICBzdGF0ZXM6IGFueTtcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNpdGllczogYW55O1xuICBwaG90bzogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBwYXJhbWV0ZXJTZXJ2aWNlOiBQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5nZXRQYXJhbWV0ZXJzKCk7XG4gIH1cblxuICBjbG9zZU1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIHRoaXMub25IaWRlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBjcmVhdGVVc2VyKCkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcblxuICAgIGxldCByZXF1ZXN0OiBSZWdpc3RlckRhc2hib2FyZFJxID0ge1xuICAgICAgbmFtZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snbmFtZSddLnZhbHVlLFxuICAgICAgbGFzdF9uYW1lOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydsYXN0X25hbWUnXS52YWx1ZSxcbiAgICAgIGlkX2NhcmRfdHlwZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZF90eXBlJ10udmFsdWUsXG4gICAgICBpZF9jYXJkOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydpZF9jYXJkJ10udmFsdWUsXG4gICAgICBwaG9uZV9pbmRpY2F0aXZlOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ10udmFsdWUsXG4gICAgICBwaG9uZV9udW1iZXI6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX251bWJlciddLnZhbHVlLFxuICAgICAgZW1haWw6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ10udmFsdWUsXG4gICAgICBjaXR5OiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10udmFsdWUsXG4gICAgICBzZXJ2aWNlX2hvdXI6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3NlcnZpY2VfaG91ciddLnZhbHVlLFxuICAgICAgcm9sZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncm9sZSddLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWUsXG4gICAgfTtcblxuICAgIHRoaXMudXNlclNlcnZpY2UucmVnaXN0ZXJEYXNoYm9hcmQocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UubWVzc2FnZSlcbiAgICAgIHN3aXRjaCAocmVzcG9uc2UubWVzc2FnZS5jb2RlKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICB0aGlzLnVzZXJDcmVhdGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9zIGRhdG9zIGluZ3Jlc2Fkb3Mgbm8gY29ycmVzcG9uZGVuIGEgdW4gdXN1YXJpbyByZWdpc3RyYWRvIGVuIG51ZXN0cm8gc2lzdGVtYSwgcG9yIGZhdm9yIHJldmlzZWxvcy5cIik7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb3MgZGF0b3MgaW5ncmVzYWRvcyBubyBjdW1wbGVuIGxvcyBwYXLDoW1ldHJvcyBlc3RhYmxlY2lkb3NcIik7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0SW5kaWNhdGl2ZXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiB7IGRhdGE6IGFueTsgfSkgPT4ge1xuICAgICAgdGhpcy5waG9uZU51bWJlckluZGljYXRpdmVzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0Q2FyZFR5cGVzKCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiB7IGRhdGE6IGFueTsgfSkgPT4ge1xuICAgICAgdGhpcy5pZFR5cGVzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0U3RhdGVzQnlDb3VudHJ5KCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlKTogdm9pZCA9PiB7XG4gICAgICB0aGlzLnN0YXRlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBnZXRSb2xlc09wdGlvbnMoKTogYW55IHtcbiAgICAvLyBFc3R1ZGlhbnRlXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdzdHVkZW50Jykge1xuICAgICAgdGhpcy5zZXRQaG90bygnc3R1ZGVudCcpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnMTMnLCBuYW1lOiAnU3R1ZGVudCcgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gQWNhZMOpbWljb1xuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnYWNhZGVtaWMnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdhY2FkZW1pYycpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnMTEnLCBuYW1lOiAnQWNhZGVtaWMgQ29vcmRpbmF0b3InIH0sXG4gICAgICAgIHsgY29kZTogJzEyJywgbmFtZTogJ1RlYWNoZXInIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIEFkbWluaXN0cmF0aXZvXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdhZG1pbmlzdHJhdGl2ZScpIHtcbiAgICAgIHRoaXMuc2V0UGhvdG8oJ2FkbWluaXN0cmF0aXZlJyk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7IGNvZGU6ICczMScsIG5hbWU6ICdBZG1pbmlzdHJhdGl2ZSBDb29yZGluYXRvcicgfSxcbiAgICAgICAgeyBjb2RlOiAnMzInLCBuYW1lOiAnQWRtaW5pc3RyYXRpdmUgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gTWFya2V0aW5nXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdtYXJrZXRpbmcnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdtYXJrZXRpbmcnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzIxJywgbmFtZTogJ01hcmtldGluZyBDb29yZGluYXRvcicgfSxcbiAgICAgICAgeyBjb2RlOiAnMjInLCBuYW1lOiAnTWFya2V0aW5nIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIENvbWVyY2lhbFxuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnY29tbWVyY2lhbCcpIHtcbiAgICAgIHRoaXMuc2V0UGhvdG8oJ2NvbW1lcmNpYWwnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzQxJywgbmFtZTogJ0NvbW1lcmNpYWwgQ29vcmRpbmF0b3InIH0sXG4gICAgICAgIHsgY29kZTogJzQyJywgbmFtZTogJ0NvbW1lcmNpYWwgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gQ2FydGVyYVxuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAndHJlYXN1cmUnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCd0cmVhc3VyZScpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnNTEnLCBuYW1lOiAnVHJlYXVzZXIgQ29vcmRpbmF0b3InIH0sXG4gICAgICAgIHsgY29kZTogJzUyJywgbmFtZTogJ1RyZWF1c2VyIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY3JlYXRlVXNlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildLF0sXG4gICAgICBsYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwMCldXSxcbiAgICAgIGlkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaWRfY2FyZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdXSxcbiAgICAgIHBob25lX2luZGljYXRpdmU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNpdHk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHJvbGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHNlcnZpY2VfaG91cjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcGhvbmVfbnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDcpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg3KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXG4gICAgICBzdGF0ZTogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIHNldFBob3RvKHR5cGU6IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnc3R1ZGVudCcpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvZXN0dWRpYW50ZS5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdhY2FkZW1pYycpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvYWNhZGVtaWNvLnBuZydcbiAgICBpZiAodHlwZSA9PT0gJ2FkbWluaXN0cmF0aXZlJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9hZG1pbmlzdHJhdGl2by5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdtYXJrZXRpbmcnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL21hcmtldGluZy5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdjb21tZXJjaWFsJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9jb21lcmNpYWwuanBnJ1xuICAgIGlmICh0eXBlID09PSAndHJlYXN1cmUnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL2FkbWluaXN0cmF0aXZvLmpwZydcbiAgfVxuXG4gIHNlbGVjdFJvbChyb2xlOiBhbnkpIHtcbiAgICBpZiAocm9sZSAhPT0gJ1NlbGVjY2lvbmUgZWwgcm9sJykge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncm9sZSddLnNldFZhbHVlKHJvbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyb2xlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SW5kaWNhdGl2ZXMoaW5kaWNhdGl2ZTogYW55KSB7XG4gICAgaWYgKGluZGljYXRpdmUgIT09ICdTZWxlY2Npb25lIGVsIGluZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGUoaWRUeXBlOiBhbnkpIHtcbiAgICBpZiAoaWRUeXBlICE9PSAnSW5ncmVzZSBlbCB0aXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKGlkVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICBpZiAoc3RhdGUgIT09ICdTZWxlY2Npb25lIGVsIGRlcGFydGFtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUoc3RhdGUpO1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENpdGllc0J5U3RhdGUoc3RhdGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5jaXRpZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdENpdHkoY2l0eTogYW55KSB7XG4gICAgaWYgKGNpdHkgIT09ICdDaXVkYWQgZGUgcmVzaWRlbmNpYScpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShjaXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiPG1haW4gKm5nSWY9XCJ2aXNpYmlsaXR5XCI+XG4gIDxkaXYgQGZhZGUgY2xhc3M9XCJtb2RhbF9jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX21vZGFsXCI+XG4gICAgICA8aDE+Q3JlYXIgdXN1YXJpbyBkZSB7eyB1c2VyVHlwZSB8IHRpdGxlY2FzZX19PC9oMT5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPng8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9jb250YWluZXJcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY3JlYXRlVXNlckZvcm1cIj5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBlbCBub21icmUnXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydsYXN0X25hbWUnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGxvcyBhcGVsbGlkb3MnXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSB0ZW5lciBkb21pbmlvIEBpbmdsZXNwYXJhdG9kb3MuZWR1LmNvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInUm9sJ1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Um9sKCRldmVudClcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZ2V0Um9sZXNPcHRpb25zKClcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2RhdGFdPVwicGhvbmVOdW1iZXJJbmRpY2F0aXZlc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXMoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidUZWzDqWZvbm8nXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9udW1iZXInXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIHVuIG7Dum1lcm8gZGUgdGVsw6lmb25vIHbDoWxpZG8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2RhdGFdPVwiaWRUeXBlc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SWRUeXBlKCRldmVudClcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50bydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmQnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGVsIG7Dum1lcm8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RTdGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkYXRhXT1cInN0YXRlc1wiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0RlcGFydGFtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJjaXRpZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidDaXVkYWQnXCJcbiAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgIDxpcHQtaW5wdXQgKm5nSWY9XCIhKHVzZXJUeXBlID09PSAnc3R1ZGVudCcpXCJcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidIb3JhcyBkZSBzZXJ2aWNpbydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3NlcnZpY2VfaG91ciddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgbGFzIGhvcmFzIGRlIHNlcnZpY2lvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvbnRyYXNlw7FhJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJjcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1JlcGV0aXIgY29udHJhc2XDsWEnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyZV9wYXNzd29yZCddXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pcHQtaW5wdXQ+XG4gICAgICAgIDwvZm9ybT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgICAgICA8aXB0LWJ1dHRvblxuICAgICAgICAgICAgW2xhYmVsXT1cIidDcmVhciB1c3VhcmlvJ1wiXG4gICAgICAgICAgICBbaXNFbmFibGVkXT1cIlxuICAgICAgICAgICAgICAhbG9hZGVyICYmXG4gICAgICAgICAgICAgIGNyZWF0ZVVzZXJGb3JtLnZhbHVlWydyZV9wYXNzd29yZCddID09PVxuICAgICAgICAgICAgICBjcmVhdGVVc2VyRm9ybS52YWx1ZVsncGFzc3dvcmQnXVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImNyZWF0ZVVzZXIoKVwiXG4gICAgICAgICAgICBbcHJpbWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pcHQtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyBwaG90byArICcpJ31cIiBjbGFzcz1cInVzZXJfdHlwZV9pbWFnZVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbWFpbj5cbiJdfQ==
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jcmVhdGUtdXNlci1mb3JtL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3JlYXRlLXVzZXItZm9ybS9jcmVhdGUtdXNlci1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWtCcEUsTUFBTSxPQUFPLHVCQUF1QjtJQWNsQyxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsV0FBd0I7UUFGeEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFmekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLElBQUksWUFBWSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztRQU1wRCxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLFVBQUssR0FBVyxFQUFFLENBQUM7SUFNaEIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxD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LFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOztvSEExTVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbUxDcEJwQyxnOUhBMkdBLG95RkRoR2M7UUFDVixPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2QsVUFBVSxDQUFDLFdBQVcsRUFBRTtnQkFDdEIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO2FBQ2xDLENBQUM7U0FDSCxDQUFDO0tBQ0g7MkZBRVUsdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNFLHNCQUFzQixjQUdwQjt3QkFDVixPQUFPLENBQUMsTUFBTSxFQUFFOzRCQUNkLFVBQVUsQ0FBQyxXQUFXLEVBQUU7Z0NBQ3RCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQ0FDckIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzs2QkFDbEMsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzJKQUdRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVnaXN0ZXJEYXNoYm9hcmRScSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9wYXJhbWV0ZXJzLXNlcnZpY2UvcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy91c2VyLXNlcnZpY2UvdXNlci1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXB0LWNyZWF0ZS11c2VyLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXVzZXItZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS11c2VyLWZvcm0uY29tcG9uZW50LmNzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZScsIFtcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKDIwMCwgc3R5bGUoe29wYWNpdHk6IDF9KSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVVc2VyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHVzZXJUeXBlITogc3RyaW5nO1xuICBASW5wdXQoKSB2aXNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSB1c2VyQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuICBAT3V0cHV0KCkgb25IaWRlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgY3JlYXRlVXNlckZvcm0hOiBGb3JtR3JvdXA7XG4gIHBob25lTnVtYmVySW5kaWNhdGl2ZXM6IGFueTtcbiAgaWRUeXBlczogYW55O1xuICBzdGF0ZXM6IGFueTtcbiAgbG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGNpdGllczogYW55O1xuICBwaG90bzogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBwYXJhbWV0ZXJTZXJ2aWNlOiBQYXJhbWV0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gICAgdGhpcy5nZXRQYXJhbWV0ZXJzKCk7XG4gIH1cblxuICBjbG9zZU1vZGFsKCkge1xuICAgIHRoaXMudmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIHRoaXMub25IaWRlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBjcmVhdGVVc2VyKCkge1xuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcblxuICAgIGxldCByZXF1ZXN0OiBSZWdpc3RlckRhc2hib2FyZFJxID0ge1xuICAgICAgbmFtZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snbmFtZSddLnZhbHVlLFxuICAgICAgbGFzdF9uYW1lOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydsYXN0X25hbWUnXS52YWx1ZSxcbiAgICAgIGlkX2NhcmRfdHlwZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snaWRfY2FyZF90eXBlJ10udmFsdWUsXG4gICAgICBpZF9jYXJkOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydpZF9jYXJkJ10udmFsdWUsXG4gICAgICBwaG9uZV9pbmRpY2F0aXZlOiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ10udmFsdWUsXG4gICAgICBwaG9uZV9udW1iZXI6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX251bWJlciddLnZhbHVlLFxuICAgICAgZW1haWw6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ10udmFsdWUsXG4gICAgICBjaXR5OiB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10udmFsdWUsXG4gICAgICBzZXJ2aWNlX2hvdXI6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3NlcnZpY2VfaG91ciddLnZhbHVlLFxuICAgICAgcm9sZTogdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncm9sZSddLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWUsXG4gICAgfTtcblxuICAgIHRoaXMudXNlclNlcnZpY2UucmVnaXN0ZXJEYXNoYm9hcmQocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UubWVzc2FnZSlcbiAgICAgIHN3aXRjaCAocmVzcG9uc2UubWVzc2FnZS5jb2RlKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICB0aGlzLnVzZXJDcmVhdGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9zIGRhdG9zIGluZ3Jlc2Fkb3Mgbm8gY29ycmVzcG9uZGVuIGEgdW4gdXN1YXJpbyByZWdpc3RyYWRvIGVuIG51ZXN0cm8gc2lzdGVtYSwgcG9yIGZhdm9yIHJldmlzZWxvcy5cIik7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb3MgZGF0b3MgaW5ncmVzYWRvcyBubyBjdW1wbGVuIGxvcyBwYXLDoW1ldHJvcyBlc3RhYmxlY2lkb3NcIik7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0SW5kaWNhdGl2ZXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiB7IGRhdGE6IGFueTsgfSkgPT4ge1xuICAgICAgdGhpcy5waG9uZU51bWJlckluZGljYXRpdmVzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0Q2FyZFR5cGVzKCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiB7IGRhdGE6IGFueTsgfSkgPT4ge1xuICAgICAgdGhpcy5pZFR5cGVzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0U3RhdGVzQnlDb3VudHJ5KCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlKTogdm9pZCA9PiB7XG4gICAgICB0aGlzLnN0YXRlcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cblxuICBnZXRSb2xlc09wdGlvbnMoKTogYW55IHtcbiAgICAvLyBFc3R1ZGlhbnRlXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdzdHVkZW50Jykge1xuICAgICAgdGhpcy5zZXRQaG90bygnc3R1ZGVudCcpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnMTMnLCBuYW1lOiAnU3R1ZGVudCcgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gQWNhZMOpbWljb1xuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnYWNhZGVtaWMnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdhY2FkZW1pYycpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnMTEnLCBuYW1lOiAnQWNhZGVtaWMgQ29vcmRpbmF0b3InIH0sXG4gICAgICAgIHsgY29kZTogJzEyJywgbmFtZTogJ1RlYWNoZXInIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIEFkbWluaXN0cmF0aXZvXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdhZG1pbmlzdHJhdGl2ZScpIHtcbiAgICAgIHRoaXMuc2V0UGhvdG8oJ2FkbWluaXN0cmF0aXZlJyk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7IGNvZGU6ICczMScsIG5hbWU6ICdBZG1pbmlzdHJhdGl2ZSBDb29yZGluYXRvcicgfSxcbiAgICAgICAgeyBjb2RlOiAnMzInLCBuYW1lOiAnQWRtaW5pc3RyYXRpdmUgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gTWFya2V0aW5nXG4gICAgaWYgKHRoaXMudXNlclR5cGUgPT09ICdtYXJrZXRpbmcnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCdtYXJrZXRpbmcnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzIxJywgbmFtZTogJ01hcmtldGluZyBDb29yZGluYXRvcicgfSxcbiAgICAgICAgeyBjb2RlOiAnMjInLCBuYW1lOiAnTWFya2V0aW5nIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIC8vIENvbWVyY2lhbFxuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAnY29tbWVyY2lhbCcpIHtcbiAgICAgIHRoaXMuc2V0UGhvdG8oJ2NvbW1lcmNpYWwnKTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHsgY29kZTogJzQxJywgbmFtZTogJ0NvbW1lcmNpYWwgQ29vcmRpbmF0b3InIH0sXG4gICAgICAgIHsgY29kZTogJzQyJywgbmFtZTogJ0NvbW1lcmNpYWwgQWR2aXNvcicgfSxcbiAgICAgIF07XG4gICAgfVxuXG4gICAgLy8gQ2FydGVyYVxuICAgIGlmICh0aGlzLnVzZXJUeXBlID09PSAndHJlYXN1cmUnKSB7XG4gICAgICB0aGlzLnNldFBob3RvKCd0cmVhc3VyZScpO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgeyBjb2RlOiAnNTEnLCBuYW1lOiAnVHJlYXVzZXIgQ29vcmRpbmF0b3InIH0sXG4gICAgICAgIHsgY29kZTogJzUyJywgbmFtZTogJ1RyZWF1c2VyIEFkdmlzb3InIH0sXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY3JlYXRlVXNlckZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG5hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMildLF0sXG4gICAgICBsYXN0X25hbWU6IFsnJyxbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSxWYWxpZGF0b3JzLm1heExlbmd0aCgzMiksXSxdLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwMCldXSxcbiAgICAgIGlkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaWRfY2FyZDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSxdXSxcbiAgICAgIHBob25lX2luZGljYXRpdmU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNpdHk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHJvbGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHNlcnZpY2VfaG91cjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgcGhvbmVfbnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDE1KV1dLFxuICAgICAgcGFzc3dvcmQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDcpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg3KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXG4gICAgICBzdGF0ZTogWycnXSxcbiAgICB9KTtcbiAgfVxuXG4gIHNldFBob3RvKHR5cGU6IHN0cmluZykge1xuICAgIGlmICh0eXBlID09PSAnc3R1ZGVudCcpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvZXN0dWRpYW50ZS5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdhY2FkZW1pYycpIHRoaXMucGhvdG8gPSAnLi4vLi4vLi4vYXNzZXRzL3VzZXItZm9ybS1hc3NldHMvYWNhZGVtaWNvLnBuZydcbiAgICBpZiAodHlwZSA9PT0gJ2FkbWluaXN0cmF0aXZlJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9hZG1pbmlzdHJhdGl2by5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdtYXJrZXRpbmcnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL21hcmtldGluZy5qcGcnXG4gICAgaWYgKHR5cGUgPT09ICdjb21tZXJjaWFsJykgdGhpcy5waG90byA9ICcuLi8uLi8uLi9hc3NldHMvdXNlci1mb3JtLWFzc2V0cy9jb21lcmNpYWwuanBnJ1xuICAgIGlmICh0eXBlID09PSAndHJlYXN1cmUnKSB0aGlzLnBob3RvID0gJy4uLy4uLy4uL2Fzc2V0cy91c2VyLWZvcm0tYXNzZXRzL2FkbWluaXN0cmF0aXZvLmpwZydcbiAgfVxuXG4gIHNlbGVjdFJvbChyb2xlOiBhbnkpIHtcbiAgICBpZiAocm9sZSAhPT0gJ1NlbGVjY2lvbmUgZWwgcm9sJykge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncm9sZSddLnNldFZhbHVlKHJvbGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyb2xlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SW5kaWNhdGl2ZXMoaW5kaWNhdGl2ZTogYW55KSB7XG4gICAgaWYgKGluZGljYXRpdmUgIT09ICdTZWxlY2Npb25lIGVsIGluZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGUoaWRUeXBlOiBhbnkpIHtcbiAgICBpZiAoaWRUeXBlICE9PSAnSW5ncmVzZSBlbCB0aXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKGlkVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICBpZiAoc3RhdGUgIT09ICdTZWxlY2Npb25lIGVsIGRlcGFydGFtZW50bycpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUoc3RhdGUpO1xuICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldENpdGllc0J5U3RhdGUoc3RhdGUpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5jaXRpZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdENpdHkoY2l0eTogYW55KSB7XG4gICAgaWYgKGNpdHkgIT09ICdDaXVkYWQgZGUgcmVzaWRlbmNpYScpIHtcbiAgICAgIHRoaXMuY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShjaXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVVc2VyRm9ybS5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxufVxuIiwiPG1haW4gKm5nSWY9XCJ2aXNpYmlsaXR5XCI+XG4gIDxkaXYgQGZhZGUgY2xhc3M9XCJtb2RhbF9jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyX21vZGFsXCI+XG4gICAgICA8aDE+Q3JlYXIgdXN1YXJpbyBkZSB7eyB1c2VyVHlwZSB8IHRpdGxlY2FzZX19PC9oMT5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPng8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9jb250YWluZXJcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiY3JlYXRlVXNlckZvcm1cIj5cbiAgICAgICAgICA8aXB0LWlucHV0XG4gICAgICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWyduYW1lJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSBpbmdyZXNhciBlbCBub21icmUnXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydsYXN0X25hbWUnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGxvcyBhcGVsbGlkb3MnXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidFbWFpbCdcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2VtYWlsJ11cIlxuICAgICAgICAgICAgW3ZhbGlkYXRlVGV4dF09XCInRGViZSB0ZW5lciBkb21pbmlvIEBpbmdsZXNwYXJhdG9kb3MuZWR1LmNvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtkZWZhdWx0VGV4dF09XCInUm9sJ1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Um9sKCRldmVudClcIlxuICAgICAgICAgICAgW2RhdGFdPVwiZ2V0Um9sZXNPcHRpb25zKClcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2RhdGFdPVwicGhvbmVOdW1iZXJJbmRpY2F0aXZlc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXMoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidUZWzDqWZvbm8nXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydwaG9uZV9udW1iZXInXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIHVuIG7Dum1lcm8gZGUgdGVsw6lmb25vIHbDoWxpZG8nXCJcbiAgICAgICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW2RhdGFdPVwiaWRUeXBlc1wiXG4gICAgICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SWRUeXBlKCRldmVudClcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1pbnB1dFxuICAgICAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RvY3VtZW50bydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ2lkX2NhcmQnXVwiXG4gICAgICAgICAgICBbdmFsaWRhdGVUZXh0XT1cIidEZWJlIGluZ3Jlc2FyIGVsIG7Dum1lcm8gZGUgZG9jdW1lbnRvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RTdGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtkYXRhXT1cInN0YXRlc1wiXG4gICAgICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0RlcGFydGFtZW50bydcIlxuICAgICAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENpdHkoJGV2ZW50KVwiXG4gICAgICAgICAgICBbZGF0YV09XCJjaXRpZXNcIlxuICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidDaXVkYWQnXCJcbiAgICAgICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgICAgIDxpcHQtaW5wdXQgKm5nSWY9XCIhKHVzZXJUeXBlID09PSAnc3R1ZGVudCcpXCJcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidIb3JhcyBkZSBzZXJ2aWNpbydcIlxuICAgICAgICAgICAgW2NvbnRyb2xdPVwiY3JlYXRlVXNlckZvcm0uY29udHJvbHNbJ3NlcnZpY2VfaG91ciddXCJcbiAgICAgICAgICAgIFt2YWxpZGF0ZVRleHRdPVwiJ0RlYmUgaW5ncmVzYXIgbGFzIGhvcmFzIGRlIHNlcnZpY2lvJ1wiXG4gICAgICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvbnRyYXNlw7FhJ1wiXG4gICAgICAgICAgICBbY29udHJvbF09XCJjcmVhdGVVc2VyRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvaXB0LWlucHV0PlxuICAgICAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ1JlcGV0aXIgY29udHJhc2XDsWEnXCJcbiAgICAgICAgICAgIFtjb250cm9sXT1cImNyZWF0ZVVzZXJGb3JtLmNvbnRyb2xzWydyZV9wYXNzd29yZCddXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pcHQtaW5wdXQ+XG4gICAgICAgIDwvZm9ybT5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9ucy1jb250YWluZXJcIj5cbiAgICAgICAgICA8aXB0LWJ1dHRvblxuICAgICAgICAgICAgW2xhYmVsXT1cIidDcmVhciB1c3VhcmlvJ1wiXG4gICAgICAgICAgICBbaXNFbmFibGVkXT1cIlxuICAgICAgICAgICAgICAhbG9hZGVyICYmXG4gICAgICAgICAgICAgIGNyZWF0ZVVzZXJGb3JtLnZhbHVlWydyZV9wYXNzd29yZCddID09PVxuICAgICAgICAgICAgICBjcmVhdGVVc2VyRm9ybS52YWx1ZVsncGFzc3dvcmQnXVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImNyZWF0ZVVzZXIoKVwiXG4gICAgICAgICAgICBbcHJpbWFyeV09XCJ0cnVlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9pcHQtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyBwaG90byArICcpJ31cIiBjbGFzcz1cInVzZXJfdHlwZV9pbWFnZVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbWFpbj5cbiJdfQ==
|
|
@@ -3,8 +3,8 @@ import { Validators } from '@angular/forms';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/forms";
|
|
5
5
|
import * as i2 from "../../../core/utils/base-service/base.service";
|
|
6
|
-
import * as i3 from "../../atoms/
|
|
7
|
-
import * as i4 from "../../atoms/
|
|
6
|
+
import * as i3 from "../../atoms/button/button.component";
|
|
7
|
+
import * as i4 from "../../atoms/input/input.component";
|
|
8
8
|
export class LoginFormComponent {
|
|
9
9
|
constructor(fb, baseService) {
|
|
10
10
|
this.baseService = baseService;
|
|
@@ -20,8 +20,8 @@ export class LoginFormComponent {
|
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
23
|
+
LoginFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LoginFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.BaseService }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: LoginFormComponent, selector: "ipt-login-form", outputs: { isLogged: "isLogged" }, ngImport: i0, template: `
|
|
25
25
|
<div class="form-container">
|
|
26
26
|
|
|
27
27
|
<h2 style="text-align: center;">IPT PLATFORM</h2>
|
|
@@ -52,8 +52,8 @@ LoginFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
|
|
|
52
52
|
</div>
|
|
53
53
|
|
|
54
54
|
</div>
|
|
55
|
-
`, isInline: true, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
+
`, isInline: true, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: i4.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }] });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LoginFormComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
58
|
args: [{ selector: 'ipt-login-form', template: `
|
|
59
59
|
<div class="form-container">
|
|
@@ -86,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
86
86
|
</div>
|
|
87
87
|
|
|
88
88
|
</div>
|
|
89
|
-
`, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;
|
|
89
|
+
`, styles: [".form-container{display:grid;grid-template-columns:1fr;justify-items:center;width:350px}.with-background{background-color:#fff;border-radius:25px;box-shadow:#32325d40 0 50px 100px -20px,#0000004d 0 30px 60px -30px}h2{color:#1c77f7}hr{width:80%}form{margin-bottom:60px;display:grid;grid-template-columns:1fr;gap:30px;width:100%}.button-container{margin-bottom:70px;align-items:center;display:flex;gap:50px}footer{background-color:#1c77f7;border-top-left-radius:25px;border-top-right-radius:25px;width:100%;height:100px;display:flex;align-items:center;justify-content:center}\n"] }]
|
|
90
90
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.BaseService }]; }, propDecorators: { isLogged: [{
|
|
91
91
|
type: Output
|
|
92
92
|
}] } });
|
|
@@ -7,10 +7,10 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class MaterialModule {
|
|
9
9
|
}
|
|
10
|
-
MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
12
|
-
MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
MaterialModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
MaterialModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
|
|
12
|
+
MaterialModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, imports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: MaterialModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "../../atoms/input/input.component";
|
|
5
5
|
export class QuestionTypeComponent {
|
|
6
6
|
ngOnChanges(changes) {
|
|
7
7
|
if (changes['formGruoup']) {
|
|
@@ -43,8 +43,8 @@ export class QuestionTypeComponent {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
QuestionTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
47
|
-
QuestionTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
46
|
+
QuestionTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
QuestionTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: QuestionTypeComponent, selector: "ipt-question-types", inputs: { questionType: "questionType", formGruoup: "formGruoup" }, usesOnChanges: true, ngImport: i0, template: `
|
|
48
48
|
<div
|
|
49
49
|
*ngIf="
|
|
50
50
|
this.questionType === 'True or False' ||
|
|
@@ -189,8 +189,8 @@ QuestionTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
189
189
|
>
|
|
190
190
|
</ipt-input>
|
|
191
191
|
</div>
|
|
192
|
-
`, isInline: true, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;
|
|
193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
192
|
+
`, isInline: true, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal"], outputs: ["dateSelected"] }] });
|
|
193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: QuestionTypeComponent, decorators: [{
|
|
194
194
|
type: Component,
|
|
195
195
|
args: [{ selector: 'ipt-question-types', template: `
|
|
196
196
|
<div
|
|
@@ -337,7 +337,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
337
337
|
>
|
|
338
338
|
</ipt-input>
|
|
339
339
|
</div>
|
|
340
|
-
`, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;
|
|
340
|
+
`, styles: ["form{display:grid;grid-template-columns:1fr}.sectionABCD{display:grid;grid-template-columns:12fr 0fr;gap:0px 10px}fieldset{background:transparent;border:none}\n"] }]
|
|
341
341
|
}], propDecorators: { questionType: [{
|
|
342
342
|
type: Input
|
|
343
343
|
}], formGruoup: [{
|