@tsi-developpement/tsi-shared-ui 1.7.18 → 1.7.19
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/tsi-components/tsi-dynamic-form/create-or-edit-dynamic-form/create-or-edit-dynamic-form.component.mjs +15 -11
- package/esm2022/lib/tsi-components/tsi-dynamic-form/dynamic-form-list/dynamic-form-list.component.mjs +4 -9
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs +7 -10
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs.map +1 -1
- package/lib/consts/app-providers.d.ts +1 -1
- package/package.json +1 -1
|
@@ -17,14 +17,15 @@ import * as i6 from "@angular/common";
|
|
|
17
17
|
import * as i7 from "primeng/tabview";
|
|
18
18
|
import * as i8 from "../../input-components/tsi-search-combo/tsi-search-combo.component";
|
|
19
19
|
import * as i9 from "../../input-components/tsi-checkbox/tsi-checkbox.component";
|
|
20
|
-
import * as i10 from "../../input-components/tsi-
|
|
21
|
-
import * as i11 from "../../input-components/tsi-
|
|
22
|
-
import * as i12 from "../../input-components/tsi-
|
|
23
|
-
import * as i13 from "../../
|
|
24
|
-
import * as i14 from "../../tsi-
|
|
25
|
-
import * as i15 from "../../tsi-modal-
|
|
26
|
-
import * as i16 from "../../tsi-
|
|
27
|
-
import * as i17 from "
|
|
20
|
+
import * as i10 from "../../input-components/tsi-date-picker/tsi-date-picker.component";
|
|
21
|
+
import * as i11 from "../../input-components/tsi-decimal-input/tsi-decimal-input.component";
|
|
22
|
+
import * as i12 from "../../input-components/tsi-integer/tsi-integer.component";
|
|
23
|
+
import * as i13 from "../../input-components/tsi-text-box/tsi-text-box.component";
|
|
24
|
+
import * as i14 from "../../output-components/tsi-label/tsi-label.component";
|
|
25
|
+
import * as i15 from "../../tsi-modal-footer/tsi-modal-footer.component";
|
|
26
|
+
import * as i16 from "../../tsi-modal-header/tsi-modal-header.component";
|
|
27
|
+
import * as i17 from "../../tsi-form/tsi-form.component";
|
|
28
|
+
import * as i18 from "../../../pipes/localize.pipe";
|
|
28
29
|
export class CreateOrEditDynamicFormComponent extends TsiFormComponentBaseComponent {
|
|
29
30
|
constructor(_errorResponseManagerService, ref, config, _notificationService, dialogDataService, formDataService) {
|
|
30
31
|
super(ref, config);
|
|
@@ -48,6 +49,9 @@ export class CreateOrEditDynamicFormComponent extends TsiFormComponentBaseCompon
|
|
|
48
49
|
className: this.dialogDataService.getData().class,
|
|
49
50
|
occurence: this.objectId,
|
|
50
51
|
};
|
|
52
|
+
if (this.mode == Modes.create) {
|
|
53
|
+
this.formData.date = new Date();
|
|
54
|
+
}
|
|
51
55
|
if ((this.mode === Modes.edit || this.mode === Modes.delete || this.mode === Modes.consult) && this.id !== null && this.id !== undefined) {
|
|
52
56
|
let _formData = await firstValueFrom(this.formDataService.getById(this.id));
|
|
53
57
|
this.formData = {
|
|
@@ -140,10 +144,10 @@ export class CreateOrEditDynamicFormComponent extends TsiFormComponentBaseCompon
|
|
|
140
144
|
});
|
|
141
145
|
}
|
|
142
146
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateOrEditDynamicFormComponent, deps: [{ token: i1.ErrorResponseManagerService }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: i3.TsiNotificationService }, { token: i4.DialogDataService }, { token: i5.FormDataService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateOrEditDynamicFormComponent, selector: "lib-create-or-edit-dynamic-form", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: i8.TsiSearchComboComponent, selector: "Tsi-Search-Combo", inputs: ["elementSourceUrl", "listSourceUrl", "id-field", "label-field", "multiple", "sort", "showClear", "reloadDataSource", "isFiltered", "selectedLabel", "maxWidth", "businessClass", "comboType", "statusMetadata", "currentRowItem", "datasource", "bind", "maxSelectedLabels", "tooltipMaxDisplayedItems", "showSearchButton", "showAddButton", "showConsultButton", "showUpdateButton"], outputs: ["bindChange", "datasource-loaded", "init", "isLoaded", "selectedLabelChange", "onClick", "onSearchButtonClick"] }, { kind: "component", type: i9.TsiCheckboxComponent, selector: "Tsi-CheckBox", inputs: ["class", "isBinary", "checked", "tooltipText", "tooltipPosition"], outputs: ["inputFieldChange", "checkedChange"] }, { kind: "component", type: i10.TsiDecimalInputComponent, selector: "Tsi-Decimal-Input", inputs: ["numOfDecimal", "class"], outputs: ["inputFieldChange"] }, { kind: "component", type:
|
|
147
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateOrEditDynamicFormComponent, selector: "lib-create-or-edit-dynamic-form", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n \r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_date'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Date-Picker [inputName]=\"'Date'\" [showTime]=\"true\" [(inputField)]=\"formData.date\"/>\r\n </div>\r\n\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: i8.TsiSearchComboComponent, selector: "Tsi-Search-Combo", inputs: ["elementSourceUrl", "listSourceUrl", "id-field", "label-field", "multiple", "sort", "showClear", "reloadDataSource", "isFiltered", "selectedLabel", "maxWidth", "businessClass", "comboType", "statusMetadata", "currentRowItem", "datasource", "bind", "maxSelectedLabels", "tooltipMaxDisplayedItems", "showSearchButton", "showAddButton", "showConsultButton", "showUpdateButton"], outputs: ["bindChange", "datasource-loaded", "init", "isLoaded", "selectedLabelChange", "onClick", "onSearchButtonClick"] }, { kind: "component", type: i9.TsiCheckboxComponent, selector: "Tsi-CheckBox", inputs: ["class", "isBinary", "checked", "tooltipText", "tooltipPosition"], outputs: ["inputFieldChange", "checkedChange"] }, { kind: "component", type: i10.TsiDatePickerComponent, selector: "Tsi-Date-Picker", inputs: ["required", "showTime", "showButtonBar"], outputs: ["inputFieldChange"] }, { kind: "component", type: i11.TsiDecimalInputComponent, selector: "Tsi-Decimal-Input", inputs: ["numOfDecimal", "class"], outputs: ["inputFieldChange"] }, { kind: "component", type: i12.TsiIntegerComponent, selector: "Tsi-Integer", inputs: ["class", "minValue", "maxValue", "delayChangeTime"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i13.TsiTextBoxComponent, selector: "Tsi-Text-Box", inputs: ["textBoxType", "autocomplete"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i14.TsiLabelComponent, selector: "Tsi-Label", inputs: ["labelValue", "styleClass", "infoText"] }, { kind: "component", type: i15.TsiModalFooterComponent, selector: "Tsi-Modal-Footer", inputs: ["cancelDisabled", "saveDisabled", "cancelLabel", "saveLabel", "isConsult", "isDuplicate", "isOnlyCreate", "additionalButtonLabel", "additionalButtonIcon", "additionalButtonDisabled", "showAdditionalButton"], outputs: ["onCancelClick", "onSaveClick", "onAdditionalButtonClick"] }, { kind: "component", type: i16.TsiModalHeaderComponent, selector: "Tsi-Modal-Header", inputs: ["inputTitle"], outputs: ["onCloseClick"] }, { kind: "component", type: i17.TsiFormComponent, selector: "tsi-form", inputs: ["class", "autocomplete", "optionalEndpoints", "disabled", "isLoading", "modalSize", "formEndpoint", "formName", "isReportingToolbarDisabled", "isCreateOnly"], outputs: ["onSave", "onSubmit", "onSubmitFormWorkflowConfiguration", "formRefChange", "onStatusChange"] }, { kind: "pipe", type: i18.LocalizePipe, name: "localize" }] }); }
|
|
144
148
|
}
|
|
145
149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateOrEditDynamicFormComponent, decorators: [{
|
|
146
150
|
type: Component,
|
|
147
|
-
args: [{ selector: 'lib-create-or-edit-dynamic-form', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"] }]
|
|
151
|
+
args: [{ selector: 'lib-create-or-edit-dynamic-form', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n \r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_date'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Date-Picker [inputName]=\"'Date'\" [showTime]=\"true\" [(inputField)]=\"formData.date\"/>\r\n </div>\r\n\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"] }]
|
|
148
152
|
}], ctorParameters: () => [{ type: i1.ErrorResponseManagerService }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: i3.TsiNotificationService }, { type: i4.DialogDataService }, { type: i5.FormDataService }] });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLWVkaXQtZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktZHluYW1pYy1mb3JtL2NyZWF0ZS1vci1lZGl0LWR5bmFtaWMtZm9ybS9jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL3RzaS1jb21wb25lbnRzL3RzaS1keW5hbWljLWZvcm0vY3JlYXRlLW9yLWVkaXQtZHluYW1pYy1mb3JtL2NyZWF0ZS1vci1lZGl0LWR5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBTW5ILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBR0wsY0FBYyxFQUNkLHFCQUFxQixHQUV0QixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEUsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFsRCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsNkJBQTZCO0lBT2pGLFlBQ1UsNEJBQXlELEVB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LEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzlDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2hELGNBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQ2hFLENBQUM7Z0JBQ0QsTUFBTTtRQUNWLENBQUM7UUFFRCxRQUFTLENBQUMsU0FBUyxDQUFDO1lBQ2xCLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsUUFBMkIsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E5SFUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsMERBRmhDLENBQUMsR0FBRyxZQUFZLENBQUMsaURDM0I5QiwwNElBdUVXOzs0RkQxQ0UsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLGlDQUFpQyxhQUdoQyxDQUFDLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRzaUZvcm1Db21wb25lbnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdHNpLWJhc2UvY29tcG9uZW50cy90c2ktZm9ybS1iYXNlL3RzaS1mb3JtLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IERpYWxvZ0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZGlhbG9nLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFRzaUNvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vdHNpLWNvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHNpTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi90c2ktbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vZXJyb3ItcmVzcG9uc2UtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZm9ybXVsYWlyZUVuZHBvaW50cyB9IGZyb20gJy4uLy4uLy4uL2VuZC1wb2ludHMvZm9ybXVsYWlyZS1lbmRwb2ludHMnO1xyXG5pbXBvcnQgeyBhcHBQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvYXBwLXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IEZvcm1EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS9mb3JtLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgVXBzZXJ0Rm9ybURhdGFDb2xvbm5lUmVxdWVzdCxcclxuICBGb3JtdWxhaXJlQ29sb25uZSxcclxuICBGb3JtdWxhaXJlRGF0YSxcclxuICBGb3JtdWxhaXJlRGF0YUNvbG9ubmUsXHJcbiAgRm9ybXVsYWlyZVJlc3BvbnNlLFxyXG59IGZyb20gJy4uLy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0vZm9ybXVsYWlyZSc7XHJcbmltcG9ydCB7IGZvcm1UeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL2Zvcm0tdHlwZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbktleXMgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvbG9jYWxpemF0aW9uLWtleSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb2RlcyB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2NvbXBvbmVudC11c2UtbW9kZXMtZW51bSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0uY29tcG9uZW50LmNzcycsXHJcbiAgcHJvdmlkZXJzOiBbLi4uYXBwUHJvdmlkZXJzXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZU9yRWRpdER5bmFtaWNGb3JtQ29tcG9uZW50IGV4dGVuZHMgVHNpRm9ybUNvbXBvbmVudEJhc2VDb21wb25lbnQge1xyXG4gIGZvcm11bGFpcmVFbmRwb2ludCA9IGZvcm11bGFpcmVFbmRwb2ludHM7XHJcbiAgb2JqZWN0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBpc0Zvcm1SZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGZvcm1UeXBlID0gZm9ybVR5cGU7XHJcbiAgZm9ybURhdGE6IEZvcm11bGFpcmVEYXRhID0gbmV3IEZvcm11bGFpcmVEYXRhKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZXJyb3JSZXNwb25zZU1hbmFnZXJTZXJ2aWNlOiBFcnJvclJlc3BvbnNlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVmOiBEeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICAgIHByaXZhdGUgX25vdGlmaWNhdGlvblNlcnZpY2U6IFRzaU5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nRGF0YVNlcnZpY2U6IERpYWxvZ0RhdGFTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvcm1EYXRhU2VydmljZTogRm9ybURhdGFTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyZWYsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub2JqZWN0SWQgPSB0aGlzLmRpYWxvZ0RhdGFTZXJ2aWNlLmdldERhdGEoKS5vY2N1cmVuY2U7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgLy8gaW5pdCBGb3JtRGF0YSBmb3IgQ1VEIG9wZXJhdGlvbnNcclxuICAgIHRoaXMuZm9ybURhdGEgPSB7XHJcbiAgICAgIC4uLnRoaXMuZm9ybURhdGEsXHJcbiAgICAgIGNsYXNzTmFtZTogdGhpcy5kaWFsb2dEYXRhU2VydmljZS5nZXREYXRhKCkuY2xhc3MsXHJcbiAgICAgIG9jY3VyZW5jZTogdGhpcy5vYmplY3RJZCxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKCh0aGlzLm1vZGUgPT09IE1vZGVzLmVkaXQgfHwgdGhpcy5tb2RlID09PSBNb2Rlcy5kZWxldGUgfHwgdGhpcy5tb2RlID09PSBNb2Rlcy5jb25zdWx0KSAmJiB0aGlzLmlkICE9PSBudWxsICYmIHRoaXMuaWQgIT09IHVuZGVmaW5lZCApIHtcclxuICAgICAgbGV0IF9mb3JtRGF0YSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZm9ybURhdGFTZXJ2aWNlLmdldEJ5SWQodGhpcy5pZCkpO1xyXG4gICAgICAgdGhpcy5mb3JtRGF0YSA9IHtcclxuICAgICAgICAgIC4uLl9mb3JtRGF0YSxcclxuICAgICAgICAgIGZvcm11bGFpcmVDb2xvbm5lc0dyb3VwZWQ6IHRoaXMuZ3JvdXBCeUdyb3VwZShfZm9ybURhdGEuZm9ybXVsYWlyZUNvbG9ubmVzKVxyXG4gICAgICAgIH07XHJcbiAgICAgIHRoaXMuaXNGb3JtUmVhZHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Gb3JtdWxhaXJlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZm9ybURhdGEuZm9ybXVsYWlyZVVpZCA9IGV2ZW50O1xyXG4gICAgdGhpcy5mb3JtRGF0YVNlcnZpY2UuZ2V0Rm9ybUJ5VWlkKGV2ZW50KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBGb3JtdWxhaXJlUmVzcG9uc2UpID0+IHtcclxuICAgICAgICByZXMuZm9ybXVsYWlyZUNvbG9ubmVzLmZvckVhY2goZmMgPT4ge1xyXG4gICAgICAgICAgZmMuZGF0YSA9IG5ldyBGb3JtdWxhaXJlRGF0YUNvbG9ubmUodW5kZWZpbmVkLCBmYy51aWQsIHRoaXMuZm9ybURhdGEudWlkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHRoaXMuZm9ybURhdGEgPSB7XHJcbiAgICAgICAgICAuLi50aGlzLmZvcm1EYXRhLFxyXG4gICAgICAgICAgZm9ybXVsYWlyZVVpZDogcmVzLnVpZCxcclxuICAgICAgICAgIGZvcm11bGFpcmVDb2xvbm5lc0dyb3VwZWQ6IHRoaXMuZ3JvdXBCeUdyb3VwZShyZXMuZm9ybXVsYWlyZUNvbG9ubmVzKVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzRm9ybVJlYWR5ID0gdHJ1ZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdyb3VwQnlHcm91cGUoZm9ybUNvbHM6IEZvcm11bGFpcmVDb2xvbm5lW10pIHtcclxuICAgIGNvbnN0IGdyb3VwZWQ6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBGb3JtdWxhaXJlQ29sb25uZVtdIH1bXSA9IFtdO1xyXG5cclxuICAgZm9ybUNvbHMuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICBjb25zdCBncm91cEtleSA9IGNvbC5ncm91cGUgfHwgJ0F1dHJlcyc7XHJcbiAgICAgIGxldCBncm91cCA9IGdyb3VwZWQuZmluZChnID0+IGcua2V5ID09PSBncm91cEtleSk7XHJcbiAgICAgIGlmICghZ3JvdXApIHtcclxuICAgICAgICBncm91cCA9IHsga2V5OiBncm91cEtleSwgdmFsdWU6IFtdIH07XHJcbiAgICAgICAgZ3JvdXBlZC5wdXNoKGdyb3VwKTtcclxuICAgICAgfVxyXG4gICAgICBncm91cC52YWx1ZS5wdXNoKGNvbCk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBncm91cGVkO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgc2F2ZSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLnNhdmUoKTtcclxuICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzbG9hZGluZyA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5mb3JtRGF0YSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XHJcblxyXG4gICAgbGV0IHJlcTogVXBzZXJ0Rm9ybURhdGFDb2xvbm5lUmVxdWVzdCA9IHtcclxuICAgICAgdWlkOiB0aGlzLmZvcm1EYXRhLnVpZCxcclxuICAgICAgZm9ybXVsYWlyZVVpZDogdGhpcy5mb3JtRGF0YS5mb3JtdWxhaXJlVWlkLFxyXG4gICAgICBjbGFzc05hbWU6IHRoaXMuZm9ybURhdGEuY2xhc3NOYW1lLFxyXG4gICAgICBvY2N1cmVuY2U6IHRoaXMuZm9ybURhdGEub2NjdXJlbmNlLFxyXG4gICAgICBvYnNlcnZhdGlvbjogdGhpcy5mb3JtRGF0YS5vYnNlcnZhdGlvbixcclxuICAgICAgZGF0ZTogdGhpcy5mb3JtRGF0YS5kYXRlLFxyXG4gICAgICB2YWxpZDogdGhpcy5mb3JtRGF0YS52YWxpZCxcclxuICAgICAgZm9ybURhdGFDb2xvbm5lczogdGhpcy5mb3JtRGF0YS5mb3JtdWxhaXJlQ29sb25uZXNHcm91cGVkLmZsYXRNYXAoKGt2KSA9PiBrdi52YWx1ZSkubWFwKGZjID0+IGZjLmRhdGEpLFxyXG4gICAgfTtcclxuICAgIGxldCByZXF1ZXN0JDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgbGV0IHN1Y2Nlc3NNZXNzYWdlOiBzdHJpbmc7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSBNb2Rlcy5jcmVhdGU6XHJcbiAgICAgICAgcmVxdWVzdCQgPSB0aGlzLmZvcm1EYXRhU2VydmljZS5jcmVhdGUocmVxKTtcclxuICAgICAgICBzdWNjZXNzTWVzc2FnZSA9IHRoaXMubChMb2NhbGl6YXRpb25LZXlzLnNhdmVkU3VjY2Vzc2Z1bGx5KTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgTW9kZXMuZWRpdDpcclxuICAgICAgICBpZiAodGhpcy5pZCAhPT0gbnVsbCAmJiB0aGlzLmlkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHJlcXVlc3QkID0gdGhpcy5mb3JtRGF0YVNlcnZpY2UudXBkYXRlKHJlcSwgdGhpcy5pZCk7XHJcbiAgICAgICAgICBzdWNjZXNzTWVzc2FnZSA9IHRoaXMubChMb2NhbGl6YXRpb25LZXlzLnVwZGF0ZWRTdWNjZXNzZnVsbHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgTW9kZXMuZGVsZXRlOlxyXG4gICAgICAgIGlmICh0aGlzLmlkICE9PSBudWxsICYmIHRoaXMuaWQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgcmVxdWVzdCQgPSB0aGlzLmZvcm1EYXRhU2VydmljZS5kZWxldGUodGhpcy5pZCk7XHJcbiAgICAgICAgICBzdWNjZXNzTWVzc2FnZSA9IHRoaXMubChMb2NhbGl6YXRpb25LZXlzLmRlbGV0ZWRTdWNjZXNzZnVsbHkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0JCEuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5pbmZvKHN1Y2Nlc3NNZXNzYWdlKTtcclxuICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5pc2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX2Vycm9yUmVzcG9uc2VNYW5hZ2VyU2VydmljZS5zaG93RXJyb3JNZXNzYWdlKHJlc3BvbnNlKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8dHNpLWZvcm0gY2xhc3M9XCJmb3JtLWhvcml6b250YWxcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAob25TdWJtaXQpPVwic2F2ZSgpXCIgW2lzTG9hZGluZ109XCJpc2xvYWRpbmdcIj5cclxuICAgIDxUc2ktTW9kYWwtSGVhZGVyIFtpbnB1dFRpdGxlXT1cIidzaGFyZWRfbm90ZXNfYWRkX2Zvcm0nIHwgbG9jYWxpemUgXCIgKG9uQ2xvc2VDbGljayk9XCJoaWRlKClcIj5cclxuICAgIDwvVHNpLU1vZGFsLUhlYWRlcj5cclxuICAgIDxmaWVsZHNldCBbZGlzYWJsZWRdPVwiaXNEZWxldGVNb2RlKCkgfHwgaXNDb25zdWx0TW9kZSgpIFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxUc2ktTGFiZWwgW2xhYmVsVmFsdWVdPVwiJ3NoYXJlZF9ub3Rlc19mb3JtJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICAgICAgICAgICAgICA8VHNpLVNlYXJjaC1Db21ibyBbKGJpbmQpXT1cImZvcm1EYXRhLmZvcm11bGFpcmVVaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGlzdFNvdXJjZVVybF09XCJmb3JtdWxhaXJlRW5kcG9pbnQuZ2V0QWxsRm9ybXVsYWlyZXNBc0tleVZhbHVlUGFpcihkaWFsb2dEYXRhU2VydmljZS5nZXREYXRhKCkuY2xhc3MpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRTb3VyY2VVcmxdPVwiZm9ybXVsYWlyZUVuZHBvaW50LmdldEZvcm11bGFpcmVBc0tleVZhbHVlUGFpcigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGVsZXRlTW9kZSgpIHx8IGlzQ29uc3VsdE1vZGUoKVwiIChiaW5kQ2hhbmdlKT1cIm9uRm9ybXVsYWlyZUNoYW5nZSgkZXZlbnQpXCIgaWQtZmllbGQ9XCJ1aWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbC1maWVsZD1cIm5vbU9ic2VydmF0aW9uXCIgW3Nob3dDbGVhcl09XCJ0cnVlXCIgW2lzRmlsdGVyZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBbbGFiZWxWYWx1ZV09XCInc2hhcmVkX25vdGVzX2Zvcm1fb2JzJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICAgICAgICAgICAgICA8VHNpLVRleHQtQm94IFsoaW5wdXRGaWVsZCldPVwiZm9ybURhdGEub2JzZXJ2YXRpb25cIiBbZGlzYWJsZWRdPVwiaXNEZWxldGVNb2RlKCkgfHwgaXNDb25zdWx0TW9kZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Uc2ktVGV4dC1Cb3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHAtdGFiVmlldyAqbmdJZj1cImZvcm1EYXRhLmZvcm11bGFpcmVVaWQgJiYgaXNGb3JtUmVhZHlcIiA+XHJcbiAgICAgICAgICAgIDxwLXRhYlBhbmVsICpuZ0Zvcj1cImxldCBncnAgb2YgZm9ybURhdGEuZm9ybXVsYWlyZUNvbG9ubmVzR3JvdXBlZFwiIFtoZWFkZXJdPVwiZ3JwLmtleVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGdyaWQgZm9ybS1yb3dcIiAqbmdGb3I9XCJsZXQgY29sIG9mIGdycC52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBbbGFiZWxWYWx1ZV09XCJjb2wubm9tXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC04IGZvcm0taW5wdXRcIiAqbmdJZj1cImNvbC50eXBlID09PSBmb3JtVHlwZS5zdHJpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1UZXh0LUJveCBbZGlzYWJsZWRdPVwiaXNEZWxldGVNb2RlKCkgfHwgaXNDb25zdWx0TW9kZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhpbnB1dEZpZWxkKV09XCJjb2wuZGF0YS52YWxldXJTdHJpbmdcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLVRleHQtQm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC04IGZvcm0taW5wdXRcIiAqbmdJZj1cImNvbC50eXBlID09PSBmb3JtVHlwZS5pbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1JbnRlZ2VyIFtkaXNhYmxlZF09XCJpc0RlbGV0ZU1vZGUoKSB8fCBpc0NvbnN1bHRNb2RlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGlucHV0RmllbGQpXT1cImNvbC5kYXRhLnZhbGV1ckludFwiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Uc2ktSW50ZWdlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtOCBmb3JtLWlucHV0XCIgKm5nSWY9XCJjb2wudHlwZSA9PT0gZm9ybVR5cGUuZGVjaW1hbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHNpLURlY2ltYWwtSW5wdXQgW2Rpc2FibGVkXT1cImlzRGVsZXRlTW9kZSgpIHx8IGlzQ29uc3VsdE1vZGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoaW5wdXRGaWVsZCldPVwiY29sLmRhdGEudmFsZXVyRGVjaW1hbFwiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Uc2ktRGVjaW1hbC1JbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtOCBmb3JtLWlucHV0XCIgKm5nSWY9XCJjb2wudHlwZSA9PT0gZm9ybVR5cGUuYm9vbGVhblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHNpLUNoZWNrQm94IFtkaXNhYmxlZF09XCJpc0RlbGV0ZU1vZGUoKSB8fCBpc0NvbnN1bHRNb2RlKClcIiBbaXNCaW5hcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGlucHV0RmllbGQpXT1cImNvbC5kYXRhLnZhbGV1ckJvb2xlYW5cIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLUNoZWNrQm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC04IGZvcm0taW5wdXRcIiAqbmdJZj1cImNvbC50eXBlID09PSBmb3JtVHlwZS5iaW5hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5IGlucHV0IChub3QgaGFuZGxlZCB5ZXQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvcC10YWJQYW5lbD5cclxuICAgICAgICA8L3AtdGFiVmlldz5cclxuICAgIDwvZmllbGRzZXQ+XHJcbiAgICA8VHNpLU1vZGFsLUZvb3RlciBbY2FuY2VsRGlzYWJsZWRdPVwic2F2aW5nXCIgW3NhdmVEaXNhYmxlZF09XCJpc1N1Ym1pdERpc2FibGVkKClcIlxyXG4gICAgICAgIChvbkNhbmNlbENsaWNrKT1cImhpZGUoKVwiPjwvVHNpLU1vZGFsLUZvb3Rlcj5cclxuPC90c2ktZm9ybT4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLWVkaXQtZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy90c2ktZHluYW1pYy1mb3JtL2NyZWF0ZS1vci1lZGl0LWR5bmFtaWMtZm9ybS9jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL3RzaS1jb21wb25lbnRzL3RzaS1keW5hbWljLWZvcm0vY3JlYXRlLW9yLWVkaXQtZHluYW1pYy1mb3JtL2NyZWF0ZS1vci1lZGl0LWR5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBTW5ILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBR0wsY0FBYyxFQUNkLHFCQUFxQixHQUV0QixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEUsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRbEQsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLDZCQUE2QjtJQU9qRixZQUNVLDRCQUF5RCxF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QUFpQyxhQUdoQyxDQUFDLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRzaUZvcm1Db21wb25lbnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdHNpLWJhc2UvY29tcG9uZW50cy90c2ktZm9ybS1iYXNlL3RzaS1mb3JtLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IERpYWxvZ0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZGlhbG9nLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFRzaUNvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vdHNpLWNvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHNpTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi90c2ktbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vZXJyb3ItcmVzcG9uc2UtbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZm9ybXVsYWlyZUVuZHBvaW50cyB9IGZyb20gJy4uLy4uLy4uL2VuZC1wb2ludHMvZm9ybXVsYWlyZS1lbmRwb2ludHMnO1xyXG5pbXBvcnQgeyBhcHBQcm92aWRlcnMgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvYXBwLXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IEZvcm1EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS9mb3JtLWRhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgVXBzZXJ0Rm9ybURhdGFDb2xvbm5lUmVxdWVzdCxcclxuICBGb3JtdWxhaXJlQ29sb25uZSxcclxuICBGb3JtdWxhaXJlRGF0YSxcclxuICBGb3JtdWxhaXJlRGF0YUNvbG9ubmUsXHJcbiAgRm9ybXVsYWlyZVJlc3BvbnNlLFxyXG59IGZyb20gJy4uLy4uLy4uL21vZGVscy9keW5hbWljLWZvcm0vZm9ybXVsYWlyZSc7XHJcbmltcG9ydCB7IGZvcm1UeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL2Zvcm0tdHlwZSc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbktleXMgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvbG9jYWxpemF0aW9uLWtleSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb2RlcyB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2NvbXBvbmVudC11c2UtbW9kZXMtZW51bSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0uY29tcG9uZW50LmNzcycsXHJcbiAgcHJvdmlkZXJzOiBbLi4uYXBwUHJvdmlkZXJzXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZU9yRWRpdER5bmFtaWNGb3JtQ29tcG9uZW50IGV4dGVuZHMgVHNpRm9ybUNvbXBvbmVudEJhc2VDb21wb25lbnQge1xyXG4gIGZvcm11bGFpcmVFbmRwb2ludCA9IGZvcm11bGFpcmVFbmRwb2ludHM7XHJcbiAgb2JqZWN0SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBpc0Zvcm1SZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGZvcm1UeXBlID0gZm9ybVR5cGU7XHJcbiAgZm9ybURhdGE6IEZvcm11bGFpcmVEYXRhID0gbmV3IEZvcm11bGFpcmVEYXRhKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZXJyb3JSZXNwb25zZU1hbmFnZXJTZXJ2aWNlOiBFcnJvclJlc3BvbnNlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVmOiBEeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICAgIHByaXZhdGUgX25vdGlmaWNhdGlvblNlcnZpY2U6IFRzaU5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nRGF0YVNlcnZpY2U6IERpYWxvZ0RhdGFTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvcm1EYXRhU2VydmljZTogRm9ybURhdGFTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihyZWYsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMub2JqZWN0SWQgPSB0aGlzLmRpYWxvZ0RhdGFTZXJ2aWNlLmdldERhdGEoKS5vY2N1cmVuY2U7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgLy8gaW5pdCBGb3JtRGF0YSBmb3IgQ1VEIG9wZXJhdGlvbnNcclxuICAgIHRoaXMuZm9ybURhdGEgPSB7XHJcbiAgICAgIC4uLnRoaXMuZm9ybURhdGEsXHJcbiAgICAgIGNsYXNzTmFtZTogdGhpcy5kaWFsb2dEYXRhU2VydmljZS5nZXREYXRhKCkuY2xhc3MsXHJcbiAgICAgIG9jY3VyZW5jZTogdGhpcy5vYmplY3RJZCxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMubW9kZSA9PSBNb2Rlcy5jcmVhdGUpIFxyXG4gICAge1xyXG4gICAgICB0aGlzLmZvcm1EYXRhLmRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgodGhpcy5tb2RlID09PSBNb2Rlcy5lZGl0IHx8IHRoaXMubW9kZSA9PT0gTW9kZXMuZGVsZXRlIHx8IHRoaXMubW9kZSA9PT0gTW9kZXMuY29uc3VsdCkgJiYgdGhpcy5pZCAhPT0gbnVsbCAmJiB0aGlzLmlkICE9PSB1bmRlZmluZWQgKSB7XHJcbiAgICAgIGxldCBfZm9ybURhdGEgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZvcm1EYXRhU2VydmljZS5nZXRCeUlkKHRoaXMuaWQpKTtcclxuICAgICAgIHRoaXMuZm9ybURhdGEgPSB7XHJcbiAgICAgICAgICAuLi5fZm9ybURhdGEsXHJcbiAgICAgICAgICBmb3JtdWxhaXJlQ29sb25uZXNHcm91cGVkOiB0aGlzLmdyb3VwQnlHcm91cGUoX2Zvcm1EYXRhLmZvcm11bGFpcmVDb2xvbm5lcylcclxuICAgICAgICB9O1xyXG4gICAgICB0aGlzLmlzRm9ybVJlYWR5ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRm9ybXVsYWlyZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmZvcm1EYXRhLmZvcm11bGFpcmVVaWQgPSBldmVudDtcclxuICAgIHRoaXMuZm9ybURhdGFTZXJ2aWNlLmdldEZvcm1CeVVpZChldmVudCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogRm9ybXVsYWlyZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgcmVzLmZvcm11bGFpcmVDb2xvbm5lcy5mb3JFYWNoKGZjID0+IHtcclxuICAgICAgICAgIGZjLmRhdGEgPSBuZXcgRm9ybXVsYWlyZURhdGFDb2xvbm5lKHVuZGVmaW5lZCwgZmMudWlkLCB0aGlzLmZvcm1EYXRhLnVpZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLmZvcm1EYXRhID0ge1xyXG4gICAgICAgICAgLi4udGhpcy5mb3JtRGF0YSxcclxuICAgICAgICAgIGZvcm11bGFpcmVVaWQ6IHJlcy51aWQsXHJcbiAgICAgICAgICBmb3JtdWxhaXJlQ29sb25uZXNHcm91cGVkOiB0aGlzLmdyb3VwQnlHcm91cGUocmVzLmZvcm11bGFpcmVDb2xvbm5lcylcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc0Zvcm1SZWFkeSA9IHRydWU7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBncm91cEJ5R3JvdXBlKGZvcm1Db2xzOiBGb3JtdWxhaXJlQ29sb25uZVtdKSB7XHJcbiAgICBjb25zdCBncm91cGVkOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogRm9ybXVsYWlyZUNvbG9ubmVbXSB9W10gPSBbXTtcclxuXHJcbiAgIGZvcm1Db2xzLmZvckVhY2goY29sID0+IHtcclxuICAgICAgY29uc3QgZ3JvdXBLZXkgPSBjb2wuZ3JvdXBlIHx8ICdBdXRyZXMnO1xyXG4gICAgICBsZXQgZ3JvdXAgPSBncm91cGVkLmZpbmQoZyA9PiBnLmtleSA9PT0gZ3JvdXBLZXkpO1xyXG4gICAgICBpZiAoIWdyb3VwKSB7XHJcbiAgICAgICAgZ3JvdXAgPSB7IGtleTogZ3JvdXBLZXksIHZhbHVlOiBbXSB9O1xyXG4gICAgICAgIGdyb3VwZWQucHVzaChncm91cCk7XHJcbiAgICAgIH1cclxuICAgICAgZ3JvdXAudmFsdWUucHVzaChjb2wpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZ3JvdXBlZDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHNhdmUoKTogdm9pZCB7XHJcbiAgICBzdXBlci5zYXZlKCk7XHJcbiAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc2xvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuZm9ybURhdGEgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xyXG5cclxuICAgIGxldCByZXE6IFVwc2VydEZvcm1EYXRhQ29sb25uZVJlcXVlc3QgPSB7XHJcbiAgICAgIHVpZDogdGhpcy5mb3JtRGF0YS51aWQsXHJcbiAgICAgIGZvcm11bGFpcmVVaWQ6IHRoaXMuZm9ybURhdGEuZm9ybXVsYWlyZVVpZCxcclxuICAgICAgY2xhc3NOYW1lOiB0aGlzLmZvcm1EYXRhLmNsYXNzTmFtZSxcclxuICAgICAgb2NjdXJlbmNlOiB0aGlzLmZvcm1EYXRhLm9jY3VyZW5jZSxcclxuICAgICAgb2JzZXJ2YXRpb246IHRoaXMuZm9ybURhdGEub2JzZXJ2YXRpb24sXHJcbiAgICAgIGRhdGU6IHRoaXMuZm9ybURhdGEuZGF0ZSxcclxuICAgICAgdmFsaWQ6IHRoaXMuZm9ybURhdGEudmFsaWQsXHJcbiAgICAgIGZvcm1EYXRhQ29sb25uZXM6IHRoaXMuZm9ybURhdGEuZm9ybXVsYWlyZUNvbG9ubmVzR3JvdXBlZC5mbGF0TWFwKChrdikgPT4ga3YudmFsdWUpLm1hcChmYyA9PiBmYy5kYXRhKSxcclxuICAgIH07XHJcbiAgICBsZXQgcmVxdWVzdCQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIGxldCBzdWNjZXNzTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XHJcbiAgICAgIGNhc2UgTW9kZXMuY3JlYXRlOlxyXG4gICAgICAgIHJlcXVlc3QkID0gdGhpcy5mb3JtRGF0YVNlcnZpY2UuY3JlYXRlKHJlcSk7XHJcbiAgICAgICAgc3VjY2Vzc01lc3NhZ2UgPSB0aGlzLmwoTG9jYWxpemF0aW9uS2V5cy5zYXZlZFN1Y2Nlc3NmdWxseSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIE1vZGVzLmVkaXQ6XHJcbiAgICAgICAgaWYgKHRoaXMuaWQgIT09IG51bGwgJiYgdGhpcy5pZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICByZXF1ZXN0JCA9IHRoaXMuZm9ybURhdGFTZXJ2aWNlLnVwZGF0ZShyZXEsIHRoaXMuaWQpO1xyXG4gICAgICAgICAgc3VjY2Vzc01lc3NhZ2UgPSB0aGlzLmwoTG9jYWxpemF0aW9uS2V5cy51cGRhdGVkU3VjY2Vzc2Z1bGx5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIE1vZGVzLmRlbGV0ZTpcclxuICAgICAgICBpZiAodGhpcy5pZCAhPT0gbnVsbCAmJiB0aGlzLmlkICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHJlcXVlc3QkID0gdGhpcy5mb3JtRGF0YVNlcnZpY2UuZGVsZXRlKHRoaXMuaWQpO1xyXG4gICAgICAgICAgc3VjY2Vzc01lc3NhZ2UgPSB0aGlzLmwoTG9jYWxpemF0aW9uS2V5cy5kZWxldGVkU3VjY2Vzc2Z1bGx5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdCQhLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX25vdGlmaWNhdGlvblNlcnZpY2UuaW5mbyhzdWNjZXNzTWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5oaWRlKHRydWUpO1xyXG4gICAgICAgIHRoaXMuaXNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5vblNhdmUuZW1pdCgpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9lcnJvclJlc3BvbnNlTWFuYWdlclNlcnZpY2Uuc2hvd0Vycm9yTWVzc2FnZShyZXNwb25zZSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHRzaS1mb3JtIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKG9uU3VibWl0KT1cInNhdmUoKVwiIFtpc0xvYWRpbmddPVwiaXNsb2FkaW5nXCI+XHJcbiAgICA8VHNpLU1vZGFsLUhlYWRlciBbaW5wdXRUaXRsZV09XCInc2hhcmVkX25vdGVzX2FkZF9mb3JtJyB8IGxvY2FsaXplIFwiIChvbkNsb3NlQ2xpY2spPVwiaGlkZSgpXCI+XHJcbiAgICA8L1RzaS1Nb2RhbC1IZWFkZXI+XHJcbiAgICA8ZmllbGRzZXQgW2Rpc2FibGVkXT1cImlzRGVsZXRlTW9kZSgpIHx8IGlzQ29uc3VsdE1vZGUoKSBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00IGZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8VHNpLUxhYmVsIFtsYWJlbFZhbHVlXT1cIidzaGFyZWRfbm90ZXNfZm9ybSdcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRzaS1TZWFyY2gtQ29tYm8gWyhiaW5kKV09XCJmb3JtRGF0YS5mb3JtdWxhaXJlVWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xpc3RTb3VyY2VVcmxdPVwiZm9ybXVsYWlyZUVuZHBvaW50LmdldEFsbEZvcm11bGFpcmVzQXNLZXlWYWx1ZVBhaXIoZGlhbG9nRGF0YVNlcnZpY2UuZ2V0RGF0YSgpLmNsYXNzKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50U291cmNlVXJsXT1cImZvcm11bGFpcmVFbmRwb2ludC5nZXRGb3JtdWxhaXJlQXNLZXlWYWx1ZVBhaXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RlbGV0ZU1vZGUoKSB8fCBpc0NvbnN1bHRNb2RlKClcIiAoYmluZENoYW5nZSk9XCJvbkZvcm11bGFpcmVDaGFuZ2UoJGV2ZW50KVwiIGlkLWZpZWxkPVwidWlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwtZmllbGQ9XCJub21PYnNlcnZhdGlvblwiIFtzaG93Q2xlYXJdPVwidHJ1ZVwiIFtpc0ZpbHRlcmVkXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L1RzaS1TZWFyY2gtQ29tYm8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBbbGFiZWxWYWx1ZV09XCInc2hhcmVkX25vdGVzX2Zvcm1fZGF0ZSdcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC04XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRzaS1EYXRlLVBpY2tlciBbaW5wdXROYW1lXT1cIidEYXRlJ1wiIFtzaG93VGltZV09XCJ0cnVlXCIgWyhpbnB1dEZpZWxkKV09XCJmb3JtRGF0YS5kYXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNCBmb3JtLWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBbbGFiZWxWYWx1ZV09XCInc2hhcmVkX25vdGVzX2Zvcm1fb2JzJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICAgICAgICAgICAgICA8VHNpLVRleHQtQm94IFsoaW5wdXRGaWVsZCldPVwiZm9ybURhdGEub2JzZXJ2YXRpb25cIiBbZGlzYWJsZWRdPVwiaXNEZWxldGVNb2RlKCkgfHwgaXNDb25zdWx0TW9kZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Uc2ktVGV4dC1Cb3g+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPHAtdGFiVmlldyAqbmdJZj1cImZvcm1EYXRhLmZvcm11bGFpcmVVaWQgJiYgaXNGb3JtUmVhZHlcIiA+XHJcbiAgICAgICAgICAgIDxwLXRhYlBhbmVsICpuZ0Zvcj1cImxldCBncnAgb2YgZm9ybURhdGEuZm9ybXVsYWlyZUNvbG9ubmVzR3JvdXBlZFwiIFtoZWFkZXJdPVwiZ3JwLmtleVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGdyaWQgZm9ybS1yb3dcIiAqbmdGb3I9XCJsZXQgY29sIG9mIGdycC52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTQgZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1MYWJlbCBbbGFiZWxWYWx1ZV09XCJjb2wubm9tXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC04IGZvcm0taW5wdXRcIiAqbmdJZj1cImNvbC50eXBlID09PSBmb3JtVHlwZS5zdHJpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1UZXh0LUJveCBbZGlzYWJsZWRdPVwiaXNEZWxldGVNb2RlKCkgfHwgaXNDb25zdWx0TW9kZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhpbnB1dEZpZWxkKV09XCJjb2wuZGF0YS52YWxldXJTdHJpbmdcIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLVRleHQtQm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC04IGZvcm0taW5wdXRcIiAqbmdJZj1cImNvbC50eXBlID09PSBmb3JtVHlwZS5pbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRzaS1JbnRlZ2VyIFtkaXNhYmxlZF09XCJpc0RlbGV0ZU1vZGUoKSB8fCBpc0NvbnN1bHRNb2RlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGlucHV0RmllbGQpXT1cImNvbC5kYXRhLnZhbGV1ckludFwiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Uc2ktSW50ZWdlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtOCBmb3JtLWlucHV0XCIgKm5nSWY9XCJjb2wudHlwZSA9PT0gZm9ybVR5cGUuZGVjaW1hbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHNpLURlY2ltYWwtSW5wdXQgW2Rpc2FibGVkXT1cImlzRGVsZXRlTW9kZSgpIHx8IGlzQ29uc3VsdE1vZGUoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoaW5wdXRGaWVsZCldPVwiY29sLmRhdGEudmFsZXVyRGVjaW1hbFwiICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Uc2ktRGVjaW1hbC1JbnB1dD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAgY2xhc3M9XCJjb2wtOCBmb3JtLWlucHV0XCIgKm5nSWY9XCJjb2wudHlwZSA9PT0gZm9ybVR5cGUuYm9vbGVhblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VHNpLUNoZWNrQm94IFtkaXNhYmxlZF09XCJpc0RlbGV0ZU1vZGUoKSB8fCBpc0NvbnN1bHRNb2RlKClcIiBbaXNCaW5hcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKGlucHV0RmllbGQpXT1cImNvbC5kYXRhLnZhbGV1ckJvb2xlYW5cIiAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVHNpLUNoZWNrQm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNvbC04IGZvcm0taW5wdXRcIiAqbmdJZj1cImNvbC50eXBlID09PSBmb3JtVHlwZS5iaW5hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYmluYXJ5IGlucHV0IChub3QgaGFuZGxlZCB5ZXQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvcC10YWJQYW5lbD5cclxuICAgICAgICA8L3AtdGFiVmlldz5cclxuICAgIDwvZmllbGRzZXQ+XHJcbiAgICA8VHNpLU1vZGFsLUZvb3RlciBbY2FuY2VsRGlzYWJsZWRdPVwic2F2aW5nXCIgW3NhdmVEaXNhYmxlZF09XCJpc1N1Ym1pdERpc2FibGVkKClcIlxyXG4gICAgICAgIChvbkNhbmNlbENsaWNrKT1cImhpZGUoKVwiPjwvVHNpLU1vZGFsLUZvb3Rlcj5cclxuPC90c2ktZm9ybT4iXX0=
|
|
@@ -3,6 +3,7 @@ import { appProviders } from '../../../consts/app-providers';
|
|
|
3
3
|
import { ModalSizeEnum } from '../../../enums/modal-size-enum';
|
|
4
4
|
import { TsiListBaseComponent } from '../../../tsi-base/components/tsi-list-base/tsi-list-base.component';
|
|
5
5
|
import { CreateOrEditDynamicFormComponent } from '../create-or-edit-dynamic-form/create-or-edit-dynamic-form.component';
|
|
6
|
+
import { DisplayTypes } from '../../../enums';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../../../services/dynamic-form/form-data.service";
|
|
8
9
|
import * as i2 from "../../../services/dialog-data.service";
|
|
@@ -14,10 +15,6 @@ export class DynamicFormListComponent extends TsiListBaseComponent {
|
|
|
14
15
|
this.formDataService = formDataService;
|
|
15
16
|
this.dialogDataService = dialogDataService;
|
|
16
17
|
this.columns = [
|
|
17
|
-
{
|
|
18
|
-
header: 'UID',
|
|
19
|
-
field: 'uid',
|
|
20
|
-
},
|
|
21
18
|
{
|
|
22
19
|
header: 'shared_notes_form_data_class',
|
|
23
20
|
field: 'className',
|
|
@@ -30,17 +27,15 @@ export class DynamicFormListComponent extends TsiListBaseComponent {
|
|
|
30
27
|
header: 'shared_notes_form_obs',
|
|
31
28
|
field: 'observation',
|
|
32
29
|
},
|
|
33
|
-
{
|
|
34
|
-
header: 'shared_notes_form_ref_obj',
|
|
35
|
-
field: 'occurence',
|
|
36
|
-
},
|
|
37
30
|
{
|
|
38
31
|
header: 'shared_notes_form_date',
|
|
39
32
|
field: 'date',
|
|
33
|
+
type: DisplayTypes.DATETIME_DISPLAY,
|
|
40
34
|
},
|
|
41
35
|
{
|
|
42
36
|
header: 'shared_notes_form_valid',
|
|
43
37
|
field: 'valid',
|
|
38
|
+
type: DisplayTypes.CHECKBOX_DISPLAY,
|
|
44
39
|
},
|
|
45
40
|
];
|
|
46
41
|
//Keep the businessClass and ObjectId/Occurence
|
|
@@ -60,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
60
55
|
type: Component,
|
|
61
56
|
args: [{ selector: 'lib-dynamic-form-list', providers: [...appProviders], template: "<Tsi-Generic-Crud\r\n [cudComponent]=\"comp\"\r\n [header]=\"titleComponent\"\r\n [columns]=\"columns\"\r\n [crudService]=\"formDataService\"\r\n [modalSize]=\"modalSize\"\r\n [showUploadButton]=\"false\"\r\n [showNoteButton]=\"false\"\r\n [showCalenderView]=\"false\"\r\n [showFormButton]=\"false\"\r\n [showFormButton]=\"false\"\r\n [showInfoButton]=\"false\"\r\n [showFormButton]=\"false\"\r\n [showConsultButton]=\"true\"\r\n presentationDesigner>\r\n</Tsi-Generic-Crud>\r\n" }]
|
|
62
57
|
}], ctorParameters: () => [{ type: i1.FormDataService }, { type: i2.DialogDataService }] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL3RzaS1jb21wb25lbnRzL3RzaS1keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLWxpc3QvZHluYW1pYy1mb3JtLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHNpLXNoYXJlZC11aS9zcmMvbGliL3RzaS1jb21wb25lbnRzL3RzaS1keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLWxpc3QvZHluYW1pYy1mb3JtLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSS9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBUTlDLE1BQU0sT0FBTyx3QkFBMEIsU0FBUSxvQkFBb0I7SUEyQi9ELFlBQW1CLGVBQWlDLEVBQVMsaUJBQW9DO1FBRS9GLEtBQUssRUFBRSxDQUFDO1FBRlMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXpCeEYsWUFBTyxHQUFzQjtZQUNwQztnQkFDRSxNQUFNLEVBQUUsOEJBQThCO2dCQUN0QyxLQUFLLEVBQUUsV0FBVzthQUNuQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSw2QkFBNkI7Z0JBQ3JDLEtBQUssRUFBRSxlQUFlO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLHVCQUF1QjtnQkFDL0IsS0FBSyxFQUFFLGFBQWE7YUFDckI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsd0JBQXdCO2dCQUNoQyxLQUFLLEVBQUUsTUFBTTtnQkFDYixJQUFJLEVBQUUsWUFBWSxDQUFDLGdCQUFnQjthQUNwQztZQUNEO2dCQUNFLE1BQU0sRUFBRSx5QkFBeUI7Z0JBQ2pDLEtBQUssRUFBRSxPQUFPO2dCQUNkLElBQUksRUFBRSxZQUFZLENBQUMsZ0JBQWdCO2FBQ3BDO1NBQ0YsQ0FBQztRQUtBLCtDQUErQztRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUN2RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0lBRVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLGdDQUFnQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxjQUFjLEdBQUcscUJBQXFCLENBQUM7SUFDOUMsQ0FBQzsrR0F4Q1Esd0JBQXdCO21HQUF4Qix3QkFBd0IsZ0RBRnhCLENBQUMsR0FBRyxZQUFZLENBQUMsaURDZDlCLDhlQWdCQTs7NEZEQWEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNFLHVCQUF1QixhQUd0QixDQUFDLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFwcFByb3ZpZGVycyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0cy9hcHAtcHJvdmlkZXJzJztcclxuaW1wb3J0IHsgTW9kYWxTaXplRW51bSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL21vZGFsLXNpemUtZW51bSc7XHJcbmltcG9ydCB7IEdyaWRDb2x1bW4gfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2dyaWQvZ3JpZC1jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgRGlhbG9nRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9kaWFsb2ctZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybURhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZHluYW1pYy1mb3JtL2Zvcm0tZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHNpTGlzdEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi90c2ktYmFzZS9jb21wb25lbnRzL3RzaS1saXN0LWJhc2UvdHNpLWxpc3QtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDcmVhdGVPckVkaXREeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NyZWF0ZS1vci1lZGl0LWR5bmFtaWMtZm9ybS9jcmVhdGUtb3ItZWRpdC1keW5hbWljLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlzcGxheVR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZHluYW1pYy1mb3JtLWxpc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1saXN0LmNvbXBvbmVudC5jc3MnLFxyXG4gIHByb3ZpZGVyczogWy4uLmFwcFByb3ZpZGVyc11cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtTGlzdENvbXBvbmVudCAgZXh0ZW5kcyBUc2lMaXN0QmFzZUNvbXBvbmVudHtcclxuXHJcbiAgICBvdmVycmlkZSBjb2x1bW5zOiBBcnJheTxHcmlkQ29sdW1uPiA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcjogJ3NoYXJlZF9ub3Rlc19mb3JtX2RhdGFfY2xhc3MnLFxyXG4gICAgICAgIGZpZWxkOiAnY2xhc3NOYW1lJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcjogJ3NoYXJlZF9ub3Rlc19mb3JtX2Zvcm1fbmFtZScsXHJcbiAgICAgICAgZmllbGQ6ICdmb3JtdWxhaXJlTm9tJyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcjogJ3NoYXJlZF9ub3Rlc19mb3JtX29icycsXHJcbiAgICAgICAgZmllbGQ6ICdvYnNlcnZhdGlvbicsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXI6ICdzaGFyZWRfbm90ZXNfZm9ybV9kYXRlJyxcclxuICAgICAgICBmaWVsZDogJ2RhdGUnLFxyXG4gICAgICAgIHR5cGU6IERpc3BsYXlUeXBlcy5EQVRFVElNRV9ESVNQTEFZLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyOiAnc2hhcmVkX25vdGVzX2Zvcm1fdmFsaWQnLFxyXG4gICAgICAgIGZpZWxkOiAndmFsaWQnLFxyXG4gICAgICAgIHR5cGU6IERpc3BsYXlUeXBlcy5DSEVDS0JPWF9ESVNQTEFZLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICBcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtRGF0YVNlcnZpY2UgOiBGb3JtRGF0YVNlcnZpY2UsIHB1YmxpYyBkaWFsb2dEYXRhU2VydmljZTogRGlhbG9nRGF0YVNlcnZpY2UpXHJcbiAgICB7XHJcbiAgICAgIHN1cGVyKCk7XHJcbiAgICAgIC8vS2VlcCB0aGUgYnVzaW5lc3NDbGFzcyBhbmQgT2JqZWN0SWQvT2NjdXJlbmNlXHJcbiAgICAgIHRoaXMuYnVzaW5lc3NDbGFzcyA9IGRpYWxvZ0RhdGFTZXJ2aWNlLmdldERhdGEoKS5jbGFzcztcclxuICAgICAgZGlhbG9nRGF0YVNlcnZpY2Uuc2V0RGF0YSh7b2NjdXJlbmNlOiBkaWFsb2dEYXRhU2VydmljZS5nZXREYXRhKCkuaWR9KVxyXG4gICAgfVxyXG4gIFxyXG4gICAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgIHRoaXMuc2V0TW9kYWxTaXplKE1vZGFsU2l6ZUVudW0uTWVkaXVtKTtcclxuICAgICAgdGhpcy5jb21wID0gQ3JlYXRlT3JFZGl0RHluYW1pY0Zvcm1Db21wb25lbnQ7XHJcbiAgICAgIHRoaXMudGl0bGVDb21wb25lbnQgPSAnc2hhcmVkX2FjdGlvbnNfZm9ybSc7XHJcbiAgICB9XHJcbn1cclxuIiwiPFRzaS1HZW5lcmljLUNydWRcclxuICBbY3VkQ29tcG9uZW50XT1cImNvbXBcIlxyXG4gIFtoZWFkZXJdPVwidGl0bGVDb21wb25lbnRcIlxyXG4gIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gIFtjcnVkU2VydmljZV09XCJmb3JtRGF0YVNlcnZpY2VcIlxyXG4gIFttb2RhbFNpemVdPVwibW9kYWxTaXplXCJcclxuICBbc2hvd1VwbG9hZEJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgW3Nob3dOb3RlQnV0dG9uXT1cImZhbHNlXCJcclxuICBbc2hvd0NhbGVuZGVyVmlld109XCJmYWxzZVwiXHJcbiAgW3Nob3dGb3JtQnV0dG9uXT1cImZhbHNlXCJcclxuICBbc2hvd0Zvcm1CdXR0b25dPVwiZmFsc2VcIlxyXG4gIFtzaG93SW5mb0J1dHRvbl09XCJmYWxzZVwiXHJcbiAgW3Nob3dGb3JtQnV0dG9uXT1cImZhbHNlXCJcclxuICBbc2hvd0NvbnN1bHRCdXR0b25dPVwidHJ1ZVwiXHJcbiAgcHJlc2VudGF0aW9uRGVzaWduZXI+XHJcbjwvVHNpLUdlbmVyaWMtQ3J1ZD5cclxuIl19
|
|
@@ -19509,6 +19509,9 @@ class CreateOrEditDynamicFormComponent extends TsiFormComponentBaseComponent {
|
|
|
19509
19509
|
className: this.dialogDataService.getData().class,
|
|
19510
19510
|
occurence: this.objectId,
|
|
19511
19511
|
};
|
|
19512
|
+
if (this.mode == Modes.create) {
|
|
19513
|
+
this.formData.date = new Date();
|
|
19514
|
+
}
|
|
19512
19515
|
if ((this.mode === Modes.edit || this.mode === Modes.delete || this.mode === Modes.consult) && this.id !== null && this.id !== undefined) {
|
|
19513
19516
|
let _formData = await firstValueFrom(this.formDataService.getById(this.id));
|
|
19514
19517
|
this.formData = {
|
|
@@ -19601,11 +19604,11 @@ class CreateOrEditDynamicFormComponent extends TsiFormComponentBaseComponent {
|
|
|
19601
19604
|
});
|
|
19602
19605
|
}
|
|
19603
19606
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateOrEditDynamicFormComponent, deps: [{ token: ErrorResponseManagerService }, { token: i1$3.DynamicDialogRef }, { token: i1$3.DynamicDialogConfig }, { token: TsiNotificationService }, { token: DialogDataService }, { token: FormDataService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19604
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateOrEditDynamicFormComponent, selector: "lib-create-or-edit-dynamic-form", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"], dependencies: [{ 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: "component", type: i7.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: TsiSearchComboComponent, selector: "Tsi-Search-Combo", inputs: ["elementSourceUrl", "listSourceUrl", "id-field", "label-field", "multiple", "sort", "showClear", "reloadDataSource", "isFiltered", "selectedLabel", "maxWidth", "businessClass", "comboType", "statusMetadata", "currentRowItem", "datasource", "bind", "maxSelectedLabels", "tooltipMaxDisplayedItems", "showSearchButton", "showAddButton", "showConsultButton", "showUpdateButton"], outputs: ["bindChange", "datasource-loaded", "init", "isLoaded", "selectedLabelChange", "onClick", "onSearchButtonClick"] }, { kind: "component", type: TsiCheckboxComponent, selector: "Tsi-CheckBox", inputs: ["class", "isBinary", "checked", "tooltipText", "tooltipPosition"], outputs: ["inputFieldChange", "checkedChange"] }, { kind: "component", type: TsiDecimalInputComponent, selector: "Tsi-Decimal-Input", inputs: ["numOfDecimal", "class"], outputs: ["inputFieldChange"] }, { kind: "component", type: TsiIntegerComponent, selector: "Tsi-Integer", inputs: ["class", "minValue", "maxValue", "delayChangeTime"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: TsiTextBoxComponent, selector: "Tsi-Text-Box", inputs: ["textBoxType", "autocomplete"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: TsiLabelComponent, selector: "Tsi-Label", inputs: ["labelValue", "styleClass", "infoText"] }, { kind: "component", type: TsiModalFooterComponent, selector: "Tsi-Modal-Footer", inputs: ["cancelDisabled", "saveDisabled", "cancelLabel", "saveLabel", "isConsult", "isDuplicate", "isOnlyCreate", "additionalButtonLabel", "additionalButtonIcon", "additionalButtonDisabled", "showAdditionalButton"], outputs: ["onCancelClick", "onSaveClick", "onAdditionalButtonClick"] }, { kind: "component", type: TsiModalHeaderComponent, selector: "Tsi-Modal-Header", inputs: ["inputTitle"], outputs: ["onCloseClick"] }, { kind: "component", type: TsiFormComponent, selector: "tsi-form", inputs: ["class", "autocomplete", "optionalEndpoints", "disabled", "isLoading", "modalSize", "formEndpoint", "formName", "isReportingToolbarDisabled", "isCreateOnly"], outputs: ["onSave", "onSubmit", "onSubmitFormWorkflowConfiguration", "formRefChange", "onStatusChange"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
19607
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateOrEditDynamicFormComponent, selector: "lib-create-or-edit-dynamic-form", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n \r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_date'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Date-Picker [inputName]=\"'Date'\" [showTime]=\"true\" [(inputField)]=\"formData.date\"/>\r\n </div>\r\n\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"], dependencies: [{ 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: "component", type: i7.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i7.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "component", type: TsiSearchComboComponent, selector: "Tsi-Search-Combo", inputs: ["elementSourceUrl", "listSourceUrl", "id-field", "label-field", "multiple", "sort", "showClear", "reloadDataSource", "isFiltered", "selectedLabel", "maxWidth", "businessClass", "comboType", "statusMetadata", "currentRowItem", "datasource", "bind", "maxSelectedLabels", "tooltipMaxDisplayedItems", "showSearchButton", "showAddButton", "showConsultButton", "showUpdateButton"], outputs: ["bindChange", "datasource-loaded", "init", "isLoaded", "selectedLabelChange", "onClick", "onSearchButtonClick"] }, { kind: "component", type: TsiCheckboxComponent, selector: "Tsi-CheckBox", inputs: ["class", "isBinary", "checked", "tooltipText", "tooltipPosition"], outputs: ["inputFieldChange", "checkedChange"] }, { kind: "component", type: TsiDatePickerComponent, selector: "Tsi-Date-Picker", inputs: ["required", "showTime", "showButtonBar"], outputs: ["inputFieldChange"] }, { kind: "component", type: TsiDecimalInputComponent, selector: "Tsi-Decimal-Input", inputs: ["numOfDecimal", "class"], outputs: ["inputFieldChange"] }, { kind: "component", type: TsiIntegerComponent, selector: "Tsi-Integer", inputs: ["class", "minValue", "maxValue", "delayChangeTime"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: TsiTextBoxComponent, selector: "Tsi-Text-Box", inputs: ["textBoxType", "autocomplete"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: TsiLabelComponent, selector: "Tsi-Label", inputs: ["labelValue", "styleClass", "infoText"] }, { kind: "component", type: TsiModalFooterComponent, selector: "Tsi-Modal-Footer", inputs: ["cancelDisabled", "saveDisabled", "cancelLabel", "saveLabel", "isConsult", "isDuplicate", "isOnlyCreate", "additionalButtonLabel", "additionalButtonIcon", "additionalButtonDisabled", "showAdditionalButton"], outputs: ["onCancelClick", "onSaveClick", "onAdditionalButtonClick"] }, { kind: "component", type: TsiModalHeaderComponent, selector: "Tsi-Modal-Header", inputs: ["inputTitle"], outputs: ["onCloseClick"] }, { kind: "component", type: TsiFormComponent, selector: "tsi-form", inputs: ["class", "autocomplete", "optionalEndpoints", "disabled", "isLoading", "modalSize", "formEndpoint", "formName", "isReportingToolbarDisabled", "isCreateOnly"], outputs: ["onSave", "onSubmit", "onSubmitFormWorkflowConfiguration", "formRefChange", "onStatusChange"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }] }); }
|
|
19605
19608
|
}
|
|
19606
19609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateOrEditDynamicFormComponent, decorators: [{
|
|
19607
19610
|
type: Component,
|
|
19608
|
-
args: [{ selector: 'lib-create-or-edit-dynamic-form', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"] }]
|
|
19611
|
+
args: [{ selector: 'lib-create-or-edit-dynamic-form', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" autocomplete=\"off\" (onSubmit)=\"save()\" [isLoading]=\"isloading\">\r\n <Tsi-Modal-Header [inputTitle]=\"'shared_notes_add_form' | localize \" (onCloseClick)=\"hide()\">\r\n </Tsi-Modal-Header>\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n <div class=\"card\">\r\n <div class=\"grid\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Search-Combo [(bind)]=\"formData.formulaireUid\"\r\n [listSourceUrl]=\"formulaireEndpoint.getAllFormulairesAsKeyValuePair(dialogDataService.getData().class)\"\r\n [elementSourceUrl]=\"formulaireEndpoint.getFormulaireAsKeyValuePair()\"\r\n [disabled]=\"isDeleteMode() || isConsultMode()\" (bindChange)=\"onFormulaireChange($event)\" id-field=\"uid\"\r\n label-field=\"nomObservation\" [showClear]=\"true\" [isFiltered]=\"true\">\r\n </Tsi-Search-Combo>\r\n </div>\r\n \r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_date'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Date-Picker [inputName]=\"'Date'\" [showTime]=\"true\" [(inputField)]=\"formData.date\"/>\r\n </div>\r\n\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"'shared_notes_form_obs'\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8\">\r\n <Tsi-Text-Box [(inputField)]=\"formData.observation\" [disabled]=\"isDeleteMode() || isConsultMode()\">\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n </div>\r\n <p-tabView *ngIf=\"formData.formulaireUid && isFormReady\" >\r\n <p-tabPanel *ngFor=\"let grp of formData.formulaireColonnesGrouped\" [header]=\"grp.key\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 grid form-row\" *ngFor=\"let col of grp.value\">\r\n <div class=\"col-4 form-label\">\r\n <Tsi-Label [labelValue]=\"col.nom\"></Tsi-Label>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.string\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Text-Box [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurString\" >\r\n </Tsi-Text-Box>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.int\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Integer [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurInt\" >\r\n </Tsi-Integer>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.decimal\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-Decimal-Input [disabled]=\"isDeleteMode() || isConsultMode()\"\r\n [(inputField)]=\"col.data.valeurDecimal\" >\r\n </Tsi-Decimal-Input>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.boolean\">\r\n <div class=\"input-wrapper\">\r\n <Tsi-CheckBox [disabled]=\"isDeleteMode() || isConsultMode()\" [isBinary]=\"false\"\r\n [(inputField)]=\"col.data.valeurBoolean\" >\r\n </Tsi-CheckBox>\r\n </div>\r\n </div>\r\n <div class=\"col-8 form-input\" *ngIf=\"col.type === formType.binary\">\r\n binary input (not handled yet)\r\n </div>\r\n </div>\r\n </div>\r\n </p-tabPanel>\r\n </p-tabView>\r\n </fieldset>\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\"\r\n (onCancelClick)=\"hide()\"></Tsi-Modal-Footer>\r\n</tsi-form>", styles: [":host ::ng-deep .p-tabview-nav{background:#f8f9fa;border-bottom:2px solid #e0e0e0;padding:.5rem 1rem;border-radius:10px 10px 0 0}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link{padding:1rem 1.2rem;font-weight:600;border-radius:8px;transition:all .25s ease-in-out}:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{background:#3b82f6;color:#fff;border-color:transparent}:host ::ng-deep .p-tabview-nav li:not(.p-highlight) .p-tabview-nav-link:hover{background:#eef4ff}.form-row{border-bottom:1px dashed #e2e2e2}.form-row:last-child{border-bottom:none}.form-label{font-weight:600;color:#333;padding-top:.5rem}:host ::ng-deep .p-tabview-nav li .p-tabview-nav-link,:host ::ng-deep .p-tabview-nav li.p-highlight .p-tabview-nav-link{border-radius:6px}:host ::ng-deep .p-tabview-nav{border:1px solid #d0d7e2;border-radius:6px 6px 0 0;background:#f8f9fa;padding:.3rem .5rem}:host ::ng-deep .p-tabview-panels{border:1px solid #d0d7e2;border-radius:0 0 6px 6px;margin-top:-1px;background:#fff;padding:1rem}.input-wrapper,.input-wrapper>tsi-text-box,.input-wrapper>tsi-integer,.input-wrapper>tsi-decimal-input,.input-wrapper>tsi-check-box{width:100%;display:block}.form-input{display:flex;align-items:center}\n"] }]
|
|
19609
19612
|
}], ctorParameters: () => [{ type: ErrorResponseManagerService }, { type: i1$3.DynamicDialogRef }, { type: i1$3.DynamicDialogConfig }, { type: TsiNotificationService }, { type: DialogDataService }, { type: FormDataService }] });
|
|
19610
19613
|
|
|
19611
19614
|
class DynamicFormListComponent extends TsiListBaseComponent {
|
|
@@ -19614,10 +19617,6 @@ class DynamicFormListComponent extends TsiListBaseComponent {
|
|
|
19614
19617
|
this.formDataService = formDataService;
|
|
19615
19618
|
this.dialogDataService = dialogDataService;
|
|
19616
19619
|
this.columns = [
|
|
19617
|
-
{
|
|
19618
|
-
header: 'UID',
|
|
19619
|
-
field: 'uid',
|
|
19620
|
-
},
|
|
19621
19620
|
{
|
|
19622
19621
|
header: 'shared_notes_form_data_class',
|
|
19623
19622
|
field: 'className',
|
|
@@ -19630,17 +19629,15 @@ class DynamicFormListComponent extends TsiListBaseComponent {
|
|
|
19630
19629
|
header: 'shared_notes_form_obs',
|
|
19631
19630
|
field: 'observation',
|
|
19632
19631
|
},
|
|
19633
|
-
{
|
|
19634
|
-
header: 'shared_notes_form_ref_obj',
|
|
19635
|
-
field: 'occurence',
|
|
19636
|
-
},
|
|
19637
19632
|
{
|
|
19638
19633
|
header: 'shared_notes_form_date',
|
|
19639
19634
|
field: 'date',
|
|
19635
|
+
type: DisplayTypes.DATETIME_DISPLAY,
|
|
19640
19636
|
},
|
|
19641
19637
|
{
|
|
19642
19638
|
header: 'shared_notes_form_valid',
|
|
19643
19639
|
field: 'valid',
|
|
19640
|
+
type: DisplayTypes.CHECKBOX_DISPLAY,
|
|
19644
19641
|
},
|
|
19645
19642
|
];
|
|
19646
19643
|
//Keep the businessClass and ObjectId/Occurence
|