@mediusinc/mng-commons 0.14.2 → 0.15.1

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.
Files changed (49) hide show
  1. package/esm2020/lib/components/action/action.component.mjs +7 -7
  2. package/esm2020/lib/components/action/editor/action-editor.component.mjs +5 -5
  3. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +21 -3
  4. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +3 -3
  5. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +14 -13
  6. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +5 -4
  7. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +1 -1
  8. package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +15 -44
  9. package/esm2020/lib/descriptors/action-button.descriptor.mjs +60 -0
  10. package/esm2020/lib/descriptors/action.descriptor.mjs +27 -22
  11. package/esm2020/lib/descriptors/column.descriptor.mjs +1 -1
  12. package/esm2020/lib/descriptors/field.descriptor.mjs +12 -2
  13. package/esm2020/lib/descriptors/index.mjs +2 -2
  14. package/esm2020/lib/descriptors/types/action.type.mjs +1 -28
  15. package/esm2020/lib/mng-commons.module.mjs +4 -11
  16. package/esm2020/lib/services/action-executor.service.mjs +23 -20
  17. package/esm2020/lib/styles/button-style.builder.mjs +30 -28
  18. package/esm2020/lib/styles/models/index.mjs +3 -0
  19. package/esm2020/lib/styles/models/style-level.enum.mjs +12 -0
  20. package/esm2020/lib/styles/models/style-size.enum.mjs +9 -0
  21. package/esm2020/lib/styles/styles.util.mjs +9 -8
  22. package/esm2020/public-api.mjs +2 -2
  23. package/fesm2015/mediusinc-mng-commons.mjs +234 -334
  24. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  25. package/fesm2020/mediusinc-mng-commons.mjs +229 -327
  26. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  27. package/lib/components/form/autocomplete/autocomplete.component.d.ts +7 -2
  28. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +7 -19
  29. package/lib/descriptors/action-button.descriptor.d.ts +22 -0
  30. package/lib/descriptors/action.descriptor.d.ts +12 -10
  31. package/lib/descriptors/field.descriptor.d.ts +5 -1
  32. package/lib/descriptors/index.d.ts +1 -1
  33. package/lib/descriptors/types/action.type.d.ts +0 -24
  34. package/lib/mng-commons.module.d.ts +41 -42
  35. package/lib/styles/button-style.builder.d.ts +8 -8
  36. package/lib/styles/models/index.d.ts +2 -0
  37. package/lib/styles/models/style-level.enum.d.ts +10 -0
  38. package/lib/styles/models/style-size.enum.d.ts +7 -0
  39. package/package.json +1 -1
  40. package/public-api.d.ts +1 -1
  41. package/scss/mng-overrides/_theme_autocomplete.scss +16 -0
  42. package/scss/mng-overrides/_theme_styles.scss +1 -0
  43. package/version-info.json +5 -5
  44. package/esm2020/lib/components/button/button.component.mjs +0 -46
  45. package/esm2020/lib/components/button/index.mjs +0 -2
  46. package/esm2020/lib/descriptors/button.descriptor.mjs +0 -111
  47. package/lib/components/button/button.component.d.ts +0 -16
  48. package/lib/components/button/index.d.ts +0 -1
  49. package/lib/descriptors/button.descriptor.d.ts +0 -40
@@ -41,9 +41,9 @@ export class MngFormlyFieldAutocompleteComponent extends FieldType {
41
41
  }
42
42
  }
43
43
  MngFormlyFieldAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngFormlyFieldAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
