@esfaenza/forms-and-validations 11.2.93 → 11.2.96
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/bundles/esfaenza-forms-and-validations.umd.js +29 -16
- package/bundles/esfaenza-forms-and-validations.umd.js.map +1 -1
- package/esfaenza-forms-and-validations.metadata.json +1 -1
- package/esm2015/lib/forms/base-form-control.js +7 -4
- package/esm2015/lib/forms/form-adaptive/form-adaptive.component.js +2 -2
- package/esm2015/lib/forms/form-autocomplete/form-autocomplete.component.js +3 -3
- package/esm2015/lib/forms/form-checkbox/form-checkbox.component.js +2 -2
- package/esm2015/lib/forms/form-date/form-date.component.js +2 -2
- package/esm2015/lib/forms/form-datetime/form-datetime.component.js +2 -2
- package/esm2015/lib/forms/form-file/form-file.component.js +2 -2
- package/esm2015/lib/forms/form-input/form-input.component.js +2 -2
- package/esm2015/lib/forms/form-multiselect/form-multiselect.component.js +2 -2
- package/esm2015/lib/forms/form-select/form-select.component.js +2 -2
- package/esm2015/lib/forms/form-template/form-template.component.js +12 -2
- package/esm2015/lib/forms/form-textarea/form-textarea.component.js +2 -2
- package/esm2015/lib/forms/form-time/form-time.component.js +2 -2
- package/fesm2015/esfaenza-forms-and-validations.js +29 -16
- package/fesm2015/esfaenza-forms-and-validations.js.map +1 -1
- package/lib/forms/base-form-control.d.ts +4 -2
- package/lib/forms/form-template/form-template.component.d.ts +9 -0
- package/package.json +1 -1
|
@@ -118,7 +118,7 @@ FormSelectComponent.decorators = [
|
|
|
118
118
|
{ type: Component, args: [{
|
|
119
119
|
selector: "form-select",
|
|
120
120
|
providers: [{ provide: LocalizationService, useClass: FormSelectComponentLoc }],
|
|
121
|
-
template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || DisplayLayout != 'hidden')\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || DisplayLayout != 'hidden')\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\"> </span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n\r\n <!-- Select vuota per quando non ho Sorgenti dati da cui selezionare. Uguale identica alla piena ma senza option\r\n Purtroppo devono essere due componenti distinti perch\u00E9 una select una volta creata non riesce pi\u00F9 ad adattarsi ai cambi di options -->\r\n <val-select *ngIf=\"!BoundSource || BoundSource.length == 0\"\r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}_zero\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n #validationControl=\"ngModel\">\r\n </val-select>\r\n\r\n <!-- Select vera e propria per quando arrivano i dati -->\r\n <val-select *ngIf=\"BoundSource && BoundSource.length > 0\"\r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}_filled\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n #validationControl=\"ngModel\">\r\n <option *ngFor=\"let obj of BoundSource\" [value]=\"obj.id\">{{obj.description}}</option>\r\n </val-select>\r\n</ng-template>",
|
|
121
|
+
template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\"> </span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n\r\n <!-- Select vuota per quando non ho Sorgenti dati da cui selezionare. Uguale identica alla piena ma senza option\r\n Purtroppo devono essere due componenti distinti perch\u00E9 una select una volta creata non riesce pi\u00F9 ad adattarsi ai cambi di options -->\r\n <val-select *ngIf=\"!BoundSource || BoundSource.length == 0\"\r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}_zero\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n #validationControl=\"ngModel\">\r\n </val-select>\r\n\r\n <!-- Select vera e propria per quando arrivano i dati -->\r\n <val-select *ngIf=\"BoundSource && BoundSource.length > 0\"\r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [required]=\"Required ? 'required' : null\"\r\n [noValidate]=\"!Validation\"\r\n [readonly]=\"Readonly\"\r\n [forceInvalid]=\"ForcedError\"\r\n [label]=\"SelectLabel\"\r\n [validationFailed]=\"FailedValidationMessage\"\r\n [showValidationSymbol]=\"ShowValidationSymbol\"\r\n [placeholder]=\"Required ? ((RequiredPlaceholder != null ? RequiredPlaceholder : ('Select' | localize : lc) + '...')) : Placeholder\"\r\n [placeHolderValue]=\"PlaceholderValue\"\r\n [submitted]=\"Form?.submitted\"\r\n [emptyFieldValue]=\"Required || Placeholder || SelectLabel ? EmptyFieldValue : ''\"\r\n [(ngModel)]=\"Model\"\r\n [id]=\"GeneratedName\"\r\n name=\"{{GeneratedName}}_filled\"\r\n (inputChange)=\"Model = $event == EmptyFieldValue ? (Required? PlaceholderValue : '') : $event; changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n #validationControl=\"ngModel\">\r\n <option *ngFor=\"let obj of BoundSource\" [value]=\"obj.id\">{{obj.description}}</option>\r\n </val-select>\r\n</ng-template>",
|
|
122
122
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
123
123
|
},] }
|
|
124
124
|
];
|
|
@@ -139,4 +139,4 @@ FormSelectComponent.propDecorators = {
|
|
|
139
139
|
EmptyFieldValue: [{ type: Input }],
|
|
140
140
|
ShowValidationSymbol: [{ type: Input }]
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUF3QixhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsMEZBQTBGO0FBTzFGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBeUJwRCwyQkFBMkI7SUFDM0IsWUFBWSxHQUFzQixFQUFTLEVBQXVCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUFzQyxjQUF3QjtRQUM1VyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFEM0MsT0FBRSxHQUFGLEVB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Q29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEZvcm1TZWxlY3RDb21wb25lbnRMb2MgfSBmcm9tIFwiLi9mb3JtLXNlbGVjdC5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKiogQ29tcG9uZW50ZSBjaGUgcGVybWV0dGUgZGkgc2VsZXppb25hcmUgdW4gdmFsb3JlIGRhIHVuYSBsaXN0YSBkaSB2YWxvcmkgZGlzcG9uaWJpbGkgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLXNlbGVjdFwiLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogRm9ybVNlbGVjdENvbXBvbmVudExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKiogUGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgaWwgdGVzdG8gZGVsbGEgTGFiZWwgZmxvdHRhbnRlIG1hdGVyaWFsLXN0eWxlICovXHJcbiAgICBASW5wdXQoKSBTZWxlY3RMYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHBsYWNlaG9sZGVyXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFBsYWNlaG9sZGVyVmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBkZWwgcGxhY2Vob2xkZXIgcGVyIHNlbGVjdCByZXF1cmllZCAqL1xyXG4gICAgQElucHV0KCkgUmVxdWlyZWRQbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHZ1b3RvXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEVtcHR5RmllbGRWYWx1ZTogc3RyaW5nID0gJy0yJztcclxuXHJcbiAgICAvKiogU2UgKip0cnVlKiogcmltdW92ZSBpbCBzaW1ib2xpbm8gZGkgdmFsaWRhemlvbmUgKGNyb2NlIHJvc3NhIG8gdGljayB2ZXJkZSkgKi9cclxuICAgIEBJbnB1dCgpIFNob3dWYWxpZGF0aW9uU3ltYm9sOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREUgOiBib29sZWFuKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGxldCBuZXdTb3VyY2UgPSBjaGFuZ2VzW1wiU291cmNlXCJdO1xyXG4gICAgICAgIGlmICghbmV3U291cmNlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGxldCBjdXJyID0gbmV3U291cmNlLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICBsZXQgcHJldiA9IG5ld1NvdXJjZS5wcmV2aW91c1ZhbHVlO1xyXG5cclxuICAgICAgICAvLyBTZSBtYW5jYSBjdXJyIHZ1b2wgZGlyZSBjaGUgbm9uIGhvIHVuIHZhbG9yZSBlIHBvc3NvIGlnbm9yYXJlIChhbGxhIHBlZ2dpbyBkZXZlIGFycml2YXJtaSB1biBhcnJheSB2dW90bylcclxuICAgICAgICBpZiAoIWN1cnIpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgLy8gU2UgbWFuY2EgcHJldiB2dW9sIGRpcmUgY2hlIMOoIGxhIHByaW1hIGFzc2VnbmF6aW9uZSwgbG8gY29uc2lkZXJvIHVuIGFycmF5IHZ1b3RvIGUgcHJvc2VndW8uLi4gb2duaSB0YW50byB2aWVuZSBjaGlhbWF0byB1bmEgc29sYSB2b2x0YVxyXG4gICAgICAgIC8vIG9nbmkgdGFudG8gdmllbmUgY2hpYW1hdG8gZHVlIHZvbHRlLi4uIMOoIHVuIHBlbG8gYXJiaXRyYXJpbyBtYSB2YWJiw6hcclxuICAgICAgICBpZiAoIXByZXYpXHJcbiAgICAgICAgICAgIHByZXYgPSBbXTtcclxuXHJcbiAgICAgICAgLy8gQ29uc2lkZXJvIGRpIGF2ZXIgcmljZXZ1dG8gdW5hIG51b3ZhIHNvcmdlbnRlIHNlOlxyXG4gICAgICAgIC8vIDE6IExhIHNvcmdlbnRlIG51b3ZhIGhhIHVuIG51bWVybyBkaSBlbGVtZW50aSBkaXZlcnNvIGRhbGxhIHNvcmdlbnRlIHZlY2NoaWFcclxuICAgICAgICAvLyAyOiBTaWEgbGEgc29yZ2VudGUgbnVvdmEgY2hlIHZlY2NoaWEgaGFubm8gYWxtZW5vIHVuIGVsZW1lbnRvIGUgbCdpZCBkZWwgcHJpbW8gZWxlbWVudG8gZGVsbGEgc29yZ2VudGUgbnVvdmEgw6ggZGl2ZXJzbyBkYWxsJ2lkIGRlbCBwcmltbyBlbGVtZW50byBkZWxsYSBzb3JnZW50ZSB2ZWNjaGlhXHJcbiAgICAgICAgaWYgKG5ld1NvdXJjZSAmJiAoY3Vyci5sZW5ndGggIT0gcHJldi5sZW5ndGggfHwgKGN1cnIubGVuZ3RoID4gMCAmJiBjdXJyWzBdW3RoaXMuSWRGaWVsZF0gIT0gcHJldlswXVt0aGlzLklkRmllbGRdKSkpIHtcclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICogTkdCVUc6XHJcbiAgICAgICAgICAgICAqIFVzbyBxdWVzdG8gZXNjYW1vdGFnZSBwZXIgZGlzdHJ1Z2dlcmUgaWwgdmFsLXNlbGVjdCBlIHJpY3JlYXJsb1xyXG4gICAgICAgICAgICAgKiBQdXJ0cm9wcG8gdW5hIHZvbHRhIGJpbmRhdG8gYSB1bmEgc29yZ2VudGUsIGNhbWJpYXJnbGllbGEgc290dG8gc2lnbmlmaWNhIG1hbmRhcmUgaW4gcGFsbGEgbWF0ZXJpYWxcclxuICAgICAgICAgICAgICogY2hlIHNpIG1ldHRlIGEgZmFyIGZsb2F0dGFyZSBsYSBsYWJlbCBhbmNoZSBzZSBpbCB2YWxvcmUgZScgdnVvdG9cclxuICAgICAgICAgICAgICogRGlzdHJ1Z2dlbmRvIGlsIGNvbXBvbmVudGUgZSByaWNyZWFuZG9sbyBtYXRlcmlhbCByaXBhcnRlIGRhIDAgZSBub24gZGEnIHByb2JsZW1pLlxyXG4gICAgICAgICAgICAgKiBPdnZpYW1lbnRlIGxvIGZhY2NpbyBzb2xvIHF1YW5kbyBobyB1bmEgU2VsZWN0TGFiZWwsIGFsdHJpbWVudGkgbm9uIGhvIHByb2JsZW1pIGRpIGZsb2F0dGFtZW50aVxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgaWYgKCF0aGlzLlNvdXJjZUZpcnN0QmluZCAmJiB0aGlzLlNlbGVjdExhYmVsKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhdGNoUHJldmlvdXNBbmRSZXRhdGNoTmV4dCgoYWZ0ZXJTdHVmZikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQm91bmRTb3VyY2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLkJvdW5kU291cmNlICYmIHRoaXMuQm91bmRTb3VyY2UubGVuZ3RoID4gMCA/IHRoaXMuQm91bmRTb3VyY2UuZmluZCh0ID0+IHQuaWQgPT0gdGhpcy5Nb2RlbCk/LmRlc2NyaXB0aW9uIDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgYWZ0ZXJTdHVmZigpOyB9KVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoKGFmdGVyU3R1ZmYpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMuQm91bmRTb3VyY2UgJiYgdGhpcy5Cb3VuZFNvdXJjZS5sZW5ndGggPiAwID8gdGhpcy5Cb3VuZFNvdXJjZS5maW5kKHQgPT4gdC5pZCA9PSB0aGlzLk1vZGVsKT8uZGVzY3JpcHRpb24gOiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgYWZ0ZXJTdHVmZigpOyB9KVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoZG9TdHVmZjogRnVuY3Rpb24pIHtcclxuICAgICAgICBpZih0aGlzLnZhbGlkYXRpb25Db250cm9sICYmIHRoaXMuRm9ybSlcclxuICAgICAgICAgICAgdGhpcy5Gb3JtLnJlbW92ZUNvbnRyb2wodGhpcy52YWxpZGF0aW9uQ29udHJvbCk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBkb1N0dWZmKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25Db250cm9sICYmIHRoaXMuRm9ybSlcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkZvcm0uYWRkQ29udHJvbCh0aGlzLnZhbGlkYXRpb25Db250cm9sKTtcclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uQ29udHJvbCAmJiB0aGlzLkZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtLmFkZENvbnRyb2wodGhpcy52YWxpZGF0aW9uQ29udHJvbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzLnZhbGlkYXRpb25Db250cm9sICYmIHRoaXMuRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBRdWVzdG8gbWVzc2FnZ2lvIGhhIHNlbnNvIHNvbG8gc2UgYWxtZW5vIGlsIGZvcm0gZXNpc3RlLi4uIHNlIG5vbiBlc2lzdGUgc3RpY2F6emkgaW5zb21tYS4uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbXBvc3NpYmlsZSBhZ2dpdW5nZXJlIGlsIGNvbXBvbmVudGUgZGkgdmFsaWRhYXppb25lIHBlciAke3RoaXMuR2VuZXJhdGVkTmFtZX0sIGxlIHZhbGlkYXppb25pIHBvdHJlYmJlcm8gZnVuemlvbmFyZSBpbiBtYW5pZXJhIGVycmF0aWNhYClcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZSAmJiB0aGlzLkJvdW5kU291cmNlLmxlbmd0aCA+IDAgPyB0aGlzLkJvdW5kU291cmNlLmZpbmQodCA9PiB0LmlkID09IHRoaXMuTW9kZWwpPy5kZXNjcmlwdGlvbiA6IFwiXCI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZWQoKXtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZSAmJiB0aGlzLkJvdW5kU291cmNlLmxlbmd0aCA+IDAgPyB0aGlzLkJvdW5kU291cmNlLmZpbmQodCA9PiB0LmlkID09IHRoaXMuTW9kZWwpPy5kZXNjcmlwdGlvbiA6IFwiXCI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3VwZXIuY2hhbmdlZChudWxsLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybXMtYW5kLXZhbGlkYXRpb25zL3NyYy9saWIvZm9ybXMvZm9ybS1zZWxlY3QvZm9ybS1zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEksT0FBTyxFQUF3QixhQUFhLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEYsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdELGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsMEZBQTBGO0FBTzFGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBeUJwRCwyQkFBMkI7SUFDM0IsWUFBWSxHQUFzQixFQUFTLEVBQXVCLEVBQXNCLFNBQW9CLEVBQXFDLFdBQXVCLEVBQWMsRUFBd0IsRUFBYyxVQUE0QixFQUFxQyxhQUFxQixFQUFzQyxjQUF3QjtRQUM1VyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFEM0MsT0FBRSxHQUFGLEVB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Q29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmLCBTaW1wbGVDaGFuZ2VzLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UsIENvbXBvbmVudENvbnRleHQgfSBmcm9tICdAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBBQ09fQ1VTVE9NS0VZLCBGQVZfREVCVUdfTU9ERSB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEZvcm1TZWxlY3RDb21wb25lbnRMb2MgfSBmcm9tIFwiLi9mb3JtLXNlbGVjdC5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKiogQ29tcG9uZW50ZSBjaGUgcGVybWV0dGUgZGkgc2VsZXppb25hcmUgdW4gdmFsb3JlIGRhIHVuYSBsaXN0YSBkaSB2YWxvcmkgZGlzcG9uaWJpbGkgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLXNlbGVjdFwiLFxyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCB1c2VDbGFzczogRm9ybVNlbGVjdENvbXBvbmVudExvYyB9XSxcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVNlbGVjdENvbXBvbmVudCBleHRlbmRzIEJhc2VGb3JtQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICAvKiogUGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgaWwgdGVzdG8gZGVsbGEgTGFiZWwgZmxvdHRhbnRlIG1hdGVyaWFsLXN0eWxlICovXHJcbiAgICBASW5wdXQoKSBTZWxlY3RMYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHBsYWNlaG9sZGVyXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFBsYWNlaG9sZGVyVmFsdWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBkZWwgcGxhY2Vob2xkZXIgcGVyIHNlbGVjdCByZXF1cmllZCAqL1xyXG4gICAgQElucHV0KCkgUmVxdWlyZWRQbGFjZWhvbGRlcjogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBlcm1ldHRlIGFsIGNvbXBvbmVudGUgZGkgY29uc2lkZXJhcmUgcXVlc3RvIHZhbG9yZSBjb21lIFwidmFsb3JlIHZ1b3RvXCJcclxuICAgICAqIFxyXG4gICAgICogU2kgY29uc2lnbGlhIGRpIG1hbnRlbmVyZSBpbCBkZWZhdWx0XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEVtcHR5RmllbGRWYWx1ZTogc3RyaW5nID0gJy0yJztcclxuXHJcbiAgICAvKiogU2UgKip0cnVlKiogcmltdW92ZSBpbCBzaW1ib2xpbm8gZGkgdmFsaWRhemlvbmUgKGNyb2NlIHJvc3NhIG8gdGljayB2ZXJkZSkgKi9cclxuICAgIEBJbnB1dCgpIFNob3dWYWxpZGF0aW9uU3ltYm9sOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAgKi9cclxuICAgIGNvbnN0cnVjdG9yKGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyBsYzogTG9jYWxpemF0aW9uU2VydmljZSwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKSBASW5qZWN0KEFDT19DVVNUT01LRVkpIEFDT19DVVNUT01LRVk6IHN0cmluZywgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREUgOiBib29sZWFuKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGxldCBuZXdTb3VyY2UgPSBjaGFuZ2VzW1wiU291cmNlXCJdO1xyXG4gICAgICAgIGlmICghbmV3U291cmNlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGxldCBjdXJyID0gbmV3U291cmNlLmN1cnJlbnRWYWx1ZTtcclxuICAgICAgICBsZXQgcHJldiA9IG5ld1NvdXJjZS5wcmV2aW91c1ZhbHVlO1xyXG5cclxuICAgICAgICAvLyBTZSBtYW5jYSBjdXJyIHZ1b2wgZGlyZSBjaGUgbm9uIGhvIHVuIHZhbG9yZSBlIHBvc3NvIGlnbm9yYXJlIChhbGxhIHBlZ2dpbyBkZXZlIGFycml2YXJtaSB1biBhcnJheSB2dW90bylcclxuICAgICAgICBpZiAoIWN1cnIpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgLy8gU2UgbWFuY2EgcHJldiB2dW9sIGRpcmUgY2hlIMOoIGxhIHByaW1hIGFzc2VnbmF6aW9uZSwgbG8gY29uc2lkZXJvIHVuIGFycmF5IHZ1b3RvIGUgcHJvc2VndW8uLi4gb2duaSB0YW50byB2aWVuZSBjaGlhbWF0byB1bmEgc29sYSB2b2x0YVxyXG4gICAgICAgIC8vIG9nbmkgdGFudG8gdmllbmUgY2hpYW1hdG8gZHVlIHZvbHRlLi4uIMOoIHVuIHBlbG8gYXJiaXRyYXJpbyBtYSB2YWJiw6hcclxuICAgICAgICBpZiAoIXByZXYpXHJcbiAgICAgICAgICAgIHByZXYgPSBbXTtcclxuXHJcbiAgICAgICAgLy8gQ29uc2lkZXJvIGRpIGF2ZXIgcmljZXZ1dG8gdW5hIG51b3ZhIHNvcmdlbnRlIHNlOlxyXG4gICAgICAgIC8vIDE6IExhIHNvcmdlbnRlIG51b3ZhIGhhIHVuIG51bWVybyBkaSBlbGVtZW50aSBkaXZlcnNvIGRhbGxhIHNvcmdlbnRlIHZlY2NoaWFcclxuICAgICAgICAvLyAyOiBTaWEgbGEgc29yZ2VudGUgbnVvdmEgY2hlIHZlY2NoaWEgaGFubm8gYWxtZW5vIHVuIGVsZW1lbnRvIGUgbCdpZCBkZWwgcHJpbW8gZWxlbWVudG8gZGVsbGEgc29yZ2VudGUgbnVvdmEgw6ggZGl2ZXJzbyBkYWxsJ2lkIGRlbCBwcmltbyBlbGVtZW50byBkZWxsYSBzb3JnZW50ZSB2ZWNjaGlhXHJcbiAgICAgICAgaWYgKG5ld1NvdXJjZSAmJiAoY3Vyci5sZW5ndGggIT0gcHJldi5sZW5ndGggfHwgKGN1cnIubGVuZ3RoID4gMCAmJiBjdXJyWzBdW3RoaXMuSWRGaWVsZF0gIT0gcHJldlswXVt0aGlzLklkRmllbGRdKSkpIHtcclxuICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICogTkdCVUc6XHJcbiAgICAgICAgICAgICAqIFVzbyBxdWVzdG8gZXNjYW1vdGFnZSBwZXIgZGlzdHJ1Z2dlcmUgaWwgdmFsLXNlbGVjdCBlIHJpY3JlYXJsb1xyXG4gICAgICAgICAgICAgKiBQdXJ0cm9wcG8gdW5hIHZvbHRhIGJpbmRhdG8gYSB1bmEgc29yZ2VudGUsIGNhbWJpYXJnbGllbGEgc290dG8gc2lnbmlmaWNhIG1hbmRhcmUgaW4gcGFsbGEgbWF0ZXJpYWxcclxuICAgICAgICAgICAgICogY2hlIHNpIG1ldHRlIGEgZmFyIGZsb2F0dGFyZSBsYSBsYWJlbCBhbmNoZSBzZSBpbCB2YWxvcmUgZScgdnVvdG9cclxuICAgICAgICAgICAgICogRGlzdHJ1Z2dlbmRvIGlsIGNvbXBvbmVudGUgZSByaWNyZWFuZG9sbyBtYXRlcmlhbCByaXBhcnRlIGRhIDAgZSBub24gZGEnIHByb2JsZW1pLlxyXG4gICAgICAgICAgICAgKiBPdnZpYW1lbnRlIGxvIGZhY2NpbyBzb2xvIHF1YW5kbyBobyB1bmEgU2VsZWN0TGFiZWwsIGFsdHJpbWVudGkgbm9uIGhvIHByb2JsZW1pIGRpIGZsb2F0dGFtZW50aVxyXG4gICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgaWYgKCF0aGlzLlNvdXJjZUZpcnN0QmluZCAmJiB0aGlzLlNlbGVjdExhYmVsKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhdGNoUHJldmlvdXNBbmRSZXRhdGNoTmV4dCgoYWZ0ZXJTdHVmZikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuQm91bmRTb3VyY2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0aGlzLkJvdW5kU291cmNlICYmIHRoaXMuQm91bmRTb3VyY2UubGVuZ3RoID4gMCA/IHRoaXMuQm91bmRTb3VyY2UuZmluZCh0ID0+IHQuaWQgPT0gdGhpcy5Nb2RlbCk/LmRlc2NyaXB0aW9uIDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgYWZ0ZXJTdHVmZigpOyB9KVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoKGFmdGVyU3R1ZmYpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyeUJpbmRTb3VyY2VEaXNwbGF5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRoaXMuQm91bmRTb3VyY2UgJiYgdGhpcy5Cb3VuZFNvdXJjZS5sZW5ndGggPiAwID8gdGhpcy5Cb3VuZFNvdXJjZS5maW5kKHQgPT4gdC5pZCA9PSB0aGlzLk1vZGVsKT8uZGVzY3JpcHRpb24gOiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgYWZ0ZXJTdHVmZigpOyB9KVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHByaXZhdGUgZGV0YXRjaFByZXZpb3VzQW5kUmV0YXRjaE5leHQoZG9TdHVmZjogRnVuY3Rpb24pIHtcclxuICAgICAgICBpZih0aGlzLnZhbGlkYXRpb25Db250cm9sICYmIHRoaXMuRm9ybSlcclxuICAgICAgICAgICAgdGhpcy5Gb3JtLnJlbW92ZUNvbnRyb2wodGhpcy52YWxpZGF0aW9uQ29udHJvbCk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBkb1N0dWZmKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbGlkYXRpb25Db250cm9sICYmIHRoaXMuRm9ybSlcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLkZvcm0uYWRkQ29udHJvbCh0aGlzLnZhbGlkYXRpb25Db250cm9sKTtcclxuICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy52YWxpZGF0aW9uQ29udHJvbCAmJiB0aGlzLkZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtLmFkZENvbnRyb2wodGhpcy52YWxpZGF0aW9uQ29udHJvbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCF0aGlzLnZhbGlkYXRpb25Db250cm9sICYmIHRoaXMuRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBRdWVzdG8gbWVzc2FnZ2lvIGhhIHNlbnNvIHNvbG8gc2UgYWxtZW5vIGlsIGZvcm0gZXNpc3RlLi4uIHNlIG5vbiBlc2lzdGUgc3RpY2F6emkgaW5zb21tYS4uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBJbXBvc3NpYmlsZSBhZ2dpdW5nZXJlIGlsIGNvbXBvbmVudGUgZGkgdmFsaWRhYXppb25lIHBlciAke3RoaXMuR2VuZXJhdGVkTmFtZX0sIGxlIHZhbGlkYXppb25pIHBvdHJlYmJlcm8gZnVuemlvbmFyZSBpbiBtYW5pZXJhIGVycmF0aWNhYClcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgKi9cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZSAmJiB0aGlzLkJvdW5kU291cmNlLmxlbmd0aCA+IDAgPyB0aGlzLkJvdW5kU291cmNlLmZpbmQodCA9PiB0LmlkID09IHRoaXMuTW9kZWwpPy5kZXNjcmlwdGlvbiA6IFwiXCI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZWQoKXtcclxuICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gdGhpcy5Cb3VuZFNvdXJjZSAmJiB0aGlzLkJvdW5kU291cmNlLmxlbmd0aCA+IDAgPyB0aGlzLkJvdW5kU291cmNlLmZpbmQodCA9PiB0LmlkID09IHRoaXMuTW9kZWwpPy5kZXNjcmlwdGlvbiA6IFwiXCI7XHJcbiAgICAgICAgXHJcbiAgICAgICAgc3VwZXIuY2hhbmdlZChudWxsLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
|
|
@@ -22,6 +22,12 @@ export class FormTemplateComponent {
|
|
|
22
22
|
this.Last = false;
|
|
23
23
|
/** Classe extra per il form-group in cui viene wrappato l'input */
|
|
24
24
|
this.FormGroupClass = "";
|
|
25
|
+
/** Indica che la parte input del controllo dev'essere una label readonly e la parte label di titolo dev'essere in bold. Per utilizzare un solo componente sia per la modifica che per il dettaglio */
|
|
26
|
+
this.DisplayMode = false;
|
|
27
|
+
/** Layout del Form quando è in modalità Display. Di default mantiene la formattazione a form */
|
|
28
|
+
this.DisplayLayout = 'form';
|
|
29
|
+
/** Indica la condizione per cui un elemento in Modalità Display può essere visibile in base a ulteriori controlli */
|
|
30
|
+
this.DisplayCondition = true;
|
|
25
31
|
}
|
|
26
32
|
/** Permette di settare in una volta solo gli input LabelColWidth e InputColWidth, basta scriverlo con la sintassi "X Y" */
|
|
27
33
|
set LabelInputRatio(input) {
|
|
@@ -33,7 +39,7 @@ export class FormTemplateComponent {
|
|
|
33
39
|
FormTemplateComponent.decorators = [
|
|
34
40
|
{ type: Component, args: [{
|
|
35
41
|
selector: "form-template",
|
|
36
|
-
template: "<ng-container *ngIf=\"!FormLayout\">\r\n <ng-content></ng-content>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout\" class=\"
|
|
42
|
+
template: "<!-- NON PROPRIO Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\"> </span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"content\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<!-- Singola proiezione -->\r\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n<ng-template #content><ng-content></ng-content></ng-template>",
|
|
37
43
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
38
44
|
},] }
|
|
39
45
|
];
|
|
@@ -46,6 +52,10 @@ FormTemplateComponent.propDecorators = {
|
|
|
46
52
|
InputColWidth: [{ type: Input }],
|
|
47
53
|
Last: [{ type: Input }],
|
|
48
54
|
FormGroupClass: [{ type: Input }],
|
|
55
|
+
DisplayMode: [{ type: Input }],
|
|
56
|
+
DisplayModeTemplate: [{ type: Input }],
|
|
57
|
+
DisplayLayout: [{ type: Input }],
|
|
58
|
+
DisplayCondition: [{ type: Input }],
|
|
49
59
|
LabelInputRatio: [{ type: Input }]
|
|
50
60
|
};
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLXRlbXBsYXRlL2Zvcm0tdGVtcGxhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUV2Rjs7O0dBR0c7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBT0ksNENBQTRDO1FBQ25DLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFbkMsd0VBQXdFO1FBQy9ELFVBQUssR0FBVyxFQUFFLENBQUM7UUFFNUIsZ0dBQWdHO1FBQ3ZGLGVBQVUsR0FBVyxPQUFPLENBQUM7UUFFdEMscUdBQXFHO1FBQzVGLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFFcEMsNEJBQTRCO1FBQ25CLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBRW5DLDJCQUEyQjtRQUNsQixrQkFBYSxHQUFXLENBQUMsQ0FBQztRQUVuQyx5RkFBeUY7UUFDaEYsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUUvQixtRUFBbUU7UUFDMUQsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFckMsc01BQXNNO1FBQzdMLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBS3RDLGdHQUFnRztRQUN2RixrQkFBYSxHQUFpQyxNQUFNLENBQUM7UUFFOUQscUhBQXFIO1FBQzVHLHFCQUFnQixHQUFZLElBQUksQ0FBQztJQVE5QyxDQUFDO0lBTkcsMkhBQTJIO0lBQzNILElBQWEsZUFBZSxDQUFDLEtBQWE7UUFDdEMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDOzs7WUFoREosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2dCQUN6QiwwMEVBQTJDO2dCQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDs7O3VCQUlJLEtBQUs7b0JBR0wsS0FBSzt5QkFHTCxLQUFLO3lCQUdMLEtBQUs7NEJBR0wsS0FBSzs0QkFHTCxLQUFLO21CQUdMLEtBQUs7NkJBR0wsS0FBSzswQkFHTCxLQUFLO2tDQUdMLEtBQUs7NEJBR0wsS0FBSzsrQkFHTCxLQUFLOzhCQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBkYSB1dGlsaXp6YXJlIHF1YW5kbyBsJ2ltcGxlbWVudGF6aW9uZSBkZWxsJ2lucHV0IG5vbiDDqCBkaXNwb25pYmlsZSBuZWxsYSBsaWJyZXJpYSwgIFxyXG4gKiBmb3JuaXNjZSBsYSBzdHJ1dHR1cmEgc3RhbmRhcmQgZGkgdW4gZm9ybS1jb21wb25lbnQgbWEgbCdpbnB1dCB2ZXJvIGUgcHJvcHJpbyB2aWVuZSBwcm9pZXR0YXRvIGRhbGwnZXN0ZXJub1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJmb3JtLXRlbXBsYXRlXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCJmb3JtLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVRlbXBsYXRlQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGwnaW5wdXQgw6ggb2JibGlnYXRvcmlvIG8gbm8gKi9cclxuICAgIEBJbnB1dCgpIFJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIE1vc3RyYSB1biB0ZXN0byBhIHNpbmlzdHJhIGRlbGwnaW5wdXQsICoqRm9ybUxheW91dCoqIHBlcm1ldHRlbmRvICovXHJcbiAgICBASW5wdXQoKSBMYWJlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKiogRXZlbnR1YWxpIGNsYXNzaSBleHRyYSBkYSBhcHBsaWNhcmUgYWxsYSBMYWJlbCwgZGkgZGVmYXVsdCBjJ8OoIHNvbG8gdW4gbGVnZ2VybyBtYXJnaW4gdG9wICovXHJcbiAgICBASW5wdXQoKSBMYWJlbENsYXNzOiBzdHJpbmcgPSBcIm0tdC01XCI7XHJcblxyXG4gICAgLyoqIFV0aWxpenphIG8gbWVubyBpbCBMYXlvdXQgZGkgdW4gZm9ybSAoTGFiZWwgY29uIGlucHV0IGRpIGZpYW5jbyksIHNlIGZhbHNlIG1vc3RyYSBzb2xvIGwnaW5wdXQgKi9cclxuICAgIEBJbnB1dCgpIEZvcm1MYXlvdXQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBjb2wtbWQtWCBwZXIgbGEgbGFiZWwgKi9cclxuICAgIEBJbnB1dCgpIExhYmVsQ29sV2lkdGg6IG51bWJlciA9IDQ7XHJcblxyXG4gICAgLyoqIGNvbC1tZC1YIHBlciBsJ2lucHV0ICovXHJcbiAgICBASW5wdXQoKSBJbnB1dENvbFdpZHRoOiBudW1iZXIgPSA4O1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2Ugw6ggbCd1bHRpbW8gY29tcG9uZW50ZSBkaSB1biBmb3JtIChzZXJ2ZSBwZXIgcmltdW92ZXJlIGlsIG1hcmdpbmUgZmluYWxlKSAqL1xyXG4gICAgQElucHV0KCkgTGFzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBDbGFzc2UgZXh0cmEgcGVyIGlsIGZvcm0tZ3JvdXAgaW4gY3VpIHZpZW5lIHdyYXBwYXRvIGwnaW5wdXQgKi9cclxuICAgIEBJbnB1dCgpIEZvcm1Hcm91cENsYXNzOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKiBJbmRpY2EgY2hlIGxhIHBhcnRlIGlucHV0IGRlbCBjb250cm9sbG8gZGV2J2Vzc2VyZSB1bmEgbGFiZWwgcmVhZG9ubHkgZSBsYSBwYXJ0ZSBsYWJlbCBkaSB0aXRvbG8gZGV2J2Vzc2VyZSBpbiBib2xkLiBQZXIgdXRpbGl6emFyZSB1biBzb2xvIGNvbXBvbmVudGUgc2lhIHBlciBsYSBtb2RpZmljYSBjaGUgcGVyIGlsIGRldHRhZ2xpbyAqL1xyXG4gICAgQElucHV0KCkgRGlzcGxheU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKiogVGVtcGxhdGUgcGVyIHZpc3VhbGl6emFyZSBsYSBtb2RhbGl0w6AgKipEaXNwbGF5TW9kZSoqIGNvbWUgdnVvbGUgaWwgcHJvZ3JhbW1hdG9yZSBmcm9jaW8gZGkgdHVybm8gKi9cclxuICAgIEBJbnB1dCgpIERpc3BsYXlNb2RlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLyoqIExheW91dCBkZWwgRm9ybSBxdWFuZG8gw6ggaW4gbW9kYWxpdMOgIERpc3BsYXkuIERpIGRlZmF1bHQgbWFudGllbmUgbGEgZm9ybWF0dGF6aW9uZSBhIGZvcm0gKi9cclxuICAgIEBJbnB1dCgpIERpc3BsYXlMYXlvdXQ6ICdmb3JtJyB8ICdpbmxpbmUnIHwgJ2hpZGRlbicgPSAnZm9ybSc7XHJcblxyXG4gICAgLyoqIEluZGljYSBsYSBjb25kaXppb25lIHBlciBjdWkgdW4gZWxlbWVudG8gaW4gTW9kYWxpdMOgIERpc3BsYXkgcHXDsiBlc3NlcmUgdmlzaWJpbGUgaW4gYmFzZSBhIHVsdGVyaW9yaSBjb250cm9sbGkgKi9cclxuICAgIEBJbnB1dCgpIERpc3BsYXlDb25kaXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBQZXJtZXR0ZSBkaSBzZXR0YXJlIGluIHVuYSB2b2x0YSBzb2xvIGdsaSBpbnB1dCBMYWJlbENvbFdpZHRoIGUgSW5wdXRDb2xXaWR0aCwgYmFzdGEgc2NyaXZlcmxvIGNvbiBsYSBzaW50YXNzaSBcIlggWVwiICovXHJcbiAgICBASW5wdXQoKSBzZXQgTGFiZWxJbnB1dFJhdGlvKGlucHV0OiBzdHJpbmcpIHtcclxuICAgICAgICB2YXIgcmF0aW8gPSBpbnB1dC5zcGxpdCgvXFxzLyk7XHJcbiAgICAgICAgdGhpcy5MYWJlbENvbFdpZHRoID0gcGFyc2VJbnQocmF0aW9bMF0pO1xyXG4gICAgICAgIHRoaXMuSW5wdXRDb2xXaWR0aCA9IHBhcnNlSW50KHJhdGlvWzFdKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -23,7 +23,7 @@ export class FormTextareaComponent extends BaseFormControl {
|
|
|
23
23
|
FormTextareaComponent.decorators = [
|
|
24
24
|
{ type: Component, args: [{
|
|
25
25
|
selector: "form-textarea",
|
|
26
|
-
template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || DisplayLayout != 'hidden')\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || DisplayLayout != 'hidden')\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\"> </span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <val-textarea \r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [noValidate]=\"!Validation\" \r\n [submitted]=\"Form?.submitted\" \r\n [forceInvalid]=\"ForcedError\"\r\n [id]=\"GeneratedName\" \r\n [rows]=\"Rows\" \r\n [readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey app-no-resize' : 'app-no-resize'\" \r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\" \r\n autocomplete=\"off\" \r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\" \r\n #validationControl=\"ngModel\" \r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n >\r\n </val-textarea>\r\n</ng-template>",
|
|
26
|
+
template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\"> </span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <val-textarea \r\n [FocusSubject]=\"FocusSubject\" [FieldAppearence]=\"FieldAppearence\"\r\n [noValidate]=\"!Validation\" \r\n [submitted]=\"Form?.submitted\" \r\n [forceInvalid]=\"ForcedError\"\r\n [id]=\"GeneratedName\" \r\n [rows]=\"Rows\" \r\n [readonly]=\"Readonly\"\r\n [class]=\"Readonly ? 'app-bg-lightgrey app-no-resize' : 'app-no-resize'\" \r\n [(ngModel)]=\"Model\"\r\n name=\"{{GeneratedName}}\" \r\n autocomplete=\"off\" \r\n [placeholder]=\"Placeholder\"\r\n [validationFailed]=\"FailedValidationMessage\" \r\n #validationControl=\"ngModel\" \r\n (inputChange)=\"changed();\"\r\n (inputFocus)=\"focused($event);\"\r\n (inputFinalized)=\"finalized()\"\r\n >\r\n </val-textarea>\r\n</ng-template>",
|
|
27
27
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
28
28
|
},] }
|
|
29
29
|
];
|
|
@@ -39,4 +39,4 @@ FormTextareaComponent.ctorParameters = () => [
|
|
|
39
39
|
FormTextareaComponent.propDecorators = {
|
|
40
40
|
Rows: [{ type: Input }]
|
|
41
41
|
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3Jtcy1hbmQtdmFsaWRhdGlvbnMvc3JjL2xpYi9mb3Jtcy9mb3JtLXRleHRhcmVhL2Zvcm0tdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVySCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxrSEFBa0g7QUFNbEgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7SUFLdEQsMkJBQTJCO0lBQzNCLFlBQVksR0FBc0IsRUFBc0IsU0FBb0IsRUFBcUMsV0FBdUIsRUFBYyxFQUF3QixFQUFjLFVBQTRCLEVBQW9DLGFBQWEsRUFBc0MsY0FBd0I7UUFDblUsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxjQUFjO0lBQ2QsVUFBVSxDQUFDLEdBQVE7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUEsR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFFBQVEsT0FBTSxFQUFFLENBQUM7UUFDNUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixLQUFXLENBQUM7OztZQXRCaEMsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixpZ0dBQTJDO2dCQUMzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDs7O1lBZGlDLGlCQUFpQjtZQURMLFNBQVMsdUJBc0JkLFFBQVEsWUFBSSxJQUFJO1lBQXlFLEtBQUssdUJBQXBELFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtZQWYxRyxvQkFBb0IsdUJBZWtILFFBQVE7WUFmeEgsZ0JBQWdCLHVCQWVzSSxRQUFROzRDQUFrQyxRQUFRLFlBQUcsTUFBTSxTQUFDLGFBQWE7MENBQWtCLFFBQVEsWUFBSSxNQUFNLFNBQUMsY0FBYzs7O21CQUg1UyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVksIEZBVl9ERUJVR19NT0RFIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbi8qKiBDb21wb25lbnRlIGNoZSBwcmVzZW50YSB1bmEgY2FzZWxsYSBkaSB0ZXN0byB0aXBpY2FtZW50ZSB1dGlsaXp6YXRhIHBlciBzY3JpdmVyZSBkZWxsZSBub3RlIG8gZGVsIGxvZyBicmV2ZSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tdGV4dGFyZWFcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcImZvcm0tdGV4dGFyZWEuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqIE51bWVybyBkaSByaWdoZSBkYSB2aXN1YWxpenphcmUgZGkgZGVmYXVsdCAqL1xyXG4gICAgQElucHV0KCkgUm93czogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICAqL1xyXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEluamVjdChOR19WQUxJREFUT1JTKSBfdmFsaWRhdG9yczogQXJyYXk8YW55PiwgQE9wdGlvbmFsKCkgYWM6IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlLCBAT3B0aW9uYWwoKSBBcHBDb250ZXh0OiBDb21wb25lbnRDb250ZXh0LCBAT3B0aW9uYWwoKUBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWSwgQE9wdGlvbmFsKCkgQEluamVjdChGQVZfREVCVUdfTU9ERSkgRkFWX0RFQlVHX01PREUgOiBib29sZWFuKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgRkFWX0RFQlVHX01PREUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IG9iaj8udG9TdHJpbmcoKSB8fCBcIlwiO1xyXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
|
|
@@ -79,7 +79,7 @@ export class FormTimeComponent extends BaseFormControl {
|
|
|
79
79
|
FormTimeComponent.decorators = [
|
|
80
80
|
{ type: Component, args: [{
|
|
81
81
|
selector: "form-time",
|
|
82
|
-
template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || DisplayLayout != 'hidden')\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || DisplayLayout != 'hidden')\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\"> </span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <ngx-mat-timepicker name=\"val-time\" #elementRef #baseInput=\"ngModel\" [(ngModel)]=\"Model\" [disabled]=\"Readonly\"\r\n [showSpinners]=\"ShowSpinners\" [stepHour]=\"StepHour\" [stepMinute]=\"StepMinute\" [stepSecond]=\"StepSecond\"\r\n [showSeconds]=\"ShowSeconds\" (ngModelChange)=\"changed()\" #validationControl=\"ngModel\">\r\n </ngx-mat-timepicker>\r\n\r\n</ng-template>",
|
|
82
|
+
template: "<!-- Uguale in tutti i componenti --------------------------------------------------------------------------->\r\n<ng-container *ngIf=\"!FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\">\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">\r\n <ng-container *ngIf=\"DisplayLayout == 'form'\">{{ EvaluatedModel }}</ng-container>\r\n <div *ngIf=\"DisplayLayout == 'inline'\" class=\"app-inline\">{{ EvaluatedModel }}</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n</ng-container>\r\n\r\n<div *ngIf=\"FormLayout && (!DisplayMode || (DisplayLayout != 'hidden' && DisplayCondition))\" class=\"{{FormGroupClass + (Last ? ' app-margin-bottom-0 app-margin-right-0 ' : '') + (DisplayLayout == 'inline' && DisplayMode ? (' app-inline-block ' + (!Last ? 'app-margin-right-10' : '')) : ' form-group row')}}\">\r\n\r\n <label class=\"col-md-{{(DisplayMode && DisplayLayout == 'inline' ? 'none app-bold app-margin-bottom-0' : LabelColWidth) + (DisplayMode ? ' app-bold' : ' m-t-5') }}\">{{Label}}{{Required && !DisplayMode ? '*' : ''}}:</label>\r\n <span *ngIf=\"DisplayMode && DisplayLayout == 'inline'\"> </span>\r\n <div class=\"col-md-{{DisplayMode && DisplayLayout == 'inline' ? 'none app-inline-block' : InputColWidth}}\">\r\n\r\n <ng-container *ngIf=\"DisplayMode && !DisplayModeTemplate\">{{ EvaluatedModel }}</ng-container>\r\n <ng-container *ngIf=\"DisplayMode && DisplayModeTemplate\"><ng-container *ngTemplateOutlet=\"DisplayModeTemplate, context: { $implicit: EvaluatedModel }\"></ng-container></ng-container>\r\n <div [hidden]=\"DisplayMode\"><ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container></div>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n</div>\r\n<!----------------------------------------------------------------------------------------------------------->\r\n\r\n<ng-template #controlTemplate>\r\n <ngx-mat-timepicker name=\"val-time\" #elementRef #baseInput=\"ngModel\" [(ngModel)]=\"Model\" [disabled]=\"Readonly\"\r\n [showSpinners]=\"ShowSpinners\" [stepHour]=\"StepHour\" [stepMinute]=\"StepMinute\" [stepSecond]=\"StepSecond\"\r\n [showSeconds]=\"ShowSeconds\" (ngModelChange)=\"changed()\" #validationControl=\"ngModel\">\r\n </ngx-mat-timepicker>\r\n\r\n</ng-template>",
|
|
83
83
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
84
84
|
},] }
|
|
85
85
|
];
|
|
@@ -100,4 +100,4 @@ FormTimeComponent.propDecorators = {
|
|
|
100
100
|
ShowSeconds: [{ type: Input }],
|
|
101
101
|
InOutFormat: [{ type: Input }]
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm1zLWFuZC12YWxpZGF0aW9ucy9zcmMvbGliL2Zvcm1zL2Zvcm0tdGltZS9mb3JtLXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQXdCLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFakYsV0FBVztBQUNYLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxGLGVBQWU7QUFDZixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVE3QywwREFBMEQ7QUFNMUQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUE0QmxELGNBQWM7SUFDZCxZQUFZLEdBQXNCLEVBQVUsV0FBbUMsRUFBc0IsU0FBb0IsRUFBNkMsV0FBdUIsRUFBRSxFQUF3QixFQUFjLFVBQTRCLEVBQXFDLGFBQXFCO1FBQ3ZULEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQURoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUEzQi9FLDBIQUEwSDtRQUNqSCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUV2Qyw4REFBOEQ7UUFDckQs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QjtZQUVqRSxpQkFBaUI7WUFIb0IsU0FBUyx1QkFxRCtCLFFBQVEsWUFBSSxJQUFJO1lBQWlGLEtBQUssdUJBQTVELFFBQVEsWUFBSSxJQUFJLFlBQUksTUFBTSxTQUFDLGFBQWE7WUEvQy9KLG9CQUFvQjtZQUFFLGdCQUFnQix1QkErQytLLFFBQVE7eUNBQWtDLFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTs7OzJCQTFCblMsS0FBSzt1QkFHTCxLQUFLO3lCQUdMLEtBQUs7eUJBR0wsS0FBSzswQkFHTCxLQUFLOzBCQVdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxJREFUT1JTLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsLCBTZWxmLCBIb3N0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IE5neE1hdERhdGVBZGFwdGVyIH0gZnJvbSBcIkBhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyXCI7XHJcblxyXG4vLyBFc2ZhZW56YVxyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sU2VydmljZSwgQ29tcG9uZW50Q29udGV4dCB9IGZyb20gJ0Blc2ZhZW56YS9hY2Nlc3MtY29udHJvbCc7XHJcblxyXG4vLyBBcHBsaWNhemlvbmVcclxuaW1wb3J0IHsgQmFzZUZvcm1Db250cm9sIH0gZnJvbSBcIi4uL2Jhc2UtZm9ybS1jb250cm9sXCI7XHJcbmltcG9ydCB7IEFDT19DVVNUT01LRVkgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuLyoqXHJcbiAqIERpY2hpYXJhemlvbmUgZGVsbGEgdmFyaWFiaWxlIGdsb2JhbGUgZGF5anMuIEwnb25lcmUgZGkgXCJjcmVhcmxhXCIgw6ggYWZmaWRhdG8gYWxsJ2FwcGxpY2F6aW9uZSBjaGUgdXRpbGl6emEgcXVlc3RhIGxpYnJlcmlhLCBcclxuICogY2hlIGRvdnLDoCBpbXBvcnRhcmUgbG8gc2NyaXB0IGdsb2JhbGUgZGkgZGF5anMgbmVsbGEgQ0xJXHJcbiAqL1xyXG5kZWNsYXJlIHZhciBkYXlqczogYW55O1xyXG5cclxuLyoqIENvbXBvbmVudGUgY2hlIGlkZW50aWZpY2EgbGEgc2VsZXppb25lIGRpIHVuIG9yYXJpbyAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImZvcm0tdGltZVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiZm9ybS10aW1lLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybVRpbWVDb21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybUNvbnRyb2wgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgLyoqIE1vc3RyYSBvIG1lbm8gZ2xpIHNwaW5uZXIgZG92ZSBjbGljY2FyZSBwZXIgYXVtZW50YXJlL2RpbWludWlyZSBsZSBjb21wb25lbnRpIGRlbGwnb3JvbG9naW8gKG9yZSwgbWludXRpIGUgc2Vjb25kaSkgKi9cclxuICAgIEBJbnB1dCgpIFNob3dTcGlubmVyczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbXBvc3RhIGxvIHN0ZXAgKG1pbmltbyBhdmFuemFtZW50bykgcGVyIGxhIGNlbGxhIFwib3JlXCIgKi9cclxuICAgIEBJbnB1dCgpIFN0ZXBIb3VyOiBudW1iZXIgPSAxO1xyXG5cclxuICAgIC8qKiBJbXBvc3RhIGxvIHN0ZXAgKG1pbmltbyBhdmFuemFtZW50bykgcGVyIGxhIGNlbGxhIFwibWludXRpXCIgKi9cclxuICAgIEBJbnB1dCgpIFN0ZXBNaW51dGU6IG51bWJlciA9IDE7XHJcblxyXG4gICAgLyoqIEltcG9zdGEgbG8gc3RlcCAobWluaW1vIGF2YW56YW1lbnRvKSBwZXIgbGEgY2VsbGEgXCJzZWNvbmRpXCIgKi9cclxuICAgIEBJbnB1dCgpIFN0ZXBTZWNvbmQ6IG51bWJlciA9IDU7XHJcblxyXG4gICAgLyoqIEluZGljYSBzZSBtb3N0cmFyZSBpIHNlY29uZGkgbyBtZW5vICovXHJcbiAgICBASW5wdXQoKSBTaG93U2Vjb25kczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIGlsIGZvcm1hdG8gZGEgdXRpbGl6emFyZSBzaWEgaW4gSW5wdXQgY2hlIGluIE91dHB1dFxyXG4gICAgICogXHJcbiAgICAgKiAxLiBTZSBkYXRlIHZlbmdvbm8gdXRpbGl6emF0ZSBsZSBEYXRlIGRpIEphdmFzY3JpcHRcclxuICAgICAqIFxyXG4gICAgICogMi4gU2UgdGltZXN0cmluZyB2ZW5nb25vIHV0aWxpenphdGUgc3RyaW5naGUgZGVsIHRpcG8gJzAwOjAwOjAwJ1xyXG4gICAgICogXHJcbiAgICAgKiAzLiBTZSBkYXlqcyB2aWVuZSB1dGlsaXp6YXRvLCBhcHB1bnRvLCBkYXlqc1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBJbk91dEZvcm1hdDogJ2RhdGUnIHwgJ3RpbWVzdHJpbmcnIHwgJ2RheWpzJyA9ICd0aW1lc3RyaW5nJztcclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IoY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBkYXRlQWRhcHRlcjogTmd4TWF0RGF0ZUFkYXB0ZXI8YW55PiwgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCwgQE9wdGlvbmFsKCkgQEhvc3QoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIF92YWxpZGF0b3JzOiBBcnJheTxhbnk+LCBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIEBPcHRpb25hbCgpIEFwcENvbnRleHQ6IENvbXBvbmVudENvbnRleHQsIEBPcHRpb25hbCgpIEBJbmplY3QoQUNPX0NVU1RPTUtFWSkgQUNPX0NVU1RPTUtFWTogc3RyaW5nKSB7XHJcbiAgICAgICAgc3VwZXIoY2RyLCBuZ0NvbnRyb2wsIF92YWxpZGF0b3JzLCBhYywgQXBwQ29udGV4dCwgQUNPX0NVU1RPTUtFWSwgdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgT3ZlcnJpZGUgcGVyIGdlc3RpcmUgaW5wdXQgaW4gaW5ncmVzc28gKi9cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgLy9RdWFsc2lhc2kgY29zYSBtaSBhcnJpdmkgZGV2byByaWNvbmR1cmxhIGEgdW4gZGF5anNcclxuICAgICAgICBzd2l0Y2ggKHRoaXMuSW5PdXRGb3JtYXQpIHtcclxuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgICAgICBvYmogPSBkYXlqcyhvYmopO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IG9iai5mb3JtYXQoJ0hIOm1tOnNzJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAndGltZXN0cmluZyc6XHJcbiAgICAgICAgICAgICAgICBjb25zdCBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHNdID0gKG9iaiB8fCBcIjAwOjAwOjAwXCIpLnNwbGl0KFwiOlwiKTtcclxuICAgICAgICAgICAgICAgIG9iaiA9IGRheWpzKCkuaG91cihwYXJzZUludChob3VycyA/PyAwKSkubWludXRlKHBhcnNlSW50KG1pbnV0ZXMgPz8gMCkpLnNlY29uZChwYXJzZUludChzZWNvbmRzID8/IDApKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSBgJHtob3VycyB8fCAnMDAnfToke21pbnV0ZXMgfHwgJzAwJ306JHtzZWNvbmRzIHx8ICcwMCd9YDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdkYXlqcyc6XHJcbiAgICAgICAgICAgICAgICBvYmogPSBvYmo7XHJcbiAgICAgICAgICAgICAgICB0aGlzLkV2YWx1YXRlZE1vZGVsID0gb2JqLmZvcm1hdCgnSEg6bW06c3MnKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIE92ZXJyaWRlIHBlciBnZXN0aXJlIGlucHV0IGluIHVzY2l0YSAqL1xyXG4gICAgY2hhbmdlZCgpIHtcclxuICAgICAgICB2YXIgdG9FbWl0ID0gdGhpcy5kYXRlQWRhcHRlci5jbG9uZSh0aGlzLk1vZGVsKTtcclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLkluT3V0Rm9ybWF0KSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICAgICAgdG9FbWl0ID0gdG9FbWl0LnRvRGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRvRW1pdC5mb3JtYXQoJ0hIOm1tOnNzJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAndGltZXN0cmluZyc6XHJcbiAgICAgICAgICAgICAgICB0b0VtaXQgPSB0b0VtaXQuZm9ybWF0KFwiSEg6bW1cIiArICh0aGlzLlNob3dTZWNvbmRzID8gXCI6c3NcIiA6IFwiXCIpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuRXZhbHVhdGVkTW9kZWwgPSB0b0VtaXQ7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnZGF5anMnOlxyXG4gICAgICAgICAgICAgICAgdG9FbWl0ID0gdG9FbWl0O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5FdmFsdWF0ZWRNb2RlbCA9IHRvRW1pdC5mb3JtYXQoJ0hIOm1tOnNzJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN1cGVyLmNoYW5nZWQodG9FbWl0KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgb25Ob3ROdWxsVmFsdWVTZXQoKTogdm9pZCB7IH1cclxufSJdfQ==
|