nuxeo-development-framework 5.3.6 → 5.3.7
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 +575 -202
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +1 -2
- package/esm2015/lib/components/ndf-filters/base/base-aggregation-field.component.js +91 -0
- package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +66 -0
- package/esm2015/lib/components/ndf-filters/base/base-custom-field.component.js +46 -0
- package/esm2015/lib/components/ndf-filters/base/base-predicate-field.component.js +43 -0
- package/esm2015/lib/components/ndf-filters/base/base-value-accessor.component.js +34 -0
- package/esm2015/lib/components/ndf-filters/base/index.js +6 -0
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/field-header.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +97 -0
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +43 -0
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-collapse-control/filter-collapse-control.component.js +44 -0
- package/esm2015/lib/components/ndf-filters/components/__parts/filter-date-range/filter-date-range.component.js +89 -0
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-empty-message.component.js +1 -1
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-option-text/filter-option-text.component.js +1 -1
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-options-sort/filter-options-sort.component.js +1 -1
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-search-input/filter-search-input.component.js +1 -1
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/html-dialog/html-dialog.component.js +2 -2
- package/esm2015/lib/components/ndf-filters/components/__parts/index.js +10 -0
- package/esm2015/lib/components/ndf-filters/components/aggregation-autocomplete/aggregation-autocomplete.component.js +109 -0
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-checkbox/aggregation-checkbox.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-custom/aggregation-custom.component.js +66 -0
- package/esm2015/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.js +219 -0
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-radio/aggregation-radio.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/aggregation-select/aggregation-select.component.js +83 -0
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-switch/aggregation-switch.component.js +1 -1
- package/esm2015/lib/components/ndf-filters/components/index.js +11 -0
- package/esm2015/lib/components/ndf-filters/components/predicate-date-input/predicate-date-input.component.js +146 -0
- package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +144 -0
- package/esm2015/lib/components/ndf-filters/constants/common.js +4 -0
- package/esm2015/lib/components/ndf-filters/constants/field.js +6 -0
- package/esm2015/lib/components/ndf-filters/constants/index.js +5 -0
- package/esm2015/lib/components/ndf-filters/constants/operators.js +18 -0
- package/esm2015/lib/components/ndf-filters/constants/sort.js +23 -0
- package/esm2015/lib/components/ndf-filters/constants/type.js +26 -0
- package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +78 -0
- package/esm2015/lib/components/ndf-filters/containers/base-field.js +62 -0
- package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +73 -0
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/base-filters-panel.js +55 -0
- package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +127 -0
- package/esm2015/lib/components/ndf-filters/containers/index.js +5 -0
- package/esm2015/lib/components/ndf-filters/containers/predicate-field/predicate-field.component.js +71 -0
- package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user-switch.component.js +55 -0
- package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user.service.js +17 -0
- package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/user-types.js +2 -0
- package/esm2015/lib/components/ndf-filters/custom-components/index.js +2 -0
- package/esm2015/lib/components/ndf-filters/directives/autocomplete-template.directive.js +28 -0
- package/esm2015/lib/components/ndf-filters/directives/checkbox-template.directive.js +28 -0
- package/esm2015/lib/components/ndf-filters/directives/custom-template.directive.js +28 -0
- package/esm2015/lib/components/ndf-filters/directives/date-template.directive.js +28 -0
- package/esm2015/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/dropdown-label-template.directive.js +1 -1
- package/esm2015/lib/components/ndf-filters/directives/dropdown-template.directive.js +28 -0
- package/esm2015/lib/components/ndf-filters/directives/index.js +9 -0
- package/esm2015/lib/components/ndf-filters/directives/radio-template.directive.js +28 -0
- package/esm2015/lib/components/ndf-filters/directives/switch-template.directive.js +28 -0
- package/esm2015/lib/components/ndf-filters/index.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/aggregation-field-config.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/aggregation-response.model.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/base-field-config.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/common.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-config.model.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/autocomplete-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/checkbox-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/common-utils.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/custom-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/date-list-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/date-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/dropdown-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/index.js +12 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/input-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/radio-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/field-options/switch-options.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/filter-option.model.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/form-query-request.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/index.js +14 -0
- package/esm2015/lib/components/ndf-filters/models/operator-value-object.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/predicate-field-config.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/types-helper.js +2 -0
- package/esm2015/lib/components/ndf-filters/models/value-object.model.js +12 -0
- package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +207 -0
- package/esm2015/lib/components/ndf-filters/pipes/autocomplete-filter.pipe.js +27 -0
- package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +32 -0
- package/esm2015/lib/components/ndf-filters/pipes/filter.pipe.js +27 -0
- package/esm2015/lib/components/ndf-filters/pipes/hash-translate.pipe.js +52 -0
- package/esm2015/lib/components/ndf-filters/pipes/index.js +10 -0
- package/esm2015/lib/components/ndf-filters/pipes/localized-label.pipe.js +28 -0
- package/esm2015/lib/components/ndf-filters/pipes/roles-filters.pipe.js +31 -0
- package/esm2015/lib/components/ndf-filters/pipes/sanitizer.pipe.js +34 -0
- package/esm2015/lib/components/ndf-filters/pipes/sort.pipe.js +40 -0
- package/esm2015/lib/components/ndf-filters/pipes/tooltip.pipe.js +69 -0
- package/esm2015/lib/components/ndf-filters/public-api.js +12 -0
- package/esm2015/lib/components/ndf-filters/services/aggregation-field.service.js +105 -0
- package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +59 -0
- package/esm2015/lib/components/ndf-filters/services/filters-mapper.service.js +60 -0
- package/esm2015/lib/components/ndf-filters/services/filters-query.service.js +117 -0
- package/esm2015/lib/components/ndf-filters/services/index.js +5 -0
- package/esm2015/lib/components/ndf-filters/utility/index.js +4 -0
- package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +53 -0
- package/esm2015/lib/components/ndf-filters/utility/nxql.js +47 -0
- package/esm2015/lib/components/ndf-filters/utility/object.js +42 -0
- package/esm2015/lib/components/ndf-tabs/tab.type.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +3 -3
- package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
- package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +6 -5
- package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +1 -1
- package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +2 -2
- package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +26 -25
- package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/search.config.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/table-options.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/models/types.js +1 -1
- package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +5 -5
- package/esm2015/lib/components/tables/ndf-table/public-api.js +1 -2
- package/esm2015/lib/components/tables/ndf-table/services/index.js +1 -2
- package/esm2015/lib/shared/evaluator/evaluator.js +332 -0
- package/esm2015/lib/shared/evaluator/index.js +2 -0
- package/esm2015/lib/shared/evaluator/types.js +2 -0
- package/esm2015/lib/shared/models/index.js +2 -1
- package/esm2015/lib/shared/models/type-helpers.js +2 -0
- package/esm2015/public-api.js +2 -1
- package/fesm2015/nuxeo-development-framework.js +532 -169
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-aggregation-field.component.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-value-accessor.component.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-autocomplete-input/filter-autocomplete.service.d.ts +3 -2
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-date-range/filter-date-range.component.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/html-dialog/html-dialog.component.d.ts +2 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/filters-panel/base-filters-panel.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/filters-panel/filters-panel.component.d.ts +1 -0
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/active-user-switch/active-user.service.d.ts +1 -1
- package/lib/components/ndf-filters/index.d.ts +1 -0
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/aggregation-field-config.d.ts +2 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/base-field-config.d.ts +3 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/custom-field-config.d.ts +2 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/autocomplete-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/checkbox-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/common-utils.d.ts +2 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/custom-fields-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/date-list-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/date-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/dropdown-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/input-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/radio-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/switch-options.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/filter-option.model.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/index.d.ts +1 -0
- package/lib/components/ndf-filters/models/operator-value-object.d.ts +6 -0
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/predicate-field-config.d.ts +2 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/types-helper.d.ts +0 -11
- package/lib/components/ndf-filters/ndf-filters-panel.module.d.ts +66 -0
- package/lib/components/ndf-filters/pipes/check-condition.pipe.d.ts +12 -0
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/index.d.ts +1 -0
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/roles-filters.pipe.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel/index.d.ts → ndf-filters/public-api.d.ts} +2 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/aggregation-field.service.d.ts +1 -1
- package/lib/components/{tables/ndf-table → ndf-filters}/services/filters-mapper.service.d.ts +1 -1
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/index.d.ts +1 -0
- package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/utility/index.d.ts +1 -0
- package/lib/components/{tables/ndf-table/utils → ndf-filters/utility}/nxql-query.d.ts +4 -3
- package/lib/components/ndf-tabs/tab.type.d.ts +1 -1
- package/lib/components/reports/ndf-reports/base/base-report.d.ts +3 -3
- package/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.d.ts +1 -1
- package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +3 -2
- package/lib/components/reports/ndf-reports/models/common.d.ts +2 -2
- package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +1 -1
- package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +2 -2
- package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +1 -1
- package/lib/components/tables/ndf-table/components/text-search/text-search.component.d.ts +1 -1
- package/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.d.ts +3 -2
- package/lib/components/tables/ndf-table/models/payload-types.d.ts +0 -6
- package/lib/components/tables/ndf-table/models/search.config.d.ts +1 -1
- package/lib/components/tables/ndf-table/models/table-mode.d.ts +1 -1
- package/lib/components/tables/ndf-table/models/table-options.d.ts +1 -1
- package/lib/components/tables/ndf-table/models/types.d.ts +1 -1
- package/lib/components/tables/ndf-table/ndf-table.module.d.ts +2 -2
- package/lib/components/tables/ndf-table/public-api.d.ts +0 -1
- package/lib/components/tables/ndf-table/services/index.d.ts +0 -1
- package/lib/shared/evaluator/evaluator.d.ts +79 -0
- package/lib/shared/evaluator/index.d.ts +1 -0
- package/lib/shared/evaluator/types.d.ts +14 -0
- package/lib/shared/models/index.d.ts +1 -0
- package/lib/shared/models/type-helpers.d.ts +11 -0
- package/package.json +3 -2
- package/public-api.d.ts +1 -0
- package/src/docs/ndf-table.doc.md +287 -217
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-aggregation-field.component.js +0 -91
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-checkbox-radio.component.js +0 -66
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-custom-field.component.js +0 -46
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-predicate-field.component.js +0 -43
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/base-value-accessor.component.js +0 -34
- package/esm2015/lib/components/tables/ndf-table/filters-panel/base/index.js +0 -6
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +0 -97
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +0 -43
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-collapse-control/filter-collapse-control.component.js +0 -44
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/filter-date-range/filter-date-range.component.js +0 -89
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/__parts/index.js +0 -10
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-autocomplete/aggregation-autocomplete.component.js +0 -109
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-custom/aggregation-custom.component.js +0 -66
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-date-list/aggregation-date-list.component.js +0 -219
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/aggregation-select/aggregation-select.component.js +0 -83
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/index.js +0 -11
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-date-input/predicate-date-input.component.js +0 -146
- package/esm2015/lib/components/tables/ndf-table/filters-panel/components/predicate-text-input/predicate-text-input.component.js +0 -144
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/common.js +0 -4
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/field.js +0 -6
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/index.js +0 -5
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/operators.js +0 -18
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/sort.js +0 -23
- package/esm2015/lib/components/tables/ndf-table/filters-panel/constants/type.js +0 -26
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/aggregation-field/aggregation-field.component.js +0 -78
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/base-field.js +0 -62
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/custom-field/custom-field.component.js +0 -73
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/base-filters-panel.js +0 -55
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/filters-panel/filters-panel.component.js +0 -122
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/index.js +0 -5
- package/esm2015/lib/components/tables/ndf-table/filters-panel/containers/predicate-field/predicate-field.component.js +0 -71
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user-switch.component.js +0 -55
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/active-user.service.js +0 -17
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/active-user-switch/user-types.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/custom-components/index.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/autocomplete-template.directive.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/checkbox-template.directive.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/custom-template.directive.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/date-template.directive.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/dropdown-template.directive.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/index.js +0 -9
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/radio-template.directive.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/directives/switch-template.directive.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/filters-panel.module.js +0 -205
- package/esm2015/lib/components/tables/ndf-table/filters-panel/index.js +0 -11
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-field-config.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/aggregation-response.model.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/base-field-config.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/common.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/custom-field-config.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-config.model.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/autocomplete-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/checkbox-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/common-utils.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-fields-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/custom-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-list-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/date-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/dropdown-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/index.js +0 -12
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/input-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/radio-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/field-options/switch-options.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/filter-option.model.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/form-query-request.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/index.js +0 -13
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/predicate-field-config.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/types-helper.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/filters-panel/models/value-object.model.js +0 -12
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/autocomplete-filter.pipe.js +0 -27
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/filter.pipe.js +0 -27
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/hash-translate.pipe.js +0 -52
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/index.js +0 -9
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/localized-label.pipe.js +0 -28
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/roles-filters.pipe.js +0 -31
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sanitizer.pipe.js +0 -34
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/sort.pipe.js +0 -40
- package/esm2015/lib/components/tables/ndf-table/filters-panel/pipes/tooltip.pipe.js +0 -69
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/aggregation-field.service.js +0 -105
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/dynamic-component-loader.service.js +0 -59
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/filters-query.service.js +0 -117
- package/esm2015/lib/components/tables/ndf-table/filters-panel/services/index.js +0 -4
- package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/index.js +0 -3
- package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/nxql.js +0 -47
- package/esm2015/lib/components/tables/ndf-table/filters-panel/utility/object.js +0 -42
- package/esm2015/lib/components/tables/ndf-table/services/filters-mapper.service.js +0 -60
- package/esm2015/lib/components/tables/ndf-table/utils/index.js +0 -2
- package/esm2015/lib/components/tables/ndf-table/utils/nxql-query.js +0 -52
- package/lib/components/tables/ndf-table/filters-panel/filters-panel.module.d.ts +0 -65
- package/lib/components/tables/ndf-table/utils/index.d.ts +0 -1
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-checkbox-radio.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-custom-field.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/base-predicate-field.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/base/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/field-header.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-collapse-control/filter-collapse-control.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-empty-message.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-option-text/filter-option-text.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-options-sort/filter-options-sort.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/filter-search-input/filter-search-input.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/__parts/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-autocomplete/aggregation-autocomplete.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-checkbox/aggregation-checkbox.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-custom/aggregation-custom.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-date-list/aggregation-date-list.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-radio/aggregation-radio.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-select/aggregation-select.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/aggregation-switch/aggregation-switch.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/predicate-date-input/predicate-date-input.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/components/predicate-text-input/predicate-text-input.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/common.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/field.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/operators.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/sort.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/constants/type.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/aggregation-field/aggregation-field.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/base-field.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/custom-field/custom-field.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/containers/predicate-field/predicate-field.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/active-user-switch/active-user-switch.component.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/active-user-switch/user-types.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/custom-components/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/autocomplete-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/checkbox-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/custom-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/date-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/dropdown-label-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/dropdown-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/radio-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/directives/switch-template.directive.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/aggregation-response.model.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/common.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-config.model.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/custom-options.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/field-options/index.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/form-query-request.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/models/value-object.model.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/autocomplete-filter.pipe.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/filter.pipe.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/hash-translate.pipe.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/localized-label.pipe.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/sanitizer.pipe.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/sort.pipe.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/pipes/tooltip.pipe.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/dynamic-component-loader.service.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/services/filters-query.service.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/utility/nxql.d.ts +0 -0
- /package/lib/components/{tables/ndf-table/filters-panel → ndf-filters}/utility/object.d.ts +0 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
|
|
3
|
+
import { BasePredicateField } from '../../base';
|
|
4
|
+
import { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import * as moment from 'moment/moment';
|
|
6
|
+
import { isDateObject, isFieldValueObject, NxQL } from '../../utility';
|
|
7
|
+
import _ from 'lodash';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../../ndf-datepicker/ndf-datepicker.component";
|
|
10
|
+
import * as i2 from "@angular/forms";
|
|
11
|
+
import * as i3 from "@ngx-translate/core";
|
|
12
|
+
export class PredicateDateInputComponent extends BasePredicateField {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
this.formDate = new FormControl(null);
|
|
16
|
+
}
|
|
17
|
+
get isDateRange() {
|
|
18
|
+
var _a;
|
|
19
|
+
return (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.isDateRange;
|
|
20
|
+
}
|
|
21
|
+
get validators() {
|
|
22
|
+
return this.isDateRange ? [Validators.required] : [];
|
|
23
|
+
}
|
|
24
|
+
get debounceTime() {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
return (_b = (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.debounceTime) !== null && _b !== void 0 ? _b : 300;
|
|
27
|
+
}
|
|
28
|
+
writeValue(obj) {
|
|
29
|
+
if (obj) {
|
|
30
|
+
if (isFieldValueObject(obj)) {
|
|
31
|
+
return this._handelFieldValueData(obj);
|
|
32
|
+
}
|
|
33
|
+
if (isDateObject(obj)) {
|
|
34
|
+
this._handelDateObj(obj);
|
|
35
|
+
}
|
|
36
|
+
if (typeof obj === 'string' && !this.isDateRange) {
|
|
37
|
+
this.formDate.setValue(obj, { emitEvent: false });
|
|
38
|
+
}
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.formDate.reset(null, {
|
|
42
|
+
emitEvent: false
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
validate(control) {
|
|
46
|
+
return control.valid ? null : control.errors;
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
this.formDate.valueChanges
|
|
50
|
+
.pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => _.isEqual(a, b)), debounceTime(this.debounceTime), takeUntil(this.destroy$))
|
|
51
|
+
.subscribe((res) => {
|
|
52
|
+
this._isFieldDirty = !!res;
|
|
53
|
+
this.onChange(res);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
_handelDateObj(date) {
|
|
57
|
+
const { min, max } = date;
|
|
58
|
+
this.formDate.setValue({
|
|
59
|
+
from: min,
|
|
60
|
+
to: max
|
|
61
|
+
}, { emitEvent: false });
|
|
62
|
+
}
|
|
63
|
+
_handelFieldValueData(date) {
|
|
64
|
+
const { min, max, value } = date;
|
|
65
|
+
this.formDate.patchValue({
|
|
66
|
+
from: min || value,
|
|
67
|
+
to: max
|
|
68
|
+
}, { emitEvent: false });
|
|
69
|
+
}
|
|
70
|
+
_prepareDateToEmit(date) {
|
|
71
|
+
if (!date || !(date === null || date === void 0 ? void 0 : date.value)) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const { value } = date;
|
|
75
|
+
if (typeof value === 'string' && !this.isDateRange) {
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
78
|
+
const { from: min, to: max } = value;
|
|
79
|
+
const _hasData = min || max;
|
|
80
|
+
if (!_hasData) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (this.field.valueType == 'property') {
|
|
84
|
+
if (min && max && this.isDateRange) {
|
|
85
|
+
return this._normalizeDateRange({ min, max });
|
|
86
|
+
}
|
|
87
|
+
return min;
|
|
88
|
+
}
|
|
89
|
+
if (this._isValueObject()) {
|
|
90
|
+
const _date = this._normalizeDateRange({ min, max });
|
|
91
|
+
const _operator = NxQL._getRangeOperator(_date);
|
|
92
|
+
return NxQL._getValueRange(_date, 'DATE', _operator);
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
_normalizeDateRange(date) {
|
|
97
|
+
moment.locale('en');
|
|
98
|
+
if (!date) {
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
const { min, max } = date;
|
|
102
|
+
return {
|
|
103
|
+
min: min ? moment(min).startOf('day').format() : min,
|
|
104
|
+
max: max ? moment(max).endOf('day').format() : max
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
PredicateDateInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateDateInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
PredicateDateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PredicateDateInputComponent, selector: "lib-predicate-date-input", host: { classAttribute: "date-field" }, providers: [
|
|
110
|
+
{
|
|
111
|
+
provide: NG_VALUE_ACCESSOR,
|
|
112
|
+
useExisting: forwardRef(() => PredicateDateInputComponent),
|
|
113
|
+
multi: true
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
provide: NG_VALIDATORS,
|
|
117
|
+
useExisting: forwardRef(() => PredicateDateInputComponent),
|
|
118
|
+
multi: true
|
|
119
|
+
}
|
|
120
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"filter-date-input\" (click)=\"$event.stopPropagation()\">\r\n\t<ndf-datepicker\r\n\t\t[formControl]=\"formDate\"\r\n\t\t[range]=\"isDateRange\"\r\n\t\t[startDatePlaceholder]=\"'FILTERS.from' | translate\"\r\n\t\t[endDatePlaceholder]=\"'FILTERS.to' | translate\"\r\n\t\t[placeholder]=\"renderOptions?.placeholder\"\r\n\t\t[showActions]=\"renderOptions?.showActions ?? true\"\r\n\t\t[autoFill]=\"renderOptions?.autoFill\"\r\n\t\t[panelClass]=\"renderOptions?.panelClass\"\r\n\t\t[startView]=\"renderOptions?.startView\"\r\n\t\t[max]=\"renderOptions?.max\"\r\n\t\t[min]=\"renderOptions?.min\"\r\n\t\t[startAt]=\"renderOptions?.startAt\"\r\n\t\t[updateLocalLang]=\"renderOptions?.updateLocalLang ?? true\"\r\n\t\t[hijriDisplayFormat]=\"renderOptions?.hijriDisplayFormat\"\r\n\t\t[displayFormat]=\"renderOptions?.displayFormat\"\r\n\t></ndf-datepicker>\r\n</div>\r\n", styles: [".filter-date-input .mat-form-field-appearance-outline .mat-form-field-infix{padding:.6rem 0}.filter-date-input .mat-form-field-prefix .mat-icon-button,.filter-date-input .mat-form-field-suffix .mat-icon-button,.filter-date-input .mat-icon-button{width:1.8rem;height:1.8rem}.filter-date-input .mat-form-field-wrapper{padding-bottom:0}.filter-date-input input{font-weight:300;font-size:var(--f-input-font-size, 13px)}\n"], components: [{ type: i1.NdfDatepickerComponent, selector: "ndf-datepicker", inputs: ["label", "showActions", "autoFill", "panelClass", "endDatePlaceholder", "startDatePlaceholder", "placeholder", "startView", "appearance", "dateFilter", "max", "min", "startAt", "updateLocalLang", "hijriDisplayFormat", "displayFormat"], outputs: ["yearSelected", "monthSelected"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i3.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateDateInputComponent, decorators: [{
|
|
122
|
+
type: Component,
|
|
123
|
+
args: [{
|
|
124
|
+
selector: 'lib-predicate-date-input',
|
|
125
|
+
templateUrl: './predicate-date-input.component.html',
|
|
126
|
+
styleUrls: ['./predicate-date-input.component.scss'],
|
|
127
|
+
encapsulation: ViewEncapsulation.None,
|
|
128
|
+
changeDetection: ChangeDetectionStrategy.Default,
|
|
129
|
+
providers: [
|
|
130
|
+
{
|
|
131
|
+
provide: NG_VALUE_ACCESSOR,
|
|
132
|
+
useExisting: forwardRef(() => PredicateDateInputComponent),
|
|
133
|
+
multi: true
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
provide: NG_VALIDATORS,
|
|
137
|
+
useExisting: forwardRef(() => PredicateDateInputComponent),
|
|
138
|
+
multi: true
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
host: {
|
|
142
|
+
class: 'date-field'
|
|
143
|
+
}
|
|
144
|
+
}]
|
|
145
|
+
}] });
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGljYXRlLWRhdGUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy9jb21wb25lbnRzL3ByZWRpY2F0ZS1kYXRlLWlucHV0L3ByZWRpY2F0ZS1kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29tcG9uZW50cy9wcmVkaWNhdGUtZGF0ZS1pbnB1dC9wcmVkaWNhdGUtZGF0ZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBRU4sV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsRUFFakIsVUFBVSxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWhELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFpQ3ZCLE1BQU0sT0FBTywyQkFDWixTQUFRLGtCQUE2RDtJQXZCdEU7O1FBMEJDLGFBQVEsR0FBRyxJQUFJLFdBQVcs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LENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDOzRCQUMxRCxLQUFLLEVBQUUsSUFBSTt5QkFDWDt3QkFDRDs0QkFDQyxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEO29CQUNELElBQUksRUFBRTt3QkFDTCxLQUFLLEVBQUUsWUFBWTtxQkFDbkI7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcblx0QWJzdHJhY3RDb250cm9sLFxyXG5cdEZvcm1Db250cm9sLFxyXG5cdE5HX1ZBTElEQVRPUlMsXHJcblx0TkdfVkFMVUVfQUNDRVNTT1IsXHJcblx0VmFsaWRhdGlvbkVycm9ycyxcclxuXHRWYWxpZGF0b3JzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlUHJlZGljYXRlRmllbGQgfSBmcm9tICcuLi8uLi9iYXNlJztcclxuaW1wb3J0IHsgRmllbGRWYWx1ZU9iamVjdCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbmltcG9ydCB7IGlzRGF0ZU9iamVjdCwgaXNGaWVsZFZhbHVlT2JqZWN0LCBOeFFMIH0gZnJvbSAnLi4vLi4vdXRpbGl0eSc7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IERhdGVWYWx1ZU9iamVjdCwgTG9jYWxpemVEYXRlVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9uZGYtZGF0ZXBpY2tlcic7XHJcblxyXG50eXBlIERhdGVUeXBlID1cclxuXHR8IHN0cmluZ1xyXG5cdHwgRmllbGRWYWx1ZU9iamVjdDxzdHJpbmc+XHJcblx0fCB7XHJcblx0XHRcdG1pbjogc3RyaW5nO1xyXG5cdFx0XHRtYXg6IHN0cmluZztcclxuXHQgIH07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1wcmVkaWNhdGUtZGF0ZS1pbnB1dCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3ByZWRpY2F0ZS1kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9wcmVkaWNhdGUtZGF0ZS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJlZGljYXRlRGF0ZUlucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByZWRpY2F0ZURhdGVJbnB1dENvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlXHJcblx0XHR9XHJcblx0XSxcclxuXHRob3N0OiB7XHJcblx0XHRjbGFzczogJ2RhdGUtZmllbGQnXHJcblx0fVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJlZGljYXRlRGF0ZUlucHV0Q29tcG9uZW50XHJcblx0ZXh0ZW5kcyBCYXNlUHJlZGljYXRlRmllbGQ8J2RhdGUnLCBzdHJpbmcgfCBGaWVsZFZhbHVlT2JqZWN0PHN0cmluZz4+XHJcblx0aW1wbGVtZW50cyBPbkluaXRcclxue1xyXG5cdGZvcm1EYXRlID0gbmV3IEZvcm1Db250cm9sKG51bGwpO1xyXG5cclxuXHRnZXQgaXNEYXRlUmFuZ2UoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5yZW5kZXJPcHRpb25zPy5pc0RhdGVSYW5nZTtcclxuXHR9XHJcblxyXG5cdGdldCB2YWxpZGF0b3JzKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaXNEYXRlUmFuZ2UgPyBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gOiBbXTtcclxuXHR9XHJcblxyXG5cdGdldCBkZWJvdW5jZVRpbWUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5yZW5kZXJPcHRpb25zPy5kZWJvdW5jZVRpbWUgPz8gMzAwO1xyXG5cdH1cclxuXHJcblx0d3JpdGVWYWx1ZShvYmo6IERhdGVUeXBlKTogdm9pZCB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGlmIChpc0ZpZWxkVmFsdWVPYmplY3Qob2JqKSkge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLl9oYW5kZWxGaWVsZFZhbHVlRGF0YShvYmopO1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChpc0RhdGVPYmplY3Qob2JqKSkge1xyXG5cdFx0XHRcdHRoaXMuX2hhbmRlbERhdGVPYmoob2JqKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnICYmICF0aGlzLmlzRGF0ZVJhbmdlKSB7XHJcblx0XHRcdFx0dGhpcy5mb3JtRGF0ZS5zZXRWYWx1ZShvYmosIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLmZvcm1EYXRlLnJlc2V0KG51bGwsIHtcclxuXHRcdFx0ZW1pdEV2ZW50OiBmYWxzZVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHtcclxuXHRcdHJldHVybiBjb250cm9sLnZhbGlkID8gbnVsbCA6IGNvbnRyb2wuZXJyb3JzO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmZvcm1EYXRlLnZhbHVlQ2hhbmdlc1xyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRtYXAoKGRhdGU6IExvY2FsaXplRGF0ZVZhbHVlPHN0cmluZyB8IERhdGVWYWx1ZU9iamVjdD4pID0+IHRoaXMuX3ByZXBhcmVEYXRlVG9FbWl0KGRhdGUpKSxcclxuXHRcdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gXy5pc0VxdWFsKGEsIGIpKSxcclxuXHRcdFx0XHRkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxyXG5cdFx0XHRcdHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2lzRmllbGREaXJ0eSA9ICEhcmVzO1xyXG5cdFx0XHRcdHRoaXMub25DaGFuZ2UocmVzKTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9oYW5kZWxEYXRlT2JqKGRhdGU6IHsgbWluOiBzdHJpbmc7IG1heDogc3RyaW5nIH0pIHtcclxuXHRcdGNvbnN0IHsgbWluLCBtYXggfSA9IGRhdGU7XHJcblx0XHR0aGlzLmZvcm1EYXRlLnNldFZhbHVlKFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0ZnJvbTogbWluLFxyXG5cdFx0XHRcdHRvOiBtYXhcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBlbWl0RXZlbnQ6IGZhbHNlIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9oYW5kZWxGaWVsZFZhbHVlRGF0YShkYXRlOiBGaWVsZFZhbHVlT2JqZWN0PHN0cmluZz4pIHtcclxuXHRcdGNvbnN0IHsgbWluLCBtYXgsIHZhbHVlIH0gPSBkYXRlO1xyXG5cdFx0dGhpcy5mb3JtRGF0ZS5wYXRjaFZhbHVlKFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0ZnJvbTogbWluIHx8IHZhbHVlLFxyXG5cdFx0XHRcdHRvOiBtYXhcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBlbWl0RXZlbnQ6IGZhbHNlIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlRGF0ZVRvRW1pdChkYXRlOiBMb2NhbGl6ZURhdGVWYWx1ZTxzdHJpbmcgfCBEYXRlVmFsdWVPYmplY3Q+KSB7XHJcblx0XHRpZiAoIWRhdGUgfHwgIWRhdGU/LnZhbHVlKSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgeyB2YWx1ZSB9ID0gZGF0ZTtcclxuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmICF0aGlzLmlzRGF0ZVJhbmdlKSB7XHJcblx0XHRcdHJldHVybiB2YWx1ZTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCB7IGZyb206IG1pbiwgdG86IG1heCB9ID0gdmFsdWUgYXMgRGF0ZVZhbHVlT2JqZWN0O1xyXG5cclxuXHRcdGNvbnN0IF9oYXNEYXRhID0gbWluIHx8IG1heDtcclxuXHRcdGlmICghX2hhc0RhdGEpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHRoaXMuZmllbGQudmFsdWVUeXBlID09ICdwcm9wZXJ0eScpIHtcclxuXHRcdFx0aWYgKG1pbiAmJiBtYXggJiYgdGhpcy5pc0RhdGVSYW5nZSkge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLl9ub3JtYWxpemVEYXRlUmFuZ2UoeyBtaW4sIG1heCB9KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXR1cm4gbWluO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0aGlzLl9pc1ZhbHVlT2JqZWN0KCkpIHtcclxuXHRcdFx0Y29uc3QgX2RhdGUgPSB0aGlzLl9ub3JtYWxpemVEYXRlUmFuZ2UoeyBtaW4sIG1heCB9KTtcclxuXHRcdFx0Y29uc3QgX29wZXJhdG9yID0gTnhRTC5fZ2V0UmFuZ2VPcGVyYXRvcihfZGF0ZSk7XHJcblx0XHRcdHJldHVybiBOeFFMLl9nZXRWYWx1ZVJhbmdlKF9kYXRlLCAnREFURScsIF9vcGVyYXRvcik7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfbm9ybWFsaXplRGF0ZVJhbmdlKGRhdGU6IHsgbWluOiBzdHJpbmcgfCBudWxsOyBtYXg6IHN0cmluZyB8IG51bGwgfSkge1xyXG5cdFx0bW9tZW50LmxvY2FsZSgnZW4nKTtcclxuXHJcblx0XHRpZiAoIWRhdGUpIHtcclxuXHRcdFx0cmV0dXJuIG51bGw7XHJcblx0XHR9XHJcblx0XHRjb25zdCB7IG1pbiwgbWF4IH0gPSBkYXRlO1xyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0bWluOiBtaW4gPyBtb21lbnQobWluKS5zdGFydE9mKCdkYXknKS5mb3JtYXQoKSA6IG1pbixcclxuXHRcdFx0bWF4OiBtYXggPyBtb21lbnQobWF4KS5lbmRPZignZGF5JykuZm9ybWF0KCkgOiBtYXhcclxuXHRcdH07XHJcblx0fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXItZGF0ZS1pbnB1dFwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cclxuXHQ8bmRmLWRhdGVwaWNrZXJcclxuXHRcdFtmb3JtQ29udHJvbF09XCJmb3JtRGF0ZVwiXHJcblx0XHRbcmFuZ2VdPVwiaXNEYXRlUmFuZ2VcIlxyXG5cdFx0W3N0YXJ0RGF0ZVBsYWNlaG9sZGVyXT1cIidGSUxURVJTLmZyb20nIHwgdHJhbnNsYXRlXCJcclxuXHRcdFtlbmREYXRlUGxhY2Vob2xkZXJdPVwiJ0ZJTFRFUlMudG8nIHwgdHJhbnNsYXRlXCJcclxuXHRcdFtwbGFjZWhvbGRlcl09XCJyZW5kZXJPcHRpb25zPy5wbGFjZWhvbGRlclwiXHJcblx0XHRbc2hvd0FjdGlvbnNdPVwicmVuZGVyT3B0aW9ucz8uc2hvd0FjdGlvbnMgPz8gdHJ1ZVwiXHJcblx0XHRbYXV0b0ZpbGxdPVwicmVuZGVyT3B0aW9ucz8uYXV0b0ZpbGxcIlxyXG5cdFx0W3BhbmVsQ2xhc3NdPVwicmVuZGVyT3B0aW9ucz8ucGFuZWxDbGFzc1wiXHJcblx0XHRbc3RhcnRWaWV3XT1cInJlbmRlck9wdGlvbnM/LnN0YXJ0Vmlld1wiXHJcblx0XHRbbWF4XT1cInJlbmRlck9wdGlvbnM/Lm1heFwiXHJcblx0XHRbbWluXT1cInJlbmRlck9wdGlvbnM/Lm1pblwiXHJcblx0XHRbc3RhcnRBdF09XCJyZW5kZXJPcHRpb25zPy5zdGFydEF0XCJcclxuXHRcdFt1cGRhdGVMb2NhbExhbmddPVwicmVuZGVyT3B0aW9ucz8udXBkYXRlTG9jYWxMYW5nID8/IHRydWVcIlxyXG5cdFx0W2hpanJpRGlzcGxheUZvcm1hdF09XCJyZW5kZXJPcHRpb25zPy5oaWpyaURpc3BsYXlGb3JtYXRcIlxyXG5cdFx0W2Rpc3BsYXlGb3JtYXRdPVwicmVuZGVyT3B0aW9ucz8uZGlzcGxheUZvcm1hdFwiXHJcblx0PjwvbmRmLWRhdGVwaWNrZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';
|
|
3
|
+
import { FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
5
|
+
import { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { BasePredicateField } from '../../base';
|
|
7
|
+
import { COMPARISON_OPERATOR, DEFAULT_DEBOUNCE_TIME } from '../../constants';
|
|
8
|
+
import { HtmlDialogComponent } from '../__parts';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/material/icon";
|
|
11
|
+
import * as i2 from "@angular/material/menu";
|
|
12
|
+
import * as i3 from "@angular/common";
|
|
13
|
+
import * as i4 from "@angular/forms";
|
|
14
|
+
import * as i5 from "ngx-mask";
|
|
15
|
+
import * as i6 from "@angular/material/tooltip";
|
|
16
|
+
import * as i7 from "@angular/cdk/bidi";
|
|
17
|
+
import * as i8 from "@ngx-translate/core";
|
|
18
|
+
import * as i9 from "../../pipes/hash-translate.pipe";
|
|
19
|
+
export class PredicateTextInputComponent extends BasePredicateField {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this._dialog = this.injector.get(MatDialog);
|
|
23
|
+
this.internalValue = new FormControl('');
|
|
24
|
+
}
|
|
25
|
+
get selectConfig() {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
return (_b = (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.suffix) === null || _b === void 0 ? void 0 : _b.dropdown;
|
|
28
|
+
}
|
|
29
|
+
get tooltip() {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
return (_b = (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.suffix) === null || _b === void 0 ? void 0 : _b.tooltip;
|
|
32
|
+
}
|
|
33
|
+
get dialogConfig() {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
return (_b = (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.suffix) === null || _b === void 0 ? void 0 : _b.dialog;
|
|
36
|
+
}
|
|
37
|
+
get maskOptions() {
|
|
38
|
+
var _a;
|
|
39
|
+
return (_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.mask;
|
|
40
|
+
}
|
|
41
|
+
writeValue(data) {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
if (data) {
|
|
44
|
+
if (typeof data === 'string') {
|
|
45
|
+
this.internalValue.setValue(data, { emitEvent: false });
|
|
46
|
+
this.cdr.detectChanges();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
this.selectValue = (_b = (_a = this.selectConfig) === null || _a === void 0 ? void 0 : _a.items) === null || _b === void 0 ? void 0 : _b.find((itm) => itm.value === (data === null || data === void 0 ? void 0 : data.value));
|
|
50
|
+
this.internalValue.setValue(data === null || data === void 0 ? void 0 : data.value, { emitEvent: false });
|
|
51
|
+
}
|
|
52
|
+
else if (this._isFieldDirty) {
|
|
53
|
+
this.internalValue.setValue(null, { emitEvent: false });
|
|
54
|
+
this._isFieldDirty = false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
var _a;
|
|
59
|
+
this._prepareSelectList();
|
|
60
|
+
this.internalValue.valueChanges
|
|
61
|
+
.pipe(distinctUntilChanged(), debounceTime(((_a = this.renderOptions) === null || _a === void 0 ? void 0 : _a.debounceTime) || DEFAULT_DEBOUNCE_TIME), takeUntil(this.destroy$))
|
|
62
|
+
.subscribe((res) => {
|
|
63
|
+
this.updateValue(res);
|
|
64
|
+
this._isFieldDirty = Boolean(res);
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
updateValue(value) {
|
|
68
|
+
if (this.field.valueType == 'property') {
|
|
69
|
+
this.onChange(value);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.updateObjectValue();
|
|
73
|
+
}
|
|
74
|
+
updateObjectValue() {
|
|
75
|
+
var _a;
|
|
76
|
+
if (this.internalValue.value) {
|
|
77
|
+
const operator = (((_a = this.selectValue) === null || _a === void 0 ? void 0 : _a.value) || COMPARISON_OPERATOR.like);
|
|
78
|
+
const data = this._prepareValueObject(this.internalValue.value, operator);
|
|
79
|
+
this.onChange(data);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this.onChange(null);
|
|
83
|
+
}
|
|
84
|
+
changeOperator(event) {
|
|
85
|
+
this.selectValue = event;
|
|
86
|
+
this.cdr.detectChanges();
|
|
87
|
+
if (this.internalValue.value) {
|
|
88
|
+
this.updateObjectValue();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
openModal() {
|
|
92
|
+
const _a = this.dialogConfig, { options } = _a, data = __rest(_a, ["options"]);
|
|
93
|
+
this._dialog.open(HtmlDialogComponent, Object.assign(Object.assign({ panelClass: 'p-0', minWidth: 'min(500px,60vw)', direction: this.direction }, options), { data }));
|
|
94
|
+
}
|
|
95
|
+
_prepareSelectList() {
|
|
96
|
+
var _a, _b;
|
|
97
|
+
if (this.selectConfig && !this.selectValue) {
|
|
98
|
+
const key = (_a = this.selectConfig.items.find((itm) => itm.value === this.selectConfig.selectedValue)) === null || _a === void 0 ? void 0 : _a.key;
|
|
99
|
+
this.selectValue = {
|
|
100
|
+
key: key,
|
|
101
|
+
value: (_b = this.selectConfig) === null || _b === void 0 ? void 0 : _b.selectedValue
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
PredicateTextInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateTextInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
107
|
+
PredicateTextInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PredicateTextInputComponent, selector: "predicate-text-input", host: { classAttribute: "text-field input-wrapper" }, providers: [
|
|
108
|
+
{
|
|
109
|
+
provide: NG_VALUE_ACCESSOR,
|
|
110
|
+
useExisting: forwardRef(() => PredicateTextInputComponent),
|
|
111
|
+
multi: true
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
provide: NG_VALIDATORS,
|
|
115
|
+
useExisting: forwardRef(() => PredicateTextInputComponent),
|
|
116
|
+
multi: true
|
|
117
|
+
}
|
|
118
|
+
], usesInheritance: true, ngImport: i0, template: "<input\r\n\t*ngIf=\"!maskOptions?.mask\"\r\n\ttype=\"text\"\r\n\tclass=\"text-field__input\"\r\n\t[formControl]=\"internalValue\"\r\n\t[title]=\"field?.label | translate\"\r\n\t[placeholder]=\"renderOptions?.placeholder ?? 'FILTERS.enterText' | translate\"\r\n/>\r\n\r\n<input\r\n\t*ngIf=\"maskOptions?.mask\"\r\n\ttype=\"text\"\r\n\tclass=\"text-field__input\"\r\n\t[formControl]=\"internalValue\"\r\n\t[title]=\"field?.label | translate\"\r\n\t[placeholder]=\"renderOptions?.placeholder ?? 'FILTERS.enterText' | translate\"\r\n\t[mask]=\"maskOptions?.mask\"\r\n\t[dropSpecialCharacters]=\"maskOptions?.dropSpecialCharacters ?? true\"\r\n\t[showMaskTyped]=\"maskOptions?.showMaskTyped ?? true\"\r\n\t[validation]=\"maskOptions?.validation\"\r\n\t[shownMaskExpression]=\"maskOptions?.shownMaskExpression\"\r\n\t[allowNegativeNumbers]=\"maskOptions?.allowNegativeNumbers\"\r\n\t[keepCharacterPositions]=\"maskOptions?.keepCharacterPositions\"\r\n\t[leadZero]=\"maskOptions?.leadZero\"\r\n\t[hiddenInput]=\"maskOptions?.hiddenInput\"\r\n\t[clearIfNotMatch]=\"maskOptions?.clearIfNotMatch\"\r\n\t[prefix]=\"maskOptions?.prefix ?? ''\"\r\n\t[suffix]=\"maskOptions?.suffix ?? ''\"\r\n/>\r\n\r\n<div *ngIf=\"renderOptions?.suffix\" class=\"text-field__suffix\">\r\n\t<mat-icon\r\n\t\t*ngIf=\"tooltip\"\r\n\t\t[matTooltip]=\"tooltip | hashTranslateAsync | async\"\r\n\t\tclass=\"text-field__suffix__item suffix-icon\"\r\n\t>\r\n\t\tinfo\r\n\t</mat-icon>\r\n\r\n\t<span *ngIf=\"renderOptions.suffix?.text\" class=\"text-field__suffix__item text- suffix-text\">\r\n\t\t{{ renderOptions.suffix.text | translate }}\r\n\t</span>\r\n\r\n\t<button *ngIf=\"selectConfig\" class=\"text-field__suffix__item suffix-button\" [matMenuTriggerFor]=\"menu\">\r\n\t\t<mat-icon> edit </mat-icon>\r\n\t</button>\r\n\r\n\t<button *ngIf=\"dialogConfig\" class=\"text-field__suffix__item suffix-button\" (click)=\"openModal()\">\r\n\t\t<mat-icon>help_outline</mat-icon>\r\n\t</button>\r\n</div>\r\n\r\n<mat-menu #menu=\"matMenu\" class=\"text-field__suffix__menu\">\r\n\t<span [dir]=\"direction\" class=\"text-field__suffix__menu__wrapper\" *ngIf=\"selectConfig?.items\">\r\n\t\t<button\r\n\t\t\tmat-menu-item\r\n\t\t\t*ngFor=\"let item of selectConfig.items\"\r\n\t\t\t(click)=\"changeOperator(item)\"\r\n\t\t\t[class.selected]=\"item.value === selectValue?.value\"\r\n\t\t>\r\n\t\t\t{{ item.key | translate }}\r\n\t\t</button>\r\n\t</span>\r\n</mat-menu>\r\n", styles: [".text-field{--text-border-color: var(--tf-border-color, var(--main-hover));display:var(--tf-display, inline-grid);grid-template-columns:var(--tf-columns, 1fr auto);align-items:var(--tf-align-items, center);border:var(--tf-border, 1px solid);border-color:var(--text-border-color);border-radius:var(--tf-radius, 4px);color:var(--tf-background, var(--main-text));background-color:var(--tf-background, transparent);height:var(--tf-height, calc(1.5em + .75rem + 2px));width:var(--tf-width, 100%)}.text-field:focus-within{--text-border-color: var(--tf-focus-border-color, var(--main-color))}.text-field__input{display:block;padding:var(--tf-input-padding, .375rem .75rem);font-size:1rem;font-weight:400;line-height:1.5;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border-start-start-radius:var(--tf-radius, 4px);border-end-start-radius:var(--tf-radius, 4px);min-width:0}.text-field__suffix{display:inline-flex;align-items:center;grid-gap:var(--tf-suffix-gap, 0 .2rem);gap:var(--tf-suffix-gap, 0 .2rem);border-inline-start:var(--tf-suffix-start-border, 1px solid var(--text-border-color))}.text-field__suffix__item{padding:var(--tf-item-padding, 0 .1rem);width:auto;height:100%;display:grid;place-items:center}.text-field__suffix__menu .mat-menu-item{line-height:var(--mi-height, 36px);height:var(--mi-height, 36px)}.text-field__suffix__menu .mat-menu-item.selected{background:var(--mi-sel-background, var(--main-color));color:var(--mi-sel-color, var(--main-hover))}.text-field__suffix__menu .mat-menu-item.selected:hover{--mi-sel-color: currentColor}.text-field__suffix__menu__wrapper{max-height:var(--tf-menu-height, 250px);overflow-y:auto;display:block}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltipPosition", "matTooltipDisabled", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe, "async": i3.AsyncPipe, "hashTranslateAsync": i9.HashTranslateAsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PredicateTextInputComponent, decorators: [{
|
|
120
|
+
type: Component,
|
|
121
|
+
args: [{
|
|
122
|
+
selector: 'predicate-text-input',
|
|
123
|
+
templateUrl: './predicate-text-input.component.html',
|
|
124
|
+
styleUrls: ['./predicate-text-input.component.scss'],
|
|
125
|
+
encapsulation: ViewEncapsulation.None,
|
|
126
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
127
|
+
providers: [
|
|
128
|
+
{
|
|
129
|
+
provide: NG_VALUE_ACCESSOR,
|
|
130
|
+
useExisting: forwardRef(() => PredicateTextInputComponent),
|
|
131
|
+
multi: true
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
provide: NG_VALIDATORS,
|
|
135
|
+
useExisting: forwardRef(() => PredicateTextInputComponent),
|
|
136
|
+
multi: true
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
host: {
|
|
140
|
+
class: 'text-field input-wrapper'
|
|
141
|
+
}
|
|
142
|
+
}]
|
|
143
|
+
}] });
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGljYXRlLXRleHQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy9jb21wb25lbnRzL3ByZWRpY2F0ZS10ZXh0LWlucHV0L3ByZWRpY2F0ZS10ZXh0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29tcG9uZW50cy9wcmVkaWNhdGUtdGV4dC1pbnB1dC9wcmVkaWNhdGUtdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDOzs7Ozs7Ozs7OztBQXdCakQsTUFBTSxPQUFPLDJCQUNaLFNBQVEsa0JBQThEO0lBdkJ2RTs7UUEwQmtCLFlBQU8sR0FBRyxJQUFJLENBQUMs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RUFBRSxHQUFHO2dCQUNSLEtBQUssRUFBRSxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLGFBQWE7YUFDdkMsQ0FBQztTQUNGO0lBQ0YsQ0FBQzs7eUhBbkdXLDJCQUEyQjs2R0FBM0IsMkJBQTJCLHFHQWhCNUI7UUFDVjtZQUNDLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztZQUMxRCxLQUFLLEVBQUUsSUFBSTtTQUNYO1FBQ0Q7WUFDQyxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO1lBQzFELEtBQUssRUFBRSxJQUFJO1NBQ1g7S0FDRCxpREMzQkYsaTRFQWdFQTs0RkRoQ2EsMkJBQTJCO2tCQXRCdkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztvQkFDcEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNEJBQTRCLENBQUM7NEJBQzFELEtBQUssRUFBRSxJQUFJO3lCQUNYO3dCQUNEOzRCQUNDLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzs0QkFDMUQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7cUJBQ0Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSwwQkFBMEI7cUJBQ2pDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlUHJlZGljYXRlRmllbGQgfSBmcm9tICcuLi8uLi9iYXNlJztcclxuaW1wb3J0IHsgQ09NUEFSSVNPTl9PUEVSQVRPUiwgREVGQVVMVF9ERUJPVU5DRV9USU1FIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29tcGFyaXNvbk9wZXJhdG9yLCBGaWVsZFZhbHVlT2JqZWN0LCBIdG1sRGlhbG9nQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgSHRtbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL19fcGFydHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdwcmVkaWNhdGUtdGV4dC1pbnB1dCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3ByZWRpY2F0ZS10ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9wcmVkaWNhdGUtdGV4dC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcmVkaWNhdGVUZXh0SW5wdXRDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fSxcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJlZGljYXRlVGV4dElucHV0Q29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH1cclxuXHRdLFxyXG5cdGhvc3Q6IHtcclxuXHRcdGNsYXNzOiAndGV4dC1maWVsZCBpbnB1dC13cmFwcGVyJ1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByZWRpY2F0ZVRleHRJbnB1dENvbXBvbmVudFxyXG5cdGV4dGVuZHMgQmFzZVByZWRpY2F0ZUZpZWxkPCdpbnB1dCcsIHN0cmluZyB8IEZpZWxkVmFsdWVPYmplY3Q8c3RyaW5nPj5cclxuXHRpbXBsZW1lbnRzIE9uSW5pdFxyXG57XHJcblx0cHJpdmF0ZSByZWFkb25seSBfZGlhbG9nID0gdGhpcy5pbmplY3Rvci5nZXQoTWF0RGlhbG9nKTtcclxuXHJcblx0aW50ZXJuYWxWYWx1ZSA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XHJcblx0c2VsZWN0VmFsdWU6IEtleVZhbHVlPHN0cmluZywgc3RyaW5nPjtcclxuXHRnZXQgc2VsZWN0Q29uZmlnKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucz8uc3VmZml4Py5kcm9wZG93bjtcclxuXHR9XHJcblxyXG5cdGdldCB0b29sdGlwKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucz8uc3VmZml4Py50b29sdGlwO1xyXG5cdH1cclxuXHJcblx0Z2V0IGRpYWxvZ0NvbmZpZygpIHtcclxuXHRcdHJldHVybiB0aGlzLnJlbmRlck9wdGlvbnM/LnN1ZmZpeD8uZGlhbG9nO1xyXG5cdH1cclxuXHJcblx0Z2V0IG1hc2tPcHRpb25zKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucz8ubWFzaztcclxuXHR9XHJcblxyXG5cdHdyaXRlVmFsdWUoZGF0YTogc3RyaW5nIHwgRmllbGRWYWx1ZU9iamVjdDxzdHJpbmc+KTogdm9pZCB7XHJcblx0XHRpZiAoZGF0YSkge1xyXG5cdFx0XHRpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdFx0dGhpcy5pbnRlcm5hbFZhbHVlLnNldFZhbHVlKGRhdGEsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHRcdFx0XHR0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuc2VsZWN0VmFsdWUgPSB0aGlzLnNlbGVjdENvbmZpZz8uaXRlbXM/LmZpbmQoKGl0bSkgPT4gaXRtLnZhbHVlID09PSBkYXRhPy52YWx1ZSk7XHJcblx0XHRcdHRoaXMuaW50ZXJuYWxWYWx1ZS5zZXRWYWx1ZShkYXRhPy52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cdFx0fSBlbHNlIGlmICh0aGlzLl9pc0ZpZWxkRGlydHkpIHtcclxuXHRcdFx0dGhpcy5pbnRlcm5hbFZhbHVlLnNldFZhbHVlKG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuXHRcdFx0dGhpcy5faXNGaWVsZERpcnR5ID0gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX3ByZXBhcmVTZWxlY3RMaXN0KCk7XHJcblx0XHR0aGlzLmludGVybmFsVmFsdWUudmFsdWVDaGFuZ2VzXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdFx0ZGVib3VuY2VUaW1lKHRoaXMucmVuZGVyT3B0aW9ucz8uZGVib3VuY2VUaW1lIHx8IERFRkFVTFRfREVCT1VOQ0VfVElNRSksXHJcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy51cGRhdGVWYWx1ZShyZXMpO1xyXG5cdFx0XHRcdHRoaXMuX2lzRmllbGREaXJ0eSA9IEJvb2xlYW4ocmVzKTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHRpZiAodGhpcy5maWVsZC52YWx1ZVR5cGUgPT0gJ3Byb3BlcnR5Jykge1xyXG5cdFx0XHR0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMudXBkYXRlT2JqZWN0VmFsdWUoKTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZU9iamVjdFZhbHVlKCkge1xyXG5cdFx0aWYgKHRoaXMuaW50ZXJuYWxWYWx1ZS52YWx1ZSkge1xyXG5cdFx0XHRjb25zdCBvcGVyYXRvciA9ICh0aGlzLnNlbGVjdFZhbHVlPy52YWx1ZSB8fCBDT01QQVJJU09OX09QRVJBVE9SLmxpa2UpIGFzIENvbXBhcmlzb25PcGVyYXRvcjtcclxuXHRcdFx0Y29uc3QgZGF0YSA9IHRoaXMuX3ByZXBhcmVWYWx1ZU9iamVjdCh0aGlzLmludGVybmFsVmFsdWUudmFsdWUsIG9wZXJhdG9yKTtcclxuXHRcdFx0dGhpcy5vbkNoYW5nZShkYXRhKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5vbkNoYW5nZShudWxsKTtcclxuXHR9XHJcblxyXG5cdGNoYW5nZU9wZXJhdG9yKGV2ZW50OiBLZXlWYWx1ZTxzdHJpbmcsIHN0cmluZz4pIHtcclxuXHRcdHRoaXMuc2VsZWN0VmFsdWUgPSBldmVudDtcclxuXHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdGlmICh0aGlzLmludGVybmFsVmFsdWUudmFsdWUpIHtcclxuXHRcdFx0dGhpcy51cGRhdGVPYmplY3RWYWx1ZSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b3Blbk1vZGFsKCkge1xyXG5cdFx0Y29uc3QgeyBvcHRpb25zLCAuLi5kYXRhIH0gPSB0aGlzLmRpYWxvZ0NvbmZpZztcclxuXHRcdHRoaXMuX2RpYWxvZy5vcGVuPEh0bWxEaWFsb2dDb21wb25lbnQsIEh0bWxEaWFsb2dDb25maWc+KEh0bWxEaWFsb2dDb21wb25lbnQsIHtcclxuXHRcdFx0cGFuZWxDbGFzczogJ3AtMCcsXHJcblx0XHRcdG1pbldpZHRoOiAnbWluKDUwMHB4LDYwdncpJyxcclxuXHRcdFx0ZGlyZWN0aW9uOiB0aGlzLmRpcmVjdGlvbixcclxuXHRcdFx0Li4ub3B0aW9ucyxcclxuXHRcdFx0ZGF0YVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9wcmVwYXJlU2VsZWN0TGlzdCgpIHtcclxuXHRcdGlmICh0aGlzLnNlbGVjdENvbmZpZyAmJiAhdGhpcy5zZWxlY3RWYWx1ZSkge1xyXG5cdFx0XHRjb25zdCBrZXkgPSB0aGlzLnNlbGVjdENvbmZpZy5pdGVtcy5maW5kKChpdG0pID0+IGl0bS52YWx1ZSA9PT0gdGhpcy5zZWxlY3RDb25maWcuc2VsZWN0ZWRWYWx1ZSk/LmtleTtcclxuXHRcdFx0dGhpcy5zZWxlY3RWYWx1ZSA9IHtcclxuXHRcdFx0XHRrZXk6IGtleSxcclxuXHRcdFx0XHR2YWx1ZTogdGhpcy5zZWxlY3RDb25maWc/LnNlbGVjdGVkVmFsdWVcclxuXHRcdFx0fTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPGlucHV0XHJcblx0Km5nSWY9XCIhbWFza09wdGlvbnM/Lm1hc2tcIlxyXG5cdHR5cGU9XCJ0ZXh0XCJcclxuXHRjbGFzcz1cInRleHQtZmllbGRfX2lucHV0XCJcclxuXHRbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxWYWx1ZVwiXHJcblx0W3RpdGxlXT1cImZpZWxkPy5sYWJlbCB8IHRyYW5zbGF0ZVwiXHJcblx0W3BsYWNlaG9sZGVyXT1cInJlbmRlck9wdGlvbnM/LnBsYWNlaG9sZGVyID8/ICdGSUxURVJTLmVudGVyVGV4dCcgfCB0cmFuc2xhdGVcIlxyXG4vPlxyXG5cclxuPGlucHV0XHJcblx0Km5nSWY9XCJtYXNrT3B0aW9ucz8ubWFza1wiXHJcblx0dHlwZT1cInRleHRcIlxyXG5cdGNsYXNzPVwidGV4dC1maWVsZF9faW5wdXRcIlxyXG5cdFtmb3JtQ29udHJvbF09XCJpbnRlcm5hbFZhbHVlXCJcclxuXHRbdGl0bGVdPVwiZmllbGQ/LmxhYmVsIHwgdHJhbnNsYXRlXCJcclxuXHRbcGxhY2Vob2xkZXJdPVwicmVuZGVyT3B0aW9ucz8ucGxhY2Vob2xkZXIgPz8gJ0ZJTFRFUlMuZW50ZXJUZXh0JyB8IHRyYW5zbGF0ZVwiXHJcblx0W21hc2tdPVwibWFza09wdGlvbnM/Lm1hc2tcIlxyXG5cdFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwibWFza09wdGlvbnM/LmRyb3BTcGVjaWFsQ2hhcmFjdGVycyA/PyB0cnVlXCJcclxuXHRbc2hvd01hc2tUeXBlZF09XCJtYXNrT3B0aW9ucz8uc2hvd01hc2tUeXBlZCA/PyB0cnVlXCJcclxuXHRbdmFsaWRhdGlvbl09XCJtYXNrT3B0aW9ucz8udmFsaWRhdGlvblwiXHJcblx0W3Nob3duTWFza0V4cHJlc3Npb25dPVwibWFza09wdGlvbnM/LnNob3duTWFza0V4cHJlc3Npb25cIlxyXG5cdFthbGxvd05lZ2F0aXZlTnVtYmVyc109XCJtYXNrT3B0aW9ucz8uYWxsb3dOZWdhdGl2ZU51bWJlcnNcIlxyXG5cdFtrZWVwQ2hhcmFjdGVyUG9zaXRpb25zXT1cIm1hc2tPcHRpb25zPy5rZWVwQ2hhcmFjdGVyUG9zaXRpb25zXCJcclxuXHRbbGVhZFplcm9dPVwibWFza09wdGlvbnM/LmxlYWRaZXJvXCJcclxuXHRbaGlkZGVuSW5wdXRdPVwibWFza09wdGlvbnM/LmhpZGRlbklucHV0XCJcclxuXHRbY2xlYXJJZk5vdE1hdGNoXT1cIm1hc2tPcHRpb25zPy5jbGVhcklmTm90TWF0Y2hcIlxyXG5cdFtwcmVmaXhdPVwibWFza09wdGlvbnM/LnByZWZpeCA/PyAnJ1wiXHJcblx0W3N1ZmZpeF09XCJtYXNrT3B0aW9ucz8uc3VmZml4ID8/ICcnXCJcclxuLz5cclxuXHJcbjxkaXYgKm5nSWY9XCJyZW5kZXJPcHRpb25zPy5zdWZmaXhcIiBjbGFzcz1cInRleHQtZmllbGRfX3N1ZmZpeFwiPlxyXG5cdDxtYXQtaWNvblxyXG5cdFx0Km5nSWY9XCJ0b29sdGlwXCJcclxuXHRcdFttYXRUb29sdGlwXT1cInRvb2x0aXAgfCBoYXNoVHJhbnNsYXRlQXN5bmMgfCBhc3luY1wiXHJcblx0XHRjbGFzcz1cInRleHQtZmllbGRfX3N1ZmZpeF9faXRlbSBzdWZmaXgtaWNvblwiXHJcblx0PlxyXG5cdFx0aW5mb1xyXG5cdDwvbWF0LWljb24+XHJcblxyXG5cdDxzcGFuICpuZ0lmPVwicmVuZGVyT3B0aW9ucy5zdWZmaXg/LnRleHRcIiBjbGFzcz1cInRleHQtZmllbGRfX3N1ZmZpeF9faXRlbSB0ZXh0LSBzdWZmaXgtdGV4dFwiPlxyXG5cdFx0e3sgcmVuZGVyT3B0aW9ucy5zdWZmaXgudGV4dCB8IHRyYW5zbGF0ZSB9fVxyXG5cdDwvc3Bhbj5cclxuXHJcblx0PGJ1dHRvbiAqbmdJZj1cInNlbGVjdENvbmZpZ1wiIGNsYXNzPVwidGV4dC1maWVsZF9fc3VmZml4X19pdGVtIHN1ZmZpeC1idXR0b25cIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlxyXG5cdFx0PG1hdC1pY29uPiBlZGl0IDwvbWF0LWljb24+XHJcblx0PC9idXR0b24+XHJcblxyXG5cdDxidXR0b24gKm5nSWY9XCJkaWFsb2dDb25maWdcIiBjbGFzcz1cInRleHQtZmllbGRfX3N1ZmZpeF9faXRlbSBzdWZmaXgtYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Nb2RhbCgpXCI+XHJcblx0XHQ8bWF0LWljb24+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj5cclxuXHQ8L2J1dHRvbj5cclxuPC9kaXY+XHJcblxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJ0ZXh0LWZpZWxkX19zdWZmaXhfX21lbnVcIj5cclxuXHQ8c3BhbiBbZGlyXT1cImRpcmVjdGlvblwiIGNsYXNzPVwidGV4dC1maWVsZF9fc3VmZml4X19tZW51X193cmFwcGVyXCIgKm5nSWY9XCJzZWxlY3RDb25maWc/Lml0ZW1zXCI+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdG1hdC1tZW51LWl0ZW1cclxuXHRcdFx0Km5nRm9yPVwibGV0IGl0ZW0gb2Ygc2VsZWN0Q29uZmlnLml0ZW1zXCJcclxuXHRcdFx0KGNsaWNrKT1cImNoYW5nZU9wZXJhdG9yKGl0ZW0pXCJcclxuXHRcdFx0W2NsYXNzLnNlbGVjdGVkXT1cIml0ZW0udmFsdWUgPT09IHNlbGVjdFZhbHVlPy52YWx1ZVwiXHJcblx0XHQ+XHJcblx0XHRcdHt7IGl0ZW0ua2V5IHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L3NwYW4+XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const MIN_VISIBLE_COUNT = 10;
|
|
2
|
+
export const DEFAULT_DEBOUNCE_TIME = 100;
|
|
3
|
+
export const VALUE_OBJECT = '__valueObject__';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy9jb25zdGFudHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE1JTl9WSVNJQkxFX0NPVU5UID0gMTA7XHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFQk9VTkNFX1RJTUUgPSAxMDA7XHJcblxyXG5leHBvcnQgY29uc3QgVkFMVUVfT0JKRUNUID0gJ19fdmFsdWVPYmplY3RfXyc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const FIELD_SEND_MODE = {
|
|
2
|
+
payload: 'payload',
|
|
3
|
+
queryParam: 'queryParam',
|
|
4
|
+
custom: 'custom'
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1maWx0ZXJzL2NvbnN0YW50cy9maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDOUIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsTUFBTSxFQUFFLFFBQVE7Q0FDUCxDQUFFIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEZJRUxEX1NFTkRfTU9ERSA9IHtcclxuXHRwYXlsb2FkOiAncGF5bG9hZCcsXHJcblx0cXVlcnlQYXJhbTogJ3F1ZXJ5UGFyYW0nLFxyXG5cdGN1c3RvbTogJ2N1c3RvbSdcclxufSBhcyBjb25zdCA7XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './common';
|
|
2
|
+
export * from './field';
|
|
3
|
+
export * from './operators';
|
|
4
|
+
export * from './type';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1maWx0ZXJzL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWVsZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vb3BlcmF0b3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi90eXBlJztcclxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const COMPARISON_OPERATOR = {
|
|
2
|
+
equals: '=',
|
|
3
|
+
notEquals: '!=',
|
|
4
|
+
lessThan: '<',
|
|
5
|
+
greaterThan: '>',
|
|
6
|
+
in: 'IN',
|
|
7
|
+
notIn: 'NOT IN',
|
|
8
|
+
between: 'BETWEEN',
|
|
9
|
+
lessThanOrEqual: '<=',
|
|
10
|
+
greaterThanOrEqual: '>=',
|
|
11
|
+
like: 'LIKE',
|
|
12
|
+
iLike: 'ILIKE',
|
|
13
|
+
notLike: 'NOT LIKE',
|
|
14
|
+
notILike: 'NOT ILIKE',
|
|
15
|
+
startsWith: 'STARTSWITH',
|
|
16
|
+
fullText: 'FULLTEXT'
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy9jb25zdGFudHMvb3BlcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2xDLE1BQU0sRUFBRSxHQUFHO0lBQ1gsU0FBUyxFQUFFLElBQUk7SUFDZixRQUFRLEVBQUUsR0FBRztJQUNiLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEVBQUUsRUFBRSxJQUFJO0lBQ1IsS0FBSyxFQUFFLFFBQVE7SUFDZixPQUFPLEVBQUUsU0FBUztJQUNsQixlQUFlLEVBQUUsSUFBSTtJQUNyQixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsVUFBVTtJQUNuQixRQUFRLEVBQUUsV0FBVztJQUNyQixVQUFVLEVBQUUsWUFBWTtJQUN4QixRQUFRLEVBQUUsVUFBVTtDQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09NUEFSSVNPTl9PUEVSQVRPUiA9IHtcclxuXHRlcXVhbHM6ICc9JyxcclxuXHRub3RFcXVhbHM6ICchPScsXHJcblx0bGVzc1RoYW46ICc8JyxcclxuXHRncmVhdGVyVGhhbjogJz4nLFxyXG5cdGluOiAnSU4nLFxyXG5cdG5vdEluOiAnTk9UIElOJyxcclxuXHRiZXR3ZWVuOiAnQkVUV0VFTicsXHJcblx0bGVzc1RoYW5PckVxdWFsOiAnPD0nLFxyXG5cdGdyZWF0ZXJUaGFuT3JFcXVhbDogJz49JyxcclxuXHRsaWtlOiAnTElLRScsIC8vJCVcclxuXHRpTGlrZTogJ0lMSUtFJywgLy8lJCVcclxuXHRub3RMaWtlOiAnTk9UIExJS0UnLFxyXG5cdG5vdElMaWtlOiAnTk9UIElMSUtFJyxcclxuXHRzdGFydHNXaXRoOiAnU1RBUlRTV0lUSCcsXHJcblx0ZnVsbFRleHQ6ICdGVUxMVEVYVCdcclxufSBhcyBjb25zdDtcclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const SORT_OPTIONS = [
|
|
2
|
+
{
|
|
3
|
+
key: 'alphabeticallyDesc',
|
|
4
|
+
value: 'alphabetically',
|
|
5
|
+
direction: 'desc'
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
key: 'alphabeticallyAsc',
|
|
9
|
+
value: 'alphabetically',
|
|
10
|
+
direction: 'asc'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
key: 'countDesc',
|
|
14
|
+
value: 'count',
|
|
15
|
+
direction: 'desc'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
key: 'countAsc',
|
|
19
|
+
value: 'count',
|
|
20
|
+
direction: 'asc'
|
|
21
|
+
}
|
|
22
|
+
];
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29uc3RhbnRzL3NvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFnQjtJQUN4QztRQUNDLEdBQUcsRUFBRSxvQkFBb0I7UUFDekIsS0FBSyxFQUFFLGdCQUFnQjtRQUN2QixTQUFTLEVBQUUsTUFBTTtLQUNqQjtJQUNEO1FBQ0MsR0FBRyxFQUFFLG1CQUFtQjtRQUN4QixLQUFLLEVBQUUsZ0JBQWdCO1FBQ3ZCLFNBQVMsRUFBRSxLQUFLO0tBQ2hCO0lBQ0Q7UUFDQyxHQUFHLEVBQUUsV0FBVztRQUNoQixLQUFLLEVBQUUsT0FBTztRQUNkLFNBQVMsRUFBRSxNQUFNO0tBQ2pCO0lBQ0Q7UUFDQyxHQUFHLEVBQUUsVUFBVTtRQUNmLEtBQUssRUFBRSxPQUFPO1FBQ2QsU0FBUyxFQUFFLEtBQUs7S0FDaEI7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBTT1JUX09QVElPTlM6IFNvcnRNb2RlbFtdID0gW1xyXG5cdHtcclxuXHRcdGtleTogJ2FscGhhYmV0aWNhbGx5RGVzYycsXHJcblx0XHR2YWx1ZTogJ2FscGhhYmV0aWNhbGx5JyxcclxuXHRcdGRpcmVjdGlvbjogJ2Rlc2MnXHJcblx0fSxcclxuXHR7XHJcblx0XHRrZXk6ICdhbHBoYWJldGljYWxseUFzYycsXHJcblx0XHR2YWx1ZTogJ2FscGhhYmV0aWNhbGx5JyxcclxuXHRcdGRpcmVjdGlvbjogJ2FzYydcclxuXHR9LFxyXG5cdHtcclxuXHRcdGtleTogJ2NvdW50RGVzYycsXHJcblx0XHR2YWx1ZTogJ2NvdW50JyxcclxuXHRcdGRpcmVjdGlvbjogJ2Rlc2MnXHJcblx0fSxcclxuXHR7XHJcblx0XHRrZXk6ICdjb3VudEFzYycsXHJcblx0XHR2YWx1ZTogJ2NvdW50JyxcclxuXHRcdGRpcmVjdGlvbjogJ2FzYydcclxuXHR9XHJcbl07XHJcbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const AGGREGATION_FIELD_TYPES = {
|
|
2
|
+
dropdown: 'dropdown',
|
|
3
|
+
checkbox: 'checkbox',
|
|
4
|
+
radio: 'radio',
|
|
5
|
+
switch: 'switch',
|
|
6
|
+
autocomplete: 'autocomplete',
|
|
7
|
+
dateList: 'dateList',
|
|
8
|
+
custom: 'custom'
|
|
9
|
+
};
|
|
10
|
+
export const DATE_LIST_VIEW = {
|
|
11
|
+
list: 'list',
|
|
12
|
+
dropdown: 'dropdown'
|
|
13
|
+
};
|
|
14
|
+
export const FIELD_TYPE = {
|
|
15
|
+
aggregation: 'aggregation',
|
|
16
|
+
predicate: 'predicate',
|
|
17
|
+
custom: 'custom'
|
|
18
|
+
};
|
|
19
|
+
export const PREDICATE_FIELD_TYPES = {
|
|
20
|
+
input: 'input',
|
|
21
|
+
date: 'date'
|
|
22
|
+
};
|
|
23
|
+
export const CUSTOM_FIELD_TYPES = {
|
|
24
|
+
activeUser: 'activeUser'
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29uc3RhbnRzL3R5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDdEMsUUFBUSxFQUFFLFVBQVU7SUFDcEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixZQUFZLEVBQUUsY0FBYztJQUM1QixRQUFRLEVBQUUsVUFBVTtJQUNwQixNQUFNLEVBQUUsUUFBUTtDQUNQLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDN0IsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtDQUNYLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDekIsV0FBVyxFQUFFLGFBQWE7SUFDMUIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsTUFBTSxFQUFFLFFBQVE7Q0FDUCxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDcEMsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtDQUNILENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNqQyxVQUFVLEVBQUUsWUFBWTtDQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQUdHUkVHQVRJT05fRklFTERfVFlQRVMgPSB7XHJcblx0ZHJvcGRvd246ICdkcm9wZG93bicsXHJcblx0Y2hlY2tib3g6ICdjaGVja2JveCcsXHJcblx0cmFkaW86ICdyYWRpbycsXHJcblx0c3dpdGNoOiAnc3dpdGNoJyxcclxuXHRhdXRvY29tcGxldGU6ICdhdXRvY29tcGxldGUnLFxyXG5cdGRhdGVMaXN0OiAnZGF0ZUxpc3QnLFxyXG5cdGN1c3RvbTogJ2N1c3RvbSdcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBjb25zdCBEQVRFX0xJU1RfVklFVyA9IHtcclxuXHRsaXN0OiAnbGlzdCcsXHJcblx0ZHJvcGRvd246ICdkcm9wZG93bidcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBjb25zdCBGSUVMRF9UWVBFID0ge1xyXG5cdGFnZ3JlZ2F0aW9uOiAnYWdncmVnYXRpb24nLFxyXG5cdHByZWRpY2F0ZTogJ3ByZWRpY2F0ZScsXHJcblx0Y3VzdG9tOiAnY3VzdG9tJ1xyXG59IGFzIGNvbnN0O1xyXG5cclxuZXhwb3J0IGNvbnN0IFBSRURJQ0FURV9GSUVMRF9UWVBFUyA9IHtcclxuXHRpbnB1dDogJ2lucHV0JyxcclxuXHRkYXRlOiAnZGF0ZSdcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCBjb25zdCBDVVNUT01fRklFTERfVFlQRVMgPSB7XHJcblx0YWN0aXZlVXNlcjogJ2FjdGl2ZVVzZXInXHJcbn0gYXMgY29uc3Q7XHJcbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component, forwardRef, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { BaseField } from '../base-field';
|
|
4
|
+
import { AGGREGATION_FIELD_TYPES } from '../../constants';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class AggregationFieldComponent extends BaseField {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.handlers = {
|
|
10
|
+
[AGGREGATION_FIELD_TYPES.dropdown]: this._prepareField.bind(this),
|
|
11
|
+
[AGGREGATION_FIELD_TYPES.checkbox]: this._prepareField.bind(this),
|
|
12
|
+
[AGGREGATION_FIELD_TYPES.radio]: this._prepareField.bind(this),
|
|
13
|
+
[AGGREGATION_FIELD_TYPES.switch]: this._prepareField.bind(this),
|
|
14
|
+
[AGGREGATION_FIELD_TYPES.autocomplete]: this._prepareField.bind(this),
|
|
15
|
+
[AGGREGATION_FIELD_TYPES.dateList]: this._prepareField.bind(this),
|
|
16
|
+
[AGGREGATION_FIELD_TYPES.custom]: this._prepareField.bind(this)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
var _a, _b, _c, _d;
|
|
21
|
+
const componentType = (_b = (_a = this.fieldConfig) === null || _a === void 0 ? void 0 : _a.render) === null || _b === void 0 ? void 0 : _b.type;
|
|
22
|
+
if (componentType) {
|
|
23
|
+
this._componentRef = this.dynamicComponent.renderComponent(componentType, this.container);
|
|
24
|
+
this._prepareValueAccessor();
|
|
25
|
+
(_d = (_c = this.handlers)[componentType]) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
_prepareField() {
|
|
29
|
+
const instance = this._componentRef.instance;
|
|
30
|
+
instance.aggregation = this.aggregation;
|
|
31
|
+
instance.fieldConfig = this.fieldConfig;
|
|
32
|
+
if (this.contentTemplate) {
|
|
33
|
+
instance.contentTemplate = this.contentTemplate;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
AggregationFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
AggregationFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AggregationFieldComponent, selector: "app-aggregation-field", inputs: { aggregation: "aggregation", contentTemplate: "contentTemplate" }, host: { properties: { "class": "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' " } }, providers: [
|
|
39
|
+
{
|
|
40
|
+
provide: NG_VALUE_ACCESSOR,
|
|
41
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
42
|
+
multi: true
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
provide: NG_VALIDATORS,
|
|
46
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
47
|
+
multi: true
|
|
48
|
+
}
|
|
49
|
+
], usesInheritance: true, ngImport: i0, template: '<ng-container #dynamicContainer></ng-container>', isInline: true, styles: [""], encapsulation: i0.ViewEncapsulation.None });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AggregationFieldComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{
|
|
53
|
+
selector: 'app-aggregation-field',
|
|
54
|
+
template: '<ng-container #dynamicContainer></ng-container>',
|
|
55
|
+
styles: [''],
|
|
56
|
+
encapsulation: ViewEncapsulation.None,
|
|
57
|
+
providers: [
|
|
58
|
+
{
|
|
59
|
+
provide: NG_VALUE_ACCESSOR,
|
|
60
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
61
|
+
multi: true
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
provide: NG_VALIDATORS,
|
|
65
|
+
useExisting: forwardRef(() => AggregationFieldComponent),
|
|
66
|
+
multi: true
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
host: {
|
|
70
|
+
'[class]': "'aggregation-field' + ' aggregation-field__fieldConfig?.render?.type' "
|
|
71
|
+
}
|
|
72
|
+
}]
|
|
73
|
+
}], propDecorators: { aggregation: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], contentTemplate: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy9jb250YWluZXJzL2FnZ3JlZ2F0aW9uLWZpZWxkL2FnZ3JlZ2F0aW9uLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBd0IxRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsU0FBaUM7SUFyQmhGOztRQXlCa0IsYUFBUSxHQUE2QztZQUNyRSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNqRSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNqRSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5RCxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvRCxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNyRSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNqRSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvRCxDQUFDO0tBb0JGO0lBbEJBLFFBQVE7O1FBQ1AsTUFBTSxhQUFhLEdBQUcsTUFBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLE1BQU0sMENBQUUsSUFBSSxDQUFDO1FBQ3JELElBQUksYUFBYSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLE1BQUEsTUFBQSxJQUFJLENBQUMsUUFBUSxFQUFDLGFBQWEsQ0FBQyxrREFBSSxDQUFDO1NBQ2pDO0lBQ0YsQ0FBQztJQUVPLGFBQWE7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFzRCxDQUFDO1FBQzNGLFFBQVEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN4QyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFeEMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUNoRDtJQUNGLENBQUM7O3VIQS9CVyx5QkFBeUI7MkdBQXpCLHlCQUF5QiwwT0FoQjFCO1FBQ1Y7WUFDQyxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDeEQsS0FBSyxFQUFFLElBQUk7U0FDWDtRQUNEO1lBQ0MsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztZQUN4RCxLQUFLLEVBQUUsSUFBSTtTQUNYO0tBQ0QsaURBZFMsaURBQWlEOzRGQW1CL0MseUJBQXlCO2tCQXJCckMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsaURBQWlEO29CQUMzRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ1osYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVjs0QkFDQyxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLElBQUk7eUJBQ1g7d0JBQ0Q7NEJBQ0MsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDOzRCQUN4RCxLQUFLLEVBQUUsSUFBSTt5QkFDWDtxQkFDRDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0wsU0FBUyxFQUFFLHlFQUF5RTtxQkFDcEY7aUJBQ0Q7OEJBRVMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBZ2dyZWdhdGlvbkZpZWxkQ29uZmlnLCBBZ2dyZWdhdGlvbkZpZWxkVHlwZSwgQWdncmVnYXRpb25SZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEJhc2VGaWVsZCB9IGZyb20gJy4uL2Jhc2UtZmllbGQnO1xyXG5pbXBvcnQgeyBBR0dSRUdBVElPTl9GSUVMRF9UWVBFUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEJhc2VBZ2dyZWdhdGlvbkZpZWxkIH0gZnJvbSAnLi4vLi4vYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1hZ2dyZWdhdGlvbi1maWVsZCcsXHJcblx0dGVtcGxhdGU6ICc8bmctY29udGFpbmVyICNkeW5hbWljQ29udGFpbmVyPjwvbmctY29udGFpbmVyPicsXHJcblx0c3R5bGVzOiBbJyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBZ2dyZWdhdGlvbkZpZWxkQ29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH0sXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFnZ3JlZ2F0aW9uRmllbGRDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fVxyXG5cdF0sXHJcblx0aG9zdDoge1xyXG5cdFx0J1tjbGFzc10nOiBcIidhZ2dyZWdhdGlvbi1maWVsZCcgKyAnICBhZ2dyZWdhdGlvbi1maWVsZF9fZmllbGRDb25maWc/LnJlbmRlcj8udHlwZScgXCJcclxuXHR9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZ2dyZWdhdGlvbkZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZpZWxkPEFnZ3JlZ2F0aW9uRmllbGRDb25maWc+IHtcclxuXHRASW5wdXQoKSBhZ2dyZWdhdGlvbjogQWdncmVnYXRpb25SZXNwb25zZTtcclxuXHRASW5wdXQoKSBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcnM6IFJlY29yZDxBZ2dyZWdhdGlvbkZpZWxkVHlwZSwgKCkgPT4gdm9pZD4gPSB7XHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuZHJvcGRvd25dOiB0aGlzLl9wcmVwYXJlRmllbGQuYmluZCh0aGlzKSxcclxuXHRcdFtBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5jaGVja2JveF06IHRoaXMuX3ByZXBhcmVGaWVsZC5iaW5kKHRoaXMpLFxyXG5cdFx0W0FHR1JFR0FUSU9OX0ZJRUxEX1RZUEVTLnJhZGlvXTogdGhpcy5fcHJlcGFyZUZpZWxkLmJpbmQodGhpcyksXHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuc3dpdGNoXTogdGhpcy5fcHJlcGFyZUZpZWxkLmJpbmQodGhpcyksXHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuYXV0b2NvbXBsZXRlXTogdGhpcy5fcHJlcGFyZUZpZWxkLmJpbmQodGhpcyksXHJcblx0XHRbQUdHUkVHQVRJT05fRklFTERfVFlQRVMuZGF0ZUxpc3RdOiB0aGlzLl9wcmVwYXJlRmllbGQuYmluZCh0aGlzKSxcclxuXHRcdFtBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5jdXN0b21dOiB0aGlzLl9wcmVwYXJlRmllbGQuYmluZCh0aGlzKVxyXG5cdH07XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuZmllbGRDb25maWc/LnJlbmRlcj8udHlwZTtcclxuXHRcdGlmIChjb21wb25lbnRUeXBlKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuZHluYW1pY0NvbXBvbmVudC5yZW5kZXJDb21wb25lbnQoY29tcG9uZW50VHlwZSwgdGhpcy5jb250YWluZXIpO1xyXG5cdFx0XHR0aGlzLl9wcmVwYXJlVmFsdWVBY2Nlc3NvcigpO1xyXG5cdFx0XHR0aGlzLmhhbmRsZXJzW2NvbXBvbmVudFR5cGVdPy4oKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVGaWVsZCgpIHtcclxuXHRcdGNvbnN0IGluc3RhbmNlID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEJhc2VBZ2dyZWdhdGlvbkZpZWxkPEFnZ3JlZ2F0aW9uRmllbGRUeXBlPjtcclxuXHRcdGluc3RhbmNlLmFnZ3JlZ2F0aW9uID0gdGhpcy5hZ2dyZWdhdGlvbjtcclxuXHRcdGluc3RhbmNlLmZpZWxkQ29uZmlnID0gdGhpcy5maWVsZENvbmZpZztcclxuXHJcblx0XHRpZiAodGhpcy5jb250ZW50VGVtcGxhdGUpIHtcclxuXHRcdFx0aW5zdGFuY2UuY29udGVudFRlbXBsYXRlID0gdGhpcy5jb250ZW50VGVtcGxhdGU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { BaseCustomValueAccessor } from '../base';
|
|
2
|
+
import { Directive, Input, ViewChild, ViewContainerRef } from '@angular/core';
|
|
3
|
+
import { NgControl } from '@angular/forms';
|
|
4
|
+
import { DynamicComponentLoaderService } from '../services';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class BaseField extends BaseCustomValueAccessor {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.dynamicComponent = this.injector.get(DynamicComponentLoaderService);
|
|
10
|
+
}
|
|
11
|
+
writeValue(obj) {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
this.internalValue = obj;
|
|
14
|
+
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.writeValue) {
|
|
15
|
+
(_d = (_c = this._componentRef) === null || _c === void 0 ? void 0 : _c.instance) === null || _d === void 0 ? void 0 : _d.writeValue(obj);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
validate(control) {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.validate) {
|
|
21
|
+
return this._componentRef.instance.validate(control);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
registerOnValidatorChange(fn) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
if ((_b = (_a = this._componentRef) === null || _a === void 0 ? void 0 : _a.instance) === null || _b === void 0 ? void 0 : _b.registerOnValidatorChange) {
|
|
30
|
+
this._componentRef.instance.registerOnValidatorChange(fn);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ngOnChanges(changes) {
|
|
34
|
+
if (!this._componentRef) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
Object.keys(changes).forEach((key) => {
|
|
38
|
+
this._componentRef.instance[key] = changes[key].currentValue;
|
|
39
|
+
});
|
|
40
|
+
this._componentRef.changeDetectorRef.markForCheck();
|
|
41
|
+
}
|
|
42
|
+
ngOnDestroy() {
|
|
43
|
+
if (this._componentRef) {
|
|
44
|
+
this._componentRef.destroy();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
_prepareValueAccessor() {
|
|
48
|
+
const ngControl = this.injector.get(NgControl);
|
|
49
|
+
ngControl.valueAccessor = this._componentRef.instance;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
BaseField.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseField, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
53
|
+
BaseField.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: BaseField, inputs: { fieldConfig: "fieldConfig" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["dynamicContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: BaseField, decorators: [{
|
|
55
|
+
type: Directive
|
|
56
|
+
}], propDecorators: { container: [{
|
|
57
|
+
type: ViewChild,
|
|
58
|
+
args: ['dynamicContainer', { read: ViewContainerRef, static: true }]
|
|
59
|
+
}], fieldConfig: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvY29udGFpbmVycy9iYXNlLWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBRU4sU0FBUyxFQUNULEtBQUssRUFJTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsU0FBUyxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFJNUQsTUFBTSxPQUFnQixTQUNyQixTQUFRLHVCQUFpQztJQUYxQzs7UUFRVyxxQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0tBaUQ5RTtJQXpDQSxVQUFVLENBQUMsR0FBUTs7UUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsUUFBUSwwQ0FBRSxVQUFVLEVBQUU7WUFDN0MsTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLFFBQVEsMENBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzlDO0lBQ0YsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUF3Qjs7UUFDaEMsSUFBSSxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsUUFBUSwwQ0FBRSxRQUFRLEVBQUU7WUFDM0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNOLE9BQU8sSUFBSSxDQUFDO1NBQ1o7SUFDRixDQUFDO0lBRUQseUJBQXlCLENBQUUsRUFBYzs7UUFDeEMsSUFBSSxNQUFBLE1BQUEsSUFBSSxDQUFDLGFBQWEsMENBQUUsUUFBUSwwQ0FBRSx5QkFBeUIsRUFBRTtZQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxRDtJQUNGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDeEIsT0FBTztTQUNQO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzlELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzdCO0lBQ0YsQ0FBQztJQUVTLHFCQUFxQjtRQUM5QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3ZELENBQUM7O3VHQXZEb0IsU0FBUzsyRkFBVCxTQUFTLDRKQUlTLGdCQUFnQjs0RkFKbEMsU0FBUztrQkFEOUIsU0FBUzs4QkFNVCxTQUFTO3NCQURSLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLOUQsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDdXN0b21WYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi4vYmFzZSc7XHJcbmltcG9ydCB7XHJcblx0Q29tcG9uZW50UmVmLFxyXG5cdERpcmVjdGl2ZSxcclxuXHRJbnB1dCxcclxuXHRPbkNoYW5nZXMsXHJcblx0T25EZXN0cm95LFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcblx0Vmlld0NoaWxkLFxyXG5cdFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBOZ0NvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IER5bmFtaWNDb21wb25lbnRMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VGaWVsZDxURmllbGRDb25maWcgZXh0ZW5kcyBGaWVsZENvbmZpZz5cclxuXHRleHRlbmRzIEJhc2VDdXN0b21WYWx1ZUFjY2Vzc29yPGFueSwgYW55PlxyXG5cdGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcclxue1xyXG5cdEBWaWV3Q2hpbGQoJ2R5bmFtaWNDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG5cdGNvbnRhaW5lciE6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG5cdHByb3RlY3RlZCBkeW5hbWljQ29tcG9uZW50ID0gdGhpcy5pbmplY3Rvci5nZXQoRHluYW1pY0NvbXBvbmVudExvYWRlclNlcnZpY2UpO1xyXG5cclxuXHRASW5wdXQoKSBmaWVsZENvbmZpZzogVEZpZWxkQ29uZmlnO1xyXG5cclxuXHRwcm90ZWN0ZWQgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcblxyXG5cdGludGVybmFsVmFsdWU6IGFueTtcclxuXHJcblx0d3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5pbnRlcm5hbFZhbHVlID0gb2JqO1xyXG5cdFx0aWYgKHRoaXMuX2NvbXBvbmVudFJlZj8uaW5zdGFuY2U/LndyaXRlVmFsdWUpIHtcclxuXHRcdFx0dGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZT8ud3JpdGVWYWx1ZShvYmopO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcblx0XHRpZiAodGhpcy5fY29tcG9uZW50UmVmPy5pbnN0YW5jZT8udmFsaWRhdGUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS52YWxpZGF0ZShjb250cm9sKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZT8oZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlPy5yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKSB7XHJcblx0XHRcdHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5yZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHRcdGlmICghdGhpcy5fY29tcG9uZW50UmVmKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdE9iamVjdC5rZXlzKGNoYW5nZXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG5cdFx0XHR0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWU7XHJcblx0XHR9KTtcclxuXHRcdHRoaXMuX2NvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xyXG5cdFx0XHR0aGlzLl9jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIF9wcmVwYXJlVmFsdWVBY2Nlc3NvcigpIHtcclxuXHRcdGNvbnN0IG5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCk7XHJcblx0XHRuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuXHR9XHJcbn1cclxuIl19
|