iptdevs-design-system 3.1.4396 → 3.2.2
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-form/cod-form.component.mjs +34 -21
- package/esm2020/lib/cod/logic/calculate-quotes.service.mjs +73 -53
- package/esm2020/lib/cod/modal-referred/modal-referred.component.mjs +2 -2
- package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +18 -24
- package/esm2020/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.mjs +85 -76
- package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +225 -92
- package/esm2020/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.mjs +14 -18
- package/esm2020/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.mjs +95 -70
- package/esm2020/lib/cod-self-managed/cod-form-self-managed/cod-self-managed.component.mjs +190 -22
- package/esm2020/lib/cod-self-managed/cod-self-managed.module.mjs +28 -4
- package/esm2020/lib/cod-self-managed/logic/calculate-quotes.service.mjs +99 -0
- package/esm2020/lib/cod-self-managed/logic/cod-self-managed-controls.mjs +16 -44
- package/esm2020/lib/cod-self-managed/logic/cod-self-managed-steps.mjs +1 -1
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.mjs +244 -7
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-one/cod-self-form-step-one.component.mjs +102 -18
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-three/cod-self-form-step-three.component.mjs +255 -7
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.mjs +144 -32
- package/esm2020/lib/components/atoms/button/button.component.mjs +2 -2
- package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +26 -17
- package/esm2020/lib/components/atoms/input/input.component.mjs +2 -2
- package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +2 -2
- package/esm2020/lib/components/atoms/loader/loader.component.mjs +2 -2
- package/esm2020/lib/components/atoms/select/select.component.mjs +10 -8
- package/esm2020/lib/components/components.module.mjs +54 -8
- package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +3 -3
- package/esm2020/lib/components/forms/update-user-form/update-user-form.component.mjs +763 -0
- package/esm2020/lib/components/molecules/card-course/card-course.component.mjs +95 -0
- package/esm2020/lib/components/molecules/card-select-course/card-select-course.component.mjs +52 -0
- package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +5 -5
- package/esm2020/lib/core/core.module.mjs +9 -3
- package/esm2020/lib/core/models/academic/academic.component.mjs +1 -1
- package/esm2020/lib/core/models/announcement/announcement-user-rq.model.mjs +2 -0
- package/esm2020/lib/core/models/announcement/announcement-user-rs.model.mjs +3 -0
- package/esm2020/lib/core/models/attendance/attendance.interface.mjs +1 -1
- package/esm2020/lib/core/models/budget/budget.model.mjs +1 -1
- package/esm2020/lib/core/models/cod/cod-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/commercial/commercial.model.mjs +1 -1
- package/esm2020/lib/core/models/course/course-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/course/courses.model.mjs +1 -1
- package/esm2020/lib/core/models/epayco/epayco.interfaces.mjs +2 -0
- package/esm2020/lib/core/models/notes/INotesTemplate.mjs +1 -1
- package/esm2020/lib/core/models/notes/notes.interface.mjs +1 -1
- package/esm2020/lib/core/models/parameters/parameters-rs.model.mjs +1 -1
- package/esm2020/lib/core/models/payment/payment-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/student/student.interface.mjs +1 -1
- package/esm2020/lib/core/models/terms/terms-rs.model.mjs +2 -0
- package/esm2020/lib/core/models/transfer/transfer.model.mjs +2 -0
- package/esm2020/lib/core/models/user/user-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/user/user-rs.model.mjs +3 -1
- package/esm2020/lib/core/pipes/course-pipes/schedule-form.pipe.mjs +47 -0
- package/esm2020/lib/core/pipes/course-pipes/time-form.pipe.mjs +34 -0
- package/esm2020/lib/core/pipes/course-pipes/type-level.pipe.mjs +57 -0
- package/esm2020/lib/core/pipes/parameter-pipes/gender-display.pipe.mjs +22 -0
- package/esm2020/lib/core/pipes/pipe.module.mjs +37 -0
- package/esm2020/lib/core/services/academic-service/academic.service.mjs +64 -1
- package/esm2020/lib/core/services/announcement/announcement.service.mjs +57 -0
- package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +31 -1
- package/esm2020/lib/core/services/budget-service/budget-service.mjs +297 -1
- package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +21 -1
- package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +95 -1
- package/esm2020/lib/core/services/course-service/course-service.model.mjs +96 -1
- package/esm2020/lib/core/services/ePayco/epayco.service.mjs +37 -0
- package/esm2020/lib/core/services/notes-service/notes.service.mjs +6 -1
- package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +13 -1
- package/esm2020/lib/core/services/user-service/user-service.mjs +55 -1
- package/esm2020/public-api.mjs +13 -1
- package/fesm2015/iptdevs-design-system.mjs +6948 -3967
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +7003 -4046
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/cod/cod-form/cod-form.component.d.ts +7 -2
- package/lib/cod/logic/calculate-quotes.service.d.ts +3 -0
- package/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.d.ts +4 -4
- package/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.d.ts +6 -9
- package/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.d.ts +9 -7
- package/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.d.ts +4 -4
- package/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.d.ts +8 -5
- package/lib/cod-self-managed/cod-form-self-managed/cod-self-managed.component.d.ts +31 -7
- package/lib/cod-self-managed/cod-self-managed.module.d.ts +7 -1
- package/lib/cod-self-managed/logic/calculate-quotes.service.d.ts +16 -0
- package/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.d.ts +46 -2
- package/lib/cod-self-managed/steps/cod-form-step-one/cod-self-form-step-one.component.d.ts +17 -5
- package/lib/cod-self-managed/steps/cod-form-step-three/cod-self-form-step-three.component.d.ts +48 -3
- package/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.d.ts +43 -9
- package/lib/components/atoms/datalist/datalist.component.d.ts +7 -3
- package/lib/components/atoms/select/select.component.d.ts +2 -1
- package/lib/components/components.module.d.ts +14 -5
- package/lib/components/forms/update-user-form/update-user-form.component.d.ts +87 -0
- package/lib/components/molecules/card-course/card-course.component.d.ts +21 -0
- package/lib/components/molecules/card-select-course/card-select-course.component.d.ts +13 -0
- package/lib/core/models/academic/academic.component.d.ts +143 -1
- package/lib/core/models/announcement/announcement-user-rq.model.d.ts +12 -0
- package/lib/core/models/announcement/announcement-user-rs.model.d.ts +7 -0
- package/lib/core/models/attendance/attendance.interface.d.ts +146 -0
- package/lib/core/models/budget/budget.model.d.ts +554 -0
- package/lib/core/models/cod/cod-rq.model.d.ts +193 -0
- package/lib/core/models/commercial/commercial.model.d.ts +91 -0
- package/lib/core/models/course/course-rq.model.d.ts +296 -22
- package/lib/core/models/course/courses.model.d.ts +51 -0
- package/lib/core/models/epayco/epayco.interfaces.d.ts +6 -0
- package/lib/core/models/notes/INotesTemplate.d.ts +57 -0
- package/lib/core/models/notes/notes.interface.d.ts +13 -0
- package/lib/core/models/parameters/parameters-rs.model.d.ts +78 -1
- package/lib/core/models/payment/payment-rq.model.d.ts +168 -0
- package/lib/core/models/student/student.interface.d.ts +18 -0
- package/lib/core/models/terms/terms-rs.model.d.ts +435 -0
- package/lib/core/models/transfer/transfer.model.d.ts +89 -0
- package/lib/core/models/user/user-rq.model.d.ts +78 -0
- package/lib/core/models/user/user-rs.model.d.ts +11 -0
- package/lib/core/pipes/course-pipes/schedule-form.pipe.d.ts +7 -0
- package/lib/core/pipes/course-pipes/time-form.pipe.d.ts +9 -0
- package/lib/core/pipes/course-pipes/type-level.pipe.d.ts +7 -0
- package/lib/core/pipes/parameter-pipes/gender-display.pipe.d.ts +7 -0
- package/lib/core/pipes/pipe.module.d.ts +11 -0
- package/lib/core/services/academic-service/academic.service.d.ts +18 -3
- package/lib/core/services/announcement/announcement.service.d.ts +18 -0
- package/lib/core/services/attendance-service/attendance.service.d.ts +7 -1
- package/lib/core/services/budget-service/budget-service.d.ts +57 -3
- package/lib/core/services/certificate-service/certificate.service.d.ts +5 -0
- package/lib/core/services/commercial-service/comercial.service.d.ts +23 -2
- package/lib/core/services/course-service/course-service.model.d.ts +22 -1
- package/lib/core/services/ePayco/epayco.service.d.ts +17 -0
- package/lib/core/services/notes-service/notes.service.d.ts +2 -1
- package/lib/core/services/parameters-service/parameters.service.d.ts +3 -0
- package/lib/core/services/user-service/user-service.d.ts +12 -1
- package/package.json +1 -1
- package/public-api.d.ts +11 -0
package/esm2020/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.mjs
CHANGED
|
@@ -1,50 +1,76 @@
|
|
|
1
|
-
import { Component, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { CodSelfManagedSteps } from '../../logic/cod-self-managed-steps';
|
|
3
|
-
import { CodSelfManagedControls } from '../../logic/cod-self-managed-controls';
|
|
1
|
+
import { Component, Output, EventEmitter, Input } from '@angular/core';
|
|
4
2
|
import { Validators } from '@angular/forms';
|
|
3
|
+
import { CodSelfManagedControls } from '../../logic/cod-self-managed-controls';
|
|
4
|
+
import { CodSelfManagedSteps } from '../../logic/cod-self-managed-steps';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "primeng/
|
|
8
|
-
import * as i3 from "
|
|
9
|
-
import * as i4 from "
|
|
7
|
+
import * as i2 from "primeng/api";
|
|
8
|
+
import * as i3 from "./../../../core/utils/base-service/base.service";
|
|
9
|
+
import * as i4 from "./../../../core/services/academic-service/academic.service";
|
|
10
|
+
import * as i5 from "@angular/common";
|
|
11
|
+
import * as i6 from "../../../components/atoms/button/button.component";
|
|
12
|
+
import * as i7 from "../../../components/molecules/card-course/card-course.component";
|
|
13
|
+
import * as i8 from "../../../components/molecules/card-select-course/card-select-course.component";
|
|
14
|
+
import * as i9 from "primeng/tooltip";
|
|
15
|
+
import * as i10 from "primeng/button";
|
|
16
|
+
import * as i11 from "primeng/toast";
|
|
17
|
+
import * as i12 from "primeng/accordion";
|
|
18
|
+
import * as i13 from "primeng/checkbox";
|
|
19
|
+
import * as i14 from "primeng/radiobutton";
|
|
10
20
|
export class CodSelfFormStepTwoComponent extends CodSelfManagedSteps {
|
|
11
|
-
constructor(fb,
|
|
21
|
+
constructor(fb, messageService, baseService, academicService) {
|
|
12
22
|
super();
|
|
13
23
|
this.fb = fb;
|
|
14
|
-
this.
|
|
24
|
+
this.messageService = messageService;
|
|
25
|
+
this.baseService = baseService;
|
|
26
|
+
this.academicService = academicService;
|
|
15
27
|
this.completed = new EventEmitter();
|
|
16
28
|
this.controls = new CodSelfManagedControls().controls[1];
|
|
29
|
+
this.visible = false;
|
|
30
|
+
this.messageInfo = 'Busca un plan de acuerdo a tu disponibilidad.';
|
|
31
|
+
this.stateOptionsModality = [
|
|
32
|
+
{ code: 1, key: 'pr', name: 'Presencial' },
|
|
33
|
+
{ code: 2, key: 'vi', name: 'Virtual' },
|
|
34
|
+
];
|
|
35
|
+
this.schedules = [
|
|
36
|
+
{ code: 1, name: 'Mañana', key: 'ma' },
|
|
37
|
+
{ code: 2, name: 'Tarde', key: 'ta' },
|
|
38
|
+
{ code: 3, name: 'Noche', key: 'no' },
|
|
39
|
+
];
|
|
40
|
+
this.OptionPlacementTest = [
|
|
41
|
+
{ code: 1, key: 'si', name: 'Si' },
|
|
42
|
+
{ code: 2, key: 'ni', name: 'No' },
|
|
43
|
+
];
|
|
44
|
+
this.selectedSchedules = [];
|
|
45
|
+
this.disableweekdays = [];
|
|
46
|
+
this.selectedModality = [];
|
|
47
|
+
this.selectedOptionPlacementTest = [];
|
|
48
|
+
this.messageAlertSchedules = false;
|
|
49
|
+
this.messageAlertModality = false;
|
|
50
|
+
this.messageAlertPlacementTest = false;
|
|
51
|
+
this.SearchData = true;
|
|
52
|
+
this.dataCourse = [];
|
|
53
|
+
this.isLoading = true;
|
|
54
|
+
this.visibleGroupReview = false;
|
|
55
|
+
this.initForm();
|
|
17
56
|
}
|
|
18
57
|
ngOnInit() {
|
|
19
|
-
this.initForm();
|
|
20
58
|
this.startLocalStorageWork();
|
|
21
|
-
|
|
22
|
-
ngOnChanges() {
|
|
23
|
-
// this.initForm();
|
|
24
|
-
// this.startLocalStorageWork();
|
|
25
|
-
}
|
|
26
|
-
ngOnDestroy() {
|
|
27
|
-
this.codSelfFormStepTwo.controls['schedule'].setValue("");
|
|
59
|
+
this.isLoading = true;
|
|
28
60
|
}
|
|
29
61
|
initForm() {
|
|
30
62
|
this.codSelfFormStepTwo = this.fb.group({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
// availible_courses: ['', [Validators.required]],
|
|
37
|
-
// course_modality: ['', [Validators.required],],
|
|
63
|
+
academic_plan: ['', [Validators.required]],
|
|
64
|
+
course_type: ['', [Validators.required]],
|
|
65
|
+
english_level: [{ value: '', disabled: true }, [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],
|
|
66
|
+
availible_courses: ['', [Validators.required]],
|
|
67
|
+
course_modality: ['', [Validators.required],],
|
|
38
68
|
});
|
|
39
69
|
}
|
|
40
70
|
back() {
|
|
41
|
-
// Movernos al paso anterior
|
|
42
71
|
this.completed.emit(0);
|
|
43
72
|
}
|
|
44
73
|
sendForm() {
|
|
45
|
-
// this.codSelfFormStepTwo.markAllAsTouched();
|
|
46
|
-
// if (this.codSelfFormStepTwo.invalid) return;
|
|
47
|
-
// Movernos al paso 3
|
|
48
74
|
this.completed.emit(2);
|
|
49
75
|
}
|
|
50
76
|
startLocalStorageWork() {
|
|
@@ -54,13 +80,99 @@ export class CodSelfFormStepTwoComponent extends CodSelfManagedSteps {
|
|
|
54
80
|
this.listenFormChanges(2, control.name, this.codSelfFormStepTwo.controls[control.name].valueChanges);
|
|
55
81
|
});
|
|
56
82
|
}
|
|
83
|
+
searchAvalaibleCourse() {
|
|
84
|
+
this.isLoading = true;
|
|
85
|
+
const age = Number(this.localStorageCOD.getCodFormData(1, 'age'));
|
|
86
|
+
const grade = Number(this.localStorageCOD.getCodFormData(1, 'grade'));
|
|
87
|
+
const agreement = Number(this.localStorageCOD.getCodFormData(1, 'agreement_by_category'));
|
|
88
|
+
const userCode = this.baseService.getUserCode();
|
|
89
|
+
const request = {
|
|
90
|
+
code_user: userCode,
|
|
91
|
+
codPrevious: this.codPrevious,
|
|
92
|
+
scorePlacementTest: this.scorePlacementTest,
|
|
93
|
+
age: age,
|
|
94
|
+
grade: grade,
|
|
95
|
+
agreement: agreement,
|
|
96
|
+
modality: this.selectedModality,
|
|
97
|
+
schedules: this.selectedSchedules,
|
|
98
|
+
decitionPlacementTest: this.selectedOptionPlacementTest,
|
|
99
|
+
token: this.baseService.getUserToken()
|
|
100
|
+
};
|
|
101
|
+
this.academicService.obtainPlansCourseAvalaibleForPosibleStudentByAgeAndGrade(request).subscribe((response) => {
|
|
102
|
+
this.SearchData = false;
|
|
103
|
+
this.dataCourse = response.data;
|
|
104
|
+
this.isLoading = false;
|
|
105
|
+
this.visibleGroupReview = true;
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
onReject() {
|
|
109
|
+
this.messageService.clear('confirm');
|
|
110
|
+
this.visible = false;
|
|
111
|
+
}
|
|
112
|
+
showConfirm() {
|
|
113
|
+
if (!this.visible) {
|
|
114
|
+
this.messageService.add({ key: 'confirm', sticky: true, severity: 'success', summary: 'Can you send me the report?', life: 5000 });
|
|
115
|
+
this.visible = true;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
selectSchedules(eve) {
|
|
119
|
+
this.selectedSchedules = eve;
|
|
120
|
+
if (this.selectedSchedules.length === 0) {
|
|
121
|
+
this.messageAlertSchedules = true;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
this.messageAlertSchedules = false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
selectModality(eve) {
|
|
128
|
+
this.selectedModality = eve;
|
|
129
|
+
if (this.selectedModality.length === 0) {
|
|
130
|
+
this.messageAlertModality = true;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
this.messageAlertModality = false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
selectOpcionsPlacementTest(eve) {
|
|
137
|
+
this.selectedOptionPlacementTest = eve;
|
|
138
|
+
if (this.selectedOptionPlacementTest.length === 0) {
|
|
139
|
+
this.messageAlertPlacementTest = true;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this.messageAlertPlacementTest = false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
filterAgain() {
|
|
146
|
+
this.SearchData = true;
|
|
147
|
+
}
|
|
148
|
+
courseCode(codeCourse) {
|
|
149
|
+
this.courseSelect = codeCourse;
|
|
150
|
+
this.visibleGroupReview = false;
|
|
151
|
+
this.SearchData = false;
|
|
152
|
+
this.setValuesForm();
|
|
153
|
+
}
|
|
154
|
+
setValuesForm() {
|
|
155
|
+
this.codSelfFormStepTwo.controls['academic_plan'].setValue(this.courseSelect.course_type.academic_plan.code);
|
|
156
|
+
this.codSelfFormStepTwo.controls['course_type'].setValue(this.courseSelect.course_type?.code);
|
|
157
|
+
// this.codSelfFormStepTwo.controls['agreement_by_category'].setValue(this.courseSelect.agreement?.code);
|
|
158
|
+
this.codSelfFormStepTwo.controls['english_level'].setValue(this.courseSelect.english_level?.code);
|
|
159
|
+
this.codSelfFormStepTwo.controls['availible_courses'].setValue(this.courseSelect.code);
|
|
160
|
+
this.codSelfFormStepTwo.controls['course_modality'].setValue(this.courseSelect.course_modality.code);
|
|
161
|
+
}
|
|
162
|
+
openTestInNewTab() {
|
|
163
|
+
window.open('https://test.inglesparatodos.edu.co/', '_blank');
|
|
164
|
+
}
|
|
57
165
|
}
|
|
58
|
-
CodSelfFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, deps: [{ token: i1.FormBuilder }, { token:
|
|
59
|
-
CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n\n <form [formGroup]=\"codSelfFormStepTwo\">\n\n <div class=\"flex justify-content-around flex-wrap gap-2 m-2\">\n <div class=\"since\">\n <span>Selecciona un Horario deseado</span>\n <p-calendar\n [timeOnly]=\"true\"\n placeholder=\"hh:mm\"\n [hourFormat]=\"'12'\"\n inputId=\"timeonly\"\n [formControl]=\"$any(codSelfFormStepTwo.controls['schedule'])\"\n ></p-calendar>\n </div>\n </div>\n\n </form>\n <div class=\"flex mt-3 align-items-center gap-3\">\n <!-- <span *ngIf=\"codSelfFormStepOne.invalid && codSelfFormStepOne.touched\" class=\"text-red-500 font-bold text-center mt-1 py-2 bg-red-100 w-full border-round-xl\">{{ errorMessage }}</span> -->\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n</div>\n\n<div>\n <pre>{{ codSelfFormStepTwo.value | json }}</pre>\n <div>\n <pre>{{ codSelfFormStepTwo.valid | json }}</pre>\n </div>\n</div>\n\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i3.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "pipe", type: i4.JsonPipe, name: "json" }] });
|
|
166
|
+
CodSelfFormStepTwoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MessageService }, { token: i3.BaseService }, { token: i4.AcademicService }], target: i0.ɵɵFactoryTarget.Component });
|
|
167
|
+
CodSelfFormStepTwoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepTwoComponent, selector: "app-cod-self-form-step-two", inputs: { scorePlacementTest: "scorePlacementTest", codPrevious: "codPrevious" }, outputs: { completed: "completed" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2 class=\"title\">Planes</h2>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mt-4 mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container-button\" *ngIf=\"!SearchData\">\n <ipt-button\n [label]=\"'Filtrar'\"\n (onClick)=\"filterAgain()\"\n [primary]=\"true\">\n </ipt-button>\n </div>\n\n <div *ngIf=\"SearchData\">\n <p-accordion [multiple]=\"true\" [activeIndex]=\"[0]\">\n <p-accordionTab header=\"Jornada\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of schedules; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedSchedules\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectSchedules($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertSchedules\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab header=\"Modalidad\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of stateOptionsModality; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedModality\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectModality($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertModality\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest != null\" header=\"Placement test\">\n <span>Tienes un Placement Test realizado. Puedes comenzar con el nivel</span><h3>{{ scorePlacementTest?.level_inglish_next.name }}</h3>\n <span>\"NO APLICA PLACEMENT TEST PARA PLANES TECNICOS\"</span>\n <div class=\"containerDay mt-3\">\n <h3>\u00BFDeseas iniciar en este nivel {{ scorePlacementTest?.level_inglish_next.name }}?</h3>\n\n <div class=\"flex flex-column gap-3\">\n <div *ngFor=\"let category of OptionPlacementTest; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPlacementTest\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPlacementTest($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest == null\" header=\"Prueba diagn\u00F3stico Placement Test\">\n <span>Presenta totalmente gratis esta prueba para conocer tu nivel de ingl\u00E9s y nuestras ofertas para ti.</span>\n <div class=\"containerDay mt-3\">\n <ipt-button\n [label]=\"'Presentar Test'\"\n (onClick)=\"openTestInNewTab()\"\n [primary]=\"true\">\n </ipt-button>\n\n <div class=\"flex flex-column gap-3\">\n\n </div>\n </div>\n </p-accordionTab>\n\n </p-accordion>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pTooltip=\"Buscar Planes\"\n tooltipPosition=\"left\"\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"selectedSchedules.length === 0 || selectedModality.length === 0 || scorePlacementTest != null && selectedOptionPlacementTest.length === 0 \"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n\n\n <ipt-card-select-course-self-cod-managed\n *ngIf=\"courseSelect != null\"\n [courseSelect]=\"courseSelect\">\n </ipt-card-select-course-self-cod-managed>\n\n <article *ngIf=\"visibleGroupReview\" class=\"cards-container\">\n\n <ipt-card-course-self-cod-managed\n [CourseData]=\"dataCourse\"\n (codeCourse)=\"courseCode($event)\"\n [isLoading]=\"isLoading\">\n </ipt-card-course-self-cod-managed>\n </article>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepTwo.valid || courseSelect === null\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-buttonset .p-button{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;height:28px}:host ::ng-deep .p-calendar{position:relative;display:inline-flex;max-width:100%;height:28px;box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;background-color:#fff;-webkit-appearance:none}.cards-container{margin-top:10px}.container-button{width:7rem}.containerDay{justify-content:center;display:flex}.checkBox{gap:1rem}:host ::ng-deep .p-accordion .p-accordion-header .p-accordion-header-link{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.title_step{display:flex;flex-direction:row;gap:5px}.title{color:#2563eb;border-color:1px solid #2563eb}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: i7.CardCourseComponent, selector: "ipt-card-course-self-cod-managed", inputs: ["CourseData", "isLoading"], outputs: ["codeCourse"] }, { kind: "component", type: i8.CardSelectCourseComponent, selector: "ipt-card-select-course-self-cod-managed", inputs: ["courseSelect"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i10.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i11.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i12.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i12.AccordionTab, selector: "p-accordionTab", inputs: ["header", "disabled", "cache", "transitionOptions", "selected"], outputs: ["selectedChange"] }, { kind: "component", type: i13.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }, { kind: "component", type: i14.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
|
|
60
168
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepTwoComponent, decorators: [{
|
|
61
169
|
type: Component,
|
|
62
|
-
args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Planes</h2>\n\n <
|
|
63
|
-
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type:
|
|
170
|
+
args: [{ selector: 'app-cod-self-form-step-two', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2 class=\"title\">Planes</h2>\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto mt-4 mb-4\" (click)=\"showConfirm()\" pTooltip=\"Mas info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <div class=\"container-button\" *ngIf=\"!SearchData\">\n <ipt-button\n [label]=\"'Filtrar'\"\n (onClick)=\"filterAgain()\"\n [primary]=\"true\">\n </ipt-button>\n </div>\n\n <div *ngIf=\"SearchData\">\n <p-accordion [multiple]=\"true\" [activeIndex]=\"[0]\">\n <p-accordionTab header=\"Jornada\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of schedules; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedSchedules\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectSchedules($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertSchedules\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab header=\"Modalidad\">\n <div class=\"containerDay\">\n <div class=\"checkBox flex flex-wrap justify-content-between m-3 gap-3\">\n <div *ngFor=\"let dayW of stateOptionsModality; index as ind\" class=\"field-checkbox\">\n <p-checkbox\n name=\"group2\"\n value=\"category\"\n [value]=\"dayW\"\n [(ngModel)]=\"selectedModality\"\n [inputId]=\"dayW.key\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n checkboxIcon=\"pi pi-check-circle\"\n (ngModelChange)=\"selectModality($event)\"\n ></p-checkbox>\n <label [for]=\"dayW.key\">{{ dayW.name }}</label>\n </div>\n <div *ngIf=\"messageAlertModality\">\n <span class=\"error-message\">Por favor selecciona una opcion</span>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest != null\" header=\"Placement test\">\n <span>Tienes un Placement Test realizado. Puedes comenzar con el nivel</span><h3>{{ scorePlacementTest?.level_inglish_next.name }}</h3>\n <span>\"NO APLICA PLACEMENT TEST PARA PLANES TECNICOS\"</span>\n <div class=\"containerDay mt-3\">\n <h3>\u00BFDeseas iniciar en este nivel {{ scorePlacementTest?.level_inglish_next.name }}?</h3>\n\n <div class=\"flex flex-column gap-3\">\n <div *ngFor=\"let category of OptionPlacementTest; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPlacementTest\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPlacementTest($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n </p-accordionTab>\n <p-accordionTab *ngIf=\"scorePlacementTest == null\" header=\"Prueba diagn\u00F3stico Placement Test\">\n <span>Presenta totalmente gratis esta prueba para conocer tu nivel de ingl\u00E9s y nuestras ofertas para ti.</span>\n <div class=\"containerDay mt-3\">\n <ipt-button\n [label]=\"'Presentar Test'\"\n (onClick)=\"openTestInNewTab()\"\n [primary]=\"true\">\n </ipt-button>\n\n <div class=\"flex flex-column gap-3\">\n\n </div>\n </div>\n </p-accordionTab>\n\n </p-accordion>\n <div class=\"flex-none flex align-items-center justify-content-end m-2\">\n <button\n pTooltip=\"Buscar Planes\"\n tooltipPosition=\"left\"\n pButton\n Ripple\n type=\"button\"\n icon=\"pi pi-search\"\n class=\"p-button-rounded p-button-outlined\"\n [disabled]=\"selectedSchedules.length === 0 || selectedModality.length === 0 || scorePlacementTest != null && selectedOptionPlacementTest.length === 0 \"\n (click)=\"searchAvalaibleCourse()\"\n ></button>\n </div>\n </div>\n\n\n <ipt-card-select-course-self-cod-managed\n *ngIf=\"courseSelect != null\"\n [courseSelect]=\"courseSelect\">\n </ipt-card-select-course-self-cod-managed>\n\n <article *ngIf=\"visibleGroupReview\" class=\"cards-container\">\n\n <ipt-card-course-self-cod-managed\n [CourseData]=\"dataCourse\"\n (codeCourse)=\"courseCode($event)\"\n [isLoading]=\"isLoading\">\n </ipt-card-course-self-cod-managed>\n </article>\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-left\"\n type=\"submit\"\n (click)=\"back()\"\n ></button>\n\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n [disabled]=\"!codSelfFormStepTwo.valid || courseSelect === null\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: [".container-form{margin:5%;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}span{color:#999;font-size:15px;font-weight:400;pointer-events:none;left:20px;top:-20px}:host ::ng-deep .p-buttonset .p-button{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;height:28px}:host ::ng-deep .p-calendar{position:relative;display:inline-flex;max-width:100%;height:28px;box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;background-color:#fff;-webkit-appearance:none}.cards-container{margin-top:10px}.container-button{width:7rem}.containerDay{justify-content:center;display:flex}.checkBox{gap:1rem}:host ::ng-deep .p-accordion .p-accordion-header .p-accordion-header-link{color:#fff!important;background:rgb(4,18,106);background:linear-gradient(175deg,rgba(4,18,106,1) 27%,rgba(48,63,155,1) 53%,rgba(28,119,247,1)90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}:host ::ng-deep .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link{color:#fff!important;background:rgb(127,33,99);background:linear-gradient(175deg,rgba(127,33,99,1) 27%,rgba(171,49,135,1) 53%,rgba(220,76,178,1) 90%);border-radius:6px 6px 0 0}.title_step{display:flex;flex-direction:row;gap:5px}.title{color:#2563eb;border-color:1px solid #2563eb}\n"] }]
|
|
171
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.MessageService }, { type: i3.BaseService }, { type: i4.AcademicService }]; }, propDecorators: { completed: [{
|
|
64
172
|
type: Output
|
|
173
|
+
}], scorePlacementTest: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], codPrevious: [{
|
|
176
|
+
type: Input
|
|
65
177
|
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9zdGVwcy9jb2QtZm9ybS1zdGVwLXR3by9jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdHdvL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFtRCxNQUFNLGVBQWUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLE1BQU0sb0NBQW9DLENBQUM7QUFDaEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFhLFVBQVUsRUFBZSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFVcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLG1CQUFtQjtJQU9sRSxZQUNVLEVBQWUsRUFDZixLQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUhBLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQU54QixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVqRCxhQUFRLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQU9wRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0QsV0FBVztRQUNULG1CQUFtQjtRQUNuQixnQ0FBZ0M7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsUUFBUTtRQUVOLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN0QyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckMsOENBQThDO1lBQzlDLDJDQUEyQztZQUMzQyx1REFBdUQ7WUFDdkQsMEhBQTBIO1lBQzFILGtEQUFrRDtZQUNsRCxpREFBaUQ7U0FFbEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUk7UUFDRiw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELFFBQVE7UUFDTiw4Q0FBOEM7UUFDOUMsK0NBQStDO1FBRS9DLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzlCLElBQUksaUJBQWlCLEdBQTBCLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0hBekRVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLG1KQ2J4Qyx3eUNBNkNBOzJGRGhDYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsNEJBQTRCO2tJQU81QixTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvZFNlbGZNYW5hZ2VkU3RlcHMsIGxvY2FsU3RvcmFnZVZhbHVlc1R3byB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtc3RlcHMnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRDb250cm9scyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1zZWxmLWZvcm0tc3RlcC10d28nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RTZWxmRm9ybVN0ZXBUd29Db21wb25lbnQgZXh0ZW5kcyBDb2RTZWxmTWFuYWdlZFN0ZXBzIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cblxuICBAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIGNvZFNlbGZGb3JtU3RlcFR3byE6IEZvcm1Hcm91cFxuICBjb250cm9scyA9IG5ldyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzKCkuY29udHJvbHNbMV07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICB9XG4gIG5nT25DaGFuZ2VzKCl7XG4gICAgLy8gdGhpcy5pbml0Rm9ybSgpO1xuICAgIC8vIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snc2NoZWR1bGUnXS5zZXRWYWx1ZShcIlwiKTtcbiAgfVxuICBpbml0Rm9ybSgpIHtcblxuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzY2hlZHVsZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgLy8gYWNhZGVtaWNfcGxhbjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgLy8gY291cnNlX3R5cGU6WycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgLy8gYWdyZWVtZW50X2J5X2NhdGVnb3J5OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxdLFxuICAgICAgLy8gZW5nbGlzaF9sZXZlbDogW3t2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyMCldXSxcbiAgICAgIC8vIGF2YWlsaWJsZV9jb3Vyc2VzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICAvLyBjb3Vyc2VfbW9kYWxpdHk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLF0sXG5cbiAgICB9KTtcbiAgfVxuICBiYWNrKCkge1xuICAgIC8vIE1vdmVybm9zIGFsIHBhc28gYW50ZXJpb3JcbiAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KDApO1xuICB9XG4gIHNlbmRGb3JtKCkge1xuICAgIC8vIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAvLyBpZiAodGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyAzXG4gICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgyKTtcbiAgfVxuXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlc1R3byA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMiwgY29udHJvbC5uYW1lKTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcygyLCBjb250cm9sLm5hbWUsIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItbWFpblwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZvcm1cIj5cbiAgICA8aDI+UGxhbmVzPC9oMj5cblxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY29kU2VsZkZvcm1TdGVwVHdvXCI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWFyb3VuZCBmbGV4LXdyYXAgZ2FwLTIgbS0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpbmNlXCI+XG4gICAgICAgICAgICAgIDxzcGFuPlNlbGVjY2lvbmEgdW4gSG9yYXJpbyBkZXNlYWRvPC9zcGFuPlxuICAgICAgICAgICAgICA8cC1jYWxlbmRhclxuICAgICAgICAgICAgICAgIFt0aW1lT25seV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImhoOm1tXCJcbiAgICAgICAgICAgICAgICBbaG91ckZvcm1hdF09XCInMTInXCJcbiAgICAgICAgICAgICAgICBpbnB1dElkPVwidGltZW9ubHlcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCIkYW55KGNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snc2NoZWR1bGUnXSlcIlxuICAgICAgICAgICAgPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgIDwhLS0gPHNwYW4gKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUudG91Y2hlZFwiIGNsYXNzPVwidGV4dC1yZWQtNTAwIGZvbnQtYm9sZCB0ZXh0LWNlbnRlciBtdC0xIHB5LTIgYmctcmVkLTEwMCB3LWZ1bGwgYm9yZGVyLXJvdW5kLXhsXCI+e3sgZXJyb3JNZXNzYWdlIH19PC9zcGFuPiAtLT5cbiAgICAgIDxidXR0b25cbiAgICAgIHBCdXR0b25cbiAgICAgIGljb249XCJwaSBwaS1hcnJvdy1sZWZ0XCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgKGNsaWNrKT1cImJhY2soKVwiXG4gICAgICA+PC9idXR0b24+XG5cbiAgICAgIDxidXR0b25cbiAgICAgIHBCdXR0b25cbiAgICAgIGljb249XCJwaSBwaS1hcnJvdy1yaWdodFwiXG4gICAgICAoY2xpY2spPVwic2VuZEZvcm0oKVwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXY+XG4gIDxwcmU+e3sgY29kU2VsZkZvcm1TdGVwVHdvLnZhbHVlIHwganNvbiB9fTwvcHJlPlxuICA8ZGl2PlxuICAgIDxwcmU+e3sgY29kU2VsZkZvcm1TdGVwVHdvLnZhbGlkIHwganNvbiB9fTwvcHJlPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9zdGVwcy9jb2QtZm9ybS1zdGVwLXR3by9jb2Qtc2VsZi1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdHdvL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWEsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFLcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUF5QixNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBYWhHLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxtQkFBbUI7SUFzQ2xFLFlBQ1UsRUFBZSxFQUNmLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLGVBQWdDO1FBRXhDLEtBQUssRUFBRSxDQUFDO1FBTEEsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUF4Q2hDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBS2pELGFBQVEsR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR3BELFlBQU8s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USxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlGLHlHQUF5RztRQUN6RyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRSxDQUFDOzt3SEF4S1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsZ05DcEJ4QyxvdE9BcUtBOzJGRGpKYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsNEJBQTRCO3VMQU01QixTQUFTO3NCQUFsQixNQUFNO2dCQUVFLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLy9pbXBvcnQgc2VydmljZXNcbmltcG9ydCB7IEFjYWRlbWljU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hY2FkZW1pYy1zZXJ2aWNlL2FjYWRlbWljLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLy4uLy4uLy4uL2NvcmUvdXRpbHMvYmFzZS1zZXJ2aWNlL2Jhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1jb250cm9scyc7XG5pbXBvcnQgeyBDb2RTZWxmTWFuYWdlZFN0ZXBzLCBsb2NhbFN0b3JhZ2VWYWx1ZXNUd28gfSBmcm9tICcuLi8uLi9sb2dpYy9jb2Qtc2VsZi1tYW5hZ2VkLXN0ZXBzJztcblxuLy9pbXBvcnQgUHJpbWUgbmdcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG4vL2ltcG9ydCBNb2RlbHNcbmltcG9ydCB7IEl3ZWVrRGF5c1JxIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMvYWNhZGVtaWMvYWNhZGVtaWMuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1zZWxmLWZvcm0tc3RlcC10d28nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1zZWxmLWZvcm0tc3RlcC10d28uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RTZWxmRm9ybVN0ZXBUd29Db21wb25lbnQgZXh0ZW5kcyBDb2RTZWxmTWFuYWdlZFN0ZXBzIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQElucHV0KCkgc2NvcmVQbGFjZW1lbnRUZXN0Pzphbnk7XG4gIEBJbnB1dCgpIGNvZFByZXZpb3VzPzphbnk7XG5cbiAgY29udHJvbHMgPSBuZXcgQ29kU2VsZk1hbmFnZWRDb250cm9scygpLmNvbnRyb2xzWzFdO1xuICBjb2RTZWxmRm9ybVN0ZXBUd28hOiBGb3JtR3JvdXA7XG4gIHN0YXJ0RGF0ZTEhOiBzdHJpbmc7XG4gIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgbWVzc2FnZUluZm86c3RyaW5nID0gJ0J1c2NhIHVuIHBsYW4gZGUgYWN1ZXJkbyBhIHR1IGRpc3BvbmliaWxpZGFkLic7XG4gIHN0YXRlT3B0aW9uc01vZGFsaXR5OiBhbnlbXSA9IFtcbiAgICB7IGNvZGU6IDEsIGtleTogJ3ByJywgIG5hbWU6ICdQcmVzZW5jaWFsJ30sXG4gICAgeyBjb2RlOiAyLCBrZXk6ICd2aScsIG5hbWU6ICdWaXJ0dWFsJ30sXG4gIF07XG4gIHNjaGVkdWxlczogSXdlZWtEYXlzUnFbXSA9IFtcbiAgICB7Y29kZTogMSwgbmFtZTogJ01hw7FhbmEnLCBrZXk6ICdtYScgfSxcbiAgICB7Y29kZTogMiwgbmFtZTogJ1RhcmRlJywga2V5OiAndGEnIH0sXG4gICAge2NvZGU6IDMsIG5hbWU6ICdOb2NoZScsIGtleTogJ25vJyB9LFxuICBdO1xuICBPcHRpb25QbGFjZW1lbnRUZXN0OiBhbnlbXT1bXG4gICAge2NvZGU6IDEsIGtleTogJ3NpJywgIG5hbWU6ICdTaSd9LFxuICAgIHtjb2RlOiAyLCBrZXk6ICduaScsICBuYW1lOiAnTm8nfSxcbiAgXTtcbiAgc2VsZWN0ZWRTY2hlZHVsZXM6IEl3ZWVrRGF5c1JxW10gPSBbXTtcbiAgZGlzYWJsZXdlZWtkYXlzOiBib29sZWFuW10gPSBbXTtcbiAgc2VsZWN0ZWRNb2RhbGl0eTogSXdlZWtEYXlzUnFbXT1bXVxuICBzZWxlY3RlZE9wdGlvblBsYWNlbWVudFRlc3Q6IEl3ZWVrRGF5c1JxW109W107XG4gIG1lc3NhZ2VBbGVydFNjaGVkdWxlcyA9IGZhbHNlO1xuICBtZXNzYWdlQWxlcnRNb2RhbGl0eSA9IGZhbHNlO1xuICBtZXNzYWdlQWxlcnRQbGFjZW1lbnRUZXN0ID0gZmFsc2U7XG4gIFNlYXJjaERhdGEgPSB0cnVlO1xuICBkYXRhQ291cnNlOiBhbnlbXSA9IFtdO1xuICBpc0xvYWRpbmcgPSB0cnVlO1xuICBjb3Vyc2VTZWxlY3Q/OiBhbnk7XG4gIHZpc2libGVHcm91cFJldmlldyA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWNhZGVtaWNTZXJ2aWNlOiBBY2FkZW1pY1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmluaXRGb3JtKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAgIHRoaXMuaXNMb2FkaW5nPXRydWU7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcblxuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBhY2FkZW1pY19wbGFuOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBjb3Vyc2VfdHlwZTpbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBlbmdsaXNoX2xldmVsOiBbe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWV9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV1dLFxuICAgICAgYXZhaWxpYmxlX2NvdXJzZXM6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNvdXJzZV9tb2RhbGl0eTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXSxcblxuICAgIH0pO1xuICB9XG5cbiAgYmFjaygpIHtcbiAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KDApO1xuICB9XG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29tcGxldGVkLmVtaXQoMik7XG4gIH1cblxuICBzdGFydExvY2FsU3RvcmFnZVdvcmsoKSB7XG4gICAgdGhpcy5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgbGV0IGxvY2FsU3RvcmFnZVZhbHVlOiBsb2NhbFN0b3JhZ2VWYWx1ZXNUd28gPSB0aGlzLnJlYWRBbmRXcml0ZUxTKDIsIGNvbnRyb2wubmFtZSk7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1tjb250cm9sLm5hbWVdLnNldFZhbHVlKGxvY2FsU3RvcmFnZVZhbHVlLnZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuRm9ybUNoYW5nZXMoMiwgY29udHJvbC5uYW1lLCB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1tjb250cm9sLm5hbWVdLnZhbHVlQ2hhbmdlcyk7XG4gICAgfSk7XG4gIH1cblxuICBzZWFyY2hBdmFsYWlibGVDb3Vyc2UoKXtcbiAgICB0aGlzLmlzTG9hZGluZz10cnVlO1xuICAgIGNvbnN0IGFnZSA9IE51bWJlcih0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnYWdlJykpXG4gICAgY29uc3QgZ3JhZGUgPSBOdW1iZXIodGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoMSwgJ2dyYWRlJykpXG4gICAgY29uc3QgYWdyZWVtZW50ID0gTnVtYmVyKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknKSlcbiAgICBjb25zdCB1c2VyQ29kZSA9IHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlckNvZGUoKTtcblxuICAgIGNvbnN0IHJlcXVlc3Q6IGFueSA9IHtcbiAgICAgIGNvZGVfdXNlcjogdXNlckNvZGUsXG4gICAgICBjb2RQcmV2aW91czogdGhpcy5jb2RQcmV2aW91cyxcbiAgICAgIHNjb3JlUGxhY2VtZW50VGVzdDogdGhpcy5zY29yZVBsYWNlbWVudFRlc3QsXG4gICAgICBhZ2U6IGFnZSxcbiAgICAgIGdyYWRlOiBncmFkZSxcbiAgICAgIGFncmVlbWVudDogYWdyZWVtZW50LFxuICAgICAgbW9kYWxpdHk6IHRoaXMuc2VsZWN0ZWRNb2RhbGl0eSxcbiAgICAgIHNjaGVkdWxlczogdGhpcy5zZWxlY3RlZFNjaGVkdWxlcyxcbiAgICAgIGRlY2l0aW9uUGxhY2VtZW50VGVzdDogdGhpcy5zZWxlY3RlZE9wdGlvblBsYWNlbWVudFRlc3QsXG4gICAgICB0b2tlbjogdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyVG9rZW4oKVxuXG4gICAgfVxuICAgIHRoaXMuYWNhZGVtaWNTZXJ2aWNlLm9idGFpblBsYW5zQ291cnNlQXZhbGFpYmxlRm9yUG9zaWJsZVN0dWRlbnRCeUFnZUFuZEdyYWRlKHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2UpPT57XG4gICAgICB0aGlzLlNlYXJjaERhdGEgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGF0YUNvdXJzZSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy52aXNpYmxlR3JvdXBSZXZpZXcgPSB0cnVlXG4gICAgfSlcbiAgfVxuXG4gIG9uUmVqZWN0KCkge1xuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY2xlYXIoJ2NvbmZpcm0nKTtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gIHNob3dDb25maXJtKCkge1xuICAgIGlmICghdGhpcy52aXNpYmxlKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiAnY29uZmlybScsIHN0aWNreTogdHJ1ZSwgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ0NhbiB5b3Ugc2VuZCBtZSB0aGUgcmVwb3J0PycsIGxpZmU6IDUwMDAgfSk7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0U2NoZWR1bGVzKGV2ZTogSXdlZWtEYXlzUnFbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRTY2hlZHVsZXMgPSBldmVcbiAgICBpZiAodGhpcy5zZWxlY3RlZFNjaGVkdWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubWVzc2FnZUFsZXJ0U2NoZWR1bGVzID0gdHJ1ZTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMubWVzc2FnZUFsZXJ0U2NoZWR1bGVzID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICBzZWxlY3RNb2RhbGl0eShldmU6IEl3ZWVrRGF5c1JxW10pe1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RhbGl0eSA9IGV2ZVxuICAgIGlmICh0aGlzLnNlbGVjdGVkTW9kYWxpdHkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLm1lc3NhZ2VBbGVydE1vZGFsaXR5ID0gdHJ1ZTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMubWVzc2FnZUFsZXJ0TW9kYWxpdHkgPSBmYWxzZVxuICAgIH1cbiAgfVxuICBzZWxlY3RPcGNpb25zUGxhY2VtZW50VGVzdChldmU6IEl3ZWVrRGF5c1JxW10pe1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25QbGFjZW1lbnRUZXN0ID0gZXZlXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25QbGFjZW1lbnRUZXN0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5tZXNzYWdlQWxlcnRQbGFjZW1lbnRUZXN0ID0gdHJ1ZTtcbiAgICB9ZWxzZXtcbiAgICAgIHRoaXMubWVzc2FnZUFsZXJ0UGxhY2VtZW50VGVzdCA9IGZhbHNlXG4gICAgfVxuICB9XG5cbiAgZmlsdGVyQWdhaW4oKXtcbiAgICB0aGlzLlNlYXJjaERhdGEgPSB0cnVlXG4gIH1cblxuICBjb3Vyc2VDb2RlKGNvZGVDb3Vyc2U6IGFueSl7XG4gICAgdGhpcy5jb3Vyc2VTZWxlY3QgPSBjb2RlQ291cnNlO1xuICAgIHRoaXMudmlzaWJsZUdyb3VwUmV2aWV3ID0gZmFsc2U7XG4gICAgdGhpcy5TZWFyY2hEYXRhID0gZmFsc2U7XG4gICAgdGhpcy5zZXRWYWx1ZXNGb3JtKCk7XG4gIH1cblxuICBzZXRWYWx1ZXNGb3JtKCl7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBUd28uY29udHJvbHNbJ2FjYWRlbWljX3BsYW4nXS5zZXRWYWx1ZSh0aGlzLmNvdXJzZVNlbGVjdC5jb3Vyc2VfdHlwZS5hY2FkZW1pY19wbGFuLmNvZGUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydjb3Vyc2VfdHlwZSddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0LmNvdXJzZV90eXBlPy5jb2RlKTtcbiAgICAvLyB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snYWdyZWVtZW50X2J5X2NhdGVnb3J5J10uc2V0VmFsdWUodGhpcy5jb3Vyc2VTZWxlY3QuYWdyZWVtZW50Py5jb2RlKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcFR3by5jb250cm9sc1snZW5nbGlzaF9sZXZlbCddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0LmVuZ2xpc2hfbGV2ZWw/LmNvZGUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydhdmFpbGlibGVfY291cnNlcyddLnNldFZhbHVlKHRoaXMuY291cnNlU2VsZWN0LmNvZGUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwVHdvLmNvbnRyb2xzWydjb3Vyc2VfbW9kYWxpdHknXS5zZXRWYWx1ZSh0aGlzLmNvdXJzZVNlbGVjdC5jb3Vyc2VfbW9kYWxpdHkuY29kZSk7XG4gIH1cblxuICBvcGVuVGVzdEluTmV3VGFiKCk6IHZvaWQge1xuICAgIHdpbmRvdy5vcGVuKCdodHRwczovL3Rlc3QuaW5nbGVzcGFyYXRvZG9zLmVkdS5jby8nLCAnX2JsYW5rJyk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItbWFpblwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwidGl0bGVfc3RlcFwiPlxuICAgICAgPGgyIGNsYXNzPVwidGl0bGVcIj5QbGFuZXM8L2gyPlxuICAgICAgPGkgY2xhc3M9XCJwaSBwaS1leGNsYW1hdGlvbi1jaXJjbGUgY3Vyc29yLXBvaW50ZXIgdy1hdXRvIG10LTQgbWItNFwiIChjbGljayk9XCJzaG93Q29uZmlybSgpXCIgcFRvb2x0aXA9XCJNYXMgaW5mby5cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj48L2k+XG4gICAgPC9kaXY+XG4gICAgICA8cC10b2FzdCBwb3NpdGlvbj1cInRvcC1jZW50ZXJcIiBrZXk9XCJjb25maXJtXCIgKG9uQ2xvc2UpPVwib25SZWplY3QoKVwiIFtiYXNlWkluZGV4XT1cIjEwXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVzc2FnZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiIHN0eWxlPVwiZmxleDogMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL2xvZ29zL3JlYWRpbmcucG5nXCIgc3R5bGU9XCJ3aWR0aDogNjVweDtcIiBzaGFwZT1cImNpcmNsZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtOTAwXCI+SmFjb2I8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtbGcgbXktMyB0ZXh0LTkwMFwiPnt7IG1lc3NhZ2VJbmZvIH19PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvcC10b2FzdD5cblxuICAgICAgPGRpdiBjbGFzcz1cImFuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX3NsaWRlSW5SaWdodCBuZy1zdGFyLWluc2VydGVkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItYnV0dG9uXCIgKm5nSWY9XCIhU2VhcmNoRGF0YVwiPlxuICAgICAgICAgIDxpcHQtYnV0dG9uXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0ZpbHRyYXInXCJcbiAgICAgICAgICAgIChvbkNsaWNrKT1cImZpbHRlckFnYWluKClcIlxuICAgICAgICAgICAgW3ByaW1hcnldPVwidHJ1ZVwiPlxuICAgICAgICAgIDwvaXB0LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiAqbmdJZj1cIlNlYXJjaERhdGFcIj5cbiAgICAgICAgICA8cC1hY2NvcmRpb24gW211bHRpcGxlXT1cInRydWVcIiBbYWN0aXZlSW5kZXhdPVwiWzBdXCI+XG4gICAgICAgICAgICA8cC1hY2NvcmRpb25UYWIgaGVhZGVyPVwiSm9ybmFkYVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyRGF5XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrQm94IGZsZXggZmxleC13cmFwIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG0tMyBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5VyBvZiBzY2hlZHVsZXM7IGluZGV4IGFzIGluZFwiIGNsYXNzPVwiZmllbGQtY2hlY2tib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZ3JvdXAyXCJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cImNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZGF5V1wiXG4gICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFNjaGVkdWxlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiZGF5Vy5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxld2Vla2RheXNbaW5kXVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICBjaGVja2JveEljb249XCJwaSBwaS1jaGVjay1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdFNjaGVkdWxlcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvcC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiZGF5Vy5rZXlcIj57eyBkYXlXLm5hbWUgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibWVzc2FnZUFsZXJ0U2NoZWR1bGVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBzZWxlY2Npb25hIHVuYSBvcGNpb248L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XG4gICAgICAgICAgICA8cC1hY2NvcmRpb25UYWIgaGVhZGVyPVwiTW9kYWxpZGFkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJEYXlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tCb3ggZmxleCBmbGV4LXdyYXAganVzdGlmeS1jb250ZW50LWJldHdlZW4gbS0zIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXlXIG9mIHN0YXRlT3B0aW9uc01vZGFsaXR5OyBpbmRleCBhcyBpbmRcIiBjbGFzcz1cImZpZWxkLWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImdyb3VwMlwiXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJjYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImRheVdcIlxuICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRNb2RhbGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lucHV0SWRdPVwiZGF5Vy5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxld2Vla2RheXNbaW5kXVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICBjaGVja2JveEljb249XCJwaSBwaS1jaGVjay1jaXJjbGVcIlxuICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdE1vZGFsaXR5KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9wLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJkYXlXLmtleVwiPnt7IGRheVcubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtZXNzYWdlQWxlcnRNb2RhbGl0eVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3Igc2VsZWNjaW9uYSB1bmEgb3BjaW9uPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxuICAgICAgICAgICAgPHAtYWNjb3JkaW9uVGFiICpuZ0lmPVwic2NvcmVQbGFjZW1lbnRUZXN0ICE9IG51bGxcIiBoZWFkZXI9XCJQbGFjZW1lbnQgdGVzdFwiPlxuICAgICAgICAgICAgICA8c3Bhbj5UaWVuZXMgdW4gUGxhY2VtZW50IFRlc3QgcmVhbGl6YWRvLiBQdWVkZXMgY29tZW56YXIgY29uIGVsIG5pdmVsPC9zcGFuPjxoMz57eyBzY29yZVBsYWNlbWVudFRlc3Q/LmxldmVsX2luZ2xpc2hfbmV4dC5uYW1lIH19PC9oMz5cbiAgICAgICAgICAgICAgPHNwYW4+XCJOTyBBUExJQ0EgUExBQ0VNRU5UIFRFU1QgUEFSQSBQTEFORVMgVEVDTklDT1NcIjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lckRheSBtdC0zXCI+XG4gICAgICAgICAgICAgICAgPGgzPsK/RGVzZWFzIGluaWNpYXIgZW4gZXN0ZSBuaXZlbCB7eyBzY29yZVBsYWNlbWVudFRlc3Q/LmxldmVsX2luZ2xpc2hfbmV4dC5uYW1lIH19PzwvaDM+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBPcHRpb25QbGFjZW1lbnRUZXN0OyBpbmRleCBhcyBpbmRcIiBjbGFzcz1cImZpZWxkLWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwLXJhZGlvQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRJZF09XCJjYXRlZ29yeS5rZXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjYXRlZ29yeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkT3B0aW9uUGxhY2VtZW50VGVzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZXdlZWtkYXlzW2luZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdE9wY2lvbnNQbGFjZW1lbnRUZXN0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC1yYWRpb0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiY2F0ZWdvcnkua2V5XCIgY2xhc3M9XCJtbC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBjYXRlZ29yeS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxuICAgICAgICAgICAgPHAtYWNjb3JkaW9uVGFiICpuZ0lmPVwic2NvcmVQbGFjZW1lbnRUZXN0ID09IG51bGxcIiBoZWFkZXI9XCJQcnVlYmEgZGlhZ27Ds3N0aWNvIFBsYWNlbWVudCBUZXN0XCI+XG4gICAgICAgICAgICAgIDxzcGFuPlByZXNlbnRhIHRvdGFsbWVudGUgZ3JhdGlzIGVzdGEgcHJ1ZWJhIHBhcmEgY29ub2NlciB0dSBuaXZlbCBkZSBpbmdsw6lzIHkgbnVlc3RyYXMgb2ZlcnRhcyBwYXJhIHRpLjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lckRheSBtdC0zXCI+XG4gICAgICAgICAgICAgICAgPGlwdC1idXR0b25cbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1ByZXNlbnRhciBUZXN0J1wiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwib3BlblRlc3RJbk5ld1RhYigpXCJcbiAgICAgICAgICAgICAgICBbcHJpbWFyeV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDwvaXB0LWJ1dHRvbj5cblxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiPlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9wLWFjY29yZGlvblRhYj5cblxuICAgICAgICAgIDwvcC1hY2NvcmRpb24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtbm9uZSBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIG0tMlwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBwVG9vbHRpcD1cIkJ1c2NhciBQbGFuZXNcIlxuICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICBSaXBwbGVcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGljb249XCJwaSBwaS1zZWFyY2hcIlxuICAgICAgICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tb3V0bGluZWRcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwic2VsZWN0ZWRTY2hlZHVsZXMubGVuZ3RoID09PSAwIHx8IHNlbGVjdGVkTW9kYWxpdHkubGVuZ3RoID09PSAwIHx8IHNjb3JlUGxhY2VtZW50VGVzdCAhPSBudWxsICYmIHNlbGVjdGVkT3B0aW9uUGxhY2VtZW50VGVzdC5sZW5ndGggPT09IDAgXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlYXJjaEF2YWxhaWJsZUNvdXJzZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICA8aXB0LWNhcmQtc2VsZWN0LWNvdXJzZS1zZWxmLWNvZC1tYW5hZ2VkXG4gICAgICAgICpuZ0lmPVwiY291cnNlU2VsZWN0ICE9IG51bGxcIlxuICAgICAgICBbY291cnNlU2VsZWN0XT1cImNvdXJzZVNlbGVjdFwiPlxuICAgICAgICA8L2lwdC1jYXJkLXNlbGVjdC1jb3Vyc2Utc2VsZi1jb2QtbWFuYWdlZD5cblxuICAgICAgICA8YXJ0aWNsZSAqbmdJZj1cInZpc2libGVHcm91cFJldmlld1wiIGNsYXNzPVwiY2FyZHMtY29udGFpbmVyXCI+XG5cbiAgICAgICAgICA8aXB0LWNhcmQtY291cnNlLXNlbGYtY29kLW1hbmFnZWRcbiAgICAgICAgICAgIFtDb3Vyc2VEYXRhXT1cImRhdGFDb3Vyc2VcIlxuICAgICAgICAgICAgKGNvZGVDb3Vyc2UpPVwiY291cnNlQ29kZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCI+XG4gICAgICAgICAgPC9pcHQtY2FyZC1jb3Vyc2Utc2VsZi1jb2QtbWFuYWdlZD5cbiAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICBwQnV0dG9uXG4gICAgICAgIGljb249XCJwaSBwaS1hcnJvdy1sZWZ0XCJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIChjbGljayk9XCJiYWNrKClcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICBwQnV0dG9uXG4gICAgICAgIGljb249XCJwaSBwaS1hcnJvdy1yaWdodFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY29kU2VsZkZvcm1TdGVwVHdvLnZhbGlkIHx8IGNvdXJzZVNlbGVjdCA9PT0gbnVsbFwiXG4gICAgICAgIChjbGljayk9XCJzZW5kRm9ybSgpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuXG4iXX0=
|
|
@@ -31,7 +31,7 @@ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
31
31
|
[ngClass]="classes"
|
|
32
32
|
>
|
|
33
33
|
{{ label }}
|
|
34
|
-
</button>`, isInline: true, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:
|
|
34
|
+
</button>`, isInline: true, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:4px;cursor:pointer;display:inline-block;line-height:1;transition:.4s;width:100%;box-shadow:#06182c66 0 0,#06182ca6 1px 1px 1px 1px,#ffffff14 0 0 inset}.ipt-button:hover{box-shadow:0 10px 20px #1b1b1b80;transform:translateY(-3px)}.ipt-button:active{transform:scale(.99)}.ipt-button--primary{color:#fff;background-color:#1c77f7}.ipt-button--primary-disabled{color:gray;background-color:#fff;border:1px solid gray;box-shadow:none;cursor:not-allowed}.ipt-button--primary-disabled:hover{box-shadow:none;transform:translateY(0)}.ipt-button--secondary{color:#1c77f7;background-color:#fff;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button--small{font-size:12px;padding:10px 16px}.ipt-button--medium{font-size:14px;padding:11px 20px}.ipt-button--large{font-size:16px;padding:12px 24px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
37
37
|
args: [{ selector: 'ipt-button', template: `<button *ngIf="isEnabled"
|
|
@@ -47,7 +47,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
47
47
|
[ngClass]="classes"
|
|
48
48
|
>
|
|
49
49
|
{{ label }}
|
|
50
|
-
</button>`, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:
|
|
50
|
+
</button>`, styles: [".ipt-button{font-family:Poppins,sans-serif;font-weight:700;border:0;border-radius:4px;cursor:pointer;display:inline-block;line-height:1;transition:.4s;width:100%;box-shadow:#06182c66 0 0,#06182ca6 1px 1px 1px 1px,#ffffff14 0 0 inset}.ipt-button:hover{box-shadow:0 10px 20px #1b1b1b80;transform:translateY(-3px)}.ipt-button:active{transform:scale(.99)}.ipt-button--primary{color:#fff;background-color:#1c77f7}.ipt-button--primary-disabled{color:gray;background-color:#fff;border:1px solid gray;box-shadow:none;cursor:not-allowed}.ipt-button--primary-disabled:hover{box-shadow:none;transform:translateY(0)}.ipt-button--secondary{color:#1c77f7;background-color:#fff;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.ipt-button--small{font-size:12px;padding:10px 16px}.ipt-button--medium{font-size:14px;padding:11px 20px}.ipt-button--large{font-size:16px;padding:12px 24px}\n"] }]
|
|
51
51
|
}], propDecorators: { primary: [{
|
|
52
52
|
type: Input
|
|
53
53
|
}], size: [{
|
|
@@ -5,12 +5,18 @@ import * as i2 from "@angular/common";
|
|
|
5
5
|
export class DatalistComponent {
|
|
6
6
|
constructor(fb) {
|
|
7
7
|
this.disabledSel = false;
|
|
8
|
+
this.label = '';
|
|
8
9
|
this.isChanged = new EventEmitter();
|
|
9
10
|
this.clicked = false;
|
|
11
|
+
this.uniqueDatalistId = '';
|
|
12
|
+
}
|
|
13
|
+
ngOnInit() {
|
|
14
|
+
// Generar un ID único si no se proporciona datalistId
|
|
15
|
+
this.uniqueDatalistId = this.datalistId || `datalist-${DatalistComponent.idCounter++}-${Date.now()}`;
|
|
10
16
|
}
|
|
11
17
|
optionChanged(event) {
|
|
12
|
-
let selectOption = this.datalistData.find(element => element.name
|
|
13
|
-
if (typeof
|
|
18
|
+
let selectOption = this.datalistData.find(element => this.label === 'displayName' ? element.displayName === event.target.value : element.name === event.target.value);
|
|
19
|
+
if (typeof selectOption !== 'undefined') {
|
|
14
20
|
this.isChanged.emit(selectOption.code);
|
|
15
21
|
}
|
|
16
22
|
else {
|
|
@@ -21,9 +27,9 @@ export class DatalistComponent {
|
|
|
21
27
|
this.clicked = value.isTrusted;
|
|
22
28
|
}
|
|
23
29
|
setDataListValue() {
|
|
24
|
-
let selectOption = this.datalistData.find(element => element.code
|
|
25
|
-
if (typeof
|
|
26
|
-
return selectOption.name;
|
|
30
|
+
let selectOption = this.datalistData.find(element => element.code === this.initalData);
|
|
31
|
+
if (typeof selectOption !== 'undefined') {
|
|
32
|
+
return this.label === 'displayName' ? selectOption.displayName : selectOption.name;
|
|
27
33
|
}
|
|
28
34
|
else {
|
|
29
35
|
return '';
|
|
@@ -33,27 +39,28 @@ export class DatalistComponent {
|
|
|
33
39
|
return this.clicked === false ? 'label' : 'labelUp';
|
|
34
40
|
}
|
|
35
41
|
}
|
|
42
|
+
DatalistComponent.idCounter = 0; // Contador estático para generar IDs únicos
|
|
36
43
|
DatalistComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DatalistComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
-
DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData", disabledSel: "disabledSel" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
|
|
44
|
+
DatalistComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DatalistComponent, selector: "ipt-datalist", inputs: { datalistId: "datalistId", datalistData: "datalistData", placeHolder: "placeHolder", validateText: "validateText", initalData: "initalData", disabledSel: "disabledSel", label: "label" }, outputs: { isChanged: "isChanged" }, ngImport: i0, template: `
|
|
38
45
|
<div class="input-container">
|
|
39
46
|
<label [ngClass]="labelClass">{{ placeHolder }}</label>
|
|
40
47
|
<input
|
|
41
48
|
type="text"
|
|
42
49
|
class="input"
|
|
43
50
|
(click)="click($event)"
|
|
44
|
-
[attr.list]="
|
|
51
|
+
[attr.list]="uniqueDatalistId"
|
|
45
52
|
(change)="optionChanged($event)"
|
|
46
53
|
[disabled]="disabledSel"
|
|
47
54
|
[value]="setDataListValue()"
|
|
48
55
|
/>
|
|
49
56
|
|
|
50
|
-
<datalist id="
|
|
51
|
-
<option *ngFor="let item of datalistData; index as i" [value]="item.name">
|
|
52
|
-
{{item.id_card
|
|
57
|
+
<datalist [id]="uniqueDatalistId">
|
|
58
|
+
<option *ngFor="let item of datalistData; index as i" [value]="label === 'displayName' ? item.displayName : item.name">
|
|
59
|
+
{{ label === 'displayName' ? item.displayName : (item.id_card ? item.id_card + ' ' : '') + item.name }}
|
|
53
60
|
</option>
|
|
54
61
|
</datalist>
|
|
55
62
|
</div>
|
|
56
|
-
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:
|
|
63
|
+
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:15px}.input{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:8px;background-color:#fff}.input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.input: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:9px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }] });
|
|
57
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DatalistComponent, decorators: [{
|
|
58
65
|
type: Component,
|
|
59
66
|
args: [{ selector: 'ipt-datalist', template: `
|
|
@@ -63,19 +70,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
63
70
|
type="text"
|
|
64
71
|
class="input"
|
|
65
72
|
(click)="click($event)"
|
|
66
|
-
[attr.list]="
|
|
73
|
+
[attr.list]="uniqueDatalistId"
|
|
67
74
|
(change)="optionChanged($event)"
|
|
68
75
|
[disabled]="disabledSel"
|
|
69
76
|
[value]="setDataListValue()"
|
|
70
77
|
/>
|
|
71
78
|
|
|
72
|
-
<datalist id="
|
|
73
|
-
<option *ngFor="let item of datalistData; index as i" [value]="item.name">
|
|
74
|
-
{{item.id_card
|
|
79
|
+
<datalist [id]="uniqueDatalistId">
|
|
80
|
+
<option *ngFor="let item of datalistData; index as i" [value]="label === 'displayName' ? item.displayName : item.name">
|
|
81
|
+
{{ label === 'displayName' ? item.displayName : (item.id_card ? item.id_card + ' ' : '') + item.name }}
|
|
75
82
|
</option>
|
|
76
83
|
</datalist>
|
|
77
84
|
</div>
|
|
78
|
-
`, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:
|
|
85
|
+
`, styles: ["*{font-family:Poppins,sans-serif}.input-container{position:relative;margin-top:15px}.input{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:8px;background-color:#fff}.input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}.input: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:9px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
|
|
79
86
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { datalistId: [{
|
|
80
87
|
type: Input
|
|
81
88
|
}], datalistData: [{
|
|
@@ -88,7 +95,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
88
95
|
type: Input
|
|
89
96
|
}], disabledSel: [{
|
|
90
97
|
type: Input
|
|
98
|
+
}], label: [{
|
|
99
|
+
type: Input
|
|
91
100
|
}], isChanged: [{
|
|
92
101
|
type: Output
|
|
93
102
|
}] } });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvZGF0YWxpc3QvZGF0YWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7QUEyQi9FLE1BQU0sT0FBTyxpQkFBaUI7SUFnQjVCLFlBQVksRUFBZTtRQVZsQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRWxCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRWpELFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIscUJBQWdCLEdBQVcsRUFBRSxDQUFDO0lBSUEsQ0FBQztJQUUvQixRQUFRO1FBQ04sc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLFlBQVksaUJBQWlCLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7SUFDdkcsQ0FBQztJQUVILGFBQWEsQ0FBQyxLQUFVO1FBQ3BCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQ2xELElBQUksQ0FBQyxLQUFLLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNoSCxDQUFDO1FBQ0YsSUFBSSxPQUFPLFlBQVksS0FBSyxXQUFXLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUI7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFFSCxnQkFBZ0I7UUFDWixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksT0FBTyxZQUFZLEtBQUssV0FBVyxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDcEY7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3RELENBQUM7O0FBbkNjLDJCQUFTLEdBQUcsQ0FBRSxDQUFBLENBQUMsNENBQTRDOzhHQWQvRCxpQkFBaUI7a0dBQWpCLGlCQUFpQiw2UkF0QmxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUOzJGQUdVLGlCQUFpQjtrQkF4QjdCLFNBQVM7K0JBQ0UsY0FBYyxZQUNkOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO2tHQUlRLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwdC1kYXRhbGlzdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPGxhYmVsIFtuZ0NsYXNzXT1cImxhYmVsQ2xhc3NcIj57eyBwbGFjZUhvbGRlciB9fTwvbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBjbGFzcz1cImlucHV0XCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIlxuICAgICAgICBbYXR0ci5saXN0XT1cInVuaXF1ZURhdGFsaXN0SWRcIlxuICAgICAgICAoY2hhbmdlKT1cIm9wdGlvbkNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFNlbFwiXG4gICAgICAgIFt2YWx1ZV09XCJzZXREYXRhTGlzdFZhbHVlKClcIlxuICAgICAgLz5cblxuICAgICAgPGRhdGFsaXN0IFtpZF09XCJ1bmlxdWVEYXRhbGlzdElkXCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YWxpc3REYXRhOyBpbmRleCBhcyBpXCIgW3ZhbHVlXT1cImxhYmVsID09PSAnZGlzcGxheU5hbWUnID8gaXRlbS5kaXNwbGF5TmFtZSA6IGl0ZW0ubmFtZVwiPlxuICAgICAgICAgIHt7IGxhYmVsID09PSAnZGlzcGxheU5hbWUnID8gaXRlbS5kaXNwbGF5TmFtZSA6IChpdGVtLmlkX2NhcmQgPyBpdGVtLmlkX2NhcmQgKyAnICcgOiAnJykgKyBpdGVtLm5hbWUgfX1cbiAgICAgICAgPC9vcHRpb24+XG4gICAgICA8L2RhdGFsaXN0PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhbGlzdC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0YWxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXRhbGlzdElkITogc3RyaW5nO1xuICBASW5wdXQoKSBkYXRhbGlzdERhdGEhOiBhbnlbXTtcbiAgQElucHV0KCkgcGxhY2VIb2xkZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbGlkYXRlVGV4dCE6IHN0cmluZztcbiAgQElucHV0KCkgaW5pdGFsRGF0YSE6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWRTZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBpc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHVuaXF1ZURhdGFsaXN0SWQ6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgc3RhdGljIGlkQ291bnRlciA9IDA7IC8vIENvbnRhZG9yIGVzdMOhdGljbyBwYXJhIGdlbmVyYXIgSURzIMO6bmljb3NcblxuICBjb25zdHJ1Y3RvcihmYjogRm9ybUJ1aWxkZXIpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gR2VuZXJhciB1biBJRCDDum5pY28gc2kgbm8gc2UgcHJvcG9yY2lvbmEgZGF0YWxpc3RJZFxuICAgIHRoaXMudW5pcXVlRGF0YWxpc3RJZCA9IHRoaXMuZGF0YWxpc3RJZCB8fCBgZGF0YWxpc3QtJHtEYXRhbGlzdENvbXBvbmVudC5pZENvdW50ZXIrK30tJHtEYXRlLm5vdygpfWA7XG4gIH1cblxub3B0aW9uQ2hhbmdlZChldmVudDogYW55KSB7XG4gICAgbGV0IHNlbGVjdE9wdGlvbiA9IHRoaXMuZGF0YWxpc3REYXRhLmZpbmQoZWxlbWVudCA9PlxuICAgICAgdGhpcy5sYWJlbCA9PT0gJ2Rpc3BsYXlOYW1lJyA/IGVsZW1lbnQuZGlzcGxheU5hbWUgPT09IGV2ZW50LnRhcmdldC52YWx1ZSA6IGVsZW1lbnQubmFtZSA9PT0gZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgKTtcbiAgICBpZiAodHlwZW9mIHNlbGVjdE9wdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuaXNDaGFuZ2VkLmVtaXQoc2VsZWN0T3B0aW9uLmNvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQ2hhbmdlZC5lbWl0KCctMScpO1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrKHZhbHVlOiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jbGlja2VkID0gdmFsdWUuaXNUcnVzdGVkO1xuICB9XG5cbnNldERhdGFMaXN0VmFsdWUoKSB7XG4gICAgbGV0IHNlbGVjdE9wdGlvbiA9IHRoaXMuZGF0YWxpc3REYXRhLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmNvZGUgPT09IHRoaXMuaW5pdGFsRGF0YSk7XG4gICAgaWYgKHR5cGVvZiBzZWxlY3RPcHRpb24gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYWJlbCA9PT0gJ2Rpc3BsYXlOYW1lJyA/IHNlbGVjdE9wdGlvbi5kaXNwbGF5TmFtZSA6IHNlbGVjdE9wdGlvbi5uYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2xpY2tlZCA9PT0gZmFsc2UgPyAnbGFiZWwnIDogJ2xhYmVsVXAnO1xuICB9XG59Il19
|
|
@@ -73,7 +73,7 @@ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version
|
|
|
73
73
|
{{ validateText }}
|
|
74
74
|
</p>
|
|
75
75
|
</div>
|
|
76
|
-
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:
|
|
76
|
+
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:9px}}@media screen and (min-width: 768px){p{color:#c73a3a;font-size:13px;padding-left:9px}}@media screen and (min-width: 1024px){p{color:#c73a3a;font-size:13px;padding-left:9px}}.input-container{position:relative;margin-top:30px}input{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:9px;background-color:#fff;-webkit-appearance:none}input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}input: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}.input:focus~label,.input:invalid~label{top:-20px;font-size:15px;color:#1c77f7}.labelUp{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:9px;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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.CurrencyMaskDirective, selector: "[currencyMask]", inputs: ["max", "min", "options"] }] });
|
|
77
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: InputComponent, decorators: [{
|
|
78
78
|
type: Component,
|
|
79
79
|
args: [{ selector: 'ipt-input', template: `
|
|
@@ -121,7 +121,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
121
121
|
{{ validateText }}
|
|
122
122
|
</p>
|
|
123
123
|
</div>
|
|
124
|
-
`, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:
|
|
124
|
+
`, styles: ["*{font-family:Poppins,sans-serif}@media screen and (min-width: 320px){p{color:#c73a3a;font-size:12px;padding-left:9px}}@media screen and (min-width: 768px){p{color:#c73a3a;font-size:13px;padding-left:9px}}@media screen and (min-width: 1024px){p{color:#c73a3a;font-size:13px;padding-left:9px}}.input-container{position:relative;margin-top:30px}input{box-shadow:#64646f33 0 7px 29px;border-radius:3px;border:none;outline:none;display:block;transition:.2s;font-weight:300;width:-webkit-fill-available;width:-moz-available;height:28px;padding-left:9px;background-color:#fff;-webkit-appearance:none}input:hover{box-shadow:#00000029 0 3px 6px,#0000003b 0 3px 6px}input: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}.input:focus~label,.input:invalid~label{top:-20px;font-size:15px;color:#1c77f7}.labelUp{color:#999;font-size:15px;font-weight:400;position:absolute;pointer-events:none;left:9px;top:-20px;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}\n"] }]
|
|
125
125
|
}], ctorParameters: function () { return []; }, propDecorators: { inputType: [{
|
|
126
126
|
type: Input
|
|
127
127
|
}], placeHolder: [{
|
|
@@ -29,7 +29,7 @@ LevelButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
29
29
|
<p class="p-level p-level-active">{{ level }}</p>
|
|
30
30
|
</button>
|
|
31
31
|
</div>
|
|
32
|
-
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:
|
|
32
|
+
`, isInline: true, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:3px;width:100%;height:30px;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset;border:none;outline:none;align-items:center;background-color:transparent;color:#1c77f7}.p-level{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}#level-1{background-color:#02eed8}#level-2{background-color:#61acff}#level-3{background-color:#f168f4}#level-4{background-color:#ff3737}#level-5{background-color:#004dfa}#level-6{background-color:#14c25a}#level-7{background-color:#a052da}#level-8{background-color:#f2583d}#level-9{background-color:#291d26}#level-10{background-color:#1c77f7}.p-level-active{color:#fff}}@media (min-width: 375px){.courses{height:40px}.p-level{font-size:18px}}@media (min-width: 425px){.courses{height:30px}}@media (min-width: 768px){.courses{height:40px}}@media (min-width: 1024px){.courses{transition:.6s}.courses:active{transform:scale(1.05);box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.p-level{font-weight:700}}@media (min-width: 1440px){.p-level{font-weight:600}}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LevelButtonComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
35
|
args: [{ selector: 'ipt-level-button', template: `
|
|
@@ -51,7 +51,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
51
51
|
<p class="p-level p-level-active">{{ level }}</p>
|
|
52
52
|
</button>
|
|
53
53
|
</div>
|
|
54
|
-
`, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:
|
|
54
|
+
`, styles: ["*{font-family:Poppins,sans-serif}@media (min-width: 320px){.courses{cursor:pointer;text-decoration:none;display:flex;border-radius:3px;width:100%;height:30px;box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset;border:none;outline:none;align-items:center;background-color:transparent;color:#1c77f7}.p-level{display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px}#level-1{background-color:#02eed8}#level-2{background-color:#61acff}#level-3{background-color:#f168f4}#level-4{background-color:#ff3737}#level-5{background-color:#004dfa}#level-6{background-color:#14c25a}#level-7{background-color:#a052da}#level-8{background-color:#f2583d}#level-9{background-color:#291d26}#level-10{background-color:#1c77f7}.p-level-active{color:#fff}}@media (min-width: 375px){.courses{height:40px}.p-level{font-size:18px}}@media (min-width: 425px){.courses{height:30px}}@media (min-width: 768px){.courses{height:40px}}@media (min-width: 1024px){.courses{transition:.6s}.courses:active{transform:scale(1.05);box-shadow:#06182c66 0 0 0 2px,#06182ca6 0 4px 6px -1px,#ffffff14 0 1px inset}.p-level{font-weight:700}}@media (min-width: 1440px){.p-level{font-weight:600}}\n"] }]
|
|
55
55
|
}], propDecorators: { level: [{
|
|
56
56
|
type: Input
|
|
57
57
|
}], buttonActive: [{
|