@piserve-tech/form-submission 1.3.159 → 1.3.160
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.
|
@@ -26,22 +26,10 @@ export class QuestionGroupComponent {
|
|
|
26
26
|
this.edit = false;
|
|
27
27
|
this.acceptedLanguage = '';
|
|
28
28
|
this.decodedDescription = '';
|
|
29
|
+
this.childLogicCache = {};
|
|
29
30
|
}
|
|
30
31
|
ngOnInit() {
|
|
31
32
|
}
|
|
32
|
-
async loadFormElementsComponent(grid) {
|
|
33
|
-
this.grid = grid;
|
|
34
|
-
const { FormElementsComponent } = await import('../form-elements/form-elements.component');
|
|
35
|
-
return FormElementsComponent;
|
|
36
|
-
}
|
|
37
|
-
createInjector() {
|
|
38
|
-
return Injector.create({
|
|
39
|
-
providers: [
|
|
40
|
-
{ provide: 'grid', useValue: this.grid },
|
|
41
|
-
{ provide: 'state', useValue: 'child' },
|
|
42
|
-
],
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
33
|
decodeHtml(html) {
|
|
46
34
|
const textArea = document.createElement('textarea');
|
|
47
35
|
textArea.innerHTML = html;
|
|
@@ -52,12 +40,34 @@ export class QuestionGroupComponent {
|
|
|
52
40
|
this.decodedDescription = this.decodeHtml(this.questionGroup.description);
|
|
53
41
|
}
|
|
54
42
|
}
|
|
43
|
+
getComponentForChildLogics(grid, state, answer) {
|
|
44
|
+
const key = JSON.stringify({ grid, state }); // or use hash
|
|
45
|
+
if (!this.childLogicCache[key]) {
|
|
46
|
+
const component = this.loadFormElementsComponent();
|
|
47
|
+
const injector = this.createInjector(grid, state, answer);
|
|
48
|
+
this.childLogicCache[key] = { component, injector };
|
|
49
|
+
}
|
|
50
|
+
return this.childLogicCache[key];
|
|
51
|
+
}
|
|
52
|
+
async loadFormElementsComponent() {
|
|
53
|
+
const { FormElementsComponent } = await import('../form-elements/form-elements.component');
|
|
54
|
+
return FormElementsComponent;
|
|
55
|
+
}
|
|
56
|
+
createInjector(grid, state, answer) {
|
|
57
|
+
return Injector.create({
|
|
58
|
+
providers: [
|
|
59
|
+
{ provide: 'grid', useValue: grid },
|
|
60
|
+
{ provide: 'state', useValue: state },
|
|
61
|
+
{ provide: 'answer', useValue: answer },
|
|
62
|
+
],
|
|
63
|
+
});
|
|
64
|
+
}
|
|
55
65
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionGroupComponent, selector: "lib-question-group", inputs: { questionGroup: "questionGroup", edit: "edit", acceptedLanguage: "acceptedLanguage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionGroupComponent, selector: "lib-question-group", inputs: { questionGroup: "questionGroup", edit: "edit", acceptedLanguage: "acceptedLanguage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n \n <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n \n </div>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.CheckBoxFieldsComponent, selector: "lib-check-box-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i3.DateTimeFieldsComponent, selector: "lib-date-time-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i4.DropDownFieldsComponent, selector: "lib-drop-down-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i5.FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: ["question", "inLine"], outputs: ["answerChange", "inlineDeleteFiles"] }, { kind: "component", type: i6.LocationFieldsComponent, selector: "lib-location-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i7.MailFieldsComponent, selector: "lib-mail-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i8.MobileFieldsComponent, selector: "lib-mobile-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i9.NumberFieldsComponent, selector: "lib-number-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i10.PasswordFieldsComponent, selector: "lib-password-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i11.RadioButtonFieldsComponent, selector: "lib-radio-button-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i12.RichTextEditorFieldsComponent, selector: "lib-rich-text-editor-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i13.SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i14.SignatureFieldsComponent, selector: "lib-signature-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i15.SliderFieldsComponent, selector: "lib-slider-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i16.TermsAndConditionFieldsComponent, selector: "lib-terms-and-condition-fields", inputs: ["question", "inLine"] }, { kind: "component", type: i17.TextAreaFieldsComponent, selector: "lib-text-area-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i18.TextFieldsComponent, selector: "lib-text-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: i19.ToggleSwitchFieldsComponent, selector: "lib-toggle-switch-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: i20.UrlFieldsComponent, selector: "lib-url-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
|
|
57
67
|
}
|
|
58
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionGroupComponent, decorators: [{
|
|
59
69
|
type: Component,
|
|
60
|
-
args: [{ selector: 'lib-question-group', template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n
|
|
70
|
+
args: [{ selector: 'lib-question-group', template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n \n <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n \n </div>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"] }]
|
|
61
71
|
}], propDecorators: { questionGroup: [{
|
|
62
72
|
type: Input
|
|
63
73
|
}], edit: [{
|
|
@@ -65,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
65
75
|
}], acceptedLanguage: [{
|
|
66
76
|
type: Input
|
|
67
77
|
}] } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9xdWVzdGlvbi1ncm91cC9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3F1ZXN0aW9uLWdyb3VwL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPakYsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1XLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztLQWdDOUI7SUE3QkMsUUFBUTtJQUNSLENBQUM7SUFFRCxLQUFLLENBQUMseUJBQXlCLENBQUMsSUFBUztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNmLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDM0YsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUN4QyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUN4QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFSCxVQUFVLENBQUMsSUFBWTtRQUNyQixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMzRTtJQUNILENBQUM7K0dBbkNVLHNCQUFzQjttR0FBdEIsc0JBQXNCLCtLQ1BuQyw0aEhBK0NFOzs0RkR4Q1csc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFLckIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXA6IGFueSA9IHt9O1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9Jyc7XG4gIGRlY29kZWREZXNjcmlwdGlvbjpzdHJpbmc9Jyc7XG4gIGdyaWQ6IGFueTtcbiAgXG4gIG5nT25Jbml0KCkgeyAgICBcbiAgfVxuXG4gIGFzeW5jIGxvYWRGb3JtRWxlbWVudHNDb21wb25lbnQoZ3JpZDogYW55KSB7XG4gICAgdGhpcy5ncmlkID0gZ3JpZDtcbiAgICAgIGNvbnN0IHsgRm9ybUVsZW1lbnRzQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoJy4uL2Zvcm0tZWxlbWVudHMvZm9ybS1lbGVtZW50cy5jb21wb25lbnQnKTtcbiAgICAgIHJldHVybiBGb3JtRWxlbWVudHNDb21wb25lbnQ7XG4gICAgfVxuICBcbiAgICBjcmVhdGVJbmplY3RvcigpOiBJbmplY3RvciB7XG4gICAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgeyBwcm92aWRlOiAnZ3JpZCcsIHVzZVZhbHVlOiB0aGlzLmdyaWQgfSxcbiAgICAgICAgICB7IHByb3ZpZGU6ICdzdGF0ZScsIHVzZVZhbHVlOiAnY2hpbGQnIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgZGVjb2RlSHRtbChodG1sOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcbiAgICB0ZXh0QXJlYS5pbm5lckhUTUwgPSBodG1sOyAgICBcbiAgICByZXR1cm4gdGV4dEFyZWEudmFsdWU7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5xdWVzdGlvbkdyb3VwLmRlc2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmRlY29kZWREZXNjcmlwdGlvbiA9IHRoaXMuZGVjb2RlSHRtbCh0aGlzLnF1ZXN0aW9uR3JvdXAuZGVzY3JpcHRpb24pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lciBtYi00IHB4LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keSBjb250YWluZXIgcHQtMyBwYi0zIHB4LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBwdC00IHBiLTMgcHgtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInNlY3Rpb25UaXRsZVwiPnt7IHF1ZXN0aW9uR3JvdXAudGl0bGUgfX08L3A+XG4gICAgICAgIDxwIFtpbm5lckhUTUxdPVwiZGVjb2RlZERlc2NyaXB0aW9uXCIgY2xhc3M9XCJkZXNjcmlwdGlvblwiPjwvcD5cbiAgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC01XCI+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcm93IG9mIHF1ZXN0aW9uR3JvdXAucm93c1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBncmlkIG9mIHJvdy5ncmlkXCJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyd3aWR0aC4lJzogKGdyaWQuZWxlbWVudC5jb3VudCkgKiAoMTAwIC8gMTIpfVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJncmlkLmVudGl0eVR5cGUgPT09ICdRVUVTVElPTidcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW25nU3dpdGNoXT1cImdyaWQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWNoZWNrLWJveC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItZGF0ZS10aW1lLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0RBVEVfVElNRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItZGF0ZS10aW1lLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1kcm9wLWRvd24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInRFJPUF9ET1dOJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1kcm9wLWRvd24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWZpbGUtcGlja2VyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItbG9jYXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTE9DQVRJT04nXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWxvY2F0aW9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1tYWlsLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0VNQUlMJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1tYWlsLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1tb2JpbGUtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTU9CSUxFJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1tb2JpbGUtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLW51bWJlci1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidOVU1CRVInXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLW51bWJlci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItcGFzc3dvcmQtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUEFTU1dPUkQnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXBhc3N3b3JkLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUkFESU9fQlVUVE9OJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1yYWRpby1idXR0b24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUklDSF9URVhUX0VESVRPUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItcmljaC10ZXh0LWVkaXRvci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidTRUxFQ1RJT05fTUFUUklYJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIiBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCI+PC9saWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItc2lnbmF0dXJlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NJR05BVFVSRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2lnbmF0dXJlLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1zbGlkZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInU0xJREVSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1zbGlkZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXRlcm1zLWFuZC1jb25kaXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVEVSTVNfQU5EX0NPTkRJVElPTidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1hcmVhLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQVJFQSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10ZXh0LWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQk9YJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi10ZXh0LWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10b2dnbGUtc3dpdGNoLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RPR0dMRV9TV0lUQ0gnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIj48L2xpYi10b2dnbGUtc3dpdGNoLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi11cmwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi11cmwtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwibG9hZEZvcm1FbGVtZW50c0NvbXBvbmVudChncmlkLmVsZW1lbnQuY2hpbGRMb2dpY3MpIHwgYXN5bmNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gICJdfQ==
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1zdWJtaXNzaW9uL3NyYy9xdWVzdGlvbi9xdWVzdGlvbi1ncm91cC9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLXN1Ym1pc3Npb24vc3JjL3F1ZXN0aW9uL3F1ZXN0aW9uLWdyb3VwL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPakYsTUFBTSxPQUFPLHNCQUFzQjtJQUxuQztRQU1XLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFRLEVBQUUsQ0FBQztRQUU3QixvQkFBZSxHQUF1RSxFQUFFLENBQUM7S0EwQzFGO0lBeENDLFFBQVE7SUFDUixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDM0U7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxNQUFXO1FBQzlELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDckQ7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUdELEtBQUssQ0FBQyx5QkFBeUI7UUFDN0IsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsMENBQTBDLENBQUMsQ0FBQztRQUMzRixPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxNQUFXO1FBQ2xELE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUNyQixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ25DLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2dCQUNyQyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUN4QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBL0NVLHNCQUFzQjttR0FBdEIsc0JBQXNCLCtLQ1BuQyxxdkhBbURFOzs0RkQ1Q1csc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFLckIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1xdWVzdGlvbi1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVzdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3F1ZXN0aW9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlc3Rpb25Hcm91cENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uR3JvdXA6IGFueSA9IHt9O1xuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFjY2VwdGVkTGFuZ3VhZ2U6IHN0cmluZyA9Jyc7XG4gIGRlY29kZWREZXNjcmlwdGlvbjpzdHJpbmc9Jyc7XG4gIGdyaWQ6IGFueTtcbiAgY2hpbGRMb2dpY0NhY2hlOiB7IFtrZXk6IHN0cmluZ106IHsgY29tcG9uZW50OiBQcm9taXNlPGFueT4sIGluamVjdG9yOiBJbmplY3RvciB9IH0gPSB7fTtcbiAgXG4gIG5nT25Jbml0KCkgeyAgICBcbiAgfVxuXG4gIGRlY29kZUh0bWwoaHRtbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZXh0QXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdGV4dEFyZWEuaW5uZXJIVE1MID0gaHRtbDsgICAgXG4gICAgcmV0dXJuIHRleHRBcmVhLnZhbHVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucXVlc3Rpb25Hcm91cC5kZXNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kZWNvZGVkRGVzY3JpcHRpb24gPSB0aGlzLmRlY29kZUh0bWwodGhpcy5xdWVzdGlvbkdyb3VwLmRlc2NyaXB0aW9uKTtcbiAgICB9XG4gIH1cblxuICBnZXRDb21wb25lbnRGb3JDaGlsZExvZ2ljcyhncmlkOiBhbnksIHN0YXRlOiBzdHJpbmcsIGFuc3dlcjogYW55KTogeyBjb21wb25lbnQ6IFByb21pc2U8YW55PiwgaW5qZWN0b3I6IEluamVjdG9yIH0ge1xuICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KHtncmlkLCBzdGF0ZX0pOyAvLyBvciB1c2UgaGFzaFxuICAgIGlmICghdGhpcy5jaGlsZExvZ2ljQ2FjaGVba2V5XSkge1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5sb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCk7XG4gICAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuY3JlYXRlSW5qZWN0b3IoZ3JpZCwgc3RhdGUsIGFuc3dlcik7XG4gICAgICB0aGlzLmNoaWxkTG9naWNDYWNoZVtrZXldID0geyBjb21wb25lbnQsIGluamVjdG9yIH07XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNoaWxkTG9naWNDYWNoZVtrZXldO1xuICB9XG5cblxuICBhc3luYyBsb2FkRm9ybUVsZW1lbnRzQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHsgRm9ybUVsZW1lbnRzQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoJy4uL2Zvcm0tZWxlbWVudHMvZm9ybS1lbGVtZW50cy5jb21wb25lbnQnKTtcbiAgICByZXR1cm4gRm9ybUVsZW1lbnRzQ29tcG9uZW50O1xuICB9XG5cbiAgY3JlYXRlSW5qZWN0b3IoZ3JpZDogYW55LCBzdGF0ZTogc3RyaW5nLCBhbnN3ZXI6IGFueSk6IEluamVjdG9yIHtcbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6ICdncmlkJywgdXNlVmFsdWU6IGdyaWQgfSxcbiAgICAgICAgeyBwcm92aWRlOiAnc3RhdGUnLCB1c2VWYWx1ZTogc3RhdGUgfSxcbiAgICAgICAgeyBwcm92aWRlOiAnYW5zd2VyJywgdXNlVmFsdWU6IGFuc3dlciB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm91dGVyLWNvbnRhaW5lciBtYi00IHB4LTNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm9keSBjb250YWluZXIgcHQtMyBwYi0zIHB4LTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWItY29udGVudCBwdC00IHBiLTMgcHgtM1wiPlxuICAgICAgICA8cCBjbGFzcz1cInNlY3Rpb25UaXRsZVwiPnt7IHF1ZXN0aW9uR3JvdXAudGl0bGUgfX08L3A+XG4gICAgICAgIDxwIFtpbm5lckhUTUxdPVwiZGVjb2RlZERlc2NyaXB0aW9uXCIgY2xhc3M9XCJkZXNjcmlwdGlvblwiPjwvcD5cbiAgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC01XCI+XG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcm93IG9mIHF1ZXN0aW9uR3JvdXAucm93c1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBncmlkIG9mIHJvdy5ncmlkXCJcbiAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyd3aWR0aC4lJzogKGdyaWQuZWxlbWVudC5jb3VudCkgKiAoMTAwIC8gMTIpfVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJncmlkLmVudGl0eVR5cGUgPT09ICdRVUVTVElPTidcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgW25nU3dpdGNoXT1cImdyaWQuZWxlbWVudC5mb3JtRWxlbWVudC5lbGVtZW50VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWNoZWNrLWJveC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidDSEVDS19CT1gnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWNoZWNrLWJveC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItZGF0ZS10aW1lLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0RBVEVfVElNRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItZGF0ZS10aW1lLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1kcm9wLWRvd24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInRFJPUF9ET1dOJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1kcm9wLWRvd24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWZpbGUtcGlja2VyLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0ZJTEVfUElDS0VSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1maWxlLXBpY2tlci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItbG9jYXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTE9DQVRJT04nXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLWxvY2F0aW9uLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1tYWlsLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ0VNQUlMJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1tYWlsLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1tb2JpbGUtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInTU9CSUxFJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1tb2JpbGUtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLW51bWJlci1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidOVU1CRVInXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLW51bWJlci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItcGFzc3dvcmQtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUEFTU1dPUkQnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiPjwvbGliLXBhc3N3b3JkLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1yYWRpby1idXR0b24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUkFESU9fQlVUVE9OJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1yYWRpby1idXR0b24tZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXJpY2gtdGV4dC1lZGl0b3ItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInUklDSF9URVhUX0VESVRPUidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItcmljaC10ZXh0LWVkaXRvci1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHMgKm5nU3dpdGNoQ2FzZT1cIidTRUxFQ1RJT05fTUFUUklYJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIiBbYWNjZXB0ZWRMYW5ndWFnZV09XCJhY2NlcHRlZExhbmd1YWdlXCI+PC9saWItc2VsZWN0aW9uLW1hdHJpeC1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItc2lnbmF0dXJlLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1NJR05BVFVSRSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItc2lnbmF0dXJlLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1zbGlkZXItZmllbGRzICpuZ1N3aXRjaENhc2U9XCInU0xJREVSJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi1zbGlkZXItZmllbGRzPlxuICAgICAgICAgICAgICAgICAgICA8bGliLXRlcm1zLWFuZC1jb25kaXRpb24tZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVEVSTVNfQU5EX0NPTkRJVElPTidcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGVybXMtYW5kLWNvbmRpdGlvbi1maWVsZHM+XG4gICAgICAgICAgICAgICAgICAgIDxsaWItdGV4dC1hcmVhLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQVJFQSdcIiBbcXVlc3Rpb25dPVwiZ3JpZC5lbGVtZW50XCI+PC9saWItdGV4dC1hcmVhLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10ZXh0LWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RFWFRfQk9YJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi10ZXh0LWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi10b2dnbGUtc3dpdGNoLWZpZWxkcyAqbmdTd2l0Y2hDYXNlPVwiJ1RPR0dMRV9TV0lUQ0gnXCIgW3F1ZXN0aW9uXT1cImdyaWQuZWxlbWVudFwiIFthY2NlcHRlZExhbmd1YWdlXT1cImFjY2VwdGVkTGFuZ3VhZ2VcIj48L2xpYi10b2dnbGUtc3dpdGNoLWZpZWxkcz5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi11cmwtZmllbGRzICpuZ1N3aXRjaENhc2U9XCInVVJMJ1wiIFtxdWVzdGlvbl09XCJncmlkLmVsZW1lbnRcIj48L2xpYi11cmwtZmllbGRzPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdyaWQuZWxlbWVudC5jaGlsZExvZ2ljc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZ2V0Q29tcG9uZW50Rm9yQ2hpbGRMb2dpY3MoZ3JpZC5lbGVtZW50LmNoaWxkTG9naWNzLCAnY2hpbGQnLCBncmlkLmVsZW1lbnQuYW5zd2VyKSBhcyBjYWNoZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdDb21wb25lbnRPdXRsZXQ9XCJjYWNoZWQuY29tcG9uZW50IHwgYXN5bmM7IGluamVjdG9yOiBjYWNoZWQuaW5qZWN0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICAiXX0=
|
|
@@ -4794,22 +4794,10 @@ class QuestionGroupComponent {
|
|
|
4794
4794
|
this.edit = false;
|
|
4795
4795
|
this.acceptedLanguage = '';
|
|
4796
4796
|
this.decodedDescription = '';
|
|
4797
|
+
this.childLogicCache = {};
|
|
4797
4798
|
}
|
|
4798
4799
|
ngOnInit() {
|
|
4799
4800
|
}
|
|
4800
|
-
async loadFormElementsComponent(grid) {
|
|
4801
|
-
this.grid = grid;
|
|
4802
|
-
const { FormElementsComponent } = await Promise.resolve().then(function () { return formElements_component; });
|
|
4803
|
-
return FormElementsComponent;
|
|
4804
|
-
}
|
|
4805
|
-
createInjector() {
|
|
4806
|
-
return Injector.create({
|
|
4807
|
-
providers: [
|
|
4808
|
-
{ provide: 'grid', useValue: this.grid },
|
|
4809
|
-
{ provide: 'state', useValue: 'child' },
|
|
4810
|
-
],
|
|
4811
|
-
});
|
|
4812
|
-
}
|
|
4813
4801
|
decodeHtml(html) {
|
|
4814
4802
|
const textArea = document.createElement('textarea');
|
|
4815
4803
|
textArea.innerHTML = html;
|
|
@@ -4820,12 +4808,34 @@ class QuestionGroupComponent {
|
|
|
4820
4808
|
this.decodedDescription = this.decodeHtml(this.questionGroup.description);
|
|
4821
4809
|
}
|
|
4822
4810
|
}
|
|
4811
|
+
getComponentForChildLogics(grid, state, answer) {
|
|
4812
|
+
const key = JSON.stringify({ grid, state }); // or use hash
|
|
4813
|
+
if (!this.childLogicCache[key]) {
|
|
4814
|
+
const component = this.loadFormElementsComponent();
|
|
4815
|
+
const injector = this.createInjector(grid, state, answer);
|
|
4816
|
+
this.childLogicCache[key] = { component, injector };
|
|
4817
|
+
}
|
|
4818
|
+
return this.childLogicCache[key];
|
|
4819
|
+
}
|
|
4820
|
+
async loadFormElementsComponent() {
|
|
4821
|
+
const { FormElementsComponent } = await Promise.resolve().then(function () { return formElements_component; });
|
|
4822
|
+
return FormElementsComponent;
|
|
4823
|
+
}
|
|
4824
|
+
createInjector(grid, state, answer) {
|
|
4825
|
+
return Injector.create({
|
|
4826
|
+
providers: [
|
|
4827
|
+
{ provide: 'grid', useValue: grid },
|
|
4828
|
+
{ provide: 'state', useValue: state },
|
|
4829
|
+
{ provide: 'answer', useValue: answer },
|
|
4830
|
+
],
|
|
4831
|
+
});
|
|
4832
|
+
}
|
|
4823
4833
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4824
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionGroupComponent, selector: "lib-question-group", inputs: { questionGroup: "questionGroup", edit: "edit", acceptedLanguage: "acceptedLanguage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n
|
|
4834
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: QuestionGroupComponent, selector: "lib-question-group", inputs: { questionGroup: "questionGroup", edit: "edit", acceptedLanguage: "acceptedLanguage" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n \n <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n \n </div>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"], dependencies: [{ kind: "directive", type: i1$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: CheckBoxFieldsComponent, selector: "lib-check-box-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: DateTimeFieldsComponent, selector: "lib-date-time-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: DropDownFieldsComponent, selector: "lib-drop-down-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: FilePickerFieldsComponent, selector: "lib-file-picker-fields", inputs: ["question", "inLine"], outputs: ["answerChange", "inlineDeleteFiles"] }, { kind: "component", type: LocationFieldsComponent, selector: "lib-location-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: MailFieldsComponent, selector: "lib-mail-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: MobileFieldsComponent, selector: "lib-mobile-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: NumberFieldsComponent, selector: "lib-number-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: PasswordFieldsComponent, selector: "lib-password-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: RadioButtonFieldsComponent, selector: "lib-radio-button-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: RichTextEditorFieldsComponent, selector: "lib-rich-text-editor-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: SelectionMatrixFieldsComponent, selector: "lib-selection-matrix-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: SignatureFieldsComponent, selector: "lib-signature-fields", inputs: ["question", "inLine"] }, { kind: "component", type: SliderFieldsComponent, selector: "lib-slider-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: TermsAndConditionFieldsComponent, selector: "lib-terms-and-condition-fields", inputs: ["question", "inLine"] }, { kind: "component", type: TextAreaFieldsComponent, selector: "lib-text-area-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: TextFieldsComponent, selector: "lib-text-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "component", type: ToggleSwitchFieldsComponent, selector: "lib-toggle-switch-fields", inputs: ["question", "inLine", "acceptedLanguage"], outputs: ["answerChange"] }, { kind: "component", type: UrlFieldsComponent, selector: "lib-url-fields", inputs: ["question", "inLine"], outputs: ["answerChange"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] }); }
|
|
4825
4835
|
}
|
|
4826
4836
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QuestionGroupComponent, decorators: [{
|
|
4827
4837
|
type: Component,
|
|
4828
|
-
args: [{ selector: 'lib-question-group', template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n
|
|
4838
|
+
args: [{ selector: 'lib-question-group', template: "<div class=\"outer-container mb-4 px-3\">\n <div class=\"body container pt-3 pb-3 px-3\">\n <div class=\"tab-content pt-4 pb-3 px-3\">\n <p class=\"sectionTitle\">{{ questionGroup.title }}</p>\n <p [innerHTML]=\"decodedDescription\" class=\"description\"></p>\n \n <div class=\"mt-5\">\n <div *ngFor=\"let row of questionGroup.rows\">\n <div class=\"d-flex\">\n <div *ngFor=\"let grid of row.grid\"\n [ngStyle]=\"{'width.%': (grid.element.count) * (100 / 12)}\">\n <div *ngIf=\"grid.entityType === 'QUESTION'\">\n <div [ngSwitch]=\"grid.element.formElement.elementType\">\n <lib-check-box-fields *ngSwitchCase=\"'CHECK_BOX'\" [question]=\"grid.element\"></lib-check-box-fields>\n <lib-date-time-fields *ngSwitchCase=\"'DATE_TIME'\" [question]=\"grid.element\"></lib-date-time-fields>\n <lib-drop-down-fields *ngSwitchCase=\"'DROP_DOWN'\" [question]=\"grid.element\"></lib-drop-down-fields>\n <lib-file-picker-fields *ngSwitchCase=\"'FILE_PICKER'\" [question]=\"grid.element\"></lib-file-picker-fields>\n <lib-location-fields *ngSwitchCase=\"'LOCATION'\" [question]=\"grid.element\"></lib-location-fields>\n <lib-mail-fields *ngSwitchCase=\"'EMAIL'\" [question]=\"grid.element\"></lib-mail-fields>\n <lib-mobile-fields *ngSwitchCase=\"'MOBILE'\" [question]=\"grid.element\"></lib-mobile-fields>\n <lib-number-fields *ngSwitchCase=\"'NUMBER'\" [question]=\"grid.element\"></lib-number-fields>\n <lib-password-fields *ngSwitchCase=\"'PASSWORD'\" [question]=\"grid.element\"></lib-password-fields>\n <lib-radio-button-fields *ngSwitchCase=\"'RADIO_BUTTON'\" [question]=\"grid.element\"></lib-radio-button-fields>\n <lib-rich-text-editor-fields *ngSwitchCase=\"'RICH_TEXT_EDITOR'\" [question]=\"grid.element\"></lib-rich-text-editor-fields>\n <lib-selection-matrix-fields *ngSwitchCase=\"'SELECTION_MATRIX'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-selection-matrix-fields>\n <lib-signature-fields *ngSwitchCase=\"'SIGNATURE'\" [question]=\"grid.element\"></lib-signature-fields>\n <lib-slider-fields *ngSwitchCase=\"'SLIDER'\" [question]=\"grid.element\"></lib-slider-fields>\n <lib-terms-and-condition-fields *ngSwitchCase=\"'TERMS_AND_CONDITION'\" [question]=\"grid.element\"></lib-terms-and-condition-fields>\n <lib-text-area-fields *ngSwitchCase=\"'TEXT_AREA'\" [question]=\"grid.element\"></lib-text-area-fields>\n <lib-text-fields *ngSwitchCase=\"'TEXT_BOX'\" [question]=\"grid.element\"></lib-text-fields>\n <lib-toggle-switch-fields *ngSwitchCase=\"'TOGGLE_SWITCH'\" [question]=\"grid.element\" [acceptedLanguage]=\"acceptedLanguage\"></lib-toggle-switch-fields>\n <lib-url-fields *ngSwitchCase=\"'URL'\" [question]=\"grid.element\"></lib-url-fields>\n </div>\n \n <ng-container *ngIf=\"grid.element.childLogics\">\n <ng-container *ngIf=\"getComponentForChildLogics(grid.element.childLogics, 'child', grid.element.answer) as cached\">\n <ng-container\n *ngComponentOutlet=\"cached.component | async; injector: cached.injector\">\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n \n </div>\n </div>\n \n </div>\n </div>\n </div>\n </div>\n </div>\n ", styles: [".outer-container{background-color:#fff;position:relative}@media (max-width: 576px){.outer-container{padding:8px}}.body{position:relative;z-index:1;background:#efefef;border-radius:6px}.tab-content{background-color:#fff}.sectionTitle{font-size:19px;font-weight:700;margin-bottom:20px;word-break:break-word}.description{font-size:17px;font-weight:500;margin-bottom:18px;word-break:break-word}::ng-deep .description img{max-width:100%}\n"] }]
|
|
4829
4839
|
}], propDecorators: { questionGroup: [{
|
|
4830
4840
|
type: Input
|
|
4831
4841
|
}], edit: [{
|