nuxeo-development-framework 5.2.3 → 5.2.4-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.
- package/bundles/nuxeo-development-framework.umd.js +7109 -711
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +48 -34
- package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
- package/esm2015/lib/components/ndf-datepicker/adapters/hijri-adapter.js +203 -0
- package/esm2015/lib/components/ndf-datepicker/adapters/index.js +3 -0
- package/esm2015/lib/components/ndf-datepicker/adapters/moment-adapter.js +186 -0
- package/esm2015/lib/components/ndf-datepicker/base/base-value-accessor.js +92 -0
- package/esm2015/lib/components/ndf-datepicker/base/index.js +2 -0
- package/esm2015/lib/components/ndf-datepicker/components/base-datepicker.js +37 -0
- package/esm2015/lib/components/ndf-datepicker/components/index.js +4 -0
- package/esm2015/lib/components/ndf-datepicker/components/input-date.component.js +110 -0
- package/esm2015/lib/components/ndf-datepicker/components/input-range-date.component.js +124 -0
- package/esm2015/lib/components/ndf-datepicker/constants/date-locale-keys.js +7 -0
- package/esm2015/lib/components/ndf-datepicker/constants/date-picker.js +2 -0
- package/esm2015/lib/components/ndf-datepicker/constants/date-type.js +5 -0
- package/esm2015/lib/components/ndf-datepicker/constants/formats.js +24 -0
- package/esm2015/lib/components/ndf-datepicker/constants/hijri-dates-names.js +117 -0
- package/esm2015/lib/components/ndf-datepicker/constants/index.js +6 -0
- package/esm2015/lib/components/ndf-datepicker/containers/datepicker-container.js +37 -0
- package/esm2015/lib/components/ndf-datepicker/containers/index.js +3 -0
- package/esm2015/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.js +105 -0
- package/esm2015/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.js +112 -0
- package/esm2015/lib/components/ndf-datepicker/index.js +10 -0
- package/esm2015/lib/components/ndf-datepicker/models/data-types.js +2 -0
- package/esm2015/lib/components/ndf-datepicker/models/index.js +3 -0
- package/esm2015/lib/components/ndf-datepicker/models/value-object.js +2 -0
- package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.component.js +198 -0
- package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.module.js +66 -0
- package/esm2015/lib/components/ndf-datepicker/services/calendar.service.js +130 -0
- package/esm2015/lib/components/ndf-datepicker/services/index.js +3 -0
- package/esm2015/lib/components/ndf-datepicker/services/localize-state.service.js +41 -0
- package/esm2015/lib/components/no-data-found/index.js +3 -0
- package/esm2015/lib/components/no-data-found/no-data-found.component.js +33 -0
- package/esm2015/lib/components/no-data-found/no-data.module.js +19 -0
- package/esm2015/lib/components/notifications/models/common.js +1 -1
- package/esm2015/lib/components/{dynamic-table → tables/dynamic-table}/directives/empty-state.directive.js +1 -1
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +353 -0
- package/esm2015/lib/components/tables/dynamic-table/dynamic-table.module.js +51 -0
- package/esm2015/lib/components/tables/dynamic-table/index.js +2 -0
- package/esm2015/lib/components/tables/dynamic-table/public-api.js +5 -0
- package/esm2015/lib/components/tables/dynamic-table/services/dynamic-table.service.js +16 -0
- package/esm2015/lib/components/{dynamic-table → tables}/index.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/components/index.js +6 -0
- package/esm2015/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.js +45 -0
- package/esm2015/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.js +42 -0
- package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +123 -0
- package/esm2015/lib/components/tables/ndf-table/components/table-export/table-export.component.js +41 -0
- package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +74 -0
- package/esm2015/lib/components/tables/ndf-table/constants/index.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/constants/sizes.js +19 -0
- package/esm2015/lib/components/tables/ndf-table/containers/index.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +404 -0
- package/esm2015/lib/components/tables/ndf-table/directives/actions.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/directives/filter-custom.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/directives/fluid-height.directive.js +112 -0
- package/esm2015/lib/components/tables/ndf-table/directives/index.js +5 -0
- package/esm2015/lib/components/tables/ndf-table/directives/search.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-aggregation-field.component.js +91 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-checkbox-radio.component.js +66 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-custom-field.component.js +46 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-predicate-field.component.js +43 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-value-accessor.component.js +34 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/index.js +6 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/field-header.component.js +36 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +97 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +43 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-collapse-control/filter-collapse-control.component.js +44 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-date-range/filter-date-range.component.js +89 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-empty-message.component.js +30 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-option-text/filter-option-text.component.js +33 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-options-sort/filter-options-sort.component.js +34 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-search-input/filter-search-input.component.js +36 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/html-dialog/html-dialog.component.js +34 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/index.js +10 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-autocomplete/aggregation-autocomplete.component.js +109 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-checkbox/aggregation-checkbox.component.js +65 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-custom/aggregation-custom.component.js +66 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-date-list/aggregation-date-list.component.js +219 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-radio/aggregation-radio.component.js +68 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-select/aggregation-select.component.js +83 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-switch/aggregation-switch.component.js +71 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/index.js +11 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-date-input/predicate-date-input.component.js +146 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-text-input/predicate-text-input.component.js +144 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/common.js +4 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/field.js +6 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/index.js +5 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/operators.js +18 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/sort.js +23 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/type.js +26 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/aggregation-field/aggregation-field.component.js +78 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/base-field.js +62 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/custom-field/custom-field.component.js +73 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/base-filters-panel.js +55 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/filters-panel.component.js +122 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/index.js +5 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/predicate-field/predicate-field.component.js +71 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user-switch.component.js +55 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user.service.js +17 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/user-types.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/index.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/autocomplete-template.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/checkbox-template.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/custom-template.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/date-template.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/dropdown-label-template.directive.js +53 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/dropdown-template.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/index.js +9 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/radio-template.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/switch-template.directive.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/filters-panel.module.js +205 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/index.js +12 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-field-config.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-response.model.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/base-field-config.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/common.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/custom-field-config.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-config.model.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/autocomplete-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/checkbox-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/common-utils.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-fields-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-list-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/dropdown-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/index.js +12 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/input-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/radio-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/switch-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/filter-option.model.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/form-query-request.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/index.js +13 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/predicate-field-config.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/types-helper.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/value-object.model.js +12 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/autocomplete-filter.pipe.js +27 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/filter.pipe.js +27 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/hash-translate.pipe.js +52 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/index.js +9 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/localized-label.pipe.js +28 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/roles-filters.pipe.js +31 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sanitizer.pipe.js +34 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sort.pipe.js +40 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/tooltip.pipe.js +69 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.js +105 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/dynamic-component-loader.service.js +59 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/filters-query.service.js +117 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/index.js +5 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/ndf-transform.service.js +80 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/index.js +3 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/nxql.js +47 -0
- package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/object.js +42 -0
- package/esm2015/lib/components/tables/ndf-table/index.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/models/index.js +8 -0
- package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/models/search.config.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/models/table-column.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/models/table-config.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/models/table-options.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/models/types.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +104 -0
- package/esm2015/lib/components/tables/ndf-table/public-api.js +8 -0
- package/esm2015/lib/components/tables/ndf-table/services/filters-mapper.service.js +60 -0
- package/esm2015/lib/components/tables/ndf-table/services/index.js +3 -0
- package/esm2015/lib/components/tables/ndf-table/services/ndf-table.service.js +27 -0
- package/esm2015/lib/components/tables/ndf-table/utils/index.js +2 -0
- package/esm2015/lib/components/tables/ndf-table/utils/nxql-query.js +52 -0
- package/esm2015/lib/components/tables/public-api.js +4 -0
- package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +68 -0
- package/esm2015/lib/components/tables/table/dynamic-component.js +59 -0
- package/esm2015/lib/components/tables/table/index.js +2 -0
- package/esm2015/lib/components/{table → tables/table}/page-sizes-list/page-sizes-list.component.js +1 -1
- package/esm2015/lib/components/tables/table/public-api.js +6 -0
- package/esm2015/lib/components/{table → tables/table}/table/table.component.js +10 -10
- package/esm2015/lib/components/tables/table/table.module.js +69 -0
- package/esm2015/lib/core/services/index.js +3 -0
- package/esm2015/lib/shared/models/index.js +2 -1
- package/esm2015/lib/shared/models/types-helper.js +2 -0
- package/esm2015/public-api.js +4 -7
- package/fesm2015/nuxeo-development-framework.js +6330 -551
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +1 -1
- package/lib/components/dynamic-search/dynamic-search.module.d.ts +1 -1
- package/lib/components/ndf-datepicker/adapters/hijri-adapter.d.ts +35 -0
- package/lib/components/ndf-datepicker/adapters/index.d.ts +2 -0
- package/lib/components/ndf-datepicker/adapters/moment-adapter.d.ts +50 -0
- package/lib/components/ndf-datepicker/base/base-value-accessor.d.ts +38 -0
- package/lib/components/ndf-datepicker/base/index.d.ts +1 -0
- package/lib/components/ndf-datepicker/components/base-datepicker.d.ts +13 -0
- package/lib/components/ndf-datepicker/components/index.d.ts +3 -0
- package/lib/components/ndf-datepicker/components/input-date.component.d.ts +19 -0
- package/lib/components/ndf-datepicker/components/input-range-date.component.d.ts +19 -0
- package/lib/components/ndf-datepicker/constants/date-locale-keys.d.ts +6 -0
- package/lib/components/ndf-datepicker/constants/date-picker.d.ts +1 -0
- package/lib/components/ndf-datepicker/constants/date-type.d.ts +4 -0
- package/lib/components/ndf-datepicker/constants/formats.d.ts +5 -0
- package/lib/components/ndf-datepicker/constants/hijri-dates-names.d.ts +12 -0
- package/lib/components/ndf-datepicker/constants/index.d.ts +5 -0
- package/lib/components/ndf-datepicker/containers/datepicker-container.d.ts +15 -0
- package/lib/components/ndf-datepicker/containers/index.d.ts +2 -0
- package/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.d.ts +10 -0
- package/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.d.ts +10 -0
- package/lib/components/ndf-datepicker/index.d.ts +9 -0
- package/lib/components/ndf-datepicker/models/data-types.d.ts +11 -0
- package/lib/components/ndf-datepicker/models/index.d.ts +2 -0
- package/lib/components/ndf-datepicker/models/value-object.d.ts +8 -0
- package/lib/components/ndf-datepicker/ndf-datepicker.component.d.ts +42 -0
- package/lib/components/ndf-datepicker/ndf-datepicker.module.d.ts +20 -0
- package/lib/components/ndf-datepicker/services/calendar.service.d.ts +33 -0
- package/lib/components/ndf-datepicker/services/index.d.ts +2 -0
- package/lib/components/ndf-datepicker/services/localize-state.service.d.ts +34 -0
- package/lib/components/no-data-found/index.d.ts +2 -0
- package/lib/components/no-data-found/no-data-found.component.d.ts +8 -0
- package/lib/components/no-data-found/no-data.module.d.ts +9 -0
- package/lib/components/notifications/models/common.d.ts +0 -1
- package/lib/components/{dynamic-table → tables/dynamic-table}/dynamic-table/dynamic-table.component.d.ts +7 -3
- package/lib/components/{dynamic-table → tables/dynamic-table}/dynamic-table.module.d.ts +3 -3
- package/lib/components/tables/index.d.ts +1 -0
- package/lib/components/tables/ndf-table/components/index.d.ts +5 -0
- package/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.d.ts +13 -0
- package/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.d.ts +12 -0
- package/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.d.ts +35 -0
- package/lib/components/tables/ndf-table/components/table-export/table-export.component.d.ts +13 -0
- package/lib/components/tables/ndf-table/components/text-search/text-search.component.d.ts +21 -0
- package/lib/components/tables/ndf-table/constants/index.d.ts +1 -0
- package/lib/components/tables/ndf-table/constants/sizes.d.ts +4 -0
- package/lib/components/tables/ndf-table/containers/index.d.ts +1 -0
- package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +119 -0
- package/lib/components/tables/ndf-table/directives/actions.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/directives/filter-custom.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/directives/fluid-height.directive.d.ts +36 -0
- package/lib/components/tables/ndf-table/directives/index.d.ts +4 -0
- package/lib/components/tables/ndf-table/directives/search.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/base/base-aggregation-field.component.d.ts +35 -0
- package/lib/components/tables/ndf-table/filters-panel/base/base-checkbox-radio.component.d.ts +22 -0
- package/lib/components/tables/ndf-table/filters-panel/base/base-custom-field.component.d.ts +19 -0
- package/lib/components/tables/ndf-table/filters-panel/base/base-predicate-field.component.d.ts +15 -0
- package/lib/components/tables/ndf-table/filters-panel/base/base-value-accessor.component.d.ts +20 -0
- package/lib/components/tables/ndf-table/filters-panel/base/index.d.ts +5 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/field-header.component.d.ts +5 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.d.ts +35 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete.service.d.ts +13 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-collapse-control/filter-collapse-control.component.d.ts +12 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-date-range/filter-date-range.component.d.ts +16 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-empty-message.component.d.ts +6 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-option-text/filter-option-text.component.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-options-sort/filter-options-sort.component.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-search-input/filter-search-input.component.d.ts +10 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/html-dialog/html-dialog.component.d.ts +10 -0
- package/lib/components/tables/ndf-table/filters-panel/components/__parts/index.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/components/aggregation-autocomplete/aggregation-autocomplete.component.d.ts +20 -0
- package/lib/components/tables/ndf-table/filters-panel/components/aggregation-checkbox/aggregation-checkbox.component.d.ts +10 -0
- package/lib/components/tables/ndf-table/filters-panel/components/aggregation-custom/aggregation-custom.component.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/components/aggregation-date-list/aggregation-date-list.component.d.ts +41 -0
- package/lib/components/tables/ndf-table/filters-panel/components/aggregation-radio/aggregation-radio.component.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/components/aggregation-select/aggregation-select.component.d.ts +14 -0
- package/lib/components/tables/ndf-table/filters-panel/components/aggregation-switch/aggregation-switch.component.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/components/index.d.ts +10 -0
- package/lib/components/tables/ndf-table/filters-panel/components/predicate-date-input/predicate-date-input.component.d.ts +25 -0
- package/lib/components/tables/ndf-table/filters-panel/components/predicate-text-input/predicate-text-input.component.d.ts +40 -0
- package/lib/components/tables/ndf-table/filters-panel/constants/common.d.ts +3 -0
- package/lib/components/tables/ndf-table/filters-panel/constants/field.d.ts +5 -0
- package/lib/components/tables/ndf-table/filters-panel/constants/index.d.ts +4 -0
- package/lib/components/tables/ndf-table/filters-panel/constants/operators.d.ts +17 -0
- package/lib/components/tables/ndf-table/filters-panel/constants/sort.d.ts +2 -0
- package/lib/components/tables/ndf-table/filters-panel/constants/type.d.ts +25 -0
- package/lib/components/tables/ndf-table/filters-panel/containers/aggregation-field/aggregation-field.component.d.ts +13 -0
- package/lib/components/tables/ndf-table/filters-panel/containers/base-field.d.ts +21 -0
- package/lib/components/tables/ndf-table/filters-panel/containers/custom-field/custom-field.component.d.ts +13 -0
- package/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/base-filters-panel.d.ts +19 -0
- package/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/filters-panel.component.d.ts +48 -0
- package/lib/components/tables/ndf-table/filters-panel/containers/index.d.ts +4 -0
- package/lib/components/tables/ndf-table/filters-panel/containers/predicate-field/predicate-field.component.d.ts +12 -0
- package/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user-switch.component.d.ts +14 -0
- package/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user.service.d.ts +8 -0
- package/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/user-types.d.ts +29 -0
- package/lib/components/tables/ndf-table/filters-panel/custom-components/index.d.ts +1 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/autocomplete-template.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/checkbox-template.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/custom-template.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/date-template.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/dropdown-label-template.directive.d.ts +16 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/dropdown-template.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/index.d.ts +8 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/radio-template.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/directives/switch-template.directive.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/filters-panel.module.d.ts +65 -0
- package/lib/components/tables/ndf-table/filters-panel/index.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/models/aggregation-field-config.d.ts +42 -0
- package/lib/components/tables/ndf-table/filters-panel/models/aggregation-response.model.d.ts +20 -0
- package/lib/components/tables/ndf-table/filters-panel/models/base-field-config.d.ts +13 -0
- package/lib/components/tables/ndf-table/filters-panel/models/common.d.ts +5 -0
- package/lib/components/tables/ndf-table/filters-panel/models/custom-field-config.d.ts +7 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-config.model.d.ts +14 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/autocomplete-options.d.ts +6 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/checkbox-options.d.ts +6 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/common-utils.d.ts +35 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-fields-options.d.ts +9 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-options.d.ts +5 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/date-list-options.d.ts +10 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/date-options.d.ts +22 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/dropdown-options.d.ts +6 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/index.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/input-options.d.ts +40 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/radio-options.d.ts +6 -0
- package/lib/components/tables/ndf-table/filters-panel/models/field-options/switch-options.d.ts +6 -0
- package/lib/components/tables/ndf-table/filters-panel/models/filter-option.model.d.ts +13 -0
- package/lib/components/tables/ndf-table/filters-panel/models/form-query-request.d.ts +5 -0
- package/lib/components/tables/ndf-table/filters-panel/models/index.d.ts +12 -0
- package/lib/components/tables/ndf-table/filters-panel/models/predicate-field-config.d.ts +7 -0
- package/lib/components/tables/ndf-table/filters-panel/models/types-helper.d.ts +47 -0
- package/lib/components/tables/ndf-table/filters-panel/models/value-object.model.d.ts +18 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/autocomplete-filter.pipe.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/filter.pipe.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/hash-translate.pipe.d.ts +18 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/index.d.ts +8 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/localized-label.pipe.d.ts +14 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/roles-filters.pipe.d.ts +12 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/sanitizer.pipe.d.ts +10 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/sort.pipe.d.ts +11 -0
- package/lib/components/tables/ndf-table/filters-panel/pipes/tooltip.pipe.d.ts +21 -0
- package/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.d.ts +16 -0
- package/lib/components/tables/ndf-table/filters-panel/services/dynamic-component-loader.service.d.ts +18 -0
- package/lib/components/tables/ndf-table/filters-panel/services/filters-query.service.d.ts +58 -0
- package/lib/components/tables/ndf-table/filters-panel/services/index.d.ts +4 -0
- package/lib/components/tables/ndf-table/filters-panel/services/ndf-transform.service.d.ts +55 -0
- package/lib/components/tables/ndf-table/filters-panel/utility/index.d.ts +2 -0
- package/lib/components/tables/ndf-table/filters-panel/utility/nxql.d.ts +19 -0
- package/lib/components/tables/ndf-table/filters-panel/utility/object.d.ts +7 -0
- package/lib/components/tables/ndf-table/index.d.ts +1 -0
- package/lib/components/tables/ndf-table/models/index.d.ts +7 -0
- package/lib/components/tables/ndf-table/models/payload-types.d.ts +28 -0
- package/lib/components/tables/ndf-table/models/search.config.d.ts +13 -0
- package/lib/components/tables/ndf-table/models/table-column.d.ts +34 -0
- package/lib/components/tables/ndf-table/models/table-config.d.ts +45 -0
- package/lib/components/tables/ndf-table/models/table-mode.d.ts +25 -0
- package/lib/components/tables/ndf-table/models/table-options.d.ts +54 -0
- package/lib/components/tables/ndf-table/models/types.d.ts +38 -0
- package/lib/components/tables/ndf-table/ndf-table.module.d.ts +32 -0
- package/lib/components/tables/ndf-table/public-api.d.ts +7 -0
- package/lib/components/tables/ndf-table/services/filters-mapper.service.d.ts +17 -0
- package/lib/components/tables/ndf-table/services/index.d.ts +2 -0
- package/lib/components/tables/ndf-table/services/ndf-table.service.d.ts +10 -0
- package/lib/components/tables/ndf-table/utils/index.d.ts +1 -0
- package/lib/components/tables/ndf-table/utils/nxql-query.d.ts +10 -0
- package/lib/components/tables/public-api.d.ts +3 -0
- package/lib/components/{table → tables/table}/dynamic-column/dynamic-column.component.d.ts +1 -1
- package/lib/components/{table → tables/table}/dynamic-component.d.ts +1 -1
- package/lib/components/tables/table/index.d.ts +1 -0
- package/lib/components/tables/table/public-api.d.ts +5 -0
- package/lib/components/{table → tables/table}/table/table.component.d.ts +3 -3
- package/lib/components/{table → tables/table}/table.module.d.ts +3 -3
- package/lib/core/services/index.d.ts +2 -0
- package/lib/shared/models/index.d.ts +1 -0
- package/lib/shared/models/types-helper.d.ts +1 -0
- package/package.json +3 -2
- package/public-api.d.ts +3 -6
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +0 -349
- package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +0 -51
- package/esm2015/lib/components/dynamic-table/public-api.js +0 -5
- package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +0 -16
- package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +0 -68
- package/esm2015/lib/components/table/dynamic-component.js +0 -59
- package/esm2015/lib/components/table/table.module.js +0 -69
- /package/lib/components/{dynamic-table → tables/dynamic-table}/directives/empty-state.directive.d.ts +0 -0
- /package/lib/components/{dynamic-table → tables/dynamic-table}/index.d.ts +0 -0
- /package/lib/components/{dynamic-table → tables/dynamic-table}/public-api.d.ts +0 -0
- /package/lib/components/{dynamic-table → tables/dynamic-table}/services/dynamic-table.service.d.ts +0 -0
- /package/lib/components/{table → tables/table}/page-sizes-list/page-sizes-list.component.d.ts +0 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, combineLatest, of } from 'rxjs';
|
|
4
|
+
import { catchError, filter, map, startWith, switchMap, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { ACTIONS_TABLE_TEMPLATE, FILTER_CUSTOM_TEMPLATE, SEARCH_TABLE_TEMPLATE } from '../../directives';
|
|
6
|
+
import { COMPARISON_OPERATOR, HtmlDialogComponent } from '../../filters-panel';
|
|
7
|
+
import _ from 'lodash';
|
|
8
|
+
import { PAGE_SIZE } from '../../constants';
|
|
9
|
+
import { DestroySubject } from '../../../../../shared/components';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../../services";
|
|
12
|
+
import * as i2 from "../../../dynamic-table";
|
|
13
|
+
import * as i3 from "@ngx-translate/core";
|
|
14
|
+
import * as i4 from "../../../../custom-toastr/services/custom-toastr.service";
|
|
15
|
+
import * as i5 from "@angular/material/dialog";
|
|
16
|
+
import * as i6 from "../../filters-panel/containers/filters-panel/filters-panel.component";
|
|
17
|
+
import * as i7 from "@angular/material/button";
|
|
18
|
+
import * as i8 from "@angular/material/icon";
|
|
19
|
+
import * as i9 from "../../components/text-search/text-search.component";
|
|
20
|
+
import * as i10 from "../../components/table-export/table-export.component";
|
|
21
|
+
import * as i11 from "../../components/sorting-list/sorting-list.component";
|
|
22
|
+
import * as i12 from "../../components/table-columns-toggler/table-columns-toggler.component";
|
|
23
|
+
import * as i13 from "../../components/mode-toggler/mode-toggler.component";
|
|
24
|
+
import * as i14 from "../../../dynamic-table/dynamic-table/dynamic-table.component";
|
|
25
|
+
import * as i15 from "@angular/material/progress-spinner";
|
|
26
|
+
import * as i16 from "../../../../no-data-found/no-data-found.component";
|
|
27
|
+
import * as i17 from "../../../table/table/table.component";
|
|
28
|
+
import * as i18 from "@angular/common";
|
|
29
|
+
import * as i19 from "../../directives/fluid-height.directive";
|
|
30
|
+
import * as i20 from "@angular/cdk/bidi";
|
|
31
|
+
import * as i21 from "../../../dynamic-table/directives/empty-state.directive";
|
|
32
|
+
export class NdfTableComponent extends DestroySubject {
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
constructor(_filtersMapper, _dynamicTableService, _translateService, _ngTableService, _toastrService, _dialog) {
|
|
37
|
+
super();
|
|
38
|
+
this._filtersMapper = _filtersMapper;
|
|
39
|
+
this._dynamicTableService = _dynamicTableService;
|
|
40
|
+
this._translateService = _translateService;
|
|
41
|
+
this._ngTableService = _ngTableService;
|
|
42
|
+
this._toastrService = _toastrService;
|
|
43
|
+
this._dialog = _dialog;
|
|
44
|
+
this._aggregationsSub = new BehaviorSubject(null);
|
|
45
|
+
this._displayedColumnsSub = new BehaviorSubject([]);
|
|
46
|
+
this._sortOptionSub = new BehaviorSubject(null);
|
|
47
|
+
this._viewModeSub = new BehaviorSubject('list');
|
|
48
|
+
this._textSearchSub = new BehaviorSubject(null);
|
|
49
|
+
this._activatedCriteriaSub = new BehaviorSubject(null);
|
|
50
|
+
this._customCriteriaSub = new BehaviorSubject({
|
|
51
|
+
params: {},
|
|
52
|
+
payload: {
|
|
53
|
+
predicateList: []
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
this.aggregations$ = this._aggregationsSub.asObservable();
|
|
57
|
+
this.displayedColumns$ = this._displayedColumnsSub.asObservable();
|
|
58
|
+
this.sortOption$ = this._sortOptionSub.asObservable();
|
|
59
|
+
this.viewMode$ = this._viewModeSub.asObservable();
|
|
60
|
+
this.customFilters$ = this._customCriteriaSub.asObservable();
|
|
61
|
+
this.textSearch$ = this._textSearchSub.asObservable();
|
|
62
|
+
this.searchAndFilters$ = combineLatest([this.textSearch$, this.customFilters$]).pipe(map((res) => this._prepareSearch(res)));
|
|
63
|
+
this.autoCalculateHeight = true;
|
|
64
|
+
this.emptyMessage = 'table_noData';
|
|
65
|
+
this.onRowSelected = new EventEmitter();
|
|
66
|
+
this.onRowIndexSelected = new EventEmitter();
|
|
67
|
+
this.actionOnRow = new EventEmitter();
|
|
68
|
+
this.onGettingData = new EventEmitter();
|
|
69
|
+
this.onMultiRowSelected = new EventEmitter();
|
|
70
|
+
this.onLoading = new EventEmitter();
|
|
71
|
+
this.onPage = new EventEmitter();
|
|
72
|
+
this.onInitialized = new EventEmitter();
|
|
73
|
+
this.onLoaded = new EventEmitter();
|
|
74
|
+
this.onQueryChange = new EventEmitter();
|
|
75
|
+
this.onSort = new EventEmitter();
|
|
76
|
+
this._tableConfigSub = new BehaviorSubject(null);
|
|
77
|
+
this.defaultSort = [{ prop: 'properties.createdAt', dir: 'desc' }];
|
|
78
|
+
this.direction = 'rtl';
|
|
79
|
+
this.isPanelOpened = false;
|
|
80
|
+
this.defaultPageSizes = PAGE_SIZE;
|
|
81
|
+
this._isConfigChanged = false;
|
|
82
|
+
this._tableInitialized = false;
|
|
83
|
+
this._pageChanged = false;
|
|
84
|
+
this._activePage = {
|
|
85
|
+
pageIndex: 1,
|
|
86
|
+
pageSize: 10,
|
|
87
|
+
length: 0
|
|
88
|
+
};
|
|
89
|
+
this._translateService.onLangChange
|
|
90
|
+
.pipe(startWith({ lang: this._translateService.currentLang }), takeUntil(this.destroy$))
|
|
91
|
+
.subscribe((res) => {
|
|
92
|
+
this.direction = res.lang === 'ar' ? 'rtl' : 'ltr';
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
set customCriteria(criteria) {
|
|
96
|
+
if (criteria) {
|
|
97
|
+
this._customCriteriaSub.next(criteria);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
set searchTerm(value) {
|
|
101
|
+
if (value) {
|
|
102
|
+
this._textSearchSub.next(value);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
set config(config) {
|
|
106
|
+
var _a, _b, _c, _d, _e, _f;
|
|
107
|
+
this._tableConfigSub.next(config);
|
|
108
|
+
this.isPanelOpened = (_d = (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.options) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.panel) === null || _c === void 0 ? void 0 : _c.visible) !== null && _d !== void 0 ? _d : true;
|
|
109
|
+
this._isConfigChanged = !!config;
|
|
110
|
+
if (config.columns) {
|
|
111
|
+
this._displayedColumnsSub.next(this._filterByVisibility(config.columns));
|
|
112
|
+
}
|
|
113
|
+
if (config.sortingBy) {
|
|
114
|
+
this._sortValue = config.sortingBy;
|
|
115
|
+
this._sortOptionSub.next(config.sortingBy);
|
|
116
|
+
}
|
|
117
|
+
if ((_f = (_e = config === null || config === void 0 ? void 0 : config.options) === null || _e === void 0 ? void 0 : _e.tableMode) === null || _f === void 0 ? void 0 : _f.mode) {
|
|
118
|
+
this._viewModeSub.next(config.options.tableMode.mode);
|
|
119
|
+
}
|
|
120
|
+
if (config.pageSize) {
|
|
121
|
+
this._activePage.pageSize = config.pageSize;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
get config() {
|
|
125
|
+
return this._tableConfigSub.getValue();
|
|
126
|
+
}
|
|
127
|
+
get options() {
|
|
128
|
+
var _a;
|
|
129
|
+
return (_a = this.config) === null || _a === void 0 ? void 0 : _a.options;
|
|
130
|
+
}
|
|
131
|
+
get filtersConfig() {
|
|
132
|
+
var _a;
|
|
133
|
+
return (_a = this.options) === null || _a === void 0 ? void 0 : _a.filters;
|
|
134
|
+
}
|
|
135
|
+
get sortList() {
|
|
136
|
+
var _a;
|
|
137
|
+
return ((_a = this.options) === null || _a === void 0 ? void 0 : _a.sortList) || [];
|
|
138
|
+
}
|
|
139
|
+
get columnsOptions() {
|
|
140
|
+
var _a, _b;
|
|
141
|
+
return (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.columns;
|
|
142
|
+
}
|
|
143
|
+
get columnToggle() {
|
|
144
|
+
var _a, _b;
|
|
145
|
+
return (_b = (_a = this.columnsOptions) === null || _a === void 0 ? void 0 : _a.toggle) !== null && _b !== void 0 ? _b : true;
|
|
146
|
+
}
|
|
147
|
+
get tableMode() {
|
|
148
|
+
var _a;
|
|
149
|
+
return (_a = this.options) === null || _a === void 0 ? void 0 : _a.tableMode;
|
|
150
|
+
}
|
|
151
|
+
get panelConfig() {
|
|
152
|
+
var _a, _b;
|
|
153
|
+
return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.panel;
|
|
154
|
+
}
|
|
155
|
+
get isPanelToggleAvailable() {
|
|
156
|
+
var _a, _b;
|
|
157
|
+
return (_b = (_a = this.panelConfig) === null || _a === void 0 ? void 0 : _a.toggleButton) !== null && _b !== void 0 ? _b : true;
|
|
158
|
+
}
|
|
159
|
+
get textSearchConfig() {
|
|
160
|
+
var _a;
|
|
161
|
+
return (_a = this.options) === null || _a === void 0 ? void 0 : _a.search;
|
|
162
|
+
}
|
|
163
|
+
get filterReloadConfig() {
|
|
164
|
+
var _a, _b;
|
|
165
|
+
return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.filters) === null || _b === void 0 ? void 0 : _b.reload;
|
|
166
|
+
}
|
|
167
|
+
get exportTableConfig() {
|
|
168
|
+
var _a;
|
|
169
|
+
return (_a = this.options) === null || _a === void 0 ? void 0 : _a.export;
|
|
170
|
+
}
|
|
171
|
+
togglePanel() {
|
|
172
|
+
this.isPanelOpened = !this.isPanelOpened;
|
|
173
|
+
}
|
|
174
|
+
onLoad(data) {
|
|
175
|
+
var _a, _b, _c;
|
|
176
|
+
this.onLoaded.emit(data);
|
|
177
|
+
if (!this._tableInitialized || ((_a = this.filterReloadConfig) === null || _a === void 0 ? void 0 : _a.strategy) === 'never' || this._pageChanged) {
|
|
178
|
+
this._pageChanged = false;
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
if (this._isConfigChanged || ((_b = this.filterReloadConfig) === null || _b === void 0 ? void 0 : _b.strategy) === 'always') {
|
|
182
|
+
this._aggregationsSub.next(data === null || data === void 0 ? void 0 : data.aggregations);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (((_c = this.filterReloadConfig) === null || _c === void 0 ? void 0 : _c.strategy) === 'onChange') {
|
|
186
|
+
const activatedQuery = this._activatedCriteriaSub.getValue();
|
|
187
|
+
const currentValue = (activatedQuery === null || activatedQuery === void 0 ? void 0 : activatedQuery.currentValue) || {};
|
|
188
|
+
const previousValue = (activatedQuery === null || activatedQuery === void 0 ? void 0 : activatedQuery.previousValue) || {};
|
|
189
|
+
const updatedKeys = _.union(_.keys(previousValue), _.keys(currentValue)).filter((key) => !_.isEqual(previousValue[key], currentValue[key]));
|
|
190
|
+
const triggerKeys = this.filterReloadConfig.triggerFields || [];
|
|
191
|
+
const shouldReload = triggerKeys.some((key) => updatedKeys.includes(key));
|
|
192
|
+
if (shouldReload) {
|
|
193
|
+
this._aggregationsSub.next(data === null || data === void 0 ? void 0 : data.aggregations);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
onInitialize(data) {
|
|
198
|
+
this._aggregationsSub.next(data === null || data === void 0 ? void 0 : data.aggregations);
|
|
199
|
+
this._tableInitialized = true;
|
|
200
|
+
this._isConfigChanged = false;
|
|
201
|
+
this.onInitialized.emit(data);
|
|
202
|
+
}
|
|
203
|
+
columnsChanged(columns) {
|
|
204
|
+
this._displayedColumnsSub.next(columns);
|
|
205
|
+
}
|
|
206
|
+
sortChanged(sort) {
|
|
207
|
+
this._sortValue = { sortBy: sort.value, sortOrder: sort.direction };
|
|
208
|
+
this._sortOptionSub.next(this._sortValue);
|
|
209
|
+
}
|
|
210
|
+
modeChanged(mode) {
|
|
211
|
+
this._viewModeSub.next(mode);
|
|
212
|
+
}
|
|
213
|
+
onSortChanged(sort) {
|
|
214
|
+
this._sortValue = sort;
|
|
215
|
+
this.onSort.emit(sort);
|
|
216
|
+
}
|
|
217
|
+
exportTable(type) {
|
|
218
|
+
var _a, _b, _c, _d;
|
|
219
|
+
const request = (_a = this.exportTableConfig) === null || _a === void 0 ? void 0 : _a.request;
|
|
220
|
+
if (!request) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
const columns = this._displayedColumnsSub.getValue();
|
|
224
|
+
const fields = columns.map((col) => col.headerClass);
|
|
225
|
+
const headers = columns.map((col) => (this.config.prefix || '') + col.name);
|
|
226
|
+
const criteria = this._customCriteriaSub.getValue();
|
|
227
|
+
request.params = Object.assign({}, criteria.params, this._sortValue || {}, ((_b = this.config) === null || _b === void 0 ? void 0 : _b.quickFilters) ? { quickFilters: this.config.quickFilters } : {}, request.params);
|
|
228
|
+
const payload = {
|
|
229
|
+
predicateList: criteria.payload.predicateList || [],
|
|
230
|
+
reportMetaData: {
|
|
231
|
+
docTypeName: this.exportTableConfig.docTypeName,
|
|
232
|
+
fileType: type,
|
|
233
|
+
locale: ((_c = this.exportTableConfig) === null || _c === void 0 ? void 0 : _c.locale) || this._translateService.currentLang,
|
|
234
|
+
fields: ((_d = this.exportTableConfig) === null || _d === void 0 ? void 0 : _d.fields) || fields,
|
|
235
|
+
headers: []
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
this._translateService
|
|
239
|
+
.get(headers)
|
|
240
|
+
.pipe(switchMap((translations) => {
|
|
241
|
+
payload.reportMetaData.headers = headers.map((col) => translations[col]);
|
|
242
|
+
return this._ngTableService.exportTable(request, payload);
|
|
243
|
+
}), catchError((_) => {
|
|
244
|
+
this._toastrService.error('TABLE.EXPORT.RequestError');
|
|
245
|
+
return of(false);
|
|
246
|
+
}), filter(Boolean), takeUntil(this.destroy$))
|
|
247
|
+
.subscribe((res) => {
|
|
248
|
+
if (res) {
|
|
249
|
+
this._toastrService.success('TABLE.EXPORT.requestSuccess');
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
this._toastrService.error('TABLE.EXPORT.requestError');
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
filterChanged(criteria) {
|
|
257
|
+
var _a, _b;
|
|
258
|
+
this._triggerCriteriaChanges(criteria);
|
|
259
|
+
if (((_a = this.filtersConfig) === null || _a === void 0 ? void 0 : _a.mode) !== 'payload') {
|
|
260
|
+
const isStringifyParams = (_b = this.filtersConfig) === null || _b === void 0 ? void 0 : _b.stringifyParams;
|
|
261
|
+
const value = !isStringifyParams ? criteria : this._stringifyValues(criteria);
|
|
262
|
+
this._dynamicTableService.refreshData.next(value);
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const payload = this._filtersMapper.preparePayload(this.filtersConfig.fields, criteria);
|
|
266
|
+
this._customCriteriaSub.next(payload);
|
|
267
|
+
}
|
|
268
|
+
onTextSearch(text) {
|
|
269
|
+
var _a;
|
|
270
|
+
if (!((_a = this.textSearchConfig) === null || _a === void 0 ? void 0 : _a.fieldKey) || typeof text !== 'string') {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
if (!text) {
|
|
274
|
+
this.onClearSearch();
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
this._textSearchSub.next(text);
|
|
278
|
+
}
|
|
279
|
+
onClearSearch() {
|
|
280
|
+
this._textSearchSub.next(null);
|
|
281
|
+
}
|
|
282
|
+
openSearchModal() {
|
|
283
|
+
var _a, _b;
|
|
284
|
+
const _dialogConfig = (_b = (_a = this.textSearchConfig) === null || _a === void 0 ? void 0 : _a.suffix) === null || _b === void 0 ? void 0 : _b.dialog;
|
|
285
|
+
if (!_dialogConfig) {
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
const { options } = _dialogConfig, data = __rest(_dialogConfig, ["options"]);
|
|
289
|
+
this._dialog.open(HtmlDialogComponent, Object.assign(Object.assign({ panelClass: 'p-0', minWidth: 'min(500px,60vw)', direction: this.direction }, options), { data }));
|
|
290
|
+
}
|
|
291
|
+
onPageChanged(page) {
|
|
292
|
+
this._pageChanged = this._activePage.pageIndex !== page.pageIndex || this._activePage.pageSize !== page.pageSize;
|
|
293
|
+
if (this._pageChanged) {
|
|
294
|
+
this.onPage.emit(page);
|
|
295
|
+
this._activePage = page;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
_filterByVisibility(columns) {
|
|
299
|
+
return columns.filter((col) => col.defaultVisible);
|
|
300
|
+
}
|
|
301
|
+
_prepareSearch([search, filters]) {
|
|
302
|
+
var _a, _b;
|
|
303
|
+
{
|
|
304
|
+
const { predicateList } = filters.payload;
|
|
305
|
+
const _key = (_a = this.textSearchConfig) === null || _a === void 0 ? void 0 : _a.fieldKey;
|
|
306
|
+
const searchIndex = predicateList.findIndex((itm) => itm.name === _key);
|
|
307
|
+
if (search && _key) {
|
|
308
|
+
if (searchIndex >= 0) {
|
|
309
|
+
predicateList[searchIndex].value = `'${search}'`;
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
predicateList.push({
|
|
313
|
+
name: _key,
|
|
314
|
+
operator: ((_b = this.textSearchConfig) === null || _b === void 0 ? void 0 : _b.operator) || COMPARISON_OPERATOR.equals,
|
|
315
|
+
value: `'${search}'`
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
else if (searchIndex >= 0) {
|
|
320
|
+
predicateList.splice(searchIndex);
|
|
321
|
+
}
|
|
322
|
+
return _.cloneDeep(Object.assign({}, filters));
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
_stringifyValues(criteria) {
|
|
326
|
+
return Object.entries(criteria).reduce((acc, [key, value]) => {
|
|
327
|
+
acc[key] = Array.isArray(value) ? JSON.stringify(value) : value;
|
|
328
|
+
return acc;
|
|
329
|
+
}, {});
|
|
330
|
+
}
|
|
331
|
+
_triggerCriteriaChanges(criteria) {
|
|
332
|
+
if (this._tableInitialized) {
|
|
333
|
+
this.onQueryChange.emit(criteria);
|
|
334
|
+
}
|
|
335
|
+
const activatedQuery = Object.assign({}, this._activatedCriteriaSub.getValue());
|
|
336
|
+
const previousValue = activatedQuery === null || activatedQuery === void 0 ? void 0 : activatedQuery.currentValue;
|
|
337
|
+
this._activatedCriteriaSub.next({
|
|
338
|
+
previousValue: previousValue,
|
|
339
|
+
currentValue: criteria
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
NdfTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableComponent, deps: [{ token: i1.FiltersMapperService }, { token: i2.DynamicTableService }, { token: i3.TranslateService }, { token: i1.NdfTableService }, { token: i4.CustomToastrService }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
344
|
+
NdfTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfTableComponent, selector: "app-ndf-table", inputs: { rows: "rows", totalRecords: "totalRecords", autoCalculateHeight: "autoCalculateHeight", emptyMessage: "emptyMessage", activeQuery: "activeQuery", customCriteria: "customCriteria", searchTerm: "searchTerm", config: "config" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", onPage: "onPage", onInitialized: "onInitialized", onLoaded: "onLoaded", onQueryChange: "onQueryChange", onSort: "onSort" }, host: { properties: { "dir": "direction" }, classAttribute: "ndf-table" }, queries: [{ propertyName: "actionsTableTemplate", first: true, predicate: ACTIONS_TABLE_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "searchTableTemplate", first: true, predicate: SEARCH_TABLE_TEMPLATE, descendants: true, read: TemplateRef }, { propertyName: "filterCustomTemplate", first: true, predicate: FILTER_CUSTOM_TEMPLATE, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "\r\n<div\r\n\t*ngIf=\"config\"\r\n\tclass=\"ndf-table__container\"\r\n\t[class.panel-opened]=\"isPanelOpened && filtersConfig\"\r\n\t[dir]=\"direction\"\r\n\tndfFluidHeight\r\n\t[calculate]=\"autoCalculateHeight\"\r\n>\r\n\t<div class=\"ndf-table__panel\" *ngIf=\"filtersConfig?.fields\">\r\n\t\t<app-filters-panel\r\n\t\t\t[fields]=\"filtersConfig.fields\"\r\n\t\t\t[aggregations]=\"aggregations$ | async\"\r\n\t\t\t(filterChanged)=\"filterChanged($event)\"\r\n\t\t\t[activeQuery]=\"activeQuery\"\r\n\t\t\tclass=\"ndf-table__filters\"\r\n\t\t\t[customTemplateRef]=\"filterCustomTemplate\"\r\n\t\t></app-filters-panel>\r\n\t</div>\r\n\t<div class=\"ndf-table__content\">\r\n\t\t<div class=\"ndf-table__header flex\">\r\n\t\t\t<div class=\"ndf-table__header__custom-actions flex gap-x-4 items-center\">\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"searchTableTemplate || defaultActionTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: config,\r\n\t\t\t\t\t\tpanelOpened: isPanelOpened,\r\n\t\t\t\t\t\ttogglePanel: togglePanel,\r\n\t\t\t\t\t\topenModal: openSearchModal,\r\n\t\t\t\t\t\tsearch: onTextSearch,\r\n\t\t\t\t\t\tclear: onClearSearch\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\r\n\t\t\t\t<ng-template #defaultActionTemplate>\r\n\t\t\t\t\t<button mat-stroked-button *ngIf=\"isPanelToggleAvailable\" class=\"toggle-button\" (click)=\"togglePanel()\">\r\n\t\t\t\t\t\t<mat-icon> filter_alt</mat-icon>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t\t<app-text-search\r\n\t\t\t\t\t\t*ngIf=\"textSearchConfig\"\r\n\t\t\t\t\t\t[searchConfig]=\"textSearchConfig\"\r\n\t\t\t\t\t\t(openModal)=\"openSearchModal()\"\r\n\t\t\t\t\t\t[search]=\"textSearch$ | async\"\r\n\t\t\t\t\t\t(searchChange)=\"onTextSearch($event)\"\r\n\t\t\t\t\t\t(clear)=\"onClearSearch()\"\r\n\t\t\t\t\t></app-text-search>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"ndf-table__header__actions flex gap-x-4 items-center\">\r\n\t\t\t\t<ndf-table-export\r\n\t\t\t\t\t*ngIf=\"exportTableConfig?.enabled\"\r\n\t\t\t\t\t[config]=\"exportTableConfig\"\r\n\t\t\t\t\t(onExport)=\"exportTable($event)\"\r\n\t\t\t\t></ndf-table-export>\r\n\r\n\t\t\t\t<table-sorting-list\r\n\t\t\t\t\t*ngIf=\"!!sortList?.length\"\r\n\t\t\t\t\t[sortList]=\"sortList\"\r\n\t\t\t\t\t(sortChanged)=\"sortChanged($event)\"\r\n\t\t\t\t></table-sorting-list>\r\n\t\t\t\t<table-columns-toggler\r\n\t\t\t\t\t*ngIf=\"columnToggle\"\r\n\t\t\t\t\t[columns]=\"config.columns\"\r\n\t\t\t\t\t[prefix]=\"config.prefix\"\r\n\t\t\t\t\t[sortable]=\"columnsOptions?.sortable\"\r\n\t\t\t\t\t(columnsChanged)=\"columnsChanged($event)\"\r\n\t\t\t\t></table-columns-toggler>\r\n\t\t\t\t<mode-toggler\r\n\t\t\t\t\t*ngIf=\"tableMode?.toggleMode\"\r\n\t\t\t\t\t[mode]=\"tableMode.mode || 'list'\"\r\n\t\t\t\t\t[modesList]=\"tableMode?.availableMode\"\r\n\t\t\t\t\t(modeChanged)=\"modeChanged($event)\"\r\n\t\t\t\t></mode-toggler>\r\n\t\t\t\t<ng-container\r\n\t\t\t\t\t[ngTemplateOutlet]=\"actionsTableTemplate\"\r\n\t\t\t\t\t[ngTemplateOutletContext]=\"{\r\n\t\t\t\t\t\t$implicit: config,\r\n\t\t\t\t\t\tpanelOpened: isPanelOpened,\r\n\t\t\t\t\t\ttogglePanel: togglePanel,\r\n\t\t\t\t\t\topenModal: openSearchModal,\r\n\t\t\t\t\t\tsearch: onTextSearch,\r\n\t\t\t\t\t\tclear: onClearSearch\r\n\t\t\t\t\t}\"\r\n\t\t\t\t></ng-container>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<cts-dynamic-table\r\n\t\t\t*ngIf=\"!config.isDataProvided\"\r\n\t\t\tclass=\"ndf-table__table table-style\"\r\n\t\t\t[columns]=\"displayedColumns$ | async\"\r\n\t\t\t[responsiveColumns]=\"displayedColumns$ | async\"\r\n\t\t\t[fullWidth]=\"config.fullWidth || 'auto'\"\r\n\t\t\t[pageSize]=\"config.pageSize || 10\"\r\n\t\t\t[pageNumber]=\"config.pageNumber || 1\"\r\n\t\t\t[pageProvider]=\"config.pageProvider\"\r\n\t\t\t[customUrl]=\"config.customUrl\"\r\n\t\t\t[quickFilter]=\"config.quickFilters ? { quickFilters: config.quickFilters } : undefined\"\r\n\t\t\t[defultSort]=\"config.defaultSort || defaultSort\"\r\n\t\t\t[sortingBy]=\"sortOption$ | async\"\r\n\t\t\t[entityType]=\"'all'\"\r\n\t\t\t[fields]=\"config.fields\"\r\n\t\t\t[tableMode]=\"viewMode$ | async\"\r\n\t\t\t[componentName]=\"tableMode?.['componentName']\"\r\n\t\t\t[range]=\"config?.range\"\r\n\t\t\t[isSearchPage]=\"config?.isSearchPage\"\r\n\t\t\t[multiSelectRows]=\"config?.multiSelectRows\"\r\n\t\t\t[customFirstRow]=\"config?.customFirstRow\"\r\n\t\t\t[highlightSelectedCard]=\"config?.highlightSelectedCard\"\r\n\t\t\t[showActionsAsMenu]=\"config?.showActionsAsMenu\"\r\n\t\t\t[filterParams]=\"config?.filterParams\"\r\n\t\t\t[format]=\"config?.format || 'MMMM d, y'\"\r\n\t\t\t[pageSizes]=\"config?.pageSizes || defaultPageSizes\"\r\n\t\t\t[prefix]=\"config.prefix || ''\"\r\n\t\t\t[rowCursor]=\"true\"\r\n\t\t\t[queryParam]=\"config.queryParam\"\r\n\t\t\t[customFilters]=\"searchAndFilters$ | async\"\r\n\t\t\t[tableActions]=\"config.tableActions\"\r\n\t\t\t[headers]=\"config.headers\"\r\n\t\t\t(onRowSelected)=\"onRowSelected.emit($event)\"\r\n\t\t\t(onRowIndexSelected)=\"onRowIndexSelected.emit($event)\"\r\n\t\t\t(actionOnRow)=\"actionOnRow.emit($event)\"\r\n\t\t\t(onGettingData)=\"onGettingData.emit($event)\"\r\n\t\t\t(onLoad)=\"onLoad($event)\"\r\n\t\t\t(onInitialize)=\"onInitialize($event)\"\r\n\t\t\t(onMultiRowSelected)=\"onMultiRowSelected.emit($event)\"\r\n\t\t\t(onLoading)=\"onLoading.emit($event)\"\r\n\t\t\t(onPage)=\"onPageChanged($event)\"\r\n\t\t\t[isLegacyMode]=\"false\"\r\n\t\t\t[showTotalRecord]=\"true\"\r\n\t\t\t(sortChanged)=\"onSortChanged($event)\"\r\n\t\t>\r\n\t\t\t<ng-template emptyTemplate let-isLoading let-rows=\"rows\" let-initialized=\"initialized\">\r\n\t\t\t\t<div class=\"loading-data\" *ngIf=\"isLoading && initialized\">\r\n\t\t\t\t\t<mat-spinner></mat-spinner>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"flex items-center justify-center h-5/6\" *ngIf=\"!isLoading && !rows.length\">\r\n\t\t\t\t\t<app-no-data-found class=\"mt-4\" [message]=\"emptyMessage\"></app-no-data-found>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-template>\r\n\t\t</cts-dynamic-table>\r\n\r\n\t\t<cts-table\r\n\t\t\t*ngIf=\"config.isDataProvided\"\r\n\t\t\t[rows]=\"rows\"\r\n\t\t\t[totalRecords]=\"totalRecords\"\r\n\t\t\t[columns]=\"displayedColumns$ | async\"\r\n\t\t\t[responsiveColumns]=\"displayedColumns$ | async\"\r\n\t\t\t[rowCursor]=\"true\"\r\n\t\t\t[fullWidth]=\"config.fullWidth || 'auto'\"\r\n\t\t\t[entityType]=\"'all'\"\r\n\t\t\t[prefix]=\"config.prefix || ''\"\r\n\t\t\t[tableMode]=\"viewMode$ | async\"\r\n\t\t\t[componentName]=\"tableMode?.['componentName']\"\r\n\t\t\t[multiSelectRows]=\"config?.multiSelectRows\"\r\n\t\t\t[customFirstRow]=\"config?.customFirstRow\"\r\n\t\t\t[tableActions]=\"config.tableActions\"\r\n\t\t\t[showActionsAsMenu]=\"config?.showActionsAsMenu\"\r\n\t\t\t[defultSort]=\"config.defaultSort || defaultSort\"\r\n\t\t\t[format]=\"config?.format || 'MMMM d, y'\"\r\n\t\t\t[highlightSelectedCard]=\"config?.highlightSelectedCard\"\r\n\t\t\t(onRowSelected)=\"onRowSelected.emit($event)\"\r\n\t\t\t(onRowIndexSelected)=\"onRowIndexSelected.emit($event)\"\r\n\t\t\t(onMultiRowSelected)=\"onMultiRowSelected.emit($event)\"\r\n\t\t\t(actionOnRow)=\"actionOnRow.emit($event)\"\r\n\t\t\t(onSorting)=\"onSortChanged($event)\"\r\n\t\t></cts-table>\r\n\t</div>\r\n</div>\r\n", styles: [":host{padding-inline:var(--ndf-tbl-inline-padding, 1rem);padding-block:var(--ndf-tbl-block-padding, 1rem);border:var(--ndf-tbl-border, solid transparent);border-width:var(--ndf-table-border-width, 0);border-radius:var(--ndf-tbl-border-radius, 0);height:100%;position:relative;display:flex;flex-direction:column;background-color:var(--ndf-tbl-background, #fff);box-sizing:border-box;max-width:100%;flex:0 0 100%}:host [dir=ltr]{--ndf-tbl-panel-translateX: -100%}:host:before,:host:after{box-sizing:border-box}::ng-deep .wrapping,::ng-deep .wrapping .table-reposition{overflow:visible}.ndf-table__container{--table-div-height: auto;--table-reposition-overflow-y: visible;--table-div-overflow: visible;--panel-width: var(--ndf-tbl-panel-width, 18rem);position:relative;overflow:hidden;display:grid;transition:all .2s;max-width:100%;width:100%;height:var(--ndf-tbl-height, calc(var(--ndf-table-height, auto) - calc(var(--ndf-tbl-block-padding, 1rem) * 2.5)));flex-grow:1;grid-gap:var(--ndf-table-container-gap, .5rem);gap:var(--ndf-table-container-gap, .5rem)}.ndf-table__container.panel-opened{--ndf-tbl-panel-translateX: 0;--ndf-tbl-content-pis: var(--panel-width)}.ndf-table__panel,.ndf-table__content{overflow:auto;transition:all .2s}.ndf-table__panel{position:absolute;width:var(--panel-width);height:100%;transform:translate(var(--ndf-tbl-panel-translateX, 100%));padding-inline:var(--ndf-tbl-panel-inline-padding, .5rem);padding-block:var(--ndf-tbl-panel-block-padding, .5rem);background:var(--ndf-tbl-panel-background, #fff);z-index:1}.ndf-table__content{flex-grow:1;padding-inline-start:var(--ndf-tbl-content-pis, 0);padding-block-end:var(--ndf-tbl-content-pbe, 1rem);overflow-y:var(--ndf-tbl-content-overflow-y, auto);max-height:var(--ndf-tbl-content-max-height, var(--ndf-table-height));display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content}.ndf-table__header{background-color:var(--ndf-tbl-background, #fff);flex-direction:var(--ndf-tbl-header-direction, row);justify-content:var(--ndf-tbl-header-justify, space-between);align-items:var(--ndf-tbl-header-items, center);padding-inline:var(--ndf-tbl-header-padding-inline, .5rem);padding-block:var(--ndf-tbl-header-padding-block, 0 .5rem);position:var(--ndf-tbl-header-position, sticky);top:0;z-index:1}.ndf-table__header__actions{justify-content:var(--ndf-tbl-actions-justify, flex-end)}.ndf-table__header__custom-actions .toggle-button{min-width:0;padding:0 10px}.ndf-table__table{flex-grow:1;display:flex;flex-direction:column}.ndf-table__table.no-data{--table-div-height: auto}.loading-data{position:absolute;inset:0;display:grid;place-items:center;background:var(--loading-data-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-data-backdrop-filter, blur(3px));backdrop-filter:var(--loading-data-backdrop-filter, blur(3px))}\n"], components: [{ type: i6.FiltersPanelComponent, selector: "app-filters-panel", inputs: ["aggregations", "fields", "activeQuery"], outputs: ["filterChanged"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.TextSearchComponent, selector: "app-text-search", inputs: ["searchConfig", "search"], outputs: ["searchChange", "openModal", "clear"] }, { type: i10.TableExportComponent, selector: "ndf-table-export", inputs: ["config"], outputs: ["onExport"] }, { type: i11.SortingListComponent, selector: "table-sorting-list", inputs: ["sortList"], outputs: ["sortChanged"] }, { type: i12.TableColumnsTogglerComponent, selector: "table-columns-toggler", inputs: ["prefix", "sortable", "columns"], outputs: ["columnsChanged"] }, { type: i13.ModeTogglerComponent, selector: "mode-toggler", inputs: ["modesList", "mode"], outputs: ["modeChanged"] }, { type: i14.DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "isLegacyMode", "showTotalRecord", "pageNumber", "sortingBy", "queryParam", "customFilters", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "componentName", "tableActions", "defultSort", "range", "isSearchPage", "multiSelectRows", "customFirstRow", "highlightSelectedCard", "showActionsAsMenu", "filterParams", "skipAggregation", "customUrl", "format", "pageSizes"], outputs: ["onRowSelected", "onRowIndexSelected", "actionOnRow", "onGettingData", "onMultiRowSelected", "onLoading", "sortChanged", "onPageChange", "onPage", "onLoad", "onInitialize"] }, { type: i15.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i16.NoDataFoundComponent, selector: "app-no-data-found", inputs: ["message", "width", "height"] }, { type: i17.TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages", "defaultColumnSize"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }], directives: [{ type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19.FluidHeightDirective, selector: "[ndfFluidHeight]", inputs: ["minHeight", "ndfFluidHeight", "subtractItems", "decrease", "delay", "calculate", "inlineStyle"], exportAs: ["ndfFluidHeight"] }, { type: i20.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i18.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i21.EmptyTemplateDirective, selector: "[emptyTemplate]" }], pipes: { "async": i18.AsyncPipe } });
|
|
345
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfTableComponent, decorators: [{
|
|
346
|
+
type: Component,
|
|
347
|
+
args: [{
|
|
348
|
+
selector: 'app-ndf-table',
|
|
349
|
+
templateUrl: './ndf-table.component.html',
|
|
350
|
+
styleUrls: ['./ndf-table.component.scss'],
|
|
351
|
+
host: {
|
|
352
|
+
class: 'ndf-table',
|
|
353
|
+
'[dir]': 'direction'
|
|
354
|
+
}
|
|
355
|
+
}]
|
|
356
|
+
}], ctorParameters: function () { return [{ type: i1.FiltersMapperService }, { type: i2.DynamicTableService }, { type: i3.TranslateService }, { type: i1.NdfTableService }, { type: i4.CustomToastrService }, { type: i5.MatDialog }]; }, propDecorators: { rows: [{
|
|
357
|
+
type: Input
|
|
358
|
+
}], totalRecords: [{
|
|
359
|
+
type: Input
|
|
360
|
+
}], autoCalculateHeight: [{
|
|
361
|
+
type: Input
|
|
362
|
+
}], emptyMessage: [{
|
|
363
|
+
type: Input
|
|
364
|
+
}], activeQuery: [{
|
|
365
|
+
type: Input
|
|
366
|
+
}], customCriteria: [{
|
|
367
|
+
type: Input
|
|
368
|
+
}], searchTerm: [{
|
|
369
|
+
type: Input
|
|
370
|
+
}], onRowSelected: [{
|
|
371
|
+
type: Output
|
|
372
|
+
}], onRowIndexSelected: [{
|
|
373
|
+
type: Output
|
|
374
|
+
}], actionOnRow: [{
|
|
375
|
+
type: Output
|
|
376
|
+
}], onGettingData: [{
|
|
377
|
+
type: Output
|
|
378
|
+
}], onMultiRowSelected: [{
|
|
379
|
+
type: Output
|
|
380
|
+
}], onLoading: [{
|
|
381
|
+
type: Output
|
|
382
|
+
}], onPage: [{
|
|
383
|
+
type: Output
|
|
384
|
+
}], onInitialized: [{
|
|
385
|
+
type: Output
|
|
386
|
+
}], onLoaded: [{
|
|
387
|
+
type: Output
|
|
388
|
+
}], onQueryChange: [{
|
|
389
|
+
type: Output
|
|
390
|
+
}], onSort: [{
|
|
391
|
+
type: Output
|
|
392
|
+
}], actionsTableTemplate: [{
|
|
393
|
+
type: ContentChild,
|
|
394
|
+
args: [ACTIONS_TABLE_TEMPLATE, { read: TemplateRef }]
|
|
395
|
+
}], searchTableTemplate: [{
|
|
396
|
+
type: ContentChild,
|
|
397
|
+
args: [SEARCH_TABLE_TEMPLATE, { read: TemplateRef }]
|
|
398
|
+
}], filterCustomTemplate: [{
|
|
399
|
+
type: ContentChild,
|
|
400
|
+
args: [FILTER_CUSTOM_TEMPLATE, { read: TemplateRef }]
|
|
401
|
+
}], config: [{
|
|
402
|
+
type: Input
|
|
403
|
+
}] } });
|
|
404
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmRmLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL25kZi10YWJsZS9jb250YWluZXJzL25kZi10YWJsZS9uZGYtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvbmRmLXRhYmxlL2NvbnRhaW5lcnMvbmRmLXRhYmxlL25kZi10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSWxHLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RyxPQUFPLEVBRU4sbUJBQW1CLEVBRW5CLG1CQUFtQixFQUVuQixNQUFNLHFCQUFxQixDQUFDO0FBWTdCLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBRUcsTUFBTTtzQkFBZixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFFc0Qsb0JBQW9CO3NCQUFoRixZQUFZO3VCQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDQyxtQkFBbUI7c0JBQTlFLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNHLG9CQUFvQjtzQkFBaEYsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRzlDLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFDVElPTlNfVEFCTEVfVEVNUExBVEUsIEZJTFRFUl9DVVNUT01fVEVNUExBVEUsIFNFQVJDSF9UQUJMRV9URU1QTEFURSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQge1xyXG5cdEFnZ3JlZ2F0aW9uUmVzcG9uc2UsXHJcblx0Q09NUEFSSVNPTl9PUEVSQVRPUixcclxuXHRGb3JtUXVlcnlNb2RlbCxcclxuXHRIdG1sRGlhbG9nQ29tcG9uZW50LFxyXG5cdEh0bWxEaWFsb2dDb25maWdcclxufSBmcm9tICcuLi8uLi9maWx0ZXJzLXBhbmVsJztcclxuaW1wb3J0IHtcclxuXHRDdXN0b21Dcml0ZXJpYU1vZGVsLFxyXG5cdEV4cG9ydFR5cGUsXHJcblx0TmRmRXhwb3J0UGF5bG9hZCxcclxuXHROZGZUYWJsZUNvbmZpZyxcclxuXHRTb3J0VGFibGVJdGVtLFxyXG5cdFRhYmxlQ29sdW1uQ29uZmlnLFxyXG5cdFRhYmxlU29ydE9wdGlvbnMsXHJcblx0VGFibGVWaWV3TW9kZVxyXG59IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbHRlcnNNYXBwZXJTZXJ2aWNlLCBOZGZUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFBBR0VfU0laRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvci9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBEZXN0cm95U3ViamVjdCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgTnV4ZW9QYWdpbmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL21vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9keW5hbWljLXRhYmxlJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLW5kZi10YWJsZScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL25kZi10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbmRmLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0aG9zdDoge1xyXG5cdFx0Y2xhc3M6ICduZGYtdGFibGUnLFxyXG5cdFx0J1tkaXJdJzogJ2RpcmVjdGlvbidcclxuXHR9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZGZUYWJsZUNvbXBvbmVudCBleHRlbmRzIERlc3Ryb3lTdWJqZWN0IHtcclxuXHRwcml2YXRlIHJlYWRvbmx5IF9hZ2dyZWdhdGlvbnNTdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY29yZDxzdHJpbmcsIEFnZ3JlZ2F0aW9uUmVzcG9uc2U+PihudWxsKTtcclxuXHRwcml2YXRlIHJlYWRvbmx5IF9kaXNwbGF5ZWRDb2x1bW5zU3ViID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZUNvbHVtbkNvbmZpZ1tdPihbXSk7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfc29ydE9wdGlvblN1YiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVTb3J0T3B0aW9ucz4obnVsbCk7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfdmlld01vZGVTdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhYmxlVmlld01vZGU+KCdsaXN0Jyk7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfdGV4dFNlYXJjaFN1YiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcclxuXHJcblx0cHJpdmF0ZSByZWFkb25seSBfYWN0aXZhdGVkQ3JpdGVyaWFTdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHtcclxuXHRcdHByZXZpb3VzVmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0XHRjdXJyZW50VmFsdWU6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0fT4obnVsbCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgX2N1c3RvbUNyaXRlcmlhU3ViID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDdXN0b21Dcml0ZXJpYU1vZGVsPih7XHJcblx0XHRwYXJhbXM6IHt9LFxyXG5cdFx0cGF5bG9hZDoge1xyXG5cdFx0XHRwcmVkaWNhdGVMaXN0OiBbXVxyXG5cdFx0fVxyXG5cdH0pO1xyXG5cclxuXHRyZWFkb25seSBhZ2dyZWdhdGlvbnMkID0gdGhpcy5fYWdncmVnYXRpb25zU3ViLmFzT2JzZXJ2YWJsZSgpO1xyXG5cdHJlYWRvbmx5IGRpc3BsYXllZENvbHVtbnMkID0gdGhpcy5fZGlzcGxheWVkQ29sdW1uc1N1Yi5hc09ic2VydmFibGUoKTtcclxuXHRyZWFkb25seSBzb3J0T3B0aW9uJCA9IHRoaXMuX3NvcnRPcHRpb25TdWIuYXNPYnNlcnZhYmxlKCk7XHJcblx0cmVhZG9ubHkgdmlld01vZGUkID0gdGhpcy5fdmlld01vZGVTdWIuYXNPYnNlcnZhYmxlKCk7XHJcblx0cmVhZG9ubHkgY3VzdG9tRmlsdGVycyQgPSB0aGlzLl9jdXN0b21Dcml0ZXJpYVN1Yi5hc09ic2VydmFibGUoKTtcclxuXHRyZWFkb25seSB0ZXh0U2VhcmNoJCA9IHRoaXMuX3RleHRTZWFyY2hTdWIuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG5cdHJlYWRvbmx5IHNlYXJjaEFuZEZpbHRlcnMkID0gY29tYmluZUxhdGVzdChbdGhpcy50ZXh0U2VhcmNoJCwgdGhpcy5jdXN0b21GaWx0ZXJzJF0pLnBpcGUoXHJcblx0XHRtYXAoKHJlcykgPT4gdGhpcy5fcHJlcGFyZVNlYXJjaChyZXMpKVxyXG5cdCk7XHJcblx0QElucHV0KCkgcm93czogQXJyYXk8dW5rbm93bj47XHJcblx0QElucHV0KCkgdG90YWxSZWNvcmRzOiBudW1iZXI7XHJcblx0QElucHV0KCkgYXV0b0NhbGN1bGF0ZUhlaWdodCA9IHRydWU7XHJcblx0QElucHV0KCkgZW1wdHlNZXNzYWdlID0gJ3RhYmxlX25vRGF0YSc7XHJcblx0QElucHV0KCkgYWN0aXZlUXVlcnk6IEZvcm1RdWVyeU1vZGVsO1xyXG5cclxuXHRASW5wdXQoKSBzZXQgY3VzdG9tQ3JpdGVyaWEoY3JpdGVyaWE6IEN1c3RvbUNyaXRlcmlhTW9kZWwpIHtcclxuXHRcdGlmIChjcml0ZXJpYSkge1xyXG5cdFx0XHR0aGlzLl9jdXN0b21Dcml0ZXJpYVN1Yi5uZXh0KGNyaXRlcmlhKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBJbnB1dCgpIHNldCBzZWFyY2hUZXJtKHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdGlmICh2YWx1ZSkge1xyXG5cdFx0XHR0aGlzLl90ZXh0U2VhcmNoU3ViLm5leHQodmFsdWUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QE91dHB1dCgpIG9uUm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dCgpIG9uUm93SW5kZXhTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KCkgYWN0aW9uT25Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dCgpIG9uR2V0dGluZ0RhdGEgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0QE91dHB1dCgpIG9uTXVsdGlSb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KCkgb25Mb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuXHRAT3V0cHV0KCkgb25QYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlRXZlbnQ+KCk7XHJcblx0QE91dHB1dCgpIG9uSW5pdGlhbGl6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE51eGVvUGFnaW5hdGlvbjxhbnk+PigpO1xyXG5cdEBPdXRwdXQoKSBvbkxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TnV4ZW9QYWdpbmF0aW9uPGFueT4+KCk7XHJcblxyXG5cdEBPdXRwdXQoKSBvblF1ZXJ5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdEBPdXRwdXQoKSBvblNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYmxlU29ydE9wdGlvbnM+KCk7XHJcblxyXG5cdEBDb250ZW50Q2hpbGQoQUNUSU9OU19UQUJMRV9URU1QTEFURSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBhY3Rpb25zVGFibGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRAQ29udGVudENoaWxkKFNFQVJDSF9UQUJMRV9URU1QTEFURSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBzZWFyY2hUYWJsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdEBDb250ZW50Q2hpbGQoRklMVEVSX0NVU1RPTV9URU1QTEFURSwgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSBmaWx0ZXJDdXN0b21UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcblx0cHJpdmF0ZSBfdGFibGVDb25maWdTdWIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5kZlRhYmxlQ29uZmlnPihudWxsKTtcclxuXHRASW5wdXQoKSBzZXQgY29uZmlnKGNvbmZpZzogTmRmVGFibGVDb25maWcpIHtcclxuXHRcdHRoaXMuX3RhYmxlQ29uZmlnU3ViLm5leHQoY29uZmlnKTtcclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9IGNvbmZpZz8ub3B0aW9ucz8uZmlsdGVycz8ucGFuZWw/LnZpc2libGUgPz8gdHJ1ZTtcclxuXHRcdHRoaXMuX2lzQ29uZmlnQ2hhbmdlZCA9ICEhY29uZmlnO1xyXG5cdFx0aWYgKGNvbmZpZy5jb2x1bW5zKSB7XHJcblx0XHRcdHRoaXMuX2Rpc3BsYXllZENvbHVtbnNTdWIubmV4dCh0aGlzLl9maWx0ZXJCeVZpc2liaWxpdHkoY29uZmlnLmNvbHVtbnMpKTtcclxuXHRcdH1cclxuXHRcdGlmIChjb25maWcuc29ydGluZ0J5KSB7XHJcblx0XHRcdHRoaXMuX3NvcnRWYWx1ZSA9IGNvbmZpZy5zb3J0aW5nQnk7XHJcblx0XHRcdHRoaXMuX3NvcnRPcHRpb25TdWIubmV4dChjb25maWcuc29ydGluZ0J5KTtcclxuXHRcdH1cclxuXHRcdGlmIChjb25maWc/Lm9wdGlvbnM/LnRhYmxlTW9kZT8ubW9kZSkge1xyXG5cdFx0XHR0aGlzLl92aWV3TW9kZVN1Yi5uZXh0KGNvbmZpZy5vcHRpb25zLnRhYmxlTW9kZS5tb2RlKTtcclxuXHRcdH1cclxuXHRcdGlmIChjb25maWcucGFnZVNpemUpIHtcclxuXHRcdFx0dGhpcy5fYWN0aXZlUGFnZS5wYWdlU2l6ZSA9IGNvbmZpZy5wYWdlU2l6ZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGdldCBjb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdGFibGVDb25maWdTdWIuZ2V0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdGdldCBvcHRpb25zKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29uZmlnPy5vcHRpb25zO1xyXG5cdH1cclxuXHJcblx0Z2V0IGZpbHRlcnNDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXJzO1xyXG5cdH1cclxuXHJcblx0Z2V0IHNvcnRMaXN0KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMub3B0aW9ucz8uc29ydExpc3QgfHwgW107XHJcblx0fVxyXG5cclxuXHRnZXQgY29sdW1uc09wdGlvbnMoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jb25maWc/Lm9wdGlvbnM/LmNvbHVtbnM7XHJcblx0fVxyXG5cclxuXHRnZXQgY29sdW1uVG9nZ2xlKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29sdW1uc09wdGlvbnM/LnRvZ2dsZSA/PyB0cnVlO1xyXG5cdH1cclxuXHJcblx0Z2V0IHRhYmxlTW9kZSgpIHtcclxuXHRcdHJldHVybiB0aGlzLm9wdGlvbnM/LnRhYmxlTW9kZTtcclxuXHR9XHJcblxyXG5cdGdldCBwYW5lbENvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbHRlcnM/LnBhbmVsO1xyXG5cdH1cclxuXHJcblx0Z2V0IGlzUGFuZWxUb2dnbGVBdmFpbGFibGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5wYW5lbENvbmZpZz8udG9nZ2xlQnV0dG9uID8/IHRydWU7XHJcblx0fVxyXG5cclxuXHRnZXQgdGV4dFNlYXJjaENvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLm9wdGlvbnM/LnNlYXJjaDtcclxuXHR9XHJcblxyXG5cdGdldCBmaWx0ZXJSZWxvYWRDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zPy5maWx0ZXJzPy5yZWxvYWQ7XHJcblx0fVxyXG5cclxuXHRnZXQgZXhwb3J0VGFibGVDb25maWcoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5vcHRpb25zPy5leHBvcnQ7XHJcblx0fVxyXG5cclxuXHRyZWFkb25seSBkZWZhdWx0U29ydCA9IFt7IHByb3A6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH1dO1xyXG5cclxuXHRkaXJlY3Rpb246IERpcmVjdGlvbiA9ICdydGwnO1xyXG5cdGlzUGFuZWxPcGVuZWQgPSBmYWxzZTtcclxuXHRyZWFkb25seSBkZWZhdWx0UGFnZVNpemVzID0gUEFHRV9TSVpFO1xyXG5cclxuXHRwcml2YXRlIF9pc0NvbmZpZ0NoYW5nZWQgPSBmYWxzZTtcclxuXHRwcml2YXRlIF90YWJsZUluaXRpYWxpemVkID0gZmFsc2U7XHJcblx0cHJpdmF0ZSBfcGFnZUNoYW5nZWQgPSBmYWxzZTtcclxuXHRwcml2YXRlIF9hY3RpdmVQYWdlOiBQYWdlRXZlbnQgPSB7XHJcblx0XHRwYWdlSW5kZXg6IDEsXHJcblx0XHRwYWdlU2l6ZTogMTAsXHJcblx0XHRsZW5ndGg6IDBcclxuXHR9O1xyXG5cclxuXHRwcml2YXRlIF9zb3J0VmFsdWU6IFRhYmxlU29ydE9wdGlvbnM7XHJcblx0LyoqXHJcblx0ICpcclxuXHQgKi9cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgX2ZpbHRlcnNNYXBwZXI6IEZpbHRlcnNNYXBwZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfZHluYW1pY1RhYmxlU2VydmljZTogRHluYW1pY1RhYmxlU2VydmljZSxcclxuXHRcdHByaXZhdGUgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcblx0XHRwcml2YXRlIF9uZ1RhYmxlU2VydmljZTogTmRmVGFibGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBfdG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuXHRcdHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nXHJcblx0KSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0dGhpcy5fdHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2VcclxuXHRcdFx0LnBpcGUoc3RhcnRXaXRoKHsgbGFuZzogdGhpcy5fdHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyB9KSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLmRpcmVjdGlvbiA9IHJlcy5sYW5nID09PSAnYXInID8gJ3J0bCcgOiAnbHRyJztcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVQYW5lbCgpIHtcclxuXHRcdHRoaXMuaXNQYW5lbE9wZW5lZCA9ICF0aGlzLmlzUGFuZWxPcGVuZWQ7XHJcblx0fVxyXG5cclxuXHRvbkxvYWQoZGF0YTogTnV4ZW9QYWdpbmF0aW9uPGFueT4pOiB2b2lkIHtcclxuXHRcdHRoaXMub25Mb2FkZWQuZW1pdChkYXRhKTtcclxuXHRcdGlmICghdGhpcy5fdGFibGVJbml0aWFsaXplZCB8fCB0aGlzLmZpbHRlclJlbG9hZENvbmZpZz8uc3RyYXRlZ3kgPT09ICduZXZlcicgfHwgdGhpcy5fcGFnZUNoYW5nZWQpIHtcclxuXHRcdFx0dGhpcy5fcGFnZUNoYW5nZWQgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgfHwgdGhpcy5maWx0ZXJSZWxvYWRDb25maWc/LnN0cmF0ZWd5ID09PSAnYWx3YXlzJykge1xyXG5cdFx0XHR0aGlzLl9hZ2dyZWdhdGlvbnNTdWIubmV4dChkYXRhPy5hZ2dyZWdhdGlvbnMpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKHRoaXMuZmlsdGVyUmVsb2FkQ29uZmlnPy5zdHJhdGVneSA9PT0gJ29uQ2hhbmdlJykge1xyXG5cdFx0XHRjb25zdCBhY3RpdmF0ZWRRdWVyeSA9IHRoaXMuX2FjdGl2YXRlZENyaXRlcmlhU3ViLmdldFZhbHVlKCk7XHJcblx0XHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGFjdGl2YXRlZFF1ZXJ5Py5jdXJyZW50VmFsdWUgfHwge307XHJcblx0XHRcdGNvbnN0IHByZXZpb3VzVmFsdWUgPSBhY3RpdmF0ZWRRdWVyeT8ucHJldmlvdXNWYWx1ZSB8fCB7fTtcclxuXHJcblx0XHRcdGNvbnN0IHVwZGF0ZWRLZXlzID0gXy51bmlvbihfLmtleXMocHJldmlvdXNWYWx1ZSksIF8ua2V5cyhjdXJyZW50VmFsdWUpKS5maWx0ZXIoXHJcblx0XHRcdFx0KGtleSkgPT4gIV8uaXNFcXVhbChwcmV2aW91c1ZhbHVlW2tleV0sIGN1cnJlbnRWYWx1ZVtrZXldKVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0Y29uc3QgdHJpZ2dlcktleXMgPSB0aGlzLmZpbHRlclJlbG9hZENvbmZpZy50cmlnZ2VyRmllbGRzIHx8IFtdO1xyXG5cdFx0XHRjb25zdCBzaG91bGRSZWxvYWQgPSB0cmlnZ2VyS2V5cy5zb21lKChrZXkpID0+IHVwZGF0ZWRLZXlzLmluY2x1ZGVzKGtleSkpO1xyXG5cdFx0XHRpZiAoc2hvdWxkUmVsb2FkKSB7XHJcblx0XHRcdFx0dGhpcy5fYWdncmVnYXRpb25zU3ViLm5leHQoZGF0YT8uYWdncmVnYXRpb25zKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b25Jbml0aWFsaXplKGRhdGE6IE51eGVvUGFnaW5hdGlvbjxhbnk+KTogdm9pZCB7XHJcblx0XHR0aGlzLl9hZ2dyZWdhdGlvbnNTdWIubmV4dChkYXRhPy5hZ2dyZWdhdGlvbnMpO1xyXG5cdFx0dGhpcy5fdGFibGVJbml0aWFsaXplZCA9IHRydWU7XHJcblx0XHR0aGlzLl9pc0NvbmZpZ0NoYW5nZWQgPSBmYWxzZTtcclxuXHRcdHRoaXMub25Jbml0aWFsaXplZC5lbWl0KGRhdGEpO1xyXG5cdH1cclxuXHJcblx0Y29sdW1uc0NoYW5nZWQoY29sdW1uczogVGFibGVDb2x1bW5Db25maWdbXSkge1xyXG5cdFx0dGhpcy5fZGlzcGxheWVkQ29sdW1uc1N1Yi5uZXh0KGNvbHVtbnMpO1xyXG5cdH1cclxuXHJcblx0c29ydENoYW5nZWQoc29ydDogU29ydFRhYmxlSXRlbSkge1xyXG5cdFx0dGhpcy5fc29ydFZhbHVlID0geyBzb3J0Qnk6IHNvcnQudmFsdWUsIHNvcnRPcmRlcjogc29ydC5kaXJlY3Rpb24gfTtcclxuXHRcdHRoaXMuX3NvcnRPcHRpb25TdWIubmV4dCh0aGlzLl9zb3J0VmFsdWUpO1xyXG5cdH1cclxuXHJcblx0bW9kZUNoYW5nZWQobW9kZTogVGFibGVWaWV3TW9kZSkge1xyXG5cdFx0dGhpcy5fdmlld01vZGVTdWIubmV4dChtb2RlKTtcclxuXHR9XHJcblxyXG5cdG9uU29ydENoYW5nZWQoc29ydDogVGFibGVTb3J0T3B0aW9ucykge1xyXG5cdFx0dGhpcy5fc29ydFZhbHVlID0gc29ydDtcclxuXHRcdHRoaXMub25Tb3J0LmVtaXQoc29ydCk7XHJcblx0fVxyXG5cclxuXHRleHBvcnRUYWJsZSh0eXBlOiBFeHBvcnRUeXBlKSB7XHJcblx0XHRjb25zdCByZXF1ZXN0ID0gdGhpcy5leHBvcnRUYWJsZUNvbmZpZz8ucmVxdWVzdDtcclxuXHRcdGlmICghcmVxdWVzdCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBjb2x1bW5zID0gdGhpcy5fZGlzcGxheWVkQ29sdW1uc1N1Yi5nZXRWYWx1ZSgpO1xyXG5cdFx0Y29uc3QgZmllbGRzID0gY29sdW1ucy5tYXAoKGNvbCkgPT4gY29sLmhlYWRlckNsYXNzKTtcclxuXHRcdGNvbnN0IGhlYWRlcnMgPSBjb2x1bW5zLm1hcCgoY29sKSA9PiAodGhpcy5jb25maWcucHJlZml4IHx8ICcnKSArIGNvbC5uYW1lKTtcclxuXHJcblx0XHRjb25zdCBjcml0ZXJpYSA9IHRoaXMuX2N1c3RvbUNyaXRlcmlhU3ViLmdldFZhbHVlKCk7XHJcblxyXG5cdFx0cmVxdWVzdC5wYXJhbXMgPSBPYmplY3QuYXNzaWduKFxyXG5cdFx0XHR7fSxcclxuXHRcdFx0Y3JpdGVyaWEucGFyYW1zLFxyXG5cdFx0XHR0aGlzLl9zb3J0VmFsdWUgfHwge30sXHJcblx0XHRcdHRoaXMuY29uZmlnPy5xdWlja0ZpbHRlcnMgPyB7IHF1aWNrRmlsdGVyczogdGhpcy5jb25maWcucXVpY2tGaWx0ZXJzIH0gOiB7fSxcclxuXHRcdFx0cmVxdWVzdC5wYXJhbXNcclxuXHRcdCk7XHJcblxyXG5cdFx0Y29uc3QgcGF5bG9hZDogTmRmRXhwb3J0UGF5bG9hZCA9IHtcclxuXHRcdFx0cHJlZGljYXRlTGlzdDogY3JpdGVyaWEucGF5bG9hZC5wcmVkaWNhdGVMaXN0IHx8IFtdLFxyXG5cdFx0XHRyZXBvcnRNZXRhRGF0YToge1xyXG5cdFx0XHRcdGRvY1R5cGVOYW1lOiB0aGlzLmV4cG9ydFRhYmxlQ29uZmlnLmRvY1R5cGVOYW1lLFxyXG5cdFx0XHRcdGZpbGVUeXBlOiB0eXBlLFxyXG5cdFx0XHRcdGxvY2FsZTogdGhpcy5leHBvcnRUYWJsZUNvbmZpZz8ubG9jYWxlIHx8IHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsXHJcblx0XHRcdFx0ZmllbGRzOiB0aGlzLmV4cG9ydFRhYmxlQ29uZmlnPy5maWVsZHMgfHwgZmllbGRzLFxyXG5cdFx0XHRcdGhlYWRlcnM6IFtdXHJcblx0XHRcdH1cclxuXHRcdH07XHJcblxyXG5cdFx0dGhpcy5fdHJhbnNsYXRlU2VydmljZVxyXG5cdFx0XHQuZ2V0KGhlYWRlcnMpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHN3aXRjaE1hcCgodHJhbnNsYXRpb25zKSA9PiB7XHJcblx0XHRcdFx0XHRwYXlsb2FkLnJlcG9ydE1ldGFEYXRhLmhlYWRlcnMgPSBoZWFkZXJzLm1hcCgoY29sKSA9PiB0cmFuc2xhdGlvbnNbY29sXSk7XHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5fbmdUYWJsZVNlcnZpY2UuZXhwb3J0VGFibGUocmVxdWVzdCwgcGF5bG9hZCk7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0Y2F0Y2hFcnJvcigoXykgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5fdG9hc3RyU2VydmljZS5lcnJvcignVEFCTEUuRVhQT1JULlJlcXVlc3RFcnJvcicpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIG9mKGZhbHNlKTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0XHRmaWx0ZXIoQm9vbGVhbiksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzOiBib29sZWFuKSA9PiB7XHJcblx0XHRcdFx0aWYgKHJlcykge1xyXG5cdFx0XHRcdFx0dGhpcy5fdG9hc3RyU2VydmljZS5zdWNjZXNzKCdUQUJMRS5FWFBPUlQucmVxdWVzdFN1Y2Nlc3MnKTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5fdG9hc3RyU2VydmljZS5lcnJvcignVEFCTEUuRVhQT1JULnJlcXVlc3RFcnJvcicpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHRmaWx0ZXJDaGFuZ2VkKGNyaXRlcmlhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHR0aGlzLl90cmlnZ2VyQ3JpdGVyaWFDaGFuZ2VzKGNyaXRlcmlhKTtcclxuXHRcdGlmICh0aGlzLmZpbHRlcnNDb25maWc/Lm1vZGUgIT09ICdwYXlsb2FkJykge1xyXG5cdFx0XHRjb25zdCBpc1N0cmluZ2lmeVBhcmFtcyA9IHRoaXMuZmlsdGVyc0NvbmZpZz8uc3RyaW5naWZ5UGFyYW1zO1xyXG5cdFx0XHRjb25zdCB2YWx1ZSA9ICFpc1N0cmluZ2lmeVBhcmFtcyA/IGNyaXRlcmlhIDogdGhpcy5fc3RyaW5naWZ5VmFsdWVzKGNyaXRlcmlhKTtcclxuXHRcdFx0dGhpcy5fZHluYW1pY1RhYmxlU2VydmljZS5yZWZyZXNoRGF0YS5uZXh0KHZhbHVlKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHBheWxvYWQgPSB0aGlzLl9maWx0ZXJzTWFwcGVyLnByZXBhcmVQYXlsb2FkKHRoaXMuZmlsdGVyc0NvbmZpZy5maWVsZHMsIGNyaXRlcmlhKTtcclxuXHRcdHRoaXMuX2N1c3RvbUNyaXRlcmlhU3ViLm5leHQocGF5bG9hZCk7XHJcblx0fVxyXG5cclxuXHRvblRleHRTZWFyY2godGV4dDogc3RyaW5nKSB7XHJcblx0XHRpZiAoIXRoaXMudGV4dFNlYXJjaENvbmZpZz8uZmllbGRLZXkgfHwgdHlwZW9mIHRleHQgIT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAoIXRleHQpIHtcclxuXHRcdFx0dGhpcy5vbkNsZWFyU2VhcmNoKCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuX3RleHRTZWFyY2hTdWIubmV4dCh0ZXh0KTtcclxuXHR9XHJcblxyXG5cdG9uQ2xlYXJTZWFyY2goKSB7XHJcblx0XHR0aGlzLl90ZXh0U2VhcmNoU3ViLm5leHQobnVsbCk7XHJcblx0fVxyXG5cclxuXHRvcGVuU2VhcmNoTW9kYWwoKSB7XHJcblx0XHRjb25zdCBfZGlhbG9nQ29uZmlnID0gdGhpcy50ZXh0U2VhcmNoQ29uZmlnPy5zdWZmaXg/LmRpYWxvZztcclxuXHRcdGlmICghX2RpYWxvZ0NvbmZpZykge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCB7IG9wdGlvbnMsIC4uLmRhdGEgfSA9IF9kaWFsb2dDb25maWc7XHJcblx0XHR0aGlzLl9kaWFsb2cub3BlbjxIdG1sRGlhbG9nQ29tcG9uZW50LCBIdG1sRGlhbG9nQ29uZmlnPihIdG1sRGlhbG9nQ29tcG9uZW50LCB7XHJcblx0XHRcdHBhbmVsQ2xhc3M6ICdwLTAnLFxyXG5cdFx0XHRtaW5XaWR0aDogJ21pbig1MDBweCw2MHZ3KScsXHJcblx0XHRcdGRpcmVjdGlvbjogdGhpcy5kaXJlY3Rpb24sXHJcblx0XHRcdC4uLm9wdGlvbnMsXHJcblx0XHRcdGRhdGFcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0b25QYWdlQ2hhbmdlZChwYWdlOiBQYWdlRXZlbnQpIHtcclxuXHRcdHRoaXMuX3BhZ2VDaGFuZ2VkID0gdGhpcy5fYWN0aXZlUGFnZS5wYWdlSW5kZXggIT09IHBhZ2UucGFnZUluZGV4IHx8IHRoaXMuX2FjdGl2ZVBhZ2UucGFnZVNpemUgIT09IHBhZ2UucGFnZVNpemU7XHJcblx0XHRpZiAodGhpcy5fcGFnZUNoYW5nZWQpIHtcclxuXHRcdFx0dGhpcy5vblBhZ2UuZW1pdChwYWdlKTtcclxuXHRcdFx0dGhpcy5fYWN0aXZlUGFnZSA9IHBhZ2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9maWx0ZXJCeVZpc2liaWxpdHkoY29sdW1uczogVGFibGVDb2x1bW5Db25maWdbXSk6IFRhYmxlQ29sdW1uQ29uZmlnW10ge1xyXG5cdFx0cmV0dXJuIGNvbHVtbnMuZmlsdGVyKChjb2wpID0+IGNvbC5kZWZhdWx0VmlzaWJsZSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlU2VhcmNoKFtzZWFyY2gsIGZpbHRlcnNdOiBbXHJcblx0XHRzdHJpbmcsXHJcblx0XHR7XHJcblx0XHRcdHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0XHRcdHBheWxvYWQ/OiB7IHByZWRpY2F0ZUxpc3Q6IGFueVtdIH0gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG5cdFx0fVxyXG5cdF0pOiBhbnkge1xyXG5cdFx0e1xyXG5cdFx0XHRjb25zdCB7IHByZWRpY2F0ZUxpc3QgfSA9IGZpbHRlcnMucGF5bG9hZDtcclxuXHRcdFx0Y29uc3QgX2tleSA9IHRoaXMudGV4dFNlYXJjaENvbmZpZz8uZmllbGRLZXk7XHJcblx0XHRcdGNvbnN0IHNlYXJjaEluZGV4ID0gcHJlZGljYXRlTGlzdC5maW5kSW5kZXgoKGl0bSkgPT4gaXRtLm5hbWUgPT09IF9rZXkpO1xyXG5cdFx0XHRpZiAoc2VhcmNoICYmIF9rZXkpIHtcclxuXHRcdFx0XHRpZiAoc2VhcmNoSW5kZXggPj0gMCkge1xyXG5cdFx0XHRcdFx0cHJlZGljYXRlTGlzdFtzZWFyY2hJbmRleF0udmFsdWUgPSBgJyR7c2VhcmNofSdgO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRwcmVkaWNhdGVMaXN0LnB1c2goe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBfa2V5LFxyXG5cdFx0XHRcdFx0XHRvcGVyYXRvcjogdGhpcy50ZXh0U2VhcmNoQ29uZmlnPy5vcGVyYXRvciB8fCBDT01QQVJJU09OX09QRVJBVE9SLmVxdWFscyxcclxuXHRcdFx0XHRcdFx0dmFsdWU6IGAnJHtzZWFyY2h9J2BcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSBlbHNlIGlmIChzZWFyY2hJbmRleCA+PSAwKSB7XHJcblx0XHRcdFx0cHJlZGljYXRlTGlzdC5zcGxpY2Uoc2VhcmNoSW5kZXgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiBfLmNsb25lRGVlcCh7IC4uLmZpbHRlcnMgfSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zdHJpbmdpZnlWYWx1ZXMoY3JpdGVyaWE6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuXHRcdHJldHVybiBPYmplY3QuZW50cmllcyhjcml0ZXJpYSkucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xyXG5cdFx0XHRhY2Nba2V5XSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogdmFsdWU7XHJcblx0XHRcdHJldHVybiBhY2M7XHJcblx0XHR9LCB7fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF90cmlnZ2VyQ3JpdGVyaWFDaGFuZ2VzKGNyaXRlcmlhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XHJcblx0XHRpZiAodGhpcy5fdGFibGVJbml0aWFsaXplZCkge1xyXG5cdFx0XHR0aGlzLm9uUXVlcnlDaGFuZ2UuZW1pdChjcml0ZXJpYSk7XHJcblx0XHR9XHJcblx0XHRjb25zdCBhY3RpdmF0ZWRRdWVyeSA9IHsgLi4udGhpcy5fYWN0aXZhdGVkQ3JpdGVyaWFTdWIuZ2V0VmFsdWUoKSB9O1xyXG5cdFx0Y29uc3QgcHJldmlvdXNWYWx1ZSA9IGFjdGl2YXRlZFF1ZXJ5Py5jdXJyZW50VmFsdWU7XHJcblx0XHR0aGlzLl9hY3RpdmF0ZWRDcml0ZXJpYVN1Yi5uZXh0KHtcclxuXHRcdFx0cHJldmlvdXNWYWx1ZTogcHJldmlvdXNWYWx1ZSxcclxuXHRcdFx0Y3VycmVudFZhbHVlOiBjcml0ZXJpYVxyXG5cdFx0fSk7XHJcblx0fVxyXG59XHJcbiIsIlxyXG48ZGl2XHJcblx0Km5nSWY9XCJjb25maWdcIlxyXG5cdGNsYXNzPVwibmRmLXRhYmxlX19jb250YWluZXJcIlxyXG5cdFtjbGFzcy5wYW5lbC1vcGVuZWRdPVwiaXNQYW5lbE9wZW5lZCAmJiBmaWx0ZXJzQ29uZmlnXCJcclxuXHRbZGlyXT1cImRpcmVjdGlvblwiXHJcblx0bmRmRmx1aWRIZWlnaHRcclxuXHRbY2FsY3VsYXRlXT1cImF1dG9DYWxjdWxhdGVIZWlnaHRcIlxyXG4+XHJcblx0PGRpdiBjbGFzcz1cIm5kZi10YWJsZV9fcGFuZWxcIiAqbmdJZj1cImZpbHRlcnNDb25maWc/LmZpZWxkc1wiPlxyXG5cdFx0PGFwcC1maWx0ZXJzLXBhbmVsXHJcblx0XHRcdFtmaWVsZHNdPVwiZmlsdGVyc0NvbmZpZy5maWVsZHNcIlxyXG5cdFx0XHRbYWdncmVnYXRpb25zXT1cImFnZ3JlZ2F0aW9ucyQgfCBhc3luY1wiXHJcblx0XHRcdChmaWx0ZXJDaGFuZ2VkKT1cImZpbHRlckNoYW5nZWQoJGV2ZW50KVwiXHJcblx0XHRcdFthY3RpdmVRdWVyeV09XCJhY3RpdmVRdWVyeVwiXHJcblx0XHRcdGNsYXNzPVwibmRmLXRhYmxlX19maWx0ZXJzXCJcclxuXHRcdFx0W2N1c3RvbVRlbXBsYXRlUmVmXT1cImZpbHRlckN1c3RvbVRlbXBsYXRlXCJcclxuXHRcdD48L2FwcC1maWx0ZXJzLXBhbmVsPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJuZGYtdGFibGVfX2NvbnRlbnRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJuZGYtdGFibGVfX2hlYWRlciBmbGV4XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJuZGYtdGFibGVfX2hlYWRlcl9fY3VzdG9tLWFjdGlvbnMgZmxleCBnYXAteC00IGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaFRhYmxlVGVtcGxhdGUgfHwgZGVmYXVsdEFjdGlvblRlbXBsYXRlXCJcclxuXHRcdFx0XHRcdFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XHJcblx0XHRcdFx0XHRcdCRpbXBsaWNpdDogY29uZmlnLFxyXG5cdFx0XHRcdFx0XHRwYW5lbE9wZW5lZDogaXNQYW5lbE9wZW5lZCxcclxuXHRcdFx0XHRcdFx0dG9nZ2xlUGFuZWw6IHRvZ2dsZVBhbmVsLFxyXG5cdFx0XHRcdFx0XHRvcGVuTW9kYWw6IG9wZW5TZWFyY2hNb2RhbCxcclxuXHRcdFx0XHRcdFx0c2VhcmNoOiBvblRleHRTZWFyY2gsXHJcblx0XHRcdFx0XHRcdGNsZWFyOiBvbkNsZWFyU2VhcmNoXHJcblx0XHRcdFx0XHR9XCJcclxuXHRcdFx0XHQ+PC9uZy1jb250YWluZXI+XHJcblxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEFjdGlvblRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKm5nSWY9XCJpc1BhbmVsVG9nZ2xlQXZhaWxhYmxlXCIgY2xhc3M9XCJ0b2dnbGUtYnV0dG9uXCIgKGNsaWNrKT1cInRvZ2dsZVBhbmVsKClcIj5cclxuXHRcdFx0XHRcdFx0PG1hdC1pY29uPiBmaWx0ZXJfYWx0PC9tYXQtaWNvbj5cclxuXHRcdFx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0PGFwcC10ZXh0LXNlYXJjaFxyXG5cdFx0XHRcdFx0XHQqbmdJZj1cInRleHRTZWFyY2hDb25maWdcIlxyXG5cdFx0XHRcdFx0XHRbc2VhcmNoQ29uZmlnXT1cInRleHRTZWFyY2hDb25maWdcIlxyXG5cdFx0XHRcdFx0XHQob3Blbk1vZGFsKT1cIm9wZW5TZWFyY2hNb2RhbCgpXCJcclxuXHRcdFx0XHRcdFx0W3NlYXJjaF09XCJ0ZXh0U2VhcmNoJCB8IGFzeW5jXCJcclxuXHRcdFx0XHRcdFx0KHNlYXJjaENoYW5nZSk9XCJvblRleHRTZWFyY2goJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdChjbGVhcik9XCJvbkNsZWFyU2VhcmNoKClcIlxyXG5cdFx0XHRcdFx0PjwvYXBwLXRleHQtc2VhcmNoPlxyXG5cdFx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwibmRmLXRhYmxlX19oZWFkZXJfX2FjdGlvbnMgZmxleCBnYXAteC00IGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdDxuZGYtdGFibGUtZXhwb3J0XHJcblx0XHRcdFx0XHQqbmdJZj1cImV4cG9ydFRhYmxlQ29uZmlnPy5lbmFibGVkXCJcclxuXHRcdFx0XHRcdFtjb25maWddPVwiZXhwb3J0VGFibGVDb25maWdcIlxyXG5cdFx0XHRcdFx0KG9uRXhwb3J0KT1cImV4cG9ydFRhYmxlKCRldmVudClcIlxyXG5cdFx0XHRcdD48L25kZi10YWJsZS1leHBvcnQ+XHJcblxyXG5cdFx0XHRcdDx0YWJsZS1zb3J0aW5nLWxpc3RcclxuXHRcdFx0XHRcdCpuZ0lmPVwiISFzb3J0TGlzdD8ubGVuZ3RoXCJcclxuXHRcdFx0XHRcdFtzb3J0TGlzdF09XCJzb3J0TGlzdFwiXHJcblx0XHRcdFx0XHQoc29ydENoYW5nZWQpPVwic29ydENoYW5nZWQoJGV2ZW50KVwiXHJcblx0XHRcdFx0PjwvdGFibGUtc29ydGluZy1saXN0PlxyXG5cdFx0XHRcdDx0YWJsZS1jb2x1bW5zLXRvZ2dsZXJcclxuXHRcdFx0XHRcdCpuZ0lmPVwiY29sdW1uVG9nZ2xlXCJcclxuXHRcdFx0XHRcdFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCJcclxuXHRcdFx0XHRcdFtwcmVmaXhdPVwiY29uZmlnLnByZWZpeFwiXHJcblx0XHRcdFx0XHRbc29ydGFibGVdPVwiY29sdW1uc09wdGlvbnM/LnNvcnRhYmxlXCJcclxuXHRcdFx0XHRcdChjb2x1bW5zQ2hhbmdlZCk9XCJjb2x1bW5zQ2hhbmdlZCgkZXZlbnQpXCJcclxuXHRcdFx0XHQ+PC90YWJsZS1jb2x1bW5zLXRvZ2dsZXI+XHJcblx0XHRcdFx0PG1vZGUtdG9nZ2xlclxyXG5cdFx0XHRcdFx0Km5nSWY9XCJ0YWJsZU1vZGU/LnRvZ2dsZU1vZGVcIlxyXG5cdFx0XHRcdFx0W21vZGVdPVwidGFibGVNb2RlLm1vZGUgfHwgJ2xpc3QnXCJcclxuXHRcdFx0XHRcdFttb2Rlc0xpc3RdPVwidGFibGVNb2RlPy5hdmFpbGFibGVNb2RlXCJcclxuXHRcdFx0XHRcdChtb2RlQ2hhbmdlZCk9XCJtb2RlQ2hhbmdlZCgkZXZlbnQpXCJcclxuXHRcdFx0XHQ+PC9tb2RlLXRvZ2dsZXI+XHJcblx0XHRcdFx0PG5nLWNvbnRhaW5lclxyXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uc1RhYmxlVGVtcGxhdGVcIlxyXG5cdFx0XHRcdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcclxuXHRcdFx0XHRcdFx0JGltcGxpY2l0OiBjb25maWcsXHJcblx0XHRcdFx0XHRcdHBhbmVsT3BlbmVkOiBpc1BhbmVsT3BlbmVkLFxyXG5cdFx0XHRcdFx0XHR0b2dnbGVQYW5lbDogdG9nZ2xlUGFuZWwsXHJcblx0XHRcdFx0XHRcdG9wZW5Nb2RhbDogb3BlblNlYXJjaE1vZGFsLFxyXG5cdFx0XHRcdFx0XHRzZWFyY2g6IG9uVGV4dFNlYXJjaCxcclxuXHRcdFx0XHRcdFx0Y2xlYXI6IG9uQ2xlYXJTZWFyY2hcclxuXHRcdFx0XHRcdH1cIlxyXG5cdFx0XHRcdD48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHJcblx0XHQ8Y3RzLWR5bmFtaWMtdGFibGVcclxuXHRcdFx0Km5nSWY9XCIhY29uZmlnLmlzRGF0YVByb3ZpZGVkXCJcclxuXHRcdFx0Y2xhc3M9XCJuZGYtdGFibGVfX3RhYmxlIHRhYmxlLXN0eWxlXCJcclxuXHRcdFx0W2NvbHVtbnNdPVwiZGlzcGxheWVkQ29sdW1ucyQgfCBhc3luY1wiXHJcblx0XHRcdFtyZXNwb25zaXZlQ29sdW1uc109XCJkaXNwbGF5ZWRDb2x1bW5zJCB8IGFzeW5jXCJcclxuXHRcdFx0W2Z1bGxXaWR0aF09XCJjb25maWcuZnVsbFdpZHRoIHx8ICdhdXRvJ1wiXHJcblx0XHRcdFtwYWdlU2l6ZV09XCJjb25maWcucGFnZVNpemUgfHwgMTBcIlxyXG5cdFx0XHRbcGFnZU51bWJlcl09XCJjb25maWcucGFnZU51bWJlciB8fCAxXCJcclxuXHRcdFx0W3BhZ2VQcm92aWRlcl09XCJjb25maWcucGFnZVByb3ZpZGVyXCJcclxuXHRcdFx0W2N1c3RvbVVybF09XCJjb25maWcuY3VzdG9tVXJsXCJcclxuXHRcdFx0W3F1aWNrRmlsdGVyXT1cImNvbmZpZy5xdWlja0ZpbHRlcnMgPyB7IHF1aWNrRmlsdGVyczogY29uZmlnLnF1aWNrRmlsdGVycyB9IDogdW5kZWZpbmVkXCJcclxuXHRcdFx0W2RlZnVsdFNvcnRdPVwiY29uZmlnLmRlZmF1bHRTb3J0IHx8IGRlZmF1bHRTb3J0XCJcclxuXHRcdFx0W3NvcnRpbmdCeV09XCJzb3J0T3B0aW9uJCB8IGFzeW5jXCJcclxuXHRcdFx0W2VudGl0eVR5cGVdPVwiJ2FsbCdcIlxyXG5cdFx0XHRbZmllbGRzXT1cImNvbmZpZy5maWVsZHNcIlxyXG5cdFx0XHRbdGFibGVNb2RlXT1cInZpZXdNb2RlJCB8IGFzeW5jXCJcclxuXHRcdFx0W2NvbXBvbmVudE5hbWVdPVwidGFibGVNb2RlPy5bJ2NvbXBvbmVudE5hbWUnXVwiXHJcblx0XHRcdFtyYW5nZV09XCJjb25maWc/LnJhbmdlXCJcclxuXHRcdFx0W2lzU2VhcmNoUGFnZV09XCJjb25maWc/LmlzU2VhcmNoUGFnZVwiXHJcblx0XHRcdFttdWx0aVNlbGVjdFJvd3NdPVwiY29uZmlnPy5tdWx0aVNlbGVjdFJvd3NcIlxyXG5cdFx0XHRbY3VzdG9tRmlyc3RSb3ddPVwiY29uZmlnPy5jdXN0b21GaXJzdFJvd1wiXHJcblx0XHRcdFtoaWdobGlnaHRTZWxlY3RlZENhcmRdPVwiY29uZmlnPy5oaWdobGlnaHRTZWxlY3RlZENhcmRcIlxyXG5cdFx0XHRbc2hvd0FjdGlvbnNBc01lbnVdPVwiY29uZmlnPy5zaG93QWN0aW9uc0FzTWVudVwiXHJcblx0XHRcdFtmaWx0ZXJQYXJhbXNdPVwiY29uZmlnPy5maWx0ZXJQYXJhbXNcIlxyXG5cdFx0XHRbZm9ybWF0XT1cImNvbmZpZz8uZm9ybWF0IHx8ICdNTU1NIGQsIHknXCJcclxuXHRcdFx0W3BhZ2VTaXplc109XCJjb25maWc/LnBhZ2VTaXplcyB8fCBkZWZhdWx0UGFnZVNpemVzXCJcclxuXHRcdFx0W3ByZWZpeF09XCJjb25maWcucHJlZml4IHx8ICcnXCJcclxuXHRcdFx0W3Jvd0N1cnNvcl09XCJ0cnVlXCJcclxuXHRcdFx0W3F1ZXJ5UGFyYW1dPVwiY29uZmlnLnF1ZXJ5UGFyYW1cIlxyXG5cdFx0XHRbY3VzdG9tRmlsdGVyc109XCJzZWFyY2hBbmRGaWx0ZXJzJCB8IGFzeW5jXCJcclxuXHRcdFx0W3RhYmxlQWN0aW9uc109XCJjb25maWcudGFibGVBY3Rpb25zXCJcclxuXHRcdFx0W2hlYWRlcnNdPVwiY29uZmlnLmhlYWRlcnNcIlxyXG5cdFx0XHQob25Sb3dTZWxlY3RlZCk9XCJvblJvd1NlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXHJcblx0XHRcdChvblJvd0luZGV4U2VsZWN0ZWQpPVwib25Sb3dJbmRleFNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXHJcblx0XHRcdChhY3Rpb25PblJvdyk9XCJhY3Rpb25PblJvdy5lbWl0KCRldmVudClcIlxyXG5cdFx0XHQob25HZXR0aW5nRGF0YSk9XCJvbkdldHRpbmdEYXRhLmVtaXQoJGV2ZW50KVwiXHJcblx0XHRcdChvbkxvYWQpPVwib25Mb2FkKCRldmVudClcIlxyXG5cdFx0XHQob25Jbml0aWFsaXplKT1cIm9uSW5pdGlhbGl6ZSgkZXZlbnQpXCJcclxuXHRcdFx0KG9uTXVsdGlSb3dTZWxlY3RlZCk9XCJvbk11bHRpUm93U2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcclxuXHRcdFx0KG9uTG9hZGluZyk9XCJvbkxvYWRpbmcuZW1pdCgkZXZlbnQpXCJcclxuXHRcdFx0KG9uUGFnZSk9XCJvblBhZ2VDaGFuZ2VkKCRldmVudClcIlxyXG5cdFx0XHRbaXNMZWdhY3lNb2RlXT1cImZhbHNlXCJcclxuXHRcdFx0W3Nob3dUb3RhbFJlY29yZF09XCJ0cnVlXCJcclxuXHRcdFx0KHNvcnRDaGFuZ2VkKT1cIm9uU29ydENoYW5nZWQoJGV2ZW50KVwiXHJcblx0XHQ+XHJcblx0XHRcdDxuZy10ZW1wbGF0ZSBlbXB0eVRlbXBsYXRlIGxldC1pc0xvYWRpbmcgbGV0LXJvd3M9XCJyb3dzXCIgbGV0LWluaXRpYWxpemVkPVwiaW5pdGlhbGl6ZWRcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibG9hZGluZy1kYXRhXCIgKm5nSWY9XCJpc0xvYWRpbmcgJiYgaW5pdGlhbGl6ZWRcIj5cclxuXHRcdFx0XHRcdDxtYXQtc3Bpbm5lcj48L21hdC1zcGlubmVyPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgaC01LzZcIiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgIXJvd3MubGVuZ3RoXCI+XHJcblx0XHRcdFx0XHQ8YXBwLW5vLWRhdGEtZm91bmQgY2xhc3M9XCJtdC00XCIgW21lc3NhZ2VdPVwiZW1wdHlNZXNzYWdlXCI+PC9hcHAtbm8tZGF0YS1mb3VuZD5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdDwvY3RzLWR5bmFtaWMtdGFibGU+XHJcblxyXG5cdFx0PGN0cy10YWJsZVxyXG5cdFx0XHQqbmdJZj1cImNvbmZpZy5pc0RhdGFQcm92aWRlZFwiXHJcblx0XHRcdFtyb3dzXT1cInJvd3NcIlxyXG5cdFx0XHRbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHRcdFtjb2x1bW5zXT1cImRpc3BsYXllZENvbHVtbnMkIHwgYXN5bmNcIlxyXG5cdFx0XHRbcmVzcG9uc2l2ZUNvbHVtbnNdPVwiZGlzcGxheWVkQ29sdW1ucyQgfCBhc3luY1wiXHJcblx0XHRcdFtyb3dDdXJzb3JdPVwidHJ1ZVwiXHJcblx0XHRcdFtmdWxsV2lkdGhdPVwiY29uZmlnLmZ1bGxXaWR0aCB8fCAnYXV0bydcIlxyXG5cdFx0XHRbZW50aXR5VHlwZV09XCInYWxsJ1wiXHJcblx0XHRcdFtwcmVmaXhdPVwiY29uZmlnLnByZWZpeCB8fCAnJ1wiXHJcblx0XHRcdFt0YWJsZU1vZGVdPVwidmlld01vZGUkIHwgYXN5bmNcIlxyXG5cdFx0XHRbY29tcG9uZW50TmFtZV09XCJ0YWJsZU1vZGU/LlsnY29tcG9uZW50TmFtZSddXCJcclxuXHRcdFx0W211bHRpU2VsZWN0Um93c109XCJjb25maWc/Lm11bHRpU2VsZWN0Um93c1wiXHJcblx0XHRcdFtjdXN0b21GaXJzdFJvd109XCJjb25maWc/LmN1c3RvbUZpcnN0Um93XCJcclxuXHRcdFx0W3RhYmxlQWN0aW9uc109XCJjb25maWcudGFibGVBY3Rpb25zXCJcclxuXHRcdFx0W3Nob3dBY3Rpb25zQXNNZW51XT1cImNvbmZpZz8uc2hvd0FjdGlvbnNBc01lbnVcIlxyXG5cdFx0XHRbZGVmdWx0U29ydF09XCJjb25maWcuZGVmYXVsdFNvcnQgfHwgZGVmYXVsdFNvcnRcIlxyXG5cdFx0XHRbZm9ybWF0XT1cImNvbmZpZz8uZm9ybWF0IHx8ICdNTU1NIGQsIHknXCJcclxuXHRcdFx0W2hpZ2hsaWdodFNlbGVjdGVkQ2FyZF09XCJjb25maWc/LmhpZ2hsaWdodFNlbGVjdGVkQ2FyZFwiXHJcblx0XHRcdChvblJvd1NlbGVjdGVkKT1cIm9uUm93U2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcclxuXHRcdFx0KG9uUm93SW5kZXhTZWxlY3RlZCk9XCJvblJvd0luZGV4U2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcclxuXHRcdFx0KG9uTXVsdGlSb3dTZWxlY3RlZCk9XCJvbk11bHRpUm93U2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcclxuXHRcdFx0KGFjdGlvbk9uUm93KT1cImFjdGlvbk9uUm93LmVtaXQoJGV2ZW50KVwiXHJcblx0XHRcdChvblNvcnRpbmcpPVwib25Tb3J0Q2hhbmdlZCgkZXZlbnQpXCJcclxuXHRcdD48L2N0cy10YWJsZT5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export const ACTIONS_TABLE_TEMPLATE = new InjectionToken('ActionsTableTemplateDirective');
|
|
4
|
+
export class ActionsTableTemplateDirective {
|
|
5
|
+
constructor(template) {
|
|
6
|
+
this.template = template;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
ActionsTableTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionsTableTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
|
+
ActionsTableTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: ActionsTableTemplateDirective, selector: "[headerTableTemplate]", providers: [
|
|
11
|
+
{
|
|
12
|
+
provide: ACTIONS_TABLE_TEMPLATE,
|
|
13
|
+
useExisting: ActionsTableTemplateDirective
|
|
14
|
+
}
|
|
15
|
+
], ngImport: i0 });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ActionsTableTemplateDirective, decorators: [{
|
|
17
|
+
type: Directive,
|
|
18
|
+
args: [{
|
|
19
|
+
selector: '[headerTableTemplate]',
|
|
20
|
+
providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: ACTIONS_TABLE_TEMPLATE,
|
|
23
|
+
useExisting: ActionsTableTemplateDirective
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZGlyZWN0aXZlcy9hY3Rpb25zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQWdDLCtCQUErQixDQUFDLENBQUM7QUFXekgsTUFBTSxPQUFPLDZCQUE2QjtJQUN6QyxZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFHLENBQUM7OzJIQURyQyw2QkFBNkI7K0dBQTdCLDZCQUE2QixnREFQOUI7UUFDVjtZQUNDLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsV0FBVyxFQUFFLDZCQUE2QjtTQUMxQztLQUNEOzRGQUVXLDZCQUE2QjtrQkFUekMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsV0FBVywrQkFBK0I7eUJBQzFDO3FCQUNEO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBBQ1RJT05TX1RBQkxFX1RFTVBMQVRFID0gbmV3IEluamVjdGlvblRva2VuPEFjdGlvbnNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlPignQWN0aW9uc1RhYmxlVGVtcGxhdGVEaXJlY3RpdmUnKTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW2hlYWRlclRhYmxlVGVtcGxhdGVdJyxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogQUNUSU9OU19UQUJMRV9URU1QTEFURSxcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IEFjdGlvbnNUYWJsZVRlbXBsYXRlRGlyZWN0aXZlXHJcblx0XHR9XHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uc1RhYmxlVGVtcGxhdGVEaXJlY3RpdmUge1xyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pikge31cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Directive, InjectionToken } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export const FILTER_CUSTOM_TEMPLATE = new InjectionToken('FilterCustomTemplateDirective');
|
|
4
|
+
export class FilterCustomTemplateDirective {
|
|
5
|
+
constructor(template) {
|
|
6
|
+
this.template = template;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
FilterCustomTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterCustomTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
|
+
FilterCustomTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: FilterCustomTemplateDirective, selector: "[filterCustomTemplate]", providers: [
|
|
11
|
+
{
|
|
12
|
+
provide: FILTER_CUSTOM_TEMPLATE,
|
|
13
|
+
useExisting: FilterCustomTemplateDirective
|
|
14
|
+
}
|
|
15
|
+
], ngImport: i0 });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterCustomTemplateDirective, decorators: [{
|
|
17
|
+
type: Directive,
|
|
18
|
+
args: [{
|
|
19
|
+
selector: '[filterCustomTemplate]',
|
|
20
|
+
providers: [
|
|
21
|
+
{
|
|
22
|
+
provide: FILTER_CUSTOM_TEMPLATE,
|
|
23
|
+
useExisting: FilterCustomTemplateDirective
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWN1c3RvbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9uZGYtdGFibGUvZGlyZWN0aXZlcy9maWx0ZXItY3VzdG9tLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3ZELCtCQUErQixDQUMvQixDQUFDO0FBV0YsTUFBTSxPQUFPLDZCQUE2QjtJQUN6QyxZQUFtQixRQUEwQjtRQUExQixhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUFHLENBQUM7OzJIQURyQyw2QkFBNkI7K0dBQTdCLDZCQUE2QixpREFQOUI7UUFDVjtZQUNDLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsV0FBVyxFQUFFLDZCQUE2QjtTQUMxQztLQUNEOzRGQUVXLDZCQUE2QjtrQkFUekMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsV0FBVywrQkFBK0I7eUJBQzFDO3FCQUNEO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3Rpb25Ub2tlbiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBGSUxURVJfQ1VTVE9NX1RFTVBMQVRFID0gbmV3IEluamVjdGlvblRva2VuPEZpbHRlckN1c3RvbVRlbXBsYXRlRGlyZWN0aXZlPihcclxuXHQnRmlsdGVyQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmUnXHJcbik7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuXHRzZWxlY3RvcjogJ1tmaWx0ZXJDdXN0b21UZW1wbGF0ZV0nLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBGSUxURVJfQ1VTVE9NX1RFTVBMQVRFLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogRmlsdGVyQ3VzdG9tVGVtcGxhdGVEaXJlY3RpdmVcclxuXHRcdH1cclxuXHRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWx0ZXJDdXN0b21UZW1wbGF0ZURpcmVjdGl2ZSB7XHJcblx0Y29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxyXG59XHJcbiJdfQ==
|