survery-lib 0.1.60 → 0.1.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/question-text-template/question-text-template.component.mjs +16 -3
- package/esm2022/lib/directives/masked-for-min-max.directive.mjs +24 -2
- package/fesm2022/survery-lib.mjs +38 -3
- package/fesm2022/survery-lib.mjs.map +1 -1
- package/lib/components/question-text-template/question-text-template.component.d.ts +1 -0
- package/lib/directives/masked-for-min-max.directive.d.ts +1 -0
- package/package.json +1 -1
|
@@ -18,6 +18,9 @@ export class QuestionTextTemplateComponent {
|
|
|
18
18
|
get questionTypeEnum() {
|
|
19
19
|
return QuestionTypeEnum;
|
|
20
20
|
}
|
|
21
|
+
get inputTypeEnum() {
|
|
22
|
+
return InputTypeEnum;
|
|
23
|
+
}
|
|
21
24
|
get questionMinMaxIndicator() {
|
|
22
25
|
const formValue = this.rForm.value;
|
|
23
26
|
if (formValue.inputMax != null || formValue.inputMin != null) {
|
|
@@ -66,6 +69,16 @@ export class QuestionTextTemplateComponent {
|
|
|
66
69
|
this.fCtrls.inputTypeId.setValue(InputTypeEnum.Text);
|
|
67
70
|
}
|
|
68
71
|
}
|
|
72
|
+
else if (value.surveyAnswers[0].inputTypeId == InputTypeEnum.Text) {
|
|
73
|
+
if (value.surveyAnswers[0].inputMin != null) {
|
|
74
|
+
this.fCtrls.inputMin.setValue(value.surveyAnswers[0].inputMin);
|
|
75
|
+
this.fCtrls.answer.addValidators([Validators.minLength(value.surveyAnswers[0].inputMin)]);
|
|
76
|
+
}
|
|
77
|
+
if (value.surveyAnswers[0].inputMax != null) {
|
|
78
|
+
this.fCtrls.inputMax.setValue(value.surveyAnswers[0].inputMax);
|
|
79
|
+
this.fCtrls.answer.addValidators([Validators.maxLength(value.surveyAnswers[0].inputMax)]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
69
82
|
else if (value.surveyAnswers[0].inputTypeId == InputTypeEnum.Email) {
|
|
70
83
|
this.fCtrls.answer.addValidators([Validators.email]);
|
|
71
84
|
}
|
|
@@ -154,11 +167,11 @@ export class QuestionTextTemplateComponent {
|
|
|
154
167
|
this.fCtrls.answer.updateValueAndValidity();
|
|
155
168
|
}
|
|
156
169
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
157
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isArabicLang: "isArabicLang", isTextArea: "isTextArea", setQuestion: "setQuestion", isDisabled: "isDisabled" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isArabicLang: "isArabicLang", isTextArea: "isTextArea", setQuestion: "setQuestion", isDisabled: "isDisabled" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small>{{questionMinMaxIndicator}}</small>\r\n </p>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\r\n <input class=\"form-control\" libMaskedForMinMax [attr.min]=\"fCtrls.inputMin.value\" \r\n *ngIf=\"fCtrls.inputTypeId.value == inputTypeEnum.Number else textInputNotNumberTemplate\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-container>\r\n <ng-template #textAreaTemplate>\r\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\"></textarea>\r\n </ng-template>\r\n </div>\r\n\r\n\r\n <ng-template #textInputNotNumberTemplate>\r\n <input class=\"form-control\" [attr.min]=\"fCtrls.inputMin.value\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]" }, { kind: "pipe", type: i6.TextBoxTypeAttrPipe, name: "textBoxTypeAttr" }] }); }
|
|
158
171
|
}
|
|
159
172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, decorators: [{
|
|
160
173
|
type: Component,
|
|
161
|
-
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small
|
|
174
|
+
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small>{{questionMinMaxIndicator}}</small>\r\n </p>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\r\n <input class=\"form-control\" libMaskedForMinMax [attr.min]=\"fCtrls.inputMin.value\" \r\n *ngIf=\"fCtrls.inputTypeId.value == inputTypeEnum.Number else textInputNotNumberTemplate\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-container>\r\n <ng-template #textAreaTemplate>\r\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\"></textarea>\r\n </ng-template>\r\n </div>\r\n\r\n\r\n <ng-template #textInputNotNumberTemplate>\r\n <input class=\"form-control\" [attr.min]=\"fCtrls.inputMin.value\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-template>" }]
|
|
162
175
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
163
176
|
type: Output
|
|
164
177
|
}], isArabicLang: [{
|
|
@@ -170,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
170
183
|
}], isDisabled: [{
|
|
171
184
|
type: Input
|
|
172
185
|
}] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFNUUsT0FBTyxFQUFFLFlBQVksRUFBd0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQU9sRSxNQUFNLE9BQU8sNkJBQTZCO0lBTXhDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ25DLElBQUksU0FBUyxDQUFDLFFBQVEsSUFB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QUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV0QyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxFQUFFO2dCQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbkM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFZO1FBQy9CLE9BQU8sT0FBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsVUFBbUI7UUFDNUMsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUM1QjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDOUMsQ0FBQzs4R0F6S1UsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsNk5DbEIxQywydUNBbUJVOzsyRkRERyw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCO2lJQXVDNUIsT0FBTztzQkFBaEIsTUFBTTtnQkFFRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSztnQkFpRE8sVUFBVTtzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIEZvcm1Db250cm9sIGFzIEZvcm1Db250cm9sU3RhY2ssIFZhbGlkYXRvcnNNb2RlbCB9IGZyb20gJ0BuZy1zdGFjay9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1cnZleVF1ZXN0aW9uRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3Mvc3VydmV5LXF1ZXN0aW9uLmR0byc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZW51bXMvcXVlc3Rpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUXVlc3Rpb25UZXh0VGVtcGxhdGVGb3JtSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0taW50ZXJmYWNlcy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmZvcm0taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUXVlc3Rpb25BbnN3ZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvcXVlc3Rpb24tYW5zd2VyLm1vZGVsJztcclxuaW1wb3J0IHsgRGVmYXVsdFF1ZXN0aW9uQW5zd2VyRHRvIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2R0b3MvZGVmYXVsdC1xdWVzdGlvbi1hbnN3ZXJzLmR0byc7XHJcbmltcG9ydCB7IFN1cnZleUxpYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zdXJ2ZXktbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbnB1dFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2VudW1zL2lucHV0LXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFBob25lVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9waG9uZS52YWxpZGF0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25UZXh0VGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBzdXJ2ZXlRdWVzdGlvbjogU3VydmV5UXVlc3Rpb25EdG87XHJcbiAgckZvcm06IEZvcm1Hcm91cDxRdWVzdGlvblRleHRUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+O1xyXG4gIGN1c3RvbVBhdHRlcm5zOiBudWxsO1xyXG5cclxuICBnZXQgZkN0cmxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuckZvcm0uY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25UeXBlRW51bSgpIHtcclxuICAgIHJldHVybiBRdWVzdGlvblR5cGVFbnVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uTWluTWF4SW5kaWNhdG9yKCkge1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgIGlmIChmb3JtVmFsdWUuaW5wdXRNYXggIT0gbnVsbCB8fCBmb3JtVmFsdWUuaW5wdXRNaW4gIT0gbnVsbCkge1xyXG5cclxuICAgICAgaWYgKGZvcm1WYWx1ZS5pbnB1dE1heCAhPSBudWxsICYmIGZvcm1WYWx1ZS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYCDZitis2Kgg2KPZhiDYqtmD2YjZhiDYp9mE2YLZitmF2Kkg2KfZhNmF2K/YrtmE2Kkg2YXZhiBgICsgZm9ybVZhbHVlLmlucHV0TWluICsgJyDYpdmE2YkgJyArIGZvcm1WYWx1ZS5pbnB1dE1heFxyXG4gICAgICAgICAgOiBgdGhlIHZhbHVlIGVudGVyZWQgbXVzdCBiZSBmcm9tICR7Zm9ybVZhbHVlLmlucHV0TWlufSB0byAke2Zvcm1WYWx1ZS5pbnB1dE1heH1gO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGZvcm1WYWx1ZS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYNmK2KzYqCDYo9mGINiq2YPZiNmGINij2YLZhCDZgtmK2YXYqSDZhNmE2YXYr9iu2YQg2KrYs9in2YjZiiAke2Zvcm1WYWx1ZS5pbnB1dE1pbn1gXHJcbiAgICAgICAgICA6IGB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgaW5wdXQgbXVzdCBiZSAke2Zvcm1WYWx1ZS5pbnB1dE1pbn1gO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGZvcm1WYWx1ZS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBcmFiaWNMYW5nID8gYNmK2KzYqCDYo9mGINiq2YPZiNmGINij2YPYqNixINmC2YrZhdipINmE2YTZhdiv2K7ZhCDYqtiz2KfZiNmKICR7Zm9ybVZhbHVlLmlucHV0TWF4fWBcclxuICAgICAgICAgIDogYHRoZSBtYXhpbXVtIHZhbHVlIG9mIHRoZSBpbnB1dCBtdXN0IGJlICR7Zm9ybVZhbHVlLmlucHV0TWF4fWA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBlbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxRdWVzdGlvbkFuc3dlck1vZGVsPigpO1xyXG5cclxuICBASW5wdXQoKSBpc0FyYWJpY0xhbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1RleHRBcmVhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IHNldFF1ZXN0aW9uKHZhbHVlOiBTdXJ2ZXlRdWVzdGlvbkR0bykge1xyXG4gICAgdGhpcy5zdXJ2ZXlRdWVzdGlvbiA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuckZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgIGlkOiB2YWx1ZS5xdWVzdGlvbklkLFxyXG4gICAgICBuYW1lOiB2YWx1ZS5xdWVzdGlvbk5hbWUsXHJcbiAgICAgIHRpdGxlOiB2YWx1ZS5xdWVzdGlvblRpdGxlLFxyXG4gICAgICB0eXBlSWQ6IHZhbHVlLnF1ZXN0aW9uVHlwZUlkLFxyXG4gICAgICBkZXNjcmlwdGlvbjogdmFsdWUucXVlc3Rpb25EZXNjcmlwdGlvbixcclxuICAgICAgaXNEaXNhYmxlZDogdmFsdWUuaXNSZWFkT25seSxcclxuICAgICAgaXNTaG93OiB2YWx1ZS5pc1Zpc2FibGVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdPy5hbnN3ZXJJZCAhPSBudWxsICYmIHZhbHVlLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmZDdHJscy5zdXJ2ZXlBbnN3ZXJJZC5zZXRWYWx1ZSh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmFuc3dlcklkKTtcclxuICAgICAgdGhpcy5mQ3RybHMuaW5wdXRUeXBlSWQuc2V0VmFsdWUodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbHVlLmlzUmVxdWlyZWQgPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG5cclxuICAgICAgaWYgKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5OdW1iZXIpIHtcclxuICAgICAgICBpZiAodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pbnB1dE1pbi5zZXRWYWx1ZSh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKTtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1pbih2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRNYXggIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuaW5wdXRNYXguc2V0VmFsdWUodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCk7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5tYXgodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluICE9IG51bGwgfHwgdmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pbnB1dFR5cGVJZC5zZXRWYWx1ZShJbnB1dFR5cGVFbnVtLlRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkID09IElucHV0VHlwZUVudW0uRW1haWwpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5lbWFpbF0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5QaG9uZSkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5hZGRWYWxpZGF0b3JzKFtQaG9uZVZhbGlkYXRvcl0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9nZ2xlRW5hYmxlQW5zd2VyKHZhbHVlLmlzUmVhZE9ubHkpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMudG9nZ2xlRW5hYmxlQW5zd2VyKHZhbHVlKTtcclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvblRleHRUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgaWQ6IFtudWxsXSxcclxuICAgICAgbmFtZTogW251bGxdLFxyXG4gICAgICB0aXRsZTogW251bGxdLFxyXG4gICAgICB0eXBlSWQ6IFtudWxsXSxcclxuICAgICAgZGVzY3JpcHRpb246IFtudWxsXSxcclxuICAgICAgc3VydmV5QW5zd2VySWQ6IFtudWxsXSxcclxuICAgICAgYW5zd2VyOiBbbnVsbF0sXHJcbiAgICAgIGlzRGlzYWJsZWQ6IFtmYWxzZV0sXHJcbiAgICAgIGlzU2hvdzogW3RydWVdLFxyXG4gICAgICBpbnB1dFR5cGVJZDogW251bGxdLFxyXG4gICAgICBpbnB1dE1pbjogW251bGxdLFxyXG4gICAgICBpbnB1dE1heDogW251bGxdXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnZhbHVlQ2hhbmdlcy5waXBlKCkucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgICAgaWYgKGZvcm1WYWx1ZS5pbnB1dFR5cGVJZCA9PSBJbnB1dFR5cGVFbnVtLkVtYWlsKSB7XHJcbiAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IHRoaXMuZkN0cmxzLmFuc3dlci5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgaWYgKCFpc1JlcXVpcmVkKSB7XHJcbiAgICAgICAgICBpZiAodmFsdWU/LnRyaW0oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5lbWFpbF0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICAgICAgdGhpcy5lbWl0dGVyLmVtaXQoe1xyXG4gICAgICAgICAgUXVlc3Rpb25JZDogZm9ybVZhbHVlLmlkLFxyXG4gICAgICAgICAgSXNWYWxpZDogdGhpcy5mQ3RybHMuYW5zd2VyLnZhbGlkLFxyXG4gICAgICAgICAgQW5zd2VyOiB2YWx1ZSxcclxuICAgICAgICAgIFN1cnZleUFuc3dlcklkOiBmb3JtVmFsdWUuc3VydmV5QW5zd2VySWRcclxuICAgICAgICB9KVxyXG4gICAgICB9LCAxMDApO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShudWxsKTtcclxuXHJcbiAgICB0aGlzLl9zdXJ2ZXlMaWJTZXJ2aWNlLnN1cnZleUFuc3dlcnNPYnNydi5waXBlKG1hcCh4ID0+IHguZGVmYXVsdEFuc3dlcnMuZmlsdGVyKHggPT4geC5RdWVzdGlvbklkID09IHRoaXMuZkN0cmxzLmlkLnZhbHVlKSkpXHJcbiAgICAgIC5waXBlKGZpbHRlcih4ID0+IHgubGVuZ3RoID4gMCkpLnBpcGUobWFwKHggPT4geC5hdCgwKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoYW5zd2VyID0+IHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUoYW5zd2VyLkFuc3dlclRleHQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zdXJ2ZXlMaWJTZXJ2aWNlLnF1ZXN0aW9uSXNEaXNhYmxlZE9ic3J2LnBpcGUoZmlsdGVyKHggPT4geC5xdWVzdGlvbklkID09IHRoaXMuZkN0cmxzLmlkLnZhbHVlKSkuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICB0aGlzLmZDdHJscy5pc0Rpc2FibGVkLnNldFZhbHVlKHguaXNEaXNhYmxlZCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zdXJ2ZXlMaWJTZXJ2aWNlLnF1ZXN0aW9uSXNTaG93T2JzcnYucGlwZShmaWx0ZXIoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gdGhpcy5mQ3RybHMuaWQudmFsdWUpKS5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmlzU2hvdy5zZXRWYWx1ZSh4LmlzU2hvdyk7XHJcblxyXG4gICAgICBpZiAoeC5pc1Nob3cgPT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlRW5hYmxlQW5zd2VyKGlzUmVhZE9ubHk6IGJvb2xlYW4pIHtcclxuICAgIGlmIChpc1JlYWRPbmx5ID09IHRydWUpIHtcclxuICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmRpc2FibGUoKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmVuYWJsZSgpXHJcbiAgICB9XHJcbiAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2Zvcm1Hcm91cF09XCJyRm9ybVwiIFthdHRyLmlkXT1cIidxdWVzdGlvbl8nK2ZDdHJscy5pZC52YWx1ZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7J2ludmFsaWQtcXVlc3Rpb24nOiBmQ3RybHMuYW5zd2VyLmludmFsaWQgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInN1cnZleVF1ZXN0aW9uPy5xdWVzdGlvblRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cInN1cnZleVF1ZXN0aW9uLmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgIDxwICpuZ0lmPVwicXVlc3Rpb25NaW5NYXhJbmRpY2F0b3JcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgIDxzbWFsbCA+e3txdWVzdGlvbk1pbk1heEluZGljYXRvcn19PC9zbWFsbD5cclxuICAgICAgICA8L3A+IFxyXG4gICAgPC9oMz5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXF1YXN0aW9uXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGV4dEFyZWEgPT0gZmFsc2UgZWxzZSB0ZXh0QXJlYVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIGxpYk1hc2tlZEZvck1pbk1heCAgW2F0dHIubWluXT1cImZDdHJscy5pbnB1dE1pbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5tYXhdPVwiZkN0cmxzLmlucHV0TWF4LnZhbHVlXCIgW2Zvcm1Db250cm9sXT1cImNvbnZlcnRUb0Zvcm1Db250cm9sKGZDdHJscy5hbnN3ZXIpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCIgW2F0dHIudHlwZV09XCJmQ3RybHMuaW5wdXRUeXBlSWQudmFsdWUgfCB0ZXh0Qm94VHlwZUF0dHJcIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RleHRBcmVhVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz1cImZvcm0tY29udHJvbFwiIHJvd3M9XCIyXCIgW2Zvcm1Db250cm9sXT1cImNvbnZlcnRUb0Zvcm1Db250cm9sKGZDdHJscy5hbnN3ZXIpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+Il19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zdXJ2ZXJ5LWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvY29tcG9uZW50cy9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlL3F1ZXN0aW9uLXRleHQtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFNUUsT0FBTyxFQUFFLFlBQVksRUFBd0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQU9sRSxNQUFNLE9BQU8sNkJBQTZCO0lBTXhDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FB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QUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxPQUFZO1FBQy9CLE9BQU8sT0FBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsVUFBbUI7UUFDNUMsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFBO1NBQzdCO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtTQUM1QjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDOUMsQ0FBQzs4R0F6TFUsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsNk5DbEIxQyx3ckRBMkJrQjs7MkZEVEwsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLDRCQUE0QjtpSUEyQzVCLE9BQU87c0JBQWhCLE1BQU07Z0JBRUUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBNkRPLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCBhcyBGb3JtQ29udHJvbFN0YWNrLCBWYWxpZGF0b3JzTW9kZWwgfSBmcm9tICdAbmctc3RhY2svZm9ybXMnO1xyXG5pbXBvcnQgeyBTdXJ2ZXlRdWVzdGlvbkR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL3N1cnZleS1xdWVzdGlvbi5kdG8nO1xyXG5pbXBvcnQgeyBRdWVzdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2VudW1zL3F1ZXN0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uVGV4dFRlbXBsYXRlRm9ybUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtLWludGVyZmFjZXMvcXVlc3Rpb24tdGV4dC10ZW1wbGF0ZS5mb3JtLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uQW5zd2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3F1ZXN0aW9uLWFuc3dlci5tb2RlbCc7XHJcbmltcG9ydCB7IERlZmF1bHRRdWVzdGlvbkFuc3dlckR0byB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kdG9zL2RlZmF1bHQtcXVlc3Rpb24tYW5zd2Vycy5kdG8nO1xyXG5pbXBvcnQgeyBTdXJ2ZXlMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3VydmV5LWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9lbnVtcy9pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQaG9uZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvcGhvbmUudmFsaWRhdG9yJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXF1ZXN0aW9uLXRleHQtdGVtcGxhdGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9xdWVzdGlvbi10ZXh0LXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFF1ZXN0aW9uVGV4dFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgc3VydmV5UXVlc3Rpb246IFN1cnZleVF1ZXN0aW9uRHRvO1xyXG4gIHJGb3JtOiBGb3JtR3JvdXA8UXVlc3Rpb25UZXh0VGVtcGxhdGVGb3JtSW50ZXJmYWNlPjtcclxuICBjdXN0b21QYXR0ZXJuczogbnVsbDtcclxuXHJcbiAgZ2V0IGZDdHJscygpIHtcclxuICAgIHJldHVybiB0aGlzLnJGb3JtLmNvbnRyb2xzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHF1ZXN0aW9uVHlwZUVudW0oKSB7XHJcbiAgICByZXR1cm4gUXVlc3Rpb25UeXBlRW51bTtcclxuICB9XHJcblxyXG4gIGdldCBpbnB1dFR5cGVFbnVtKCkge1xyXG4gICAgcmV0dXJuIElucHV0VHlwZUVudW07XHJcbiAgfVxyXG5cclxuICBnZXQgcXVlc3Rpb25NaW5NYXhJbmRpY2F0b3IoKSB7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLnJGb3JtLnZhbHVlO1xyXG4gICAgaWYgKGZvcm1WYWx1ZS5pbnB1dE1heCAhPSBudWxsIHx8IGZvcm1WYWx1ZS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcblxyXG4gICAgICBpZiAoZm9ybVZhbHVlLmlucHV0TWF4ICE9IG51bGwgJiYgZm9ybVZhbHVlLmlucHV0TWluICE9IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0FyYWJpY0xhbmcgPyBgINmK2KzYqCDYo9mGINiq2YPZiNmGINin2YTZgtmK2YXYqSDYp9mE2YXYr9iu2YTYqSDZhdmGIGAgKyBmb3JtVmFsdWUuaW5wdXRNaW4gKyAnINil2YTZiSAnICsgZm9ybVZhbHVlLmlucHV0TWF4XHJcbiAgICAgICAgICA6IGB0aGUgdmFsdWUgZW50ZXJlZCBtdXN0IGJlIGZyb20gJHtmb3JtVmFsdWUuaW5wdXRNaW59IHRvICR7Zm9ybVZhbHVlLmlucHV0TWF4fWA7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoZm9ybVZhbHVlLmlucHV0TWluICE9IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0FyYWJpY0xhbmcgPyBg2YrYrNioINij2YYg2KrZg9mI2YYg2KPZgtmEINmC2YrZhdipINmE2YTZhdiv2K7ZhCDYqtiz2KfZiNmKICR7Zm9ybVZhbHVlLmlucHV0TWlufWBcclxuICAgICAgICAgIDogYHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBpbnB1dCBtdXN0IGJlICR7Zm9ybVZhbHVlLmlucHV0TWlufWA7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoZm9ybVZhbHVlLmlucHV0TWF4ICE9IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0FyYWJpY0xhbmcgPyBg2YrYrNioINij2YYg2KrZg9mI2YYg2KPZg9io2LEg2YLZitmF2Kkg2YTZhNmF2K/YrtmEINiq2LPYp9mI2YogJHtmb3JtVmFsdWUuaW5wdXRNYXh9YFxyXG4gICAgICAgICAgOiBgdGhlIG1heGltdW0gdmFsdWUgb2YgdGhlIGlucHV0IG11c3QgYmUgJHtmb3JtVmFsdWUuaW5wdXRNYXh9YDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFF1ZXN0aW9uQW5zd2VyTW9kZWw+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGlzQXJhYmljTGFuZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzVGV4dEFyZWE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgc2V0UXVlc3Rpb24odmFsdWU6IFN1cnZleVF1ZXN0aW9uRHRvKSB7XHJcbiAgICB0aGlzLnN1cnZleVF1ZXN0aW9uID0gdmFsdWU7XHJcblxyXG4gICAgdGhpcy5yRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgaWQ6IHZhbHVlLnF1ZXN0aW9uSWQsXHJcbiAgICAgIG5hbWU6IHZhbHVlLnF1ZXN0aW9uTmFtZSxcclxuICAgICAgdGl0bGU6IHZhbHVlLnF1ZXN0aW9uVGl0bGUsXHJcbiAgICAgIHR5cGVJZDogdmFsdWUucXVlc3Rpb25UeXBlSWQsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB2YWx1ZS5xdWVzdGlvbkRlc2NyaXB0aW9uLFxyXG4gICAgICBpc0Rpc2FibGVkOiB2YWx1ZS5pc1JlYWRPbmx5LFxyXG4gICAgICBpc1Nob3c6IHZhbHVlLmlzVmlzYWJsZVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0/LmFuc3dlcklkICE9IG51bGwgJiYgdmFsdWUuc3VydmV5QW5zd2Vyc1swXT8uYW5zd2VySWQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLnN1cnZleUFuc3dlcklkLnNldFZhbHVlKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uYW5zd2VySWQpO1xyXG4gICAgICB0aGlzLmZDdHJscy5pbnB1dFR5cGVJZC5zZXRWYWx1ZSh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsdWUuaXNSZXF1aXJlZCA9PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcblxyXG4gICAgICBpZiAodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dFR5cGVJZCA9PSBJbnB1dFR5cGVFbnVtLk51bWJlcikge1xyXG5cclxuICAgICAgICBpZiAodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pbnB1dE1pbi5zZXRWYWx1ZSh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKTtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1pbih2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluKV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRNYXggIT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuaW5wdXRNYXguc2V0VmFsdWUodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCk7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5tYXgodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCldKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluICE9IG51bGwgfHwgdmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pbnB1dFR5cGVJZC5zZXRWYWx1ZShJbnB1dFR5cGVFbnVtLlRleHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkID09IElucHV0VHlwZUVudW0uVGV4dCkge1xyXG4gICAgICAgIGlmICh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWluICE9IG51bGwpIHtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmlucHV0TWluLnNldFZhbHVlKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRNaW4pO1xyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMubWluTGVuZ3RoKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRNaW4pXSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsdWUuc3VydmV5QW5zd2Vyc1swXS5pbnB1dE1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLmZDdHJscy5pbnB1dE1heC5zZXRWYWx1ZSh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4KTtcclxuICAgICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLm1heExlbmd0aCh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0TWF4KV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh2YWx1ZS5zdXJ2ZXlBbnN3ZXJzWzBdLmlucHV0VHlwZUlkID09IElucHV0VHlwZUVudW0uRW1haWwpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5lbWFpbF0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHZhbHVlLnN1cnZleUFuc3dlcnNbMF0uaW5wdXRUeXBlSWQgPT0gSW5wdXRUeXBlRW51bS5QaG9uZSkge1xyXG4gICAgICAgIHRoaXMuZkN0cmxzLmFuc3dlci5hZGRWYWxpZGF0b3JzKFtQaG9uZVZhbGlkYXRvcl0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9nZ2xlRW5hYmxlQW5zd2VyKHZhbHVlLmlzUmVhZE9ubHkpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMudG9nZ2xlRW5hYmxlQW5zd2VyKHZhbHVlKTtcclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgX3N1cnZleUxpYlNlcnZpY2U6IFN1cnZleUxpYlNlcnZpY2UpIHtcclxuICAgIHRoaXMuckZvcm0gPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cDxRdWVzdGlvblRleHRUZW1wbGF0ZUZvcm1JbnRlcmZhY2U+KHtcclxuICAgICAgaWQ6IFtudWxsXSxcclxuICAgICAgbmFtZTogW251bGxdLFxyXG4gICAgICB0aXRsZTogW251bGxdLFxyXG4gICAgICB0eXBlSWQ6IFtudWxsXSxcclxuICAgICAgZGVzY3JpcHRpb246IFtudWxsXSxcclxuICAgICAgc3VydmV5QW5zd2VySWQ6IFtudWxsXSxcclxuICAgICAgYW5zd2VyOiBbbnVsbF0sXHJcbiAgICAgIGlzRGlzYWJsZWQ6IFtmYWxzZV0sXHJcbiAgICAgIGlzU2hvdzogW3RydWVdLFxyXG4gICAgICBpbnB1dFR5cGVJZDogW251bGxdLFxyXG4gICAgICBpbnB1dE1pbjogW251bGxdLFxyXG4gICAgICBpbnB1dE1heDogW251bGxdXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mQ3RybHMuYW5zd2VyLnZhbHVlQ2hhbmdlcy5waXBlKCkucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5yRm9ybS52YWx1ZTtcclxuICAgICAgaWYgKGZvcm1WYWx1ZS5pbnB1dFR5cGVJZCA9PSBJbnB1dFR5cGVFbnVtLkVtYWlsKSB7XHJcbiAgICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IHRoaXMuZkN0cmxzLmFuc3dlci5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgaWYgKCFpc1JlcXVpcmVkKSB7XHJcbiAgICAgICAgICBpZiAodmFsdWU/LnRyaW0oKSkge1xyXG4gICAgICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5lbWFpbF0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuckZvcm0udmFsdWU7XHJcbiAgICAgICAgdGhpcy5lbWl0dGVyLmVtaXQoe1xyXG4gICAgICAgICAgUXVlc3Rpb25JZDogZm9ybVZhbHVlLmlkLFxyXG4gICAgICAgICAgSXNWYWxpZDogdGhpcy5mQ3RybHMuYW5zd2VyLnZhbGlkLFxyXG4gICAgICAgICAgQW5zd2VyOiB2YWx1ZSxcclxuICAgICAgICAgIFN1cnZleUFuc3dlcklkOiBmb3JtVmFsdWUuc3VydmV5QW5zd2VySWRcclxuICAgICAgICB9KVxyXG4gICAgICB9LCAxMDApO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZkN0cmxzLmFuc3dlci5zZXRWYWx1ZShudWxsKTtcclxuXHJcbiAgICB0aGlzLl9zdXJ2ZXlMaWJTZXJ2aWNlLnN1cnZleUFuc3dlcnNPYnNydi5waXBlKG1hcCh4ID0+IHguZGVmYXVsdEFuc3dlcnMuZmlsdGVyKHggPT4geC5RdWVzdGlvbklkID09IHRoaXMuZkN0cmxzLmlkLnZhbHVlKSkpXHJcbiAgICAgIC5waXBlKGZpbHRlcih4ID0+IHgubGVuZ3RoID4gMCkpLnBpcGUobWFwKHggPT4geC5hdCgwKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoYW5zd2VyID0+IHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUoYW5zd2VyLkFuc3dlclRleHQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zdXJ2ZXlMaWJTZXJ2aWNlLnF1ZXN0aW9uSXNEaXNhYmxlZE9ic3J2LnBpcGUoZmlsdGVyKHggPT4geC5xdWVzdGlvbklkID09IHRoaXMuZkN0cmxzLmlkLnZhbHVlKSkuc3Vic2NyaWJlKHggPT4ge1xyXG4gICAgICB0aGlzLmZDdHJscy5pc0Rpc2FibGVkLnNldFZhbHVlKHguaXNEaXNhYmxlZCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zdXJ2ZXlMaWJTZXJ2aWNlLnF1ZXN0aW9uSXNTaG93T2JzcnYucGlwZShmaWx0ZXIoeCA9PiB4LnF1ZXN0aW9uSWQgPT0gdGhpcy5mQ3RybHMuaWQudmFsdWUpKS5zdWJzY3JpYmUoeCA9PiB7XHJcbiAgICAgIHRoaXMuZkN0cmxzLmlzU2hvdy5zZXRWYWx1ZSh4LmlzU2hvdyk7XHJcblxyXG4gICAgICBpZiAoeC5pc1Nob3cgPT0gZmFsc2UpIHtcclxuICAgICAgICB0aGlzLmZDdHJscy5hbnN3ZXIuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udmVydFRvRm9ybUNvbnRyb2woZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudCBhcyBGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlRW5hYmxlQW5zd2VyKGlzUmVhZE9ubHk6IGJvb2xlYW4pIHtcclxuICAgIGlmIChpc1JlYWRPbmx5ID09IHRydWUpIHtcclxuICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmRpc2FibGUoKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mQ3RybHMuYW5zd2VyLmVuYWJsZSgpXHJcbiAgICB9XHJcbiAgICB0aGlzLmZDdHJscy5hbnN3ZXIudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInF1YXN0aW9uXCIgW2Zvcm1Hcm91cF09XCJyRm9ybVwiIFthdHRyLmlkXT1cIidxdWVzdGlvbl8nK2ZDdHJscy5pZC52YWx1ZVwiXHJcbiAgICBbbmdDbGFzc109XCJ7J2ludmFsaWQtcXVlc3Rpb24nOiBmQ3RybHMuYW5zd2VyLmludmFsaWQgLCAnZC1ub25lJzpmQ3RybHMuaXNTaG93LnZhbHVlICE9IHRydWV9XCI+XHJcbiAgICA8aDMgY2xhc3M9XCJxdWFzdGlvbi10aXRsZSBcIj5cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInN1cnZleVF1ZXN0aW9uPy5xdWVzdGlvblRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAqbmdJZj1cInN1cnZleVF1ZXN0aW9uLmlzUmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgIDxwICpuZ0lmPVwicXVlc3Rpb25NaW5NYXhJbmRpY2F0b3JcIiBjbGFzcz1cInRleHQtZGFuZ2VyXCI+XHJcbiAgICAgICAgICAgIDxzbWFsbD57e3F1ZXN0aW9uTWluTWF4SW5kaWNhdG9yfX08L3NtYWxsPlxyXG4gICAgICAgIDwvcD5cclxuICAgIDwvaDM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dC1xdWFzdGlvblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RleHRBcmVhID09IGZhbHNlIGVsc2UgdGV4dEFyZWFUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBsaWJNYXNrZWRGb3JNaW5NYXggW2F0dHIubWluXT1cImZDdHJscy5pbnB1dE1pbi52YWx1ZVwiIFxyXG4gICAgICAgICAgICAqbmdJZj1cImZDdHJscy5pbnB1dFR5cGVJZC52YWx1ZSA9PSBpbnB1dFR5cGVFbnVtLk51bWJlciBlbHNlIHRleHRJbnB1dE5vdE51bWJlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLm1heF09XCJmQ3RybHMuaW5wdXRNYXgudmFsdWVcIiBbZm9ybUNvbnRyb2xdPVwiY29udmVydFRvRm9ybUNvbnRyb2woZkN0cmxzLmFuc3dlcilcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIiBbYXR0ci50eXBlXT1cImZDdHJscy5pbnB1dFR5cGVJZC52YWx1ZSB8IHRleHRCb3hUeXBlQXR0clwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdGV4dEFyZWFUZW1wbGF0ZT5cclxuICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcm93cz1cIjJcIiBbZm9ybUNvbnRyb2xdPVwiY29udmVydFRvRm9ybUNvbnRyb2woZkN0cmxzLmFuc3dlcilcIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIj48L3RleHRhcmVhPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICN0ZXh0SW5wdXROb3ROdW1iZXJUZW1wbGF0ZT5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAgW2F0dHIubWluXT1cImZDdHJscy5pbnB1dE1pbi52YWx1ZVwiXHJcbiAgICAgICAgW2F0dHIubWF4XT1cImZDdHJscy5pbnB1dE1heC52YWx1ZVwiIFtmb3JtQ29udHJvbF09XCJjb252ZXJ0VG9Gb3JtQ29udHJvbChmQ3RybHMuYW5zd2VyKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIiBbYXR0ci50eXBlXT1cImZDdHJscy5pbnB1dFR5cGVJZC52YWx1ZSB8IHRleHRCb3hUeXBlQXR0clwiPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -43,8 +43,27 @@ export class MaskedForMinMaxDirective {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
+
onPaste(e) {
|
|
47
|
+
const data = e.clipboardData.getData('text');
|
|
48
|
+
const input = e.target;
|
|
49
|
+
if (input.type === 'number' || input.type === 'text') {
|
|
50
|
+
var min = null;
|
|
51
|
+
var max = null;
|
|
52
|
+
if (input.getAttribute('min') !== null) {
|
|
53
|
+
min = parseInt(input.getAttribute('min'));
|
|
54
|
+
}
|
|
55
|
+
if (input.getAttribute('max') !== null) {
|
|
56
|
+
max = parseInt(input.getAttribute('max'));
|
|
57
|
+
}
|
|
58
|
+
if (min != null || max != null) {
|
|
59
|
+
if (isNaN(+data) === true) {
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
46
65
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MaskedForMinMaxDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
47
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]", host: { listeners: { "keypress": "onKeyUp($event)" } }, ngImport: i0 }); }
|
|
66
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]", host: { listeners: { "keypress": "onKeyUp($event)", "paste": "onPaste($event)" } }, ngImport: i0 }); }
|
|
48
67
|
}
|
|
49
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MaskedForMinMaxDirective, decorators: [{
|
|
50
69
|
type: Directive,
|
|
@@ -54,5 +73,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
54
73
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onKeyUp: [{
|
|
55
74
|
type: HostListener,
|
|
56
75
|
args: ['keypress', ['$event']]
|
|
76
|
+
}], onPaste: [{
|
|
77
|
+
type: HostListener,
|
|
78
|
+
args: ['paste', ['$event']]
|
|
57
79
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFza2VkLWZvci1taW4tbWF4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N1cnZlcnktbGliL3NyYy9saWIvZGlyZWN0aXZlcy9tYXNrZWQtZm9yLW1pbi1tYXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtwRSxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUksQ0FBQztJQUd2QyxPQUFPLENBQUMsS0FBb0I7UUFDMUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQTBCLENBQUM7UUFDL0MsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNwRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDZixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDZixJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN0QyxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMzQztZQUNELElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3RDLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzNDO1lBRUQsSUFBSSxVQUFVLEdBQVEsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNsQyxvQkFBb0I7WUFDcEIsSUFBSSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFF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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYk1hc2tlZEZvck1pbk1heF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXNrZWRGb3JNaW5NYXhEaXJlY3RpdmUge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5cHJlc3MnLCBbJyRldmVudCddKVxyXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ251bWJlcicgfHwgaW5wdXQudHlwZSA9PT0gJ3RleHQnKSB7XHJcbiAgICAgIHZhciBtaW4gPSBudWxsO1xyXG4gICAgICB2YXIgbWF4ID0gbnVsbDtcclxuICAgICAgaWYgKGlucHV0LmdldEF0dHJpYnV0ZSgnbWluJykgIT09IG51bGwpIHtcclxuICAgICAgICBtaW4gPSBwYXJzZUludChpbnB1dC5nZXRBdHRyaWJ1dGUoJ21pbicpKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaW5wdXQuZ2V0QXR0cmlidXRlKCdtYXgnKSAhPT0gbnVsbCkge1xyXG4gICAgICAgIG1heCA9IHBhcnNlSW50KGlucHV0LmdldEF0dHJpYnV0ZSgnbWF4JykpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB2YXIgaW5wdXRWbGF1ZTogYW55ID0gaW5wdXQudmFsdWU7XHJcbiAgICAgIC8vIGFsbG93ZWQga2V5IGFycmF5XHJcbiAgICAgIHZhciBrZXlBcnIgPSBbJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJzAnLCAnQmFja3NwYWNlJ107XHJcbiAgICAgIGlmIChtaW4gIT0gbnVsbCB8fCBtYXggIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChrZXlBcnIuaW5kZXhPZihldmVudC5rZXkpID09IC0xKSB7XHJcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGlucHV0LnNlbGVjdGlvblN0YXJ0ICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICBsZXQgZmlyc3RQYXJ0ID0gaW5wdXQudmFsdWUuc2xpY2UoMCwgaW5wdXQuc2VsZWN0aW9uU3RhcnQpO1xyXG4gICAgICAgICAgbGV0IGxhc3RQYXJ0ID0gaW5wdXQudmFsdWUuc2xpY2UoaW5wdXQuc2VsZWN0aW9uRW5kLCBpbnB1dC52YWx1ZS5sZW5ndGgpO1xyXG5cclxuICAgICAgICAgIGlucHV0VmxhdWUgPSBOdW1iZXIoZmlyc3RQYXJ0ICsgZXZlbnQua2V5ICsgbGFzdFBhcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKG1pbiAhPSBudWxsKSB7XHJcbiAgICAgICAgdmFyIGFsbG93ZWQgPSBtaW4ubGVuZ3RoIC0gMTtcclxuICAgICAgICBpZiAoYWxsb3dlZCA+IDAgJiYgaW5wdXRWbGF1ZS5sZW5ndGggPiBhbGxvd2VkKSB7XHJcbiAgICAgICAgICBpZiAocGFyc2VJbnQoaW5wdXRWbGF1ZSkgPCBtaW4pIHtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChtYXggIT09IG51bGwpIHtcclxuICAgICAgICBpZiAocGFyc2VJbnQoaW5wdXRWbGF1ZSkgPiBtYXgpIHtcclxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pIG9uUGFzdGUoZTogYW55KSB7XHJcblxyXG4gICAgY29uc3QgZGF0YSA9IGUuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0Jyk7XHJcblxyXG4gICAgY29uc3QgaW5wdXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgaWYgKGlucHV0LnR5cGUgPT09ICdudW1iZXInIHx8IGlucHV0LnR5cGUgPT09ICd0ZXh0Jykge1xyXG4gICAgICB2YXIgbWluID0gbnVsbDtcclxuICAgICAgdmFyIG1heCA9IG51bGw7XHJcbiAgICAgIGlmIChpbnB1dC5nZXRBdHRyaWJ1dGUoJ21pbicpICE9PSBudWxsKSB7XHJcbiAgICAgICAgbWluID0gcGFyc2VJbnQoaW5wdXQuZ2V0QXR0cmlidXRlKCdtaW4nKSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlucHV0LmdldEF0dHJpYnV0ZSgnbWF4JykgIT09IG51bGwpIHtcclxuICAgICAgICBtYXggPSBwYXJzZUludChpbnB1dC5nZXRBdHRyaWJ1dGUoJ21heCcpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKG1pbiAhPSBudWxsIHx8IG1heCAhPSBudWxsKSB7XHJcbiAgICAgICAgaWYgKGlzTmFOKCtkYXRhKSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
package/fesm2022/survery-lib.mjs
CHANGED
|
@@ -329,8 +329,27 @@ class MaskedForMinMaxDirective {
|
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
|
+
onPaste(e) {
|
|
333
|
+
const data = e.clipboardData.getData('text');
|
|
334
|
+
const input = e.target;
|
|
335
|
+
if (input.type === 'number' || input.type === 'text') {
|
|
336
|
+
var min = null;
|
|
337
|
+
var max = null;
|
|
338
|
+
if (input.getAttribute('min') !== null) {
|
|
339
|
+
min = parseInt(input.getAttribute('min'));
|
|
340
|
+
}
|
|
341
|
+
if (input.getAttribute('max') !== null) {
|
|
342
|
+
max = parseInt(input.getAttribute('max'));
|
|
343
|
+
}
|
|
344
|
+
if (min != null || max != null) {
|
|
345
|
+
if (isNaN(+data) === true) {
|
|
346
|
+
event.preventDefault();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
332
351
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MaskedForMinMaxDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
333
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]", host: { listeners: { "keypress": "onKeyUp($event)" } }, ngImport: i0 }); }
|
|
352
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]", host: { listeners: { "keypress": "onKeyUp($event)", "paste": "onPaste($event)" } }, ngImport: i0 }); }
|
|
334
353
|
}
|
|
335
354
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MaskedForMinMaxDirective, decorators: [{
|
|
336
355
|
type: Directive,
|
|
@@ -340,6 +359,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
340
359
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onKeyUp: [{
|
|
341
360
|
type: HostListener,
|
|
342
361
|
args: ['keypress', ['$event']]
|
|
362
|
+
}], onPaste: [{
|
|
363
|
+
type: HostListener,
|
|
364
|
+
args: ['paste', ['$event']]
|
|
343
365
|
}] } });
|
|
344
366
|
|
|
345
367
|
class TextBoxTypeAttrPipe {
|
|
@@ -386,6 +408,9 @@ class QuestionTextTemplateComponent {
|
|
|
386
408
|
get questionTypeEnum() {
|
|
387
409
|
return QuestionTypeEnum;
|
|
388
410
|
}
|
|
411
|
+
get inputTypeEnum() {
|
|
412
|
+
return InputTypeEnum;
|
|
413
|
+
}
|
|
389
414
|
get questionMinMaxIndicator() {
|
|
390
415
|
const formValue = this.rForm.value;
|
|
391
416
|
if (formValue.inputMax != null || formValue.inputMin != null) {
|
|
@@ -434,6 +459,16 @@ class QuestionTextTemplateComponent {
|
|
|
434
459
|
this.fCtrls.inputTypeId.setValue(InputTypeEnum.Text);
|
|
435
460
|
}
|
|
436
461
|
}
|
|
462
|
+
else if (value.surveyAnswers[0].inputTypeId == InputTypeEnum.Text) {
|
|
463
|
+
if (value.surveyAnswers[0].inputMin != null) {
|
|
464
|
+
this.fCtrls.inputMin.setValue(value.surveyAnswers[0].inputMin);
|
|
465
|
+
this.fCtrls.answer.addValidators([Validators.minLength(value.surveyAnswers[0].inputMin)]);
|
|
466
|
+
}
|
|
467
|
+
if (value.surveyAnswers[0].inputMax != null) {
|
|
468
|
+
this.fCtrls.inputMax.setValue(value.surveyAnswers[0].inputMax);
|
|
469
|
+
this.fCtrls.answer.addValidators([Validators.maxLength(value.surveyAnswers[0].inputMax)]);
|
|
470
|
+
}
|
|
471
|
+
}
|
|
437
472
|
else if (value.surveyAnswers[0].inputTypeId == InputTypeEnum.Email) {
|
|
438
473
|
this.fCtrls.answer.addValidators([Validators.email]);
|
|
439
474
|
}
|
|
@@ -522,11 +557,11 @@ class QuestionTextTemplateComponent {
|
|
|
522
557
|
this.fCtrls.answer.updateValueAndValidity();
|
|
523
558
|
}
|
|
524
559
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, deps: [{ token: i1.FormBuilder }, { token: SurveyLibService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
525
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isArabicLang: "isArabicLang", isTextArea: "isTextArea", setQuestion: "setQuestion", isDisabled: "isDisabled" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small
|
|
560
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: QuestionTextTemplateComponent, selector: "lib-question-text-template", inputs: { isArabicLang: "isArabicLang", isTextArea: "isTextArea", setQuestion: "setQuestion", isDisabled: "isDisabled" }, outputs: { emitter: "emitter" }, ngImport: i0, template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small>{{questionMinMaxIndicator}}</small>\r\n </p>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\r\n <input class=\"form-control\" libMaskedForMinMax [attr.min]=\"fCtrls.inputMin.value\" \r\n *ngIf=\"fCtrls.inputTypeId.value == inputTypeEnum.Number else textInputNotNumberTemplate\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-container>\r\n <ng-template #textAreaTemplate>\r\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\"></textarea>\r\n </ng-template>\r\n </div>\r\n\r\n\r\n <ng-template #textInputNotNumberTemplate>\r\n <input class=\"form-control\" [attr.min]=\"fCtrls.inputMin.value\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-template>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: MaskedForMinMaxDirective, selector: "[libMaskedForMinMax]" }, { kind: "pipe", type: TextBoxTypeAttrPipe, name: "textBoxTypeAttr" }] }); }
|
|
526
561
|
}
|
|
527
562
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: QuestionTextTemplateComponent, decorators: [{
|
|
528
563
|
type: Component,
|
|
529
|
-
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small
|
|
564
|
+
args: [{ selector: 'lib-question-text-template', template: "<div class=\"quastion\" [formGroup]=\"rForm\" [attr.id]=\"'question_'+fCtrls.id.value\"\r\n [ngClass]=\"{'invalid-question': fCtrls.answer.invalid , 'd-none':fCtrls.isShow.value != true}\">\r\n <h3 class=\"quastion-title \">\r\n <span [innerHTML]=\"surveyQuestion?.questionTitle\"></span>\r\n <span style=\"color: red;\" *ngIf=\"surveyQuestion.isRequired\">*</span>\r\n <p *ngIf=\"questionMinMaxIndicator\" class=\"text-danger\">\r\n <small>{{questionMinMaxIndicator}}</small>\r\n </p>\r\n </h3>\r\n <div class=\"text-quastion\">\r\n <ng-container *ngIf=\"isTextArea == false else textAreaTemplate\">\r\n <input class=\"form-control\" libMaskedForMinMax [attr.min]=\"fCtrls.inputMin.value\" \r\n *ngIf=\"fCtrls.inputTypeId.value == inputTypeEnum.Number else textInputNotNumberTemplate\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-container>\r\n <ng-template #textAreaTemplate>\r\n <textarea class=\"form-control\" rows=\"2\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\"></textarea>\r\n </ng-template>\r\n </div>\r\n\r\n\r\n <ng-template #textInputNotNumberTemplate>\r\n <input class=\"form-control\" [attr.min]=\"fCtrls.inputMin.value\"\r\n [attr.max]=\"fCtrls.inputMax.value\" [formControl]=\"convertToFormControl(fCtrls.answer)\"\r\n [disabled]=\"isDisabled\" [attr.type]=\"fCtrls.inputTypeId.value | textBoxTypeAttr\">\r\n </ng-template>" }]
|
|
530
565
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: SurveyLibService }]; }, propDecorators: { emitter: [{
|
|
531
566
|
type: Output
|
|
532
567
|
}], isArabicLang: [{
|