44
- MngFormlyFieldAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngFormlyFieldAutocompleteComponent, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [className]=\"descriptor.inputClassName\">\n</mng-autocomplete>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "component", type: i3.MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
+ MngFormlyFieldAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngFormlyFieldAutocompleteComponent, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [className]=\"descriptor.inputClassName\"\n [showClear]=\"!to.required\"\n [selectFirst]=\"descriptor.autocompleteSelectFirst\"\n [autoClear]=\"descriptor.autocompleteAutoClear\">\n</mng-autocomplete>\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "component", type: i3.MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName", "showClear", "autoClear", "selectFirst"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngFormlyFieldAutocompleteComponent, decorators: [{
46
46
  type: Component,
47
- args: [{ selector: 'mng-formly-field-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [className]=\"descriptor.inputClassName\">\n</mng-autocomplete>\n" }]
47
+ args: [{ selector: 'mng-formly-field-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"aFormControl\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"$any(descriptor.dataProvider)\"\n [dataKeyProperty]=\"$any(descriptor.dataKeyProperty)\"\n [itemsLabelProperty]=\"$any(descriptor.itemsLabelProperty)\"\n [itemsValueProperty]=\"$any(descriptor.itemsValueProperty)\"\n [className]=\"descriptor.inputClassName\"\n [showClear]=\"!to.required\"\n [selectFirst]=\"descriptor.autocompleteSelectFirst\"\n [autoClear]=\"descriptor.autocompleteAutoClear\">\n</mng-autocomplete>\n" }]
48
48
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1hdXRvY29tcGxldGUvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1hdXRvY29tcGxldGUvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLHVCQUF1QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHbkcsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBZSxvQkFBb0IsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBTzdGLE1BQU0sT0FBTyxtQ0FBdUMsU0FBUSxTQUFTO0lBTHJFOztRQVNZLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztLQW1DOUM7SUFqQ1UsUUFBUTtRQUNYLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXhDLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFBRSxtQ0FBbUMsRUFBRSxJQUFJLEVBQUU7WUFDL0csWUFBWSxFQUFFLGlDQUFpQyxDQUFDLE9BQU87U0FDMUQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLG1DQUFtQyxFQUFFLElBQUksRUFBRTtnQkFDeEcsS0FBSyxFQUFFLENBQUM7YUFDWCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLGtCQUFrQixFQUFFLG1DQUFtQyxFQUFFLElBQUksRUFBRTtZQUMvRyxZQUFZLEVBQUUsaUNBQWlDLENBQUMsWUFBWTtTQUMvRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLGtEQUFrRDtRQUVsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRXpELHVCQUF1QjtRQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFBRSxtQ0FBbUMsRUFBRSxJQUFJLEVBQUU7WUFDaEgsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLFVBQVU7U0FDN0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0lBdENRLG1DQUFtQztvSEFBbkMsbUNBQW1DLDRGQ2ZoRCw4YUFVQTsyRkRLYSxtQ0FBbUM7a0JBTC9DLFNBQVM7K0JBQ0ksK0JBQStCLG1CQUV4Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7RmllbGRUeXBlfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9uLCBkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0ZpZWxkTG9va3VwRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtNbmdGb3JtRmllbGRFdmVudENvbXBvbmVudFN1YnR5cGUsIE1uZ0Zvcm1GaWVsZEV2ZW50VHlwZUVudW19IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS1maWVsZC1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtbHktZmllbGQtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudDxUPiBleHRlbmRzIEZpZWxkVHlwZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgYUZvcm1Db250cm9sITogRm9ybUNvbnRyb2w7XG4gICAgcHVibGljIGRlc2NyaXB0b3IhOiBGaWVsZExvb2t1cERlc2NyaXB0b3I8VCwgYW55PjtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sIGFzIEZvcm1Db250cm9sO1xuICAgICAgICB0aGlzLmRlc2NyaXB0b3IgPSB0aGlzLnRvWydkZXNjcmlwdG9yJ107XG5cbiAgICAgICAgLy8gZW1pdCBsaWZlY3ljbGUgZXZlbnRcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yLm5leHRFdmVudChNbmdGb3JtRmllbGRFdmVudFR5cGVFbnVtLkNvbXBvbmVudExpZmVjeWNsZSwgTW5nRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQsIHRoaXMsIHtcbiAgICAgICAgICAgIGV2ZW50U3VidHlwZTogTW5nRm9ybUZpZWxkRXZlbnRDb21wb25lbnRTdWJ0eXBlLk9OX0lOSVRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5hRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdG9yLm5leHRFdmVudChNbmdGb3JtRmllbGRFdmVudFR5cGVFbnVtLlZhbHVlQ2hhbmdlLCBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgdGhpcywge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB2XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yLm5leHRFdmVudChNbmdGb3JtRmllbGRFdmVudFR5cGVFbnVtLkNvbXBvbmVudExpZmVjeWNsZSwgTW5nRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQsIHRoaXMsIHtcbiAgICAgICAgICAgIGV2ZW50U3VidHlwZTogTW5nRm9ybUZpZWxkRXZlbnRDb21wb25lbnRTdWJ0eXBlLk9OX1ZJRVdfSU5JVFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIHdhcm5pbmc6IGZvcm1seSBjYWxscyBvbiBkZXN0cm95IGJlZm9yZSBvbiBpbml0XG5cbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2godmFsdWUgPT4gdmFsdWUudW5zdWJzY3JpYmUoKSk7XG5cbiAgICAgICAgLy8gZW1pdCBsaWZlY3ljbGUgZXZlbnRcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yPy5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5Db21wb25lbnRMaWZlY3ljbGUsIE1uZ0Zvcm1seUZpZWxkQXV0b2NvbXBsZXRlQ29tcG9uZW50LCB0aGlzLCB7XG4gICAgICAgICAgICBldmVudFN1YnR5cGU6IE1uZ0Zvcm1GaWVsZEV2ZW50Q29tcG9uZW50U3VidHlwZS5PTl9ERVNUUk9ZXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxtbmctYXV0b2NvbXBsZXRlXG4gICAgW2lkXT1cIiRhbnkoa2V5KVwiXG4gICAgW2Zvcm1Db250cm9sXT1cImFGb3JtQ29udHJvbFwiXG4gICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgIFtkYXRhUHJvdmlkZXJdPVwiJGFueShkZXNjcmlwdG9yLmRhdGFQcm92aWRlcilcIlxuICAgIFtkYXRhS2V5UHJvcGVydHldPVwiJGFueShkZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eSlcIlxuICAgIFtpdGVtc0xhYmVsUHJvcGVydHldPVwiJGFueShkZXNjcmlwdG9yLml0ZW1zTGFiZWxQcm9wZXJ0eSlcIlxuICAgIFtpdGVtc1ZhbHVlUHJvcGVydHldPVwiJGFueShkZXNjcmlwdG9yLml0ZW1zVmFsdWVQcm9wZXJ0eSlcIlxuICAgIFtjbGFzc05hbWVdPVwiZGVzY3JpcHRvci5pbnB1dENsYXNzTmFtZVwiPlxuPC9tbmctYXV0b2NvbXBsZXRlPlxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1hdXRvY29tcGxldGUvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1hdXRvY29tcGxldGUvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLHVCQUF1QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHbkcsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBZSxvQkFBb0IsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHekMsT0FBTyxFQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBTzdGLE1BQU0sT0FBTyxtQ0FBdUMsU0FBUSxTQUFTO0lBTHJFOztRQVNZLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztLQW1DOUM7SUFqQ1UsUUFBUTtRQUNYLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQTBCLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXhDLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFBRSxtQ0FBbUMsRUFBRSxJQUFJLEVBQUU7WUFDL0csWUFBWSxFQUFFLGlDQUFpQyxDQUFDLE9BQU87U0FDMUQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDL0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLG1DQUFtQyxFQUFFLElBQUksRUFBRTtnQkFDeEcsS0FBSyxFQUFFLENBQUM7YUFDWCxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLGtCQUFrQixFQUFFLG1DQUFtQyxFQUFFLElBQUksRUFBRTtZQUMvRyxZQUFZLEVBQUUsaUNBQWlDLENBQUMsWUFBWTtTQUMvRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLGtEQUFrRDtRQUVsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRXpELHVCQUF1QjtRQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFBRSxtQ0FBbUMsRUFBRSxJQUFJLEVBQUU7WUFDaEgsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLFVBQVU7U0FDN0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7Z0lBdENRLG1DQUFtQztvSEFBbkMsbUNBQW1DLDRGQ2ZoRCxna0JBYUE7MkZERWEsbUNBQW1DO2tCQUwvQyxTQUFTOytCQUNJLCtCQUErQixtQkFFeEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0ZpZWxkVHlwZX0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWR9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtGaWVsZExvb2t1cERlc2NyaXB0b3J9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7TW5nRm9ybUZpZWxkRXZlbnRDb21wb25lbnRTdWJ0eXBlLCBNbmdGb3JtRmllbGRFdmVudFR5cGVFbnVtfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy1mb3JtbHktZmllbGQtYXV0b2NvbXBsZXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQ8VD4gZXh0ZW5kcyBGaWVsZFR5cGUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGFGb3JtQ29udHJvbCE6IEZvcm1Db250cm9sO1xuICAgIHB1YmxpYyBkZXNjcmlwdG9yITogRmllbGRMb29rdXBEZXNjcmlwdG9yPFQsIGFueT47XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuYUZvcm1Db250cm9sID0gdGhpcy5mb3JtQ29udHJvbCBhcyBGb3JtQ29udHJvbDtcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yID0gdGhpcy50b1snZGVzY3JpcHRvciddO1xuXG4gICAgICAgIC8vIGVtaXQgbGlmZWN5Y2xlIGV2ZW50XG4gICAgICAgIHRoaXMuZGVzY3JpcHRvci5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5Db21wb25lbnRMaWZlY3ljbGUsIE1uZ0Zvcm1seUZpZWxkQXV0b2NvbXBsZXRlQ29tcG9uZW50LCB0aGlzLCB7XG4gICAgICAgICAgICBldmVudFN1YnR5cGU6IE1uZ0Zvcm1GaWVsZEV2ZW50Q29tcG9uZW50U3VidHlwZS5PTl9JTklUXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuYUZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmZvcm1Db250cm9sIS52YWx1ZSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSh2ID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRvci5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5WYWx1ZUNoYW5nZSwgTW5nRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQsIHRoaXMsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRvci5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5Db21wb25lbnRMaWZlY3ljbGUsIE1uZ0Zvcm1seUZpZWxkQXV0b2NvbXBsZXRlQ29tcG9uZW50LCB0aGlzLCB7XG4gICAgICAgICAgICBldmVudFN1YnR5cGU6IE1uZ0Zvcm1GaWVsZEV2ZW50Q29tcG9uZW50U3VidHlwZS5PTl9WSUVXX0lOSVRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyB3YXJuaW5nOiBmb3JtbHkgY2FsbHMgb24gZGVzdHJveSBiZWZvcmUgb24gaW5pdFxuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHZhbHVlID0+IHZhbHVlLnVuc3Vic2NyaWJlKCkpO1xuXG4gICAgICAgIC8vIGVtaXQgbGlmZWN5Y2xlIGV2ZW50XG4gICAgICAgIHRoaXMuZGVzY3JpcHRvcj8ubmV4dEV2ZW50KE1uZ0Zvcm1GaWVsZEV2ZW50VHlwZUVudW0uQ29tcG9uZW50TGlmZWN5Y2xlLCBNbmdGb3JtbHlGaWVsZEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgdGhpcywge1xuICAgICAgICAgICAgZXZlbnRTdWJ0eXBlOiBNbmdGb3JtRmllbGRFdmVudENvbXBvbmVudFN1YnR5cGUuT05fREVTVFJPWVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8bW5nLWF1dG9jb21wbGV0ZVxuICAgIFtpZF09XCIkYW55KGtleSlcIlxuICAgIFtmb3JtQ29udHJvbF09XCJhRm9ybUNvbnRyb2xcIlxuICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICBbZGF0YVByb3ZpZGVyXT1cIiRhbnkoZGVzY3JpcHRvci5kYXRhUHJvdmlkZXIpXCJcbiAgICBbZGF0YUtleVByb3BlcnR5XT1cIiRhbnkoZGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHkpXCJcbiAgICBbaXRlbXNMYWJlbFByb3BlcnR5XT1cIiRhbnkoZGVzY3JpcHRvci5pdGVtc0xhYmVsUHJvcGVydHkpXCJcbiAgICBbaXRlbXNWYWx1ZVByb3BlcnR5XT1cIiRhbnkoZGVzY3JpcHRvci5pdGVtc1ZhbHVlUHJvcGVydHkpXCJcbiAgICBbY2xhc3NOYW1lXT1cImRlc2NyaXB0b3IuaW5wdXRDbGFzc05hbWVcIlxuICAgIFtzaG93Q2xlYXJdPVwiIXRvLnJlcXVpcmVkXCJcbiAgICBbc2VsZWN0Rmlyc3RdPVwiZGVzY3JpcHRvci5hdXRvY29tcGxldGVTZWxlY3RGaXJzdFwiXG4gICAgW2F1dG9DbGVhcl09XCJkZXNjcmlwdG9yLmF1dG9jb21wbGV0ZUF1dG9DbGVhclwiPlxuPC9tbmctYXV0b2NvbXBsZXRlPlxuIl19
@@ -2,9 +2,10 @@ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import { FieldType } from '@ngx-formly/core';
3
3
  import { BehaviorSubject, ReplaySubject, distinctUntilChanged, of, throwError } from 'rxjs';
4
4
  import { map, startWith } from 'rxjs/operators';
5
- import { ActionDescriptor, ActionEditorDescriptor, ActionEditorSubmitDescriptor, ButtonDescriptor } from '../../../../../descriptors';
6
- import { ActionEditorDialogSizeEnum, ActionEditorSubmitTypeEnum, ActionLevelEnum, ActionPositionEnum, ActionSizeEnum, FieldManyEditorActionEnum } from '../../../../../descriptors/types';
5
+ import { ActionButtonDescriptor, ActionDescriptor, ActionEditorDescriptor, ActionEditorSubmitDescriptor } from '../../../../../descriptors';
6
+ import { ActionEditorSubmitTypeEnum, ActionPositionEnum, FieldManyEditorActionEnum } from '../../../../../descriptors/types';
7
7
  import { ButtonStyleBuilder } from '../../../../../styles';
8
+ import { StyleLevelEnum, StyleSizeEnum } from '../../../../../styles/models';
8
9
  import { MngFormFieldEventComponentSubtype, MngFormFieldEventTypeEnum } from '../../../models';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "../../../../../services";
@@ -35,17 +36,17 @@ export class MngFormlyFieldTableDialogFormComponent extends FieldType {
35
36
  const viewAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.viewEditor, 'details', this.descriptor.editor.model.type, this.descriptor.property)
36
37
  .withPosition(ActionPositionEnum.RowClick)
37
38
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
38
- .withDialogSize(ActionEditorDialogSizeEnum.Small);
39
+ .withDialogSize(StyleSizeEnum.Small);
39
40
  viewAction.withEditorActions([new ActionEditorSubmitDescriptor(viewAction, ActionEditorSubmitTypeEnum.Cancel)]);
40
- viewAction.buttonDescriptor.withLabel(null);
41
+ viewAction.button.withLabel(null);
41
42
  this.actions.push(viewAction);
42
43
  }
43
44
  if (hasAddAction) {
44
45
  const addAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.addEditor, 'add', this.descriptor.editor.model.type, this.descriptor.property)
45
46
  .withPosition(ActionPositionEnum.ToolbarRight)
46
47
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
47
- .withDialogSize(ActionEditorDialogSizeEnum.Small)
48
- .withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(ActionSizeEnum.ExtraSmall)))
48
+ .withDialogSize(StyleSizeEnum.Small)
49
+ .withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(StyleSizeEnum.ExtraSmall)))
49
50
  .withSubmitFunction(ctx => {
50
51
  if (!ctx.parameters.item) {
51
52
  return throwError(() => new Error(`No item was provided in context, edit cannot be done.`));
@@ -58,15 +59,15 @@ export class MngFormlyFieldTableDialogFormComponent extends FieldType {
58
59
  })
59
60
  .withIsVisibleFunction(() => of(!this.options?.formState.disabled))
60
61
  .withIsEnabledFunction(() => this.isEnabled$);
61
- addAction.buttonDescriptor.withLabel(null).withIcon('pi pi-plus');
62
+ addAction.button.withLabel(null).withIcon('pi pi-plus');
62
63
  this.actions.push(addAction);
63
64
  }
64
65
  if (hasEditAction) {
65
66
  const editAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.editEditor, 'edit', this.descriptor.editor.model.type, this.descriptor.property)
66
67
  .withPosition(ActionPositionEnum.RowInline)
67
68
  .withDialogClassName('mng-field-dialog mng-action-editor-dialog')
68
- .withDialogSize(ActionEditorDialogSizeEnum.Small)
69
- .withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(ActionSizeEnum.ExtraSmall)))
69
+ .withDialogSize(StyleSizeEnum.Small)
70
+ .withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder().withSize(StyleSizeEnum.ExtraSmall)))
70
71
  .withSubmitFunction(ctx => {
71
72
  if (!ctx.parameters.item) {
72
73
  return throwError(() => new Error(`No item was provided in context, edit cannot be done.`));
@@ -79,13 +80,13 @@ export class MngFormlyFieldTableDialogFormComponent extends FieldType {
79
80
  })
80
81
  .withIsVisibleFunction(() => of(!this.formControl?.disabled))
81
82
  .withIsEnabledFunction(() => this.isEnabled$);
82
- editAction.buttonDescriptor.withLabel(null).withIcon('pi pi-pencil');
83
+ editAction.button.withLabel(null).withIcon('pi pi-pencil');
83
84
  this.actions.push(editAction);
84
85
  }
85
86
  if (hasDeleteAction) {
86
87
  const deleteAction = new ActionDescriptor(this.descriptor.tableviewDescriptor.model, 'delete', this.descriptor.editor.model.type, this.descriptor.property)
87
88
  .withPosition(ActionPositionEnum.RowInline)
88
- .withButtonDescriptor(new ButtonDescriptor().withStyleClass(new ButtonStyleBuilder(ActionLevelEnum.Danger).withSize(ActionSizeEnum.ExtraSmall)))
89
+ .withButtonDescriptor(new ActionButtonDescriptor().withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Danger).withSize(StyleSizeEnum.ExtraSmall)))
89
90
  .withRunFunction(ctx => {
90
91
  if (!ctx.parameters.item) {
91
92
  return throwError(() => new Error(`No item was provided in context, delete cannot be done.`));
@@ -110,7 +111,7 @@ export class MngFormlyFieldTableDialogFormComponent extends FieldType {
110
111
  })
111
112
  .withIsVisibleFunction(() => of(!this.options?.formState.disabled))
112
113
  .withIsEnabledFunction(() => this.isEnabled$);
113
- deleteAction.buttonDescriptor.withLabel(null).withIcon('pi pi-trash');
114
+ deleteAction.button.withLabel(null).withIcon('pi pi-trash');
114
115
  this.actions.push(deleteAction);
115
116
  }
116
117
  this.actions.push(...this.descriptor.actions);
@@ -168,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
168
169
  type: Component,
169
170
  args: [{ selector: 'mng-formly-table-dialog-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\" [actions]=\"actions\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end align-items-center table-header\">\n <label class=\"mng-datatable-form-label p-0 m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarRightActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"] }]
170
171
  }], ctorParameters: function () { return [{ type: i1.MngActionExecutorService }]; } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS9mb3JtbHktZmllbGQtdGFibGUtZGlhbG9nLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQix1QkFBdUIsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFjLGFBQWEsRUFBeUIsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3SCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFBRSxnQkFBZ0IsRUFBNEIsTUFBTSw0QkFBNEIsQ0FBQztBQUMvSixPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCx5QkFBeUIsRUFDNUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsaUNBQWlDLEVBQUUseUJBQXlCLEVB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RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLGtEQUFrRDtRQUVsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRWpELHVCQUF1QjtRQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFBRSxzQ0FBc0MsRUFBRSxJQUFJLEVBQUU7WUFDbkgsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLFVBQVU7U0FDN0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUlBcEtRLHNDQUFzQzt1SEFBdEMsc0NBQXNDLGlHQ3pCbkQsa2xCQVFBOzJGRGlCYSxzQ0FBc0M7a0JBTmxELFNBQVM7K0JBQ0ksb0NBQW9DLG1CQUc3Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7RmllbGRUeXBlfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBvZiwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWN0aW9uRGVzY3JpcHRvciwgQWN0aW9uRWRpdG9yRGVzY3JpcHRvciwgQWN0aW9uRWRpdG9yU3VibWl0RGVzY3JpcHRvciwgQnV0dG9uRGVzY3JpcHRvciwgRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtcbiAgICBBY3Rpb25FZGl0b3JEaWFsb2dTaXplRW51bSxcbiAgICBBY3Rpb25FZGl0b3JTdWJtaXRUeXBlRW51bSxcbiAgICBBY3Rpb25MZXZlbEVudW0sXG4gICAgQWN0aW9uUG9zaXRpb25FbnVtLFxuICAgIEFjdGlvblNpemVFbnVtLFxuICAgIEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW1cbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuaW1wb3J0IHtNbmdBY3Rpb25FeGVjdXRvclNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7QnV0dG9uU3R5bGVCdWlsZGVyfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zdHlsZXMnO1xuaW1wb3J0IHtNbmdGb3JtRmllbGRFdmVudENvbXBvbmVudFN1YnR5cGUsIE1uZ0Zvcm1GaWVsZEV2ZW50VHlwZUVudW19IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS10YWJsZS1kaWFsb2ctZm9ybS1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQ8VCwgRVQ+IGV4dGVuZHMgRmllbGRUeXBlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBkZXNjcmlwdG9yITogRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcjxULCBFVD47XG5cbiAgICBwdWJsaWMgaXRlbXNTdWJqZWN0OiBTdWJqZWN0PEFycmF5PFQ+PiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHB1YmxpYyBpdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8VD4+ID0gdGhpcy5pdGVtc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwdWJsaWMgYWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4gPSBbXTtcbiAgICBwdWJsaWMgdG9vbGJhclJpZ2h0QWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4gPSBbXTtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgICBwcml2YXRlIGlzRGlzYWJsZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBpc0VuYWJsZWQkID0gdGhpcy5pc0Rpc2FibGVkU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBtYXAoZSA9PiAhZSlcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25FeGVjdXRvcjogTW5nQWN0aW9uRXhlY3V0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRlc2NyaXB0b3IgPSB0aGlzLnRvWydkZXNjcmlwdG9yJ107XG4gICAgICAgIGNvbnN0IGhhc1ZpZXdBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLlZpZXcpO1xuICAgICAgICBjb25zdCBoYXNBZGRBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLkFkZCk7XG4gICAgICAgIGNvbnN0IGhhc0VkaXRBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLkVkaXQpO1xuICAgICAgICBjb25zdCBoYXNEZWxldGVBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLkRlbGV0ZSk7XG5cbiAgICAgICAgaWYgKGhhc1ZpZXdBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdBY3Rpb24gPSBuZXcgQWN0aW9uRWRpdG9yRGVzY3JpcHRvcih0aGlzLmRlc2NyaXB0b3IudGFibGV2aWV3RGVzY3JpcHRvci52aWV3RWRpdG9yLCAnZGV0YWlscycsIHRoaXMuZGVzY3JpcHRvci5lZGl0b3IubW9kZWwudHlwZSwgdGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5KVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlJvd0NsaWNrKVxuICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgLndpdGhEaWFsb2dTaXplKEFjdGlvbkVkaXRvckRpYWxvZ1NpemVFbnVtLlNtYWxsKTtcbiAgICAgICAgICAgIHZpZXdBY3Rpb24ud2l0aEVkaXRvckFjdGlvbnMoW25ldyBBY3Rpb25FZGl0b3JTdWJtaXREZXNjcmlwdG9yKHZpZXdBY3Rpb24sIEFjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLkNhbmNlbCldKTtcbiAgICAgICAgICAgIHZpZXdBY3Rpb24uYnV0dG9uRGVzY3JpcHRvci53aXRoTGFiZWwobnVsbCk7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnMucHVzaCh2aWV3QWN0aW9uIGFzIEFjdGlvbkRlc2NyaXB0b3I8VD4pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0FkZEFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgYWRkQWN0aW9uID0gbmV3IEFjdGlvbkVkaXRvckRlc2NyaXB0b3IodGhpcy5kZXNjcmlwdG9yLnRhYmxldmlld0Rlc2NyaXB0b3IuYWRkRWRpdG9yLCAnYWRkJywgdGhpcy5kZXNjcmlwdG9yLmVkaXRvci5tb2RlbC50eXBlLCB0aGlzLmRlc2NyaXB0b3IucHJvcGVydHkpXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhclJpZ2h0KVxuICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgLndpdGhEaWFsb2dTaXplKEFjdGlvbkVkaXRvckRpYWxvZ1NpemVFbnVtLlNtYWxsKVxuICAgICAgICAgICAgICAgIC53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQnV0dG9uRGVzY3JpcHRvcigpLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoKS53aXRoU2l6ZShBY3Rpb25TaXplRW51bS5FeHRyYVNtYWxsKSkpXG4gICAgICAgICAgICAgICAgLndpdGhTdWJtaXRGdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWN0eC5wYXJhbWV0ZXJzLml0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgTm8gaXRlbSB3YXMgcHJvdmlkZWQgaW4gY29udGV4dCwgZWRpdCBjYW5ub3QgYmUgZG9uZS5gKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtU3RhdGUuc3VibWl0dGVkT24gPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmZvcm1Db250cm9sIS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBbLi4udmFsdWUsIGN0eC5wYXJhbWV0ZXJzLml0ZW1dO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sIS5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGN0eC5wYXJhbWV0ZXJzLml0ZW0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLndpdGhJc1Zpc2libGVGdW5jdGlvbigoKSA9PiBvZighdGhpcy5vcHRpb25zPy5mb3JtU3RhdGUuZGlzYWJsZWQpKVxuICAgICAgICAgICAgICAgIC53aXRoSXNFbmFibGVkRnVuY3Rpb24oKCkgPT4gdGhpcy5pc0VuYWJsZWQkKTtcbiAgICAgICAgICAgIGFkZEFjdGlvbi5idXR0b25EZXNjcmlwdG9yLndpdGhMYWJlbChudWxsKS53aXRoSWNvbigncGkgcGktcGx1cycpO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnB1c2goYWRkQWN0aW9uIGFzIEFjdGlvbkRlc2NyaXB0b3I8VD4pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNFZGl0QWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBlZGl0QWN0aW9uID0gbmV3IEFjdGlvbkVkaXRvckRlc2NyaXB0b3IodGhpcy5kZXNjcmlwdG9yLnRhYmxldmlld0Rlc2NyaXB0b3IuZWRpdEVkaXRvciwgJ2VkaXQnLCB0aGlzLmRlc2NyaXB0b3IuZWRpdG9yLm1vZGVsLnR5cGUsIHRoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eSlcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Sb3dJbmxpbmUpXG4gICAgICAgICAgICAgICAgLndpdGhEaWFsb2dDbGFzc05hbWUoJ21uZy1maWVsZC1kaWFsb2cgbW5nLWFjdGlvbi1lZGl0b3ItZGlhbG9nJylcbiAgICAgICAgICAgICAgICAud2l0aERpYWxvZ1NpemUoQWN0aW9uRWRpdG9yRGlhbG9nU2l6ZUVudW0uU21hbGwpXG4gICAgICAgICAgICAgICAgLndpdGhCdXR0b25EZXNjcmlwdG9yKG5ldyBCdXR0b25EZXNjcmlwdG9yKCkud2l0aFN0eWxlQ2xhc3MobmV3IEJ1dHRvblN0eWxlQnVpbGRlcigpLndpdGhTaXplKEFjdGlvblNpemVFbnVtLkV4dHJhU21hbGwpKSlcbiAgICAgICAgICAgICAgICAud2l0aFN1Ym1pdEZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY3R4LnBhcmFtZXRlcnMuaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBObyBpdGVtIHdhcyBwcm92aWRlZCBpbiBjb250ZXh0LCBlZGl0IGNhbm5vdCBiZSBkb25lLmApKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1TdGF0ZS5zdWJtaXR0ZWRPbiA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sVmFsdWUgPSB0aGlzLmZvcm1Db250cm9sIS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xWYWx1ZVtjdHgucGFyYW1ldGVycy5hY3Rpb25EYXRhPy5bJ2l0ZW1JbmRleCddXSA9IGN0eC5wYXJhbWV0ZXJzLml0ZW07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2whLnBhdGNoVmFsdWUoZm9ybUNvbnRyb2xWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihjdHgucGFyYW1ldGVycy5pdGVtKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC53aXRoSXNWaXNpYmxlRnVuY3Rpb24oKCkgPT4gb2YoIXRoaXMuZm9ybUNvbnRyb2w/LmRpc2FibGVkKSlcbiAgICAgICAgICAgICAgICAud2l0aElzRW5hYmxlZEZ1bmN0aW9uKCgpID0+IHRoaXMuaXNFbmFibGVkJCk7XG4gICAgICAgICAgICBlZGl0QWN0aW9uLmJ1dHRvbkRlc2NyaXB0b3Iud2l0aExhYmVsKG51bGwpLndpdGhJY29uKCdwaSBwaS1wZW5jaWwnKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9ucy5wdXNoKGVkaXRBY3Rpb24gYXMgQWN0aW9uRGVzY3JpcHRvcjxUPik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc0RlbGV0ZUFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgZGVsZXRlQWN0aW9uID0gbmV3IEFjdGlvbkRlc2NyaXB0b3IodGhpcy5kZXNjcmlwdG9yLnRhYmxldmlld0Rlc2NyaXB0b3IubW9kZWwsICdkZWxldGUnLCB0aGlzLmRlc2NyaXB0b3IuZWRpdG9yLm1vZGVsLnR5cGUsIHRoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eSlcbiAgICAgICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Sb3dJbmxpbmUpXG4gICAgICAgICAgICAgICAgLndpdGhCdXR0b25EZXNjcmlwdG9yKG5ldyBCdXR0b25EZXNjcmlwdG9yKCkud2l0aFN0eWxlQ2xhc3MobmV3IEJ1dHRvblN0eWxlQnVpbGRlcihBY3Rpb25MZXZlbEVudW0uRGFuZ2VyKS53aXRoU2l6ZShBY3Rpb25TaXplRW51bS5FeHRyYVNtYWxsKSkpXG4gICAgICAgICAgICAgICAgLndpdGhSdW5GdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWN0eC5wYXJhbWV0ZXJzLml0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihgTm8gaXRlbSB3YXMgcHJvdmlkZWQgaW4gY29udGV4dCwgZGVsZXRlIGNhbm5vdCBiZSBkb25lLmApKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBsZXQgZm9ybUNvbnRyb2xWYWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlIGFzIEFycmF5PFQ+O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wYXJlUHJvcGVydHkgPSB0aGlzLmRlc2NyaXB0b3IudGFibGVEZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmRlc2NyaXB0b3IudGFibGVEZXNjcmlwdG9yLmRhdGFLZXlQcm9wZXJ0eVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmRlc2NyaXB0b3IudGFibGVEZXNjcmlwdG9yLm1vZGVsLmlkUHJvcGVydHlOYW1lO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjdHhJdGVtOiBhbnkgPSBjdHgucGFyYW1ldGVycy5pdGVtO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY29tcGFyZVByb3BlcnR5ICYmIGN0eEl0ZW0/Lltjb21wYXJlUHJvcGVydHldKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbFZhbHVlID0gZm9ybUNvbnRyb2xWYWx1ZS5maWx0ZXIoKGk6IGFueSkgPT4gaVtjb21wYXJlUHJvcGVydHldICE9PSBjdHhJdGVtW2NvbXBhcmVQcm9wZXJ0eV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCEucGF0Y2hWYWx1ZShmb3JtQ29udHJvbFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY3R4LnBhcmFtZXRlcnMuYWN0aW9uRGF0YT8uWydpdGVtSW5kZXgnXSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sVmFsdWUuc3BsaWNlKGN0eC5wYXJhbWV0ZXJzLmFjdGlvbkRhdGFbJ2l0ZW1JbmRleCddLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2whLnBhdGNoVmFsdWUoWy4uLmZvcm1Db250cm9sVmFsdWVdKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignQ2Fubm90IGNvbXBhcmUgaXRlbXMsIHBsZWFzZSBwcm92aWRlIG1haW4gdGFibGUgZGF0YSBrZXkgcHJvcGVydHkgb3IgbW9kZWwgaWQgcHJvcGVydHkuJykpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihjdHhJdGVtKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC53aXRoSXNWaXNpYmxlRnVuY3Rpb24oKCkgPT4gb2YoIXRoaXMub3B0aW9ucz8uZm9ybVN0YXRlLmRpc2FibGVkKSlcbiAgICAgICAgICAgICAgICAud2l0aElzRW5hYmxlZEZ1bmN0aW9uKCgpID0+IHRoaXMuaXNFbmFibGVkJCk7XG4gICAgICAgICAgICBkZWxldGVBY3Rpb24uYnV0dG9uRGVzY3JpcHRvci53aXRoTGFiZWwobnVsbCkud2l0aEljb24oJ3BpIHBpLXRyYXNoJyk7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnMucHVzaChkZWxldGVBY3Rpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3Rpb25zLnB1c2goLi4udGhpcy5kZXNjcmlwdG9yLmFjdGlvbnMpO1xuICAgICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiB0aGlzLmFjdGlvbnMpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoYWN0aW9uLnBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhclJpZ2h0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJSaWdodEFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluaXQgdmFsdWVzXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mb3JtQ29udHJvbCEudmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sIS5wYXRjaFZhbHVlKFtdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGVtaXQgbGlmZWN5Y2xlIGV2ZW50XG4gICAgICAgIHRoaXMuZGVzY3JpcHRvci5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5Db21wb25lbnRMaWZlY3ljbGUsIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LCB0aGlzLCB7XG4gICAgICAgICAgICBldmVudFN1YnR5cGU6IE1uZ0Zvcm1GaWVsZEV2ZW50Q29tcG9uZW50U3VidHlwZS5PTl9JTklUXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxldCBzdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Db250cm9sIS52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5mb3JtQ29udHJvbCEudmFsdWUpKS5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zU3ViamVjdC5uZXh0KHYpO1xuXG4gICAgICAgICAgICAvLyBlbWl0IGxpZmVjeWNsZSBldmVudFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdG9yLm5leHRFdmVudChNbmdGb3JtRmllbGRFdmVudFR5cGVFbnVtLlZhbHVlQ2hhbmdlLCBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nRm9ybUNvbXBvbmVudCwgdGhpcywge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB2XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG5cbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkU3ViamVjdC5uZXh0KHRoaXMuZm9ybUNvbnRyb2whLmRpc2FibGVkKTtcbiAgICAgICAgc3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ29udHJvbCEuc3RhdHVzQ2hhbmdlcy5waXBlKCkuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSAnRElTQUJMRUQnICYmICF0aGlzLmlzRGlzYWJsZWRTdWJqZWN0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzdGF0dXMgIT09ICdESVNBQkxFRCcgJiYgdGhpcy5pc0Rpc2FibGVkU3ViamVjdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZFN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRvci5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5Db21wb25lbnRMaWZlY3ljbGUsIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LCB0aGlzLCB7XG4gICAgICAgICAgICBldmVudFN1YnR5cGU6IE1uZ0Zvcm1GaWVsZEV2ZW50Q29tcG9uZW50U3VidHlwZS5PTl9WSUVXX0lOSVRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyB3YXJuaW5nOiBmb3JtbHkgY2FsbHMgb24gZGVzdHJveSBiZWZvcmUgb24gaW5pdFxuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcblxuICAgICAgICAvLyBlbWl0IGxpZmVjeWNsZSBldmVudFxuICAgICAgICB0aGlzLmRlc2NyaXB0b3I/Lm5leHRFdmVudChNbmdGb3JtRmllbGRFdmVudFR5cGVFbnVtLkNvbXBvbmVudExpZmVjeWNsZSwgTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsIHRoaXMsIHtcbiAgICAgICAgICAgIGV2ZW50U3VidHlwZTogTW5nRm9ybUZpZWxkRXZlbnRDb21wb25lbnRTdWJ0eXBlLk9OX0RFU1RST1lcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG1uZy10YWJsZSBbZGVzY3JpcHRvcl09XCJkZXNjcmlwdG9yLnRhYmxlRGVzY3JpcHRvclwiIFtpdGVtc109XCJpdGVtcyRcIiBbYWN0aW9uc109XCJhY3Rpb25zXCI+XG4gICAgPG5nLXRlbXBsYXRlIG1uZ1RlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBtZDpqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlciB0YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1uZy1kYXRhdGFibGUtZm9ybS1sYWJlbCBwLTAgbS0wXCIgW2Zvcl09XCJrZXlcIj57eyB0bz8ubGFiZWwhIHwgdHJhbnNsYXRlIH19IDxzcGFuICpuZ0lmPVwidG8ucmVxdWlyZWQgJiYgdG9bJ2hpZGVSZXF1aXJlZE1hcmtlciddICE9PSB0cnVlXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgICAgICAgICAgPG1uZy1hY3Rpb24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiB0b29sYmFyUmlnaHRBY3Rpb25zXCIgW2FjdGlvbl09XCJhY3Rpb25cIj48L21uZy1hY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L21uZy10YWJsZT5cbiJdfQ==
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS9mb3JtbHktZmllbGQtdGFibGUtZGlhbG9nLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQix1QkFBdUIsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFjLGFBQWEsRUFBeUIsb0JBQW9CLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3SCxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFBNEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNySyxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzSCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQ0FB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QUMvRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLGtEQUFrRDtRQUVsRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRWpELHVCQUF1QjtRQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBa0IsRUFBRSxzQ0FBc0MsRUFBRSxJQUFJLEVBQUU7WUFDbkgsWUFBWSxFQUFFLGlDQUFpQyxDQUFDLFVBQVU7U0FDN0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUlBcEtRLHNDQUFzQzt1SEFBdEMsc0NBQXNDLGlHQ25CbkQsa2xCQVFBOzJGRFdhLHNDQUFzQztrQkFObEQsU0FBUzsrQkFDSSxvQ0FBb0MsbUJBRzdCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtGaWVsZFR5cGV9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG9mLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBY3Rpb25CdXR0b25EZXNjcmlwdG9yLCBBY3Rpb25EZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JTdWJtaXREZXNjcmlwdG9yLCBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0FjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLCBBY3Rpb25Qb3NpdGlvbkVudW0sIEZpZWxkTWFueUVkaXRvckFjdGlvbkVudW19IGZyb20gJy4uLy4uLy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7TW5nQWN0aW9uRXhlY3V0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0J1dHRvblN0eWxlQnVpbGRlcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc3R5bGVzJztcbmltcG9ydCB7U3R5bGVMZXZlbEVudW0sIFN0eWxlU2l6ZUVudW19IGZyb20gJy4uLy4uLy4uLy4uLy4uL3N0eWxlcy9tb2RlbHMnO1xuaW1wb3J0IHtNbmdGb3JtRmllbGRFdmVudENvbXBvbmVudFN1YnR5cGUsIE1uZ0Zvcm1GaWVsZEV2ZW50VHlwZUVudW19IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS10YWJsZS1kaWFsb2ctZm9ybS1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQ8VCwgRVQ+IGV4dGVuZHMgRmllbGRUeXBlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBkZXNjcmlwdG9yITogRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcjxULCBFVD47XG5cbiAgICBwdWJsaWMgaXRlbXNTdWJqZWN0OiBTdWJqZWN0PEFycmF5PFQ+PiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHB1YmxpYyBpdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8VD4+ID0gdGhpcy5pdGVtc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwdWJsaWMgYWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4gPSBbXTtcbiAgICBwdWJsaWMgdG9vbGJhclJpZ2h0QWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4gPSBbXTtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgICBwcml2YXRlIGlzRGlzYWJsZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBpc0VuYWJsZWQkID0gdGhpcy5pc0Rpc2FibGVkU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBtYXAoZSA9PiAhZSlcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25FeGVjdXRvcjogTW5nQWN0aW9uRXhlY3V0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRlc2NyaXB0b3IgPSB0aGlzLnRvWydkZXNjcmlwdG9yJ107XG4gICAgICAgIGNvbnN0IGhhc1ZpZXdBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLlZpZXcpO1xuICAgICAgICBjb25zdCBoYXNBZGRBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLkFkZCk7XG4gICAgICAgIGNvbnN0IGhhc0VkaXRBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLkVkaXQpO1xuICAgICAgICBjb25zdCBoYXNEZWxldGVBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuZmllbGRBY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JBY3Rpb25FbnVtLkRlbGV0ZSk7XG5cbiAgICAgICAgaWYgKGhhc1ZpZXdBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdBY3Rpb24gPSBuZXcgQWN0aW9uRWRpdG9yRGVzY3JpcHRvcih0aGlzLmRlc2NyaXB0b3IudGFibGV2aWV3RGVzY3JpcHRvci52aWV3RWRpdG9yLCAnZGV0YWlscycsIHRoaXMuZGVzY3JpcHRvci5lZGl0b3IubW9kZWwudHlwZSwgdGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5KVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlJvd0NsaWNrKVxuICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgLndpdGhEaWFsb2dTaXplKFN0eWxlU2l6ZUVudW0uU21hbGwpO1xuICAgICAgICAgICAgdmlld0FjdGlvbi53aXRoRWRpdG9yQWN0aW9ucyhbbmV3IEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3Iodmlld0FjdGlvbiwgQWN0aW9uRWRpdG9yU3VibWl0VHlwZUVudW0uQ2FuY2VsKV0pO1xuICAgICAgICAgICAgdmlld0FjdGlvbi5idXR0b24ud2l0aExhYmVsKG51bGwpO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnB1c2godmlld0FjdGlvbiBhcyBBY3Rpb25EZXNjcmlwdG9yPFQ+KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNBZGRBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZEFjdGlvbiA9IG5ldyBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yKHRoaXMuZGVzY3JpcHRvci50YWJsZXZpZXdEZXNjcmlwdG9yLmFkZEVkaXRvciwgJ2FkZCcsIHRoaXMuZGVzY3JpcHRvci5lZGl0b3IubW9kZWwudHlwZSwgdGhpcy5kZXNjcmlwdG9yLnByb3BlcnR5KVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodClcbiAgICAgICAgICAgICAgICAud2l0aERpYWxvZ0NsYXNzTmFtZSgnbW5nLWZpZWxkLWRpYWxvZyBtbmctYWN0aW9uLWVkaXRvci1kaWFsb2cnKVxuICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nU2l6ZShTdHlsZVNpemVFbnVtLlNtYWxsKVxuICAgICAgICAgICAgICAgIC53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoKS53aXRoU2l6ZShTdHlsZVNpemVFbnVtLkV4dHJhU21hbGwpKSlcbiAgICAgICAgICAgICAgICAud2l0aFN1Ym1pdEZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY3R4LnBhcmFtZXRlcnMuaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBObyBpdGVtIHdhcyBwcm92aWRlZCBpbiBjb250ZXh0LCBlZGl0IGNhbm5vdCBiZSBkb25lLmApKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1TdGF0ZS5zdWJtaXR0ZWRPbiA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IFsuLi52YWx1ZSwgY3R4LnBhcmFtZXRlcnMuaXRlbV07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2whLnBhdGNoVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoY3R4LnBhcmFtZXRlcnMuaXRlbSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAud2l0aElzVmlzaWJsZUZ1bmN0aW9uKCgpID0+IG9mKCF0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZS5kaXNhYmxlZCkpXG4gICAgICAgICAgICAgICAgLndpdGhJc0VuYWJsZWRGdW5jdGlvbigoKSA9PiB0aGlzLmlzRW5hYmxlZCQpO1xuICAgICAgICAgICAgYWRkQWN0aW9uLmJ1dHRvbi53aXRoTGFiZWwobnVsbCkud2l0aEljb24oJ3BpIHBpLXBsdXMnKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aW9ucy5wdXNoKGFkZEFjdGlvbiBhcyBBY3Rpb25EZXNjcmlwdG9yPFQ+KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzRWRpdEFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgZWRpdEFjdGlvbiA9IG5ldyBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yKHRoaXMuZGVzY3JpcHRvci50YWJsZXZpZXdEZXNjcmlwdG9yLmVkaXRFZGl0b3IsICdlZGl0JywgdGhpcy5kZXNjcmlwdG9yLmVkaXRvci5tb2RlbC50eXBlLCB0aGlzLmRlc2NyaXB0b3IucHJvcGVydHkpXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uUm93SW5saW5lKVxuICAgICAgICAgICAgICAgIC53aXRoRGlhbG9nQ2xhc3NOYW1lKCdtbmctZmllbGQtZGlhbG9nIG1uZy1hY3Rpb24tZWRpdG9yLWRpYWxvZycpXG4gICAgICAgICAgICAgICAgLndpdGhEaWFsb2dTaXplKFN0eWxlU2l6ZUVudW0uU21hbGwpXG4gICAgICAgICAgICAgICAgLndpdGhCdXR0b25EZXNjcmlwdG9yKG5ldyBBY3Rpb25CdXR0b25EZXNjcmlwdG9yKCkud2l0aFN0eWxlQ2xhc3MobmV3IEJ1dHRvblN0eWxlQnVpbGRlcigpLndpdGhTaXplKFN0eWxlU2l6ZUVudW0uRXh0cmFTbWFsbCkpKVxuICAgICAgICAgICAgICAgIC53aXRoU3VibWl0RnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjdHgucGFyYW1ldGVycy5pdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoYE5vIGl0ZW0gd2FzIHByb3ZpZGVkIGluIGNvbnRleHQsIGVkaXQgY2Fubm90IGJlIGRvbmUuYCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybVN0YXRlLnN1Ym1pdHRlZE9uID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2xWYWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbFZhbHVlW2N0eC5wYXJhbWV0ZXJzLmFjdGlvbkRhdGE/LlsnaXRlbUluZGV4J11dID0gY3R4LnBhcmFtZXRlcnMuaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCEucGF0Y2hWYWx1ZShmb3JtQ29udHJvbFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGN0eC5wYXJhbWV0ZXJzLml0ZW0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLndpdGhJc1Zpc2libGVGdW5jdGlvbigoKSA9PiBvZighdGhpcy5mb3JtQ29udHJvbD8uZGlzYWJsZWQpKVxuICAgICAgICAgICAgICAgIC53aXRoSXNFbmFibGVkRnVuY3Rpb24oKCkgPT4gdGhpcy5pc0VuYWJsZWQkKTtcbiAgICAgICAgICAgIGVkaXRBY3Rpb24uYnV0dG9uLndpdGhMYWJlbChudWxsKS53aXRoSWNvbigncGkgcGktcGVuY2lsJyk7XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnMucHVzaChlZGl0QWN0aW9uIGFzIEFjdGlvbkRlc2NyaXB0b3I8VD4pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNEZWxldGVBY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGRlbGV0ZUFjdGlvbiA9IG5ldyBBY3Rpb25EZXNjcmlwdG9yKHRoaXMuZGVzY3JpcHRvci50YWJsZXZpZXdEZXNjcmlwdG9yLm1vZGVsLCAnZGVsZXRlJywgdGhpcy5kZXNjcmlwdG9yLmVkaXRvci5tb2RlbC50eXBlLCB0aGlzLmRlc2NyaXB0b3IucHJvcGVydHkpXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uUm93SW5saW5lKVxuICAgICAgICAgICAgICAgIC53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoU3R5bGVMZXZlbEVudW0uRGFuZ2VyKS53aXRoU2l6ZShTdHlsZVNpemVFbnVtLkV4dHJhU21hbGwpKSlcbiAgICAgICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY3R4LnBhcmFtZXRlcnMuaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBObyBpdGVtIHdhcyBwcm92aWRlZCBpbiBjb250ZXh0LCBkZWxldGUgY2Fubm90IGJlIGRvbmUuYCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGxldCBmb3JtQ29udHJvbFZhbHVlID0gdGhpcy5mb3JtQ29udHJvbCEudmFsdWUgYXMgQXJyYXk8VD47XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBhcmVQcm9wZXJ0eSA9IHRoaXMuZGVzY3JpcHRvci50YWJsZURlc2NyaXB0b3IuZGF0YUtleVByb3BlcnR5XG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuZGVzY3JpcHRvci50YWJsZURlc2NyaXB0b3IuZGF0YUtleVByb3BlcnR5XG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuZGVzY3JpcHRvci50YWJsZURlc2NyaXB0b3IubW9kZWwuaWRQcm9wZXJ0eU5hbWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN0eEl0ZW06IGFueSA9IGN0eC5wYXJhbWV0ZXJzLml0ZW07XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21wYXJlUHJvcGVydHkgJiYgY3R4SXRlbT8uW2NvbXBhcmVQcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sVmFsdWUgPSBmb3JtQ29udHJvbFZhbHVlLmZpbHRlcigoaTogYW55KSA9PiBpW2NvbXBhcmVQcm9wZXJ0eV0gIT09IGN0eEl0ZW1bY29tcGFyZVByb3BlcnR5XSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sIS5wYXRjaFZhbHVlKGZvcm1Db250cm9sVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjdHgucGFyYW1ldGVycy5hY3Rpb25EYXRhPy5bJ2l0ZW1JbmRleCddID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xWYWx1ZS5zcGxpY2UoY3R4LnBhcmFtZXRlcnMuYWN0aW9uRGF0YVsnaXRlbUluZGV4J10sIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCEucGF0Y2hWYWx1ZShbLi4uZm9ybUNvbnRyb2xWYWx1ZV0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdDYW5ub3QgY29tcGFyZSBpdGVtcywgcGxlYXNlIHByb3ZpZGUgbWFpbiB0YWJsZSBkYXRhIGtleSBwcm9wZXJ0eSBvciBtb2RlbCBpZCBwcm9wZXJ0eS4nKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGN0eEl0ZW0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLndpdGhJc1Zpc2libGVGdW5jdGlvbigoKSA9PiBvZighdGhpcy5vcHRpb25zPy5mb3JtU3RhdGUuZGlzYWJsZWQpKVxuICAgICAgICAgICAgICAgIC53aXRoSXNFbmFibGVkRnVuY3Rpb24oKCkgPT4gdGhpcy5pc0VuYWJsZWQkKTtcbiAgICAgICAgICAgIGRlbGV0ZUFjdGlvbi5idXR0b24ud2l0aExhYmVsKG51bGwpLndpdGhJY29uKCdwaSBwaS10cmFzaCcpO1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25zLnB1c2goZGVsZXRlQWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aW9ucy5wdXNoKC4uLnRoaXMuZGVzY3JpcHRvci5hY3Rpb25zKTtcbiAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy5hY3Rpb25zKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGFjdGlvbi5wb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50b29sYmFyUmlnaHRBY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbml0IHZhbHVlc1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlID09PSAndW5kZWZpbmVkJyB8fCB0aGlzLmZvcm1Db250cm9sIS52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbCEucGF0Y2hWYWx1ZShbXSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBlbWl0IGxpZmVjeWNsZSBldmVudFxuICAgICAgICB0aGlzLmRlc2NyaXB0b3IubmV4dEV2ZW50KE1uZ0Zvcm1GaWVsZEV2ZW50VHlwZUVudW0uQ29tcG9uZW50TGlmZWN5Y2xlLCBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nRm9ybUNvbXBvbmVudCwgdGhpcywge1xuICAgICAgICAgICAgZXZlbnRTdWJ0eXBlOiBNbmdGb3JtRmllbGRFdmVudENvbXBvbmVudFN1YnR5cGUuT05fSU5JVFxuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgc3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtQ29udHJvbCEudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuZm9ybUNvbnRyb2whLnZhbHVlKSkuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgdGhpcy5pdGVtc1N1YmplY3QubmV4dCh2KTtcblxuICAgICAgICAgICAgLy8gZW1pdCBsaWZlY3ljbGUgZXZlbnRcbiAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRvci5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5WYWx1ZUNoYW5nZSwgTW5nRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsIHRoaXMsIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZFN1YmplY3QubmV4dCh0aGlzLmZvcm1Db250cm9sIS5kaXNhYmxlZCk7XG4gICAgICAgIHN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybUNvbnRyb2whLnN0YXR1c0NoYW5nZXMucGlwZSgpLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gJ0RJU0FCTEVEJyAmJiAhdGhpcy5pc0Rpc2FibGVkU3ViamVjdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZFN1YmplY3QubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhdHVzICE9PSAnRElTQUJMRUQnICYmIHRoaXMuaXNEaXNhYmxlZFN1YmplY3QudmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWRTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmRlc2NyaXB0b3IubmV4dEV2ZW50KE1uZ0Zvcm1GaWVsZEV2ZW50VHlwZUVudW0uQ29tcG9uZW50TGlmZWN5Y2xlLCBNbmdGb3JtbHlGaWVsZFRhYmxlRGlhbG9nRm9ybUNvbXBvbmVudCwgdGhpcywge1xuICAgICAgICAgICAgZXZlbnRTdWJ0eXBlOiBNbmdGb3JtRmllbGRFdmVudENvbXBvbmVudFN1YnR5cGUuT05fVklFV19JTklUXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gd2FybmluZzogZm9ybWx5IGNhbGxzIG9uIGRlc3Ryb3kgYmVmb3JlIG9uIGluaXRcblxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG5cbiAgICAgICAgLy8gZW1pdCBsaWZlY3ljbGUgZXZlbnRcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yPy5uZXh0RXZlbnQoTW5nRm9ybUZpZWxkRXZlbnRUeXBlRW51bS5Db21wb25lbnRMaWZlY3ljbGUsIE1uZ0Zvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LCB0aGlzLCB7XG4gICAgICAgICAgICBldmVudFN1YnR5cGU6IE1uZ0Zvcm1GaWVsZEV2ZW50Q29tcG9uZW50U3VidHlwZS5PTl9ERVNUUk9ZXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxtbmctdGFibGUgW2Rlc2NyaXB0b3JdPVwiZGVzY3JpcHRvci50YWJsZURlc2NyaXB0b3JcIiBbaXRlbXNdPVwiaXRlbXMkXCIgW2FjdGlvbnNdPVwiYWN0aW9uc1wiPlxuICAgIDxuZy10ZW1wbGF0ZSBtbmdUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWQ6ZmxleC1yb3cgbWQ6anVzdGlmeS1jb250ZW50LWVuZCBhbGlnbi1pdGVtcy1jZW50ZXIgdGFibGUtaGVhZGVyXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJtbmctZGF0YXRhYmxlLWZvcm0tbGFiZWwgcC0wIG0tMFwiIFtmb3JdPVwia2V5XCI+e3sgdG8/LmxhYmVsISB8IHRyYW5zbGF0ZSB9fSA8c3BhbiAqbmdJZj1cInRvLnJlcXVpcmVkICYmIHRvWydoaWRlUmVxdWlyZWRNYXJrZXInXSAhPT0gdHJ1ZVwiPio8L3NwYW4+PC9sYWJlbD5cbiAgICAgICAgICAgIDxtbmctYWN0aW9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdG9vbGJhclJpZ2h0QWN0aW9uc1wiIFthY3Rpb25dPVwiYWN0aW9uXCI+PC9tbmctYWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9tbmctdGFibGU+XG4iXX0=
@@ -5,8 +5,9 @@ import { of } from 'rxjs';
5
5
  import { map } from 'rxjs/operators';
6
6
  import { MediusQueryParamBuilder } from '../../../api/models/builders/query-param.builder';
7
7
  import { ActionDeleteDescriptor, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor } from '../../../descriptors';
8
- import { ActionLevelEnum, ActionPositionEnum } from '../../../descriptors/types';
8
+ import { ActionPositionEnum } from '../../../descriptors/types';
9
9
  import { Permissions } from '../../../security/model';
10
+ import { StyleLevelEnum } from '../../../styles/models';
10
11
  import { ActionDataProviderUtil } from '../../../utils';
11
12
  import * as i0 from "@angular/core";
12
13
  export class AMngTableviewRouteComponent {
@@ -57,7 +58,7 @@ export class AMngTableviewRouteComponent {
57
58
  }));
58
59
  })
59
60
  .withPosition(ActionPositionEnum.ToolbarRight);
60
- action.buttonDescriptor.withIcon('pi pi-upload');
61
+ action.button.withIcon('pi pi-upload');
61
62
  return action;
62
63
  }
63
64
  createActionDescriptorForRefresh(descriptor = this.descriptor.model) {
@@ -69,7 +70,7 @@ export class AMngTableviewRouteComponent {
69
70
  ctx.parameters.viewContainer.triggerTableReload({});
70
71
  return of(null);
71
72
  });
72
- action.buttonDescriptor.withIcon('pi pi-refresh').styleClass.withActionLevel(ActionLevelEnum.Secondary);
73
+ action.button.withIcon('pi pi-refresh').styleClass.withActionLevel(StyleLevelEnum.Secondary);
73
74
  return action;
74
75
  }
75
76
  }
@@ -78,4 +79,4 @@ AMngTableviewRouteComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.
78
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: AMngTableviewRouteComponent, decorators: [{
79
80
  type: Directive
80
81
  }], ctorParameters: function () { return []; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFekYsT0FBTyxFQUNILHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFJN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMsZUFBZSxFQUFFLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUl0RCxNQUFNLE9BQWdCLDJCQUEyQjtJQU83QztRQUNJLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFxQixDQUFDO0lBQ3JELENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLFVB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LE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4RyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDOzt3SEFuRmlCLDJCQUEyQjs0R0FBM0IsMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRGhELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgT25Jbml0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHtvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge01lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWxzL2J1aWxkZXJzL3F1ZXJ5LXBhcmFtLmJ1aWxkZXInO1xuaW1wb3J0IHtJVGFibGV2aWV3RGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXByb3ZpZGVycyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbkRlbGV0ZURlc2NyaXB0b3IsXG4gICAgQWN0aW9uRGVzY3JpcHRvcixcbiAgICBBY3Rpb25FZGl0b3JBZGREZXNjcmlwdG9yLFxuICAgIEFjdGlvbkVkaXRvckRldGFpbHNEZXNjcmlwdG9yLFxuICAgIEFjdGlvbkVkaXRvckVkaXREZXNjcmlwdG9yLFxuICAgIEVkaXRvckRlc2NyaXB0b3IsXG4gICAgTW9kZWxEZXNjcmlwdG9yLFxuICAgIFRhYmxldmlld0Rlc2NyaXB0b3Jcbn0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMnO1xuaW1wb3J0IHtBY3Rpb25MZXZlbEVudW0sIEFjdGlvblBvc2l0aW9uRW51bX0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuaW1wb3J0IHtNbmdSb3V0ZXJEYXRhfSBmcm9tICcuLi8uLi8uLi9yb3V0ZXIvbW9kZWxzJztcbmltcG9ydCB7UGVybWlzc2lvbnN9IGZyb20gJy4uLy4uLy4uL3NlY3VyaXR5L21vZGVsJztcbmltcG9ydCB7TW5nVmlld0NvbnRhaW5lckNvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7QWN0aW9uRGF0YVByb3ZpZGVyVXRpbH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtBY3Rpb25Db250ZXh0fSBmcm9tICcuLi8uLi9hY3Rpb24vbW9kZWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgZGVzY3JpcHRvciE6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG4gICAgcHVibGljIGRhdGFQcm92aWRlciE6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG4gICAgcHVibGljIGFjdGlvbnMhOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PjtcblxuICAgIHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5yb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCByb3V0ZURhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEgYXMgTW5nUm91dGVyRGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRvciA9IHRoaXMuY3JlYXRlVGFibGV2aWV3RGVzY3JpcHRvcigpO1xuICAgICAgICB0aGlzLmRhdGFQcm92aWRlciA9IHRoaXMuY3JlYXRlVGFibGV2aWV3RGF0YVByb3ZpZGVyKCk7XG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlVGFibGV2aWV3RGVzY3JpcHRvcigpOiBUYWJsZXZpZXdEZXNjcmlwdG9yPFQ+O1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZVRhYmxldmlld0RhdGFQcm92aWRlcigpOiBJVGFibGV2aWV3RGF0YVByb3ZpZGVyPFQsIFM+O1xuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JzKCk6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRldGFpbHMoKSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckFkZCgpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRWRpdCgpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGVsZXRlKCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JSZWZyZXNoKCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFeHBvcnQoKVxuICAgICAgICBdLmZpbHRlcihlID0+IGUgIT0gbnVsbCkgYXMgQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZXRhaWxzKGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3Iudmlld0VkaXRvcik6IEFjdGlvbkVkaXRvckRldGFpbHNEZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0RldGFpbHMgPyBuZXcgQWN0aW9uRWRpdG9yRGV0YWlsc0Rlc2NyaXB0b3IoZGVzY3JpcHRvcikgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yQWRkKGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IuYWRkRWRpdG9yKTogQWN0aW9uRWRpdG9yQWRkRGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNBZGQgPyBuZXcgQWN0aW9uRWRpdG9yQWRkRGVzY3JpcHRvcihkZXNjcmlwdG9yKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFZGl0KGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IuZWRpdEVkaXRvcik6IEFjdGlvbkVkaXRvckVkaXREZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0VkaXQgPyBuZXcgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IoZGVzY3JpcHRvcikgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGVsZXRlKGRlc2NyaXB0b3I6IE1vZGVsRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5tb2RlbCk6IEFjdGlvbkRlbGV0ZURlc2NyaXB0b3I8VD4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zIHx8IHRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMuaGFzRGVsZXRlID8gbmV3IEFjdGlvbkRlbGV0ZURlc2NyaXB0b3IoZGVzY3JpcHRvcikgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0KGRlc2NyaXB0b3I6IE1vZGVsRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5tb2RlbCk6IEFjdGlvbkRlc2NyaXB0b3I8VD4ge1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQWN0aW9uRGVzY3JpcHRvcihkZXNjcmlwdG9yLCAnZXhwb3J0JylcbiAgICAgICAgICAgIC53aXRoUnVuRnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtQnVpbGRlciA9IGN0eC5wYXJhbWV0ZXJzLnF1ZXJ5UGFyYW0gPyBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlci5jcmVhdGVGcm9tRXhpc3RpbmcoY3R4LnBhcmFtZXRlcnMucXVlcnlQYXJhbSkgOiBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlci5jcmVhdGUoKTtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtQnVpbGRlci53aXRoSXRlbXNPZmZzZXQoMCkud2l0aEl0ZW1zUGVyUGFnZSg1MDApO1xuICAgICAgICAgICAgICAgIGN0eC5wYXJhbWV0ZXJzLndpdGhRdWVyeVBhcmFtKHF1ZXJ5UGFyYW1CdWlsZGVyLmJ1aWxkKCkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBBY3Rpb25EYXRhUHJvdmlkZXJVdGlsLnJ1bkdldEFsbE9yRmFpbChjdHgpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIG1hcChyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtKU09OLnN0cmluZ2lmeShyZXMucGFnZURhdGEsIHVuZGVmaW5lZCwgNCldLCB7dHlwZTogJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtOCd9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gY3R4Lmluc3RhbmNlLmFjdGlvbi5tb2RlbD8udHlwZU5hbWUgPz8gJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBGaWxlU2F2ZXIuc2F2ZUFzKGJsb2IsIGAke3R5cGVOYW1lID8gdHlwZU5hbWUgKyAnXycgOiAnJ30ke2N0eC5pbnN0YW5jZS5hY3Rpb24uYWN0aW9uTmFtZX0uanNvbmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodCk7XG4gICAgICAgIGFjdGlvbi5idXR0b25EZXNjcmlwdG9yLndpdGhJY29uKCdwaSBwaS11cGxvYWQnKTtcbiAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvclJlZnJlc2goZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsKTogQWN0aW9uRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBBY3Rpb25EZXNjcmlwdG9yPFQ+KGRlc2NyaXB0b3IsICdyZWZyZXNoJylcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodClcbiAgICAgICAgICAgIC53aXRoUGVybWlzc2lvbnNSb3V0ZVR5cGUoUGVybWlzc2lvbnMuQWN0aW9uVHlwZXMuUkVBRClcbiAgICAgICAgICAgIC53aXRoUnVuTm90aWZpY2F0aW9uU3VjY2Vzcyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UpXG4gICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKChjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pID0+IHtcbiAgICAgICAgICAgICAgICAoY3R4LnBhcmFtZXRlcnMudmlld0NvbnRhaW5lciBhcyBNbmdWaWV3Q29udGFpbmVyQ29tcG9uZW50U2VydmljZTxULCBTPikudHJpZ2dlclRhYmxlUmVsb2FkKHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgYWN0aW9uLmJ1dHRvbkRlc2NyaXB0b3Iud2l0aEljb24oJ3BpIHBpLXJlZnJlc2gnKS5zdHlsZUNsYXNzLndpdGhBY3Rpb25MZXZlbChBY3Rpb25MZXZlbEVudW0uU2Vjb25kYXJ5KTtcbiAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFFekYsT0FBTyxFQUNILHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFJN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUl0RCxNQUFNLE9BQWdCLDJCQUEyQjtJQU83QztRQUNJLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFjLFNBQVM7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFxQixDQUFDO0lBQ3JE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QkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoRyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUNQLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdGLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O3dIQW5GaUIsMkJBQTJCOzRHQUEzQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEaEQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBPbkluaXQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXJ9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbHMvYnVpbGRlcnMvcXVlcnktcGFyYW0uYnVpbGRlcic7XG5pbXBvcnQge0lUYWJsZXZpZXdEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uLy4uL2RhdGEtcHJvdmlkZXJzJztcbmltcG9ydCB7XG4gICAgQWN0aW9uRGVsZXRlRGVzY3JpcHRvcixcbiAgICBBY3Rpb25EZXNjcmlwdG9yLFxuICAgIEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IsXG4gICAgQWN0aW9uRWRpdG9yRGV0YWlsc0Rlc2NyaXB0b3IsXG4gICAgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IsXG4gICAgRWRpdG9yRGVzY3JpcHRvcixcbiAgICBNb2RlbERlc2NyaXB0b3IsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvclxufSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0FjdGlvblBvc2l0aW9uRW51bX0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMvdHlwZXMnO1xuaW1wb3J0IHtNbmdSb3V0ZXJEYXRhfSBmcm9tICcuLi8uLi8uLi9yb3V0ZXIvbW9kZWxzJztcbmltcG9ydCB7UGVybWlzc2lvbnN9IGZyb20gJy4uLy4uLy4uL3NlY3VyaXR5L21vZGVsJztcbmltcG9ydCB7TW5nVmlld0NvbnRhaW5lckNvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7U3R5bGVMZXZlbEVudW19IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9tb2RlbHMnO1xuaW1wb3J0IHtBY3Rpb25EYXRhUHJvdmlkZXJVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQge0FjdGlvbkNvbnRleHR9IGZyb20gJy4uLy4uL2FjdGlvbi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBTW5nVGFibGV2aWV3Um91dGVDb21wb25lbnQ8VCwgUz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBkZXNjcmlwdG9yITogVGFibGV2aWV3RGVzY3JpcHRvcjxUPjtcbiAgICBwdWJsaWMgZGF0YVByb3ZpZGVyITogSVRhYmxldmlld0RhdGFQcm92aWRlcjxULCBTPjtcbiAgICBwdWJsaWMgYWN0aW9ucyE6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+O1xuXG4gICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHJvdXRlRGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QuZGF0YSBhcyBNbmdSb3V0ZXJEYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kZXNjcmlwdG9yID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk7XG4gICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gdGhpcy5jcmVhdGVUYWJsZXZpZXdEYXRhUHJvdmlkZXIoKTtcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9ycygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVUYWJsZXZpZXdEZXNjcmlwdG9yKCk6IFRhYmxldmlld0Rlc2NyaXB0b3I8VD47XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlVGFibGV2aWV3RGF0YVByb3ZpZGVyKCk6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI8VCwgUz47XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscygpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yQWRkKCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFZGl0KCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZWxldGUoKSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvclJlZnJlc2goKSxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckV4cG9ydCgpXG4gICAgICAgIF0uZmlsdGVyKGUgPT4gZSAhPSBudWxsKSBhcyBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRldGFpbHMoZGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci52aWV3RWRpdG9yKTogQWN0aW9uRWRpdG9yRGV0YWlsc0Rlc2NyaXB0b3I8VD4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zIHx8IHRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMuaGFzRGV0YWlscyA/IG5ldyBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcihkZXNjcmlwdG9yKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JBZGQoZGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5hZGRFZGl0b3IpOiBBY3Rpb25FZGl0b3JBZGREZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0FkZCA/IG5ldyBBY3Rpb25FZGl0b3JBZGREZXNjcmlwdG9yKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckVkaXQoZGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5lZGl0RWRpdG9yKTogQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3I8VD4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zIHx8IHRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMuaGFzRWRpdCA/IG5ldyBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvcihkZXNjcmlwdG9yKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZWxldGUoZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsKTogQWN0aW9uRGVsZXRlRGVzY3JpcHRvcjxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNEZWxldGUgPyBuZXcgQWN0aW9uRGVsZXRlRGVzY3JpcHRvcihkZXNjcmlwdG9yKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFeHBvcnQoZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsKTogQWN0aW9uRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IG5ldyBBY3Rpb25EZXNjcmlwdG9yKGRlc2NyaXB0b3IsICdleHBvcnQnKVxuICAgICAgICAgICAgLndpdGhSdW5GdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1CdWlsZGVyID0gY3R4LnBhcmFtZXRlcnMucXVlcnlQYXJhbSA/IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZUZyb21FeGlzdGluZyhjdHgucGFyYW1ldGVycy5xdWVyeVBhcmFtKSA6IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1CdWlsZGVyLndpdGhJdGVtc09mZnNldCgwKS53aXRoSXRlbXNQZXJQYWdlKDUwMCk7XG4gICAgICAgICAgICAgICAgY3R4LnBhcmFtZXRlcnMud2l0aFF1ZXJ5UGFyYW0ocXVlcnlQYXJhbUJ1aWxkZXIuYnVpbGQoKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuR2V0QWxsT3JGYWlsKGN0eCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHJlcy5wYWdlRGF0YSwgdW5kZWZpbmVkLCA0KV0sIHt0eXBlOiAnYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04J30pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBjdHguaW5zdGFuY2UuYWN0aW9uLm1vZGVsPy50eXBlTmFtZSA/PyAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIEZpbGVTYXZlci5zYXZlQXMoYmxvYiwgYCR7dHlwZU5hbWUgPyB0eXBlTmFtZSArICdfJyA6ICcnfSR7Y3R4Lmluc3RhbmNlLmFjdGlvbi5hY3Rpb25OYW1lfS5qc29uYCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhclJpZ2h0KTtcbiAgICAgICAgYWN0aW9uLmJ1dHRvbi53aXRoSWNvbigncGkgcGktdXBsb2FkJyk7XG4gICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JSZWZyZXNoKGRlc2NyaXB0b3I6IE1vZGVsRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5tb2RlbCk6IEFjdGlvbkRlc2NyaXB0b3I8VD4ge1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBuZXcgQWN0aW9uRGVzY3JpcHRvcjxUPihkZXNjcmlwdG9yLCAncmVmcmVzaCcpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyUmlnaHQpXG4gICAgICAgICAgICAud2l0aFBlcm1pc3Npb25zUm91dGVUeXBlKFBlcm1pc3Npb25zLkFjdGlvblR5cGVzLlJFQUQpXG4gICAgICAgICAgICAud2l0aFJ1bk5vdGlmaWNhdGlvblN1Y2Nlc3ModW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlKVxuICAgICAgICAgICAgLndpdGhSdW5GdW5jdGlvbigoY3R4OiBBY3Rpb25Db250ZXh0PFQsIFM+KSA9PiB7XG4gICAgICAgICAgICAgICAgKGN0eC5wYXJhbWV0ZXJzLnZpZXdDb250YWluZXIgYXMgTW5nVmlld0NvbnRhaW5lckNvbXBvbmVudFNlcnZpY2U8VCwgUz4pLnRyaWdnZXJUYWJsZVJlbG9hZCh7fSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGFjdGlvbi5idXR0b24ud2l0aEljb24oJ3BpIHBpLXJlZnJlc2gnKS5zdHlsZUNsYXNzLndpdGhBY3Rpb25MZXZlbChTdHlsZUxldmVsRW51bS5TZWNvbmRhcnkpO1xuICAgICAgICByZXR1cm4gYWN0aW9uO1xuICAgIH1cbn1cbiJdfQ==
@@ -105,7 +105,7 @@ export class MngTableColumnFilterComponent {
105
105
  }
106
106
  }
107
107
  MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
108
- MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, viewQueries: [{ propertyName: "primeColumnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"$any(primeDefaultMatchMode)\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container *ngIf=\"activeMatchMode === 'between'; else datePicker\">\n <mng-date-range\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [dateFormat]=\"descriptor.datePickerFormat\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"></mng-date-range>\n </ng-container>\n <ng-template #datePicker>\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { kind: "component", type: i6.MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["valueChange"] }, { kind: "component", type: i7.MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "component", type: i8.MngDateRangeComponent, selector: "mng-date-range", inputs: ["placeholder", "showTime", "showSeconds", "dateFormat"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
108
+ MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, viewQueries: [{ propertyName: "primeColumnFilter", first: true, predicate: ColumnFilter, descendants: true }], ngImport: i0, template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"$any(primeDefaultMatchMode)\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container *ngIf=\"activeMatchMode === 'between'; else datePicker\">\n <mng-date-range\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [dateFormat]=\"descriptor.datePickerFormat\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"></mng-date-range>\n </ng-container>\n <ng-template #datePicker>\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i4.Calendar, selector: "p-calendar", inputs: ["style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "view", "defaultDate", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { kind: "component", type: i6.MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsValueProperty", "itemsLabelProperty", "itemsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName", "showClear", "autoClear", "selectFirst"], outputs: ["valueChange"] }, { kind: "component", type: i7.MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsLabelTranslate", "itemsValueProperty", "itemsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur"], outputs: ["valueChange"] }, { kind: "component", type: i8.MngDateRangeComponent, selector: "mng-date-range", inputs: ["placeholder", "showTime", "showSeconds", "dateFormat"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] });
109
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter\n class=\"ml-auto\"\n [type]=\"primeType\"\n [field]=\"descriptor.property\"\n [display]=\"primeDisplay\"\n [matchMode]=\"$any(primeDefaultMatchMode)\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\"\n [showAddButton]=\"false\"\n [hideOnClear]=\"true\"\n [showMenu]=\"primeShowMatchMode\"\n [minFractionDigits]=\"$any(descriptor.numberMinFractionDigits)\"\n [maxFractionDigits]=\"$any(descriptor.numberMaxFractionDigits)\"\n [useGrouping]=\"descriptor.numberUseGrouping\">\n <ng-template *ngIf=\"primeType === 'date'\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container *ngIf=\"activeMatchMode === 'between'; else datePicker\">\n <mng-date-range\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [showTime]=\"descriptor.datePickerShowTime\"\n [dateFormat]=\"descriptor.datePickerFormat\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"></mng-date-range>\n </ng-container>\n <ng-template #datePicker>\n <p-calendar\n appendTo=\"body\"\n [ngModel]=\"value\"\n (ngModelChange)=\"dateFilter($event, filterCallback)\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.typeToFilter' | translate\"\n [showIcon]=\"true\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [showTime]=\"descriptor.datePickerShowTime\">\n </p-calendar>\n </ng-template>\n </ng-template>\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete\n *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [openOnFocus]=\"lookupDescriptor.autocompleteOpenOnFocus\"\n [inlineSearch]=\"lookupDescriptor.autocompleteInlineSearch\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.searchToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (valueChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown\n *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsLabelTranslate]=\"lookupDescriptor.itemsLabelTranslate\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"descriptor.placeholder ?? 'mngTable.selectToFilter' | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"false\"\n [changeValueOnBlur]=\"lookupDescriptor.multiselect\"\n (valueChange)=\"dropdownFilter($event, filterCallback)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
@@ -1,14 +1,13 @@
1
1
  import { ButtonStyleBuilder } from '../../styles';
2
- import { ActionLevelEnum } from '../types';
2
+ import { StyleLevelEnum } from '../../styles/models';
3
+ import { ActionButtonDescriptor } from '../action-button.descriptor';
3
4
  export class ActionConfirmationDialogDescriptor {
4
5
  constructor() {
5
6
  this._closeOnEscape = true; // Defines if dialog closes when esc key is pressed.
6
7
  this._closable = true; // Defines if dialog is closable.
7
- this._acceptButtonStyle = new ButtonStyleBuilder(ActionLevelEnum.Default);
8
- this._rejectButtonStyle = new ButtonStyleBuilder(ActionLevelEnum.Default).withTextButton();
8
+ this._acceptButton = new ActionButtonDescriptor().withIcon('pi pi-check').withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Default));
9
+ this._rejectButton = new ActionButtonDescriptor().withIcon('pi pi-times').withStyleClass(new ButtonStyleBuilder(StyleLevelEnum.Default).withTextButton());
9
10
  this._icon = 'pi pi-exclamation-triangle';
10
- this._acceptIcon = 'pi pi-check';
11
- this._rejectIcon = 'pi pi-times';
12
11
  }
13
12
  withIcon(icon) {
14
13
  this._icon = icon;
@@ -22,28 +21,12 @@ export class ActionConfirmationDialogDescriptor {
22
21
  this._message = message;
23
22
  return this;
24
23
  }
25
- withAcceptLabel(acceptLabel) {
26
- this._acceptLabel = acceptLabel;
24
+ withAcceptButton(actionButtonDescriptor) {
25
+ this._acceptButton = actionButtonDescriptor;
27
26
  return this;
28
27
  }
29
- withAcceptIcon(acceptIcon) {
30
- this._acceptIcon = acceptIcon;
31
- return this;
32
- }
33
- withAcceptButtonStyle(buttonStyle) {
34
- this._acceptButtonStyle = buttonStyle;
35
- return this;
36
- }
37
- withRejectLabel(rejectLabel) {
38
- this._rejectLabel = rejectLabel;
39
- return this;
40
- }
41
- withRejectIcon(rejectIcon) {
42
- this._rejectIcon = rejectIcon;
43
- return this;
44
- }
45
- withRejectButtonStyle(buttonStyle) {
46
- this._rejectButtonStyle = buttonStyle;
28
+ withRejectButton(actionButtonDescriptor) {
29
+ this._rejectButton = actionButtonDescriptor;
47
30
  return this;
48
31
  }
49
32
  /**
@@ -75,24 +58,6 @@ export class ActionConfirmationDialogDescriptor {
75
58
  get message() {
76
59
  return this._message;
77
60
  }
78
- get acceptLabel() {
79
- return this._acceptLabel;
80
- }
81
- get acceptIcon() {
82
- return this._acceptIcon;
83
- }
84
- get acceptButtonStyle() {
85
- return this._acceptButtonStyle;
86
- }
87
- get rejectLabel() {
88
- return this._rejectLabel;
89
- }
90
- get rejectIcon() {
91
- return this._rejectIcon;
92
- }
93
- get rejectButtonStyle() {
94
- return this._rejectButtonStyle;
95
- }
96
61
  get closeOnEscape() {
97
62
  return this._closeOnEscape;
98
63
  }
@@ -102,5 +67,11 @@ export class ActionConfirmationDialogDescriptor {
102
67
  get runConfirmationConfigMapFn() {
103
68
  return this._runConfirmationConfigMapFn;
104
69
  }
70
+ get acceptButton() {
71
+ return this._acceptButton;
72
+ }
73
+ get rejectButton() {
74
+ return this._rejectButton;
75
+ }
105
76
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNvbmZpcm1hdGlvbi5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXNjcmlwdG9ycy9hY3Rpb24vYWN0aW9uLWNvbmZpcm1hdGlvbi5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXpDLE1BQU0sT0FBTyxrQ0FBa0M7SUFpQjNDO1FBSlEsbUJBQWMsR0FBRyxJQUFJLENBQUMsQ0FBQyxvREFBb0Q7UUFDM0UsY0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLGlDQUFpQztRQUl2RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNGLElBQUksQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFhO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBcUI7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUF1QjtRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sZUFBZSxDQUFDLFdBQTJCO1FBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxjQUFjLENBQUMsVUFBeUI7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFdBQStCO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxXQUEyQjtRQUM5QyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sY0FBYyxDQUFDLFVBQXlCO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxXQUErQjtRQUN4RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsYUFBc0I7UUFDM0MsSUFBSSxhQUFhLEVBQUU7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN6QjtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBaUI7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLDhCQUE4QixDQUFDLDBCQUF3RDtRQUMxRixJQUFJLENBQUMsMkJBQTJCLEdBQUcsMEJBQTBCLENBQUM7UUFDOUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFXLDBCQUEwQjtRQUNqQyxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQztJQUM1QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbmZpcm1hdGlvbn0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0FjdGlvbkNvbnRleHR9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYWN0aW9uL21vZGVscyc7XG5pbXBvcnQge0J1dHRvblN0eWxlQnVpbGRlcn0gZnJvbSAnLi4vLi4vc3R5bGVzJztcbmltcG9ydCB7QWN0aW9uTGV2ZWxFbnVtfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25Db25maXJtYXRpb25EaWFsb2dEZXNjcmlwdG9yPFQ+IHtcbiAgICBwcml2YXRlIF9pY29uPzogc3RyaW5nOyAvLyBJY29uIHRvIGRpc3BsYXkgbmV4dCB0byBtZXNzYWdlLlxuICAgIHByaXZhdGUgX3RpdGxlPzogc3RyaW5nIHwgbnVsbDsgLy8gVHJhbnNsYXRpb24gZm9yIHRpdGxlIHRleHQgb2YgdGhlIGRpYWxvZy5cbiAgICBwcml2YXRlIF9tZXNzYWdlPzogc3RyaW5nIHwgbnVsbDsgLy8gVHJhbnNsYXRpb24gZm9yIGJvZHkgdGV4dCBvZiB0aGUgZGlhbG9nLlxuXG4gICAgcHJpdmF0ZSBfYWNjZXB0QnV0dG9uU3R5bGU6IEJ1dHRvblN0eWxlQnVpbGRlcjtcbiAgICBwcml2YXRlIF9hY2NlcHRMYWJlbD86IHN0cmluZyB8IG51bGw7IC8vIFRyYW5zbGF0aW9uIGZvciBsYWJlbCBvbiBhY2NlcHQgYnV0dG9uLlxuICAgIHByaXZhdGUgX2FjY2VwdEljb246IHN0cmluZyB8IG51bGw7IC8vIEljb24gb24gYWNjZXB0IGJ1dHRvbjtcblxuICAgIHByaXZhdGUgX3JlamVjdEJ1dHRvblN0eWxlOiBCdXR0b25TdHlsZUJ1aWxkZXI7XG4gICAgcHJpdmF0ZSBfcmVqZWN0TGFiZWw/OiBzdHJpbmcgfCBudWxsOyAvLyBUcmFuc2xhdGlvbiBmb3IgbGFiZWwgb24gcmVqZWN0IGJ1dHRvbi5cbiAgICBwcml2YXRlIF9yZWplY3RJY29uOiBzdHJpbmcgfCBudWxsOyAvLyBJY29uIG9uIHJlamVjdCBidXR0b24uXG5cbiAgICBwcml2YXRlIF9jbG9zZU9uRXNjYXBlID0gdHJ1ZTsgLy8gRGVmaW5lcyBpZiBkaWFsb2cgY2xvc2VzIHdoZW4gZXNjIGtleSBpcyBwcmVzc2VkLlxuICAgIHByaXZhdGUgX2Nsb3NhYmxlID0gdHJ1ZTsgLy8gRGVmaW5lcyBpZiBkaWFsb2cgaXMgY2xvc2FibGUuXG4gICAgcHJpdmF0ZSBfcnVuQ29uZmlybWF0aW9uQ29uZmlnTWFwRm4/OiBDb25maWd1cmF0aW9uQ29uZmlnTWFwRm48VD47IC8vZnVuY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSB0aGUgY29uZmlybWF0aW9uIGRpYWxvZ3VlLiAqKldBUk5JTkcqKiBjaGFuZ2luZyB0aGUgKmFjY2VwdCogYW5kICpyZWplY3QqIG1ldGhvZHMgb2YgdGhlICpjb25maXJtQ29uZmlnKiBwYXJhbWV0ZXIgbWF5IGxlYWQgdG8gdW5leHBlY3RlZCBiZWhhdmlvdXJcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9hY2NlcHRCdXR0b25TdHlsZSA9IG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoQWN0aW9uTGV2ZWxFbnVtLkRlZmF1bHQpO1xuICAgICAgICB0aGlzLl9yZWplY3RCdXR0b25TdHlsZSA9IG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoQWN0aW9uTGV2ZWxFbnVtLkRlZmF1bHQpLndpdGhUZXh0QnV0dG9uKCk7XG4gICAgICAgIHRoaXMuX2ljb24gPSAncGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGUnO1xuICAgICAgICB0aGlzLl9hY2NlcHRJY29uID0gJ3BpIHBpLWNoZWNrJztcbiAgICAgICAgdGhpcy5fcmVqZWN0SWNvbiA9ICdwaSBwaS10aW1lcyc7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhJY29uKGljb24/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faWNvbiA9IGljb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoVGl0bGUodGl0bGU/OiBzdHJpbmcgfCBudWxsKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3RpdGxlID0gdGl0bGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTWVzc2FnZShtZXNzYWdlPzogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhBY2NlcHRMYWJlbChhY2NlcHRMYWJlbD86IHN0cmluZyB8IG51bGwpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fYWNjZXB0TGFiZWwgPSBhY2NlcHRMYWJlbDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhBY2NlcHRJY29uKGFjY2VwdEljb246IHN0cmluZyB8IG51bGwpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fYWNjZXB0SWNvbiA9IGFjY2VwdEljb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoQWNjZXB0QnV0dG9uU3R5bGUoYnV0dG9uU3R5bGU6IEJ1dHRvblN0eWxlQnVpbGRlcik6IHRoaXMge1xuICAgICAgICB0aGlzLl9hY2NlcHRCdXR0b25TdHlsZSA9IGJ1dHRvblN0eWxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFJlamVjdExhYmVsKHJlamVjdExhYmVsPzogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9yZWplY3RMYWJlbCA9IHJlamVjdExhYmVsO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFJlamVjdEljb24ocmVqZWN0SWNvbjogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9yZWplY3RJY29uID0gcmVqZWN0SWNvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhSZWplY3RCdXR0b25TdHlsZShidXR0b25TdHlsZTogQnV0dG9uU3R5bGVCdWlsZGVyKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3JlamVjdEJ1dHRvblN0eWxlID0gYnV0dG9uU3R5bGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldCBpZiBkaWFsb2cgY2FuIGJlIGNsb3NlZCBvbiBlc2NhcGVkIHByZXNzZWRcbiAgICAgKiBpZiB0cnVlLCB0aGVuIGNsb3NhYmxlIGlzIGFsc28gc2V0IHRvIHRydWVcbiAgICAgKiBAcGFyYW0gY2xvc2VPbkVzY2FwZVxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoQ2xvc2VPbkVzY2FwZShjbG9zZU9uRXNjYXBlOiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIGlmIChjbG9zZU9uRXNjYXBlKSB7XG4gICAgICAgICAgICB0aGlzLl9jbG9zYWJsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2xvc2VPbkVzY2FwZSA9IGNsb3NlT25Fc2NhcGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoQ2xvc2FibGUoY2xvc2FibGU6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fY2xvc2FibGUgPSBjbG9zYWJsZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhSdW5Db25maXJtYXRpb25Db25maWdNYXBGbihydW5Db25maXJtYXRpb25Db25maWdNYXBGbj86IENvbmZpZ3VyYXRpb25Db25maWdNYXBGbjxUPik6IHRoaXMge1xuICAgICAgICB0aGlzLl9ydW5Db25maXJtYXRpb25Db25maWdNYXBGbiA9IHJ1bkNvbmZpcm1hdGlvbkNvbmZpZ01hcEZuO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGljb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pY29uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aXRsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1lc3NhZ2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tZXNzYWdlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWNjZXB0TGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY2NlcHRMYWJlbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjY2VwdEljb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY2NlcHRJY29uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWNjZXB0QnV0dG9uU3R5bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY2NlcHRCdXR0b25TdHlsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlamVjdExhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVqZWN0TGFiZWw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZWplY3RJY29uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVqZWN0SWNvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHJlamVjdEJ1dHRvblN0eWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVqZWN0QnV0dG9uU3R5bGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjbG9zZU9uRXNjYXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xvc2VPbkVzY2FwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsb3NhYmxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xvc2FibGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBydW5Db25maXJtYXRpb25Db25maWdNYXBGbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3J1bkNvbmZpcm1hdGlvbkNvbmZpZ01hcEZuO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29uZmlndXJhdGlvbkNvbmZpZ01hcEZuPFQ+ID0gKGN0eDogQWN0aW9uQ29udGV4dDxULCBhbnk+LCBjb25maXJtQ29uZmlnOiBDb25maXJtYXRpb24pID0+IENvbmZpcm1hdGlvbjtcbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNvbmZpcm1hdGlvbi5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXNjcmlwdG9ycy9hY3Rpb24vYWN0aW9uLWNvbmZpcm1hdGlvbi5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkUsTUFBTSxPQUFPLGtDQUFrQztJQVkzQztRQUpRLG1CQUFjLEdBQUcsSUFBSSxDQUFDLENBQUMsb0RBQW9EO1FBQzNFLGNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQyxpQ0FBaUM7UUFJdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3pJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUMxSixJQUFJLENBQUMsS0FBSyxHQUFHLDRCQUE0QixDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBYTtRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sU0FBUyxDQUFDLEtBQXFCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBdUI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLHNCQUE4QztRQUNsRSxJQUFJLENBQUMsYUFBYSxHQUFHLHNCQUFzQixDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxzQkFBK0M7UUFDbkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLGFBQXNCO1FBQzNDLElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSw4QkFBOEIsQ0FBQywwQkFBd0Q7UUFDMUYsSUFBSSxDQUFDLDJCQUEyQixHQUFHLDBCQUEwQixDQUFDO1FBQzlELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsMEJBQTBCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uZmlybWF0aW9ufSBmcm9tICdwcmltZW5nL2FwaSc7XG5cbmltcG9ydCB7QWN0aW9uQ29udGV4dH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hY3Rpb24vbW9kZWxzJztcbmltcG9ydCB7QnV0dG9uU3R5bGVCdWlsZGVyfSBmcm9tICcuLi8uLi9zdHlsZXMnO1xuaW1wb3J0IHtTdHlsZUxldmVsRW51bX0gZnJvbSAnLi4vLi4vc3R5bGVzL21vZGVscyc7XG5pbXBvcnQge0FjdGlvbkJ1dHRvbkRlc2NyaXB0b3J9IGZyb20gJy4uL2FjdGlvbi1idXR0b24uZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25Db25maXJtYXRpb25EaWFsb2dEZXNjcmlwdG9yPFQ+IHtcbiAgICBwcml2YXRlIF9pY29uPzogc3RyaW5nOyAvLyBJY29uIHRvIGRpc3BsYXkgbmV4dCB0byBtZXNzYWdlLlxuICAgIHByaXZhdGUgX3RpdGxlPzogc3RyaW5nIHwgbnVsbDsgLy8gVHJhbnNsYXRpb24gZm9yIHRpdGxlIHRleHQgb2YgdGhlIGRpYWxvZy5cbiAgICBwcml2YXRlIF9tZXNzYWdlPzogc3RyaW5nIHwgbnVsbDsgLy8gVHJhbnNsYXRpb24gZm9yIGJvZHkgdGV4dCBvZiB0aGUgZGlhbG9nLlxuXG4gICAgcHJpdmF0ZSBfYWNjZXB0QnV0dG9uOiBBY3Rpb25CdXR0b25EZXNjcmlwdG9yO1xuICAgIHByaXZhdGUgX3JlamVjdEJ1dHRvbj86IEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3I7XG5cbiAgICBwcml2YXRlIF9jbG9zZU9uRXNjYXBlID0gdHJ1ZTsgLy8gRGVmaW5lcyBpZiBkaWFsb2cgY2xvc2VzIHdoZW4gZXNjIGtleSBpcyBwcmVzc2VkLlxuICAgIHByaXZhdGUgX2Nsb3NhYmxlID0gdHJ1ZTsgLy8gRGVmaW5lcyBpZiBkaWFsb2cgaXMgY2xvc2FibGUuXG4gICAgcHJpdmF0ZSBfcnVuQ29uZmlybWF0aW9uQ29uZmlnTWFwRm4/OiBDb25maWd1cmF0aW9uQ29uZmlnTWFwRm48VD47IC8vZnVuY3Rpb24gdXNlZCB0byBnZW5lcmF0ZSB0aGUgY29uZmlybWF0aW9uIGRpYWxvZ3VlLiAqKldBUk5JTkcqKiBjaGFuZ2luZyB0aGUgKmFjY2VwdCogYW5kICpyZWplY3QqIG1ldGhvZHMgb2YgdGhlICpjb25maXJtQ29uZmlnKiBwYXJhbWV0ZXIgbWF5IGxlYWQgdG8gdW5leHBlY3RlZCBiZWhhdmlvdXJcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLl9hY2NlcHRCdXR0b24gPSBuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhJY29uKCdwaSBwaS1jaGVjaycpLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoU3R5bGVMZXZlbEVudW0uRGVmYXVsdCkpO1xuICAgICAgICB0aGlzLl9yZWplY3RCdXR0b24gPSBuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhJY29uKCdwaSBwaS10aW1lcycpLndpdGhTdHlsZUNsYXNzKG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoU3R5bGVMZXZlbEVudW0uRGVmYXVsdCkud2l0aFRleHRCdXR0b24oKSk7XG4gICAgICAgIHRoaXMuX2ljb24gPSAncGkgcGktZXhjbGFtYXRpb24tdHJpYW5nbGUnO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoSWNvbihpY29uPzogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ljb24gPSBpY29uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFRpdGxlKHRpdGxlPzogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl90aXRsZSA9IHRpdGxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aE1lc3NhZ2UobWVzc2FnZT86IHN0cmluZyB8IG51bGwpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoQWNjZXB0QnV0dG9uKGFjdGlvbkJ1dHRvbkRlc2NyaXB0b3I6IEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fYWNjZXB0QnV0dG9uID0gYWN0aW9uQnV0dG9uRGVzY3JpcHRvcjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhSZWplY3RCdXR0b24oYWN0aW9uQnV0dG9uRGVzY3JpcHRvcj86IEFjdGlvbkJ1dHRvbkRlc2NyaXB0b3IpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fcmVqZWN0QnV0dG9uID0gYWN0aW9uQnV0dG9uRGVzY3JpcHRvcjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0IGlmIGRpYWxvZyBjYW4gYmUgY2xvc2VkIG9uIGVzY2FwZWQgcHJlc3NlZFxuICAgICAqIGlmIHRydWUsIHRoZW4gY2xvc2FibGUgaXMgYWxzbyBzZXQgdG8gdHJ1ZVxuICAgICAqIEBwYXJhbSBjbG9zZU9uRXNjYXBlXG4gICAgICovXG4gICAgcHVibGljIHdpdGhDbG9zZU9uRXNjYXBlKGNsb3NlT25Fc2NhcGU6IGJvb2xlYW4pOiB0aGlzIHtcbiAgICAgICAgaWYgKGNsb3NlT25Fc2NhcGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NhYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jbG9zZU9uRXNjYXBlID0gY2xvc2VPbkVzY2FwZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhDbG9zYWJsZShjbG9zYWJsZTogYm9vbGVhbik6IHRoaXMge1xuICAgICAgICB0aGlzLl9jbG9zYWJsZSA9IGNsb3NhYmxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFJ1bkNvbmZpcm1hdGlvbkNvbmZpZ01hcEZuKHJ1bkNvbmZpcm1hdGlvbkNvbmZpZ01hcEZuPzogQ29uZmlndXJhdGlvbkNvbmZpZ01hcEZuPFQ+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3J1bkNvbmZpcm1hdGlvbkNvbmZpZ01hcEZuID0gcnVuQ29uZmlybWF0aW9uQ29uZmlnTWFwRm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWNvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ljb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0aXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWVzc2FnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21lc3NhZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjbG9zZU9uRXNjYXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xvc2VPbkVzY2FwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsb3NhYmxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xvc2FibGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBydW5Db25maXJtYXRpb25Db25maWdNYXBGbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3J1bkNvbmZpcm1hdGlvbkNvbmZpZ01hcEZuO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYWNjZXB0QnV0dG9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWNjZXB0QnV0dG9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcmVqZWN0QnV0dG9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVqZWN0QnV0dG9uO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29uZmlndXJhdGlvbkNvbmZpZ01hcEZuPFQ+ID0gKGN0eDogQWN0aW9uQ29udGV4dDxULCBhbnk+LCBjb25maXJtQ29uZmlnOiBDb25maXJtYXRpb24pID0+IENvbmZpcm1hdGlvbjtcbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { ButtonStyleBuilder } from '../styles';
2
+ export class ActionButtonDescriptor {
3
+ constructor() {
4
+ this._iconPosition = 'left';
5
+ this._styleClass = new ButtonStyleBuilder();
6
+ }
7
+ withLabel(label) {
8
+ this._label = label;
9
+ return this;
10
+ }
11
+ withIcon(icon) {
12
+ this._icon = icon;
13
+ return this;
14
+ }
15
+ withIconPosition(iconPosition) {
16
+ this._iconPosition = iconPosition;
17
+ return this;
18
+ }
19
+ withStyleClass(style) {
20
+ this._styleClass = style;
21
+ return this;
22
+ }
23
+ withBadge(badge) {
24
+ this._badge = badge;
25
+ return this;
26
+ }
27
+ withTooltip(tooltip) {
28
+ this._tooltip = tooltip;
29
+ return this;
30
+ }
31
+ get label() {
32
+ return this._label;
33
+ }
34
+ get icon() {
35
+ return this._icon;
36
+ }
37
+ get iconPosition() {
38
+ return this._iconPosition;
39
+ }
40
+ get styleClass() {
41
+ return this._styleClass;
42
+ }
43
+ get badge() {
44
+ return this._badge;
45
+ }
46
+ get tooltip() {
47
+ return this._tooltip;
48
+ }
49
+ copy() {
50
+ const descriptor = new ActionButtonDescriptor();
51
+ descriptor._label = this._label;
52
+ descriptor._icon = this._icon;
53
+ descriptor._iconPosition = this._iconPosition;
54
+ descriptor._styleClass = this._styleClass;
55
+ descriptor._badge = this._badge;
56
+ descriptor._tooltip = this._tooltip;
57
+ return descriptor;
58
+ }
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXNjcmlwdG9ycy9hY3Rpb24tYnV0dG9uLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFBbkM7UUFJWSxrQkFBYSxHQUFxQixNQUFNLENBQUM7UUFFekMsZ0JBQVcsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFxRW5ELENBQUM7SUFoRVUsU0FBUyxDQUFDLEtBQXFCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBbUI7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFlBQThCO1FBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBeUI7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBZTtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxJQUFJO1FBQ1AsTUFBTSxVQUFVLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hELFVBQVUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsVUFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzlDLFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUMxQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEMsVUFBVSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BDLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QnV0dG9uU3R5bGVCdWlsZGVyfSBmcm9tICcuLi9zdHlsZXMnO1xuXG5leHBvcnQgY2xhc3MgQWN0aW9uQnV0dG9uRGVzY3JpcHRvciB7XG4gICAgcHJpdmF0ZSBfbGFiZWw/OiBzdHJpbmcgfCBudWxsO1xuXG4gICAgcHJpdmF0ZSBfaWNvbj86IHN0cmluZyB8IG51bGw7XG4gICAgcHJpdmF0ZSBfaWNvblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuXG4gICAgcHJpdmF0ZSBfc3R5bGVDbGFzcyA9IG5ldyBCdXR0b25TdHlsZUJ1aWxkZXIoKTtcblxuICAgIHByaXZhdGUgX2JhZGdlPzogc3RyaW5nO1xuICAgIHByaXZhdGUgX3Rvb2x0aXA/OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgd2l0aExhYmVsKGxhYmVsPzogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9sYWJlbCA9IGxhYmVsO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEljb24oaWNvbjogc3RyaW5nIHwgbnVsbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pY29uID0gaWNvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhJY29uUG9zaXRpb24oaWNvblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ljb25Qb3NpdGlvbiA9IGljb25Qb3NpdGlvbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhTdHlsZUNsYXNzKHN0eWxlOiBCdXR0b25TdHlsZUJ1aWxkZXIpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fc3R5bGVDbGFzcyA9IHN0eWxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEJhZGdlKGJhZGdlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fYmFkZ2UgPSBiYWRnZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhUb29sdGlwKHRvb2x0aXA6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl90b29sdGlwID0gdG9vbHRpcDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhYmVsO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWNvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ljb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpY29uUG9zaXRpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pY29uUG9zaXRpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdHlsZUNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3R5bGVDbGFzcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGJhZGdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmFkZ2U7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0b29sdGlwKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdG9vbHRpcDtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29weSgpOiBBY3Rpb25CdXR0b25EZXNjcmlwdG9yIHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IG5ldyBBY3Rpb25CdXR0b25EZXNjcmlwdG9yKCk7XG4gICAgICAgIGRlc2NyaXB0b3IuX2xhYmVsID0gdGhpcy5fbGFiZWw7XG4gICAgICAgIGRlc2NyaXB0b3IuX2ljb24gPSB0aGlzLl9pY29uO1xuICAgICAgICBkZXNjcmlwdG9yLl9pY29uUG9zaXRpb24gPSB0aGlzLl9pY29uUG9zaXRpb247XG4gICAgICAgIGRlc2NyaXB0b3IuX3N0eWxlQ2xhc3MgPSB0aGlzLl9zdHlsZUNsYXNzO1xuICAgICAgICBkZXNjcmlwdG9yLl9iYWRnZSA9IHRoaXMuX2JhZGdlO1xuICAgICAgICBkZXNjcmlwdG9yLl90b29sdGlwID0gdGhpcy5fdG9vbHRpcDtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxufVxuIl19