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,59 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, PredicateDateInputComponent, PredicateTextInputComponent } from '../components';
|
|
3
|
+
import { AGGREGATION_FIELD_TYPES, CUSTOM_FIELD_TYPES, PREDICATE_FIELD_TYPES } from '../constants';
|
|
4
|
+
import { ActiveUserSwitchComponent } from '../custom-components';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DynamicComponentLoaderService {
|
|
7
|
+
constructor(_factoryResolver) {
|
|
8
|
+
this._factoryResolver = _factoryResolver;
|
|
9
|
+
this._components = new Map();
|
|
10
|
+
this._registerCustomComponent();
|
|
11
|
+
this._registerAggregationsComponents();
|
|
12
|
+
this._registerPredicateComponents();
|
|
13
|
+
}
|
|
14
|
+
registerComponent(key, component) {
|
|
15
|
+
this._components.set(key, component);
|
|
16
|
+
}
|
|
17
|
+
renderComponent(key, vcr) {
|
|
18
|
+
if (!this._components.has(key)) {
|
|
19
|
+
throw 'unknown component ';
|
|
20
|
+
}
|
|
21
|
+
const component = this._components.get(key);
|
|
22
|
+
return this.loadComponent(component, vcr);
|
|
23
|
+
}
|
|
24
|
+
loadComponent(componentAngularType, vcr) {
|
|
25
|
+
const component = this._factoryResolver.resolveComponentFactory(componentAngularType);
|
|
26
|
+
return vcr.createComponent(component);
|
|
27
|
+
}
|
|
28
|
+
//------
|
|
29
|
+
// CUSTOM
|
|
30
|
+
//------
|
|
31
|
+
_registerCustomComponent() {
|
|
32
|
+
this.registerComponent(CUSTOM_FIELD_TYPES.activeUser, ActiveUserSwitchComponent);
|
|
33
|
+
}
|
|
34
|
+
//------
|
|
35
|
+
// AGGREGATION
|
|
36
|
+
//------
|
|
37
|
+
_registerAggregationsComponents() {
|
|
38
|
+
this.registerComponent(AGGREGATION_FIELD_TYPES.autocomplete, AggregationAutocompleteComponent);
|
|
39
|
+
this.registerComponent(AGGREGATION_FIELD_TYPES.dropdown, AggregationSelectComponent);
|
|
40
|
+
this.registerComponent(AGGREGATION_FIELD_TYPES.switch, AggregationSwitchComponent);
|
|
41
|
+
this.registerComponent(AGGREGATION_FIELD_TYPES.radio, AggregationRadioComponent);
|
|
42
|
+
this.registerComponent(AGGREGATION_FIELD_TYPES.dateList, AggregationDateListComponent);
|
|
43
|
+
this.registerComponent(AGGREGATION_FIELD_TYPES.custom, AggregationCustomComponent);
|
|
44
|
+
this.registerComponent(AGGREGATION_FIELD_TYPES.checkbox, AggregationCheckboxComponent);
|
|
45
|
+
}
|
|
46
|
+
//------
|
|
47
|
+
// PREDICATE
|
|
48
|
+
//------
|
|
49
|
+
_registerPredicateComponents() {
|
|
50
|
+
this.registerComponent(PREDICATE_FIELD_TYPES.input, PredicateTextInputComponent);
|
|
51
|
+
this.registerComponent(PREDICATE_FIELD_TYPES.date, PredicateDateInputComponent);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
DynamicComponentLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
55
|
+
DynamicComponentLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicComponentLoaderService, decorators: [{
|
|
57
|
+
type: Injectable
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1maWx0ZXJzL3NlcnZpY2VzL2R5bmFtaWMtY29tcG9uZW50LWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsVUFBVSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQ04sZ0NBQWdDLEVBQ2hDLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWxHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUtqRSxNQUFNLE9BQU8sNkJBQTZCO0lBR3pDLFlBQW9CLGdCQUEwQztRQUExQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQTBCO1FBRjdDLGdCQUFXLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7UUFHbEUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGlCQUFpQixDQUFJLEdBQWtCLEVBQUUsU0FBa0I7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBa0IsRUFBRSxHQUFxQjtRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0IsTUFBTSxvQkFBb0IsQ0FBQztTQUMzQjtRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWEsQ0FBSSxvQkFBNkIsRUFBRSxHQUFxQjtRQUNwRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN0RixPQUFPLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFFBQVE7SUFDUixTQUFTO0lBQ1QsUUFBUTtJQUNBLHdCQUF3QjtRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELFFBQVE7SUFDUixjQUFjO0lBQ2QsUUFBUTtJQUNBLCtCQUErQjtRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsWUFBWSxFQUFFLGdDQUFnQyxDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsUUFBUSxFQUFFLDRCQUE0QixDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFFBQVE7SUFDUixZQUFZO0lBQ1osUUFBUTtJQUNBLDRCQUE0QjtRQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLDJCQUEyQixDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OzJIQXBEVyw2QkFBNkI7K0hBQTdCLDZCQUE2Qjs0RkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlLCBUeXBlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcblx0QWdncmVnYXRpb25BdXRvY29tcGxldGVDb21wb25lbnQsXHJcblx0QWdncmVnYXRpb25DaGVja2JveENvbXBvbmVudCxcclxuXHRBZ2dyZWdhdGlvbkN1c3RvbUNvbXBvbmVudCxcclxuXHRBZ2dyZWdhdGlvbkRhdGVMaXN0Q29tcG9uZW50LFxyXG5cdEFnZ3JlZ2F0aW9uUmFkaW9Db21wb25lbnQsXHJcblx0QWdncmVnYXRpb25TZWxlY3RDb21wb25lbnQsXHJcblx0QWdncmVnYXRpb25Td2l0Y2hDb21wb25lbnQsXHJcblx0UHJlZGljYXRlRGF0ZUlucHV0Q29tcG9uZW50LFxyXG5cdFByZWRpY2F0ZVRleHRJbnB1dENvbXBvbmVudFxyXG59IGZyb20gJy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBBR0dSRUdBVElPTl9GSUVMRF9UWVBFUywgQ1VTVE9NX0ZJRUxEX1RZUEVTLCBQUkVESUNBVEVfRklFTERfVFlQRVMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBBZ2dyZWdhdGlvbkZpZWxkVHlwZSwgQ3VzdG9tRmllbGRUeXBlLCBQcmVkaWNhdGVGaWVsZFR5cGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBY3RpdmVVc2VyU3dpdGNoQ29tcG9uZW50IH0gZnJvbSAnLi4vY3VzdG9tLWNvbXBvbmVudHMnO1xyXG5cclxudHlwZSBDb21wb25lbnRUeXBlID0gQWdncmVnYXRpb25GaWVsZFR5cGUgfCBQcmVkaWNhdGVGaWVsZFR5cGUgfCBDdXN0b21GaWVsZFR5cGU7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29tcG9uZW50TG9hZGVyU2VydmljZSB7XHJcblx0cHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50cyA9IG5ldyBNYXA8Q29tcG9uZW50VHlwZSwgVHlwZTxhbnk+PigpO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9mYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG5cdFx0dGhpcy5fcmVnaXN0ZXJDdXN0b21Db21wb25lbnQoKTtcclxuXHRcdHRoaXMuX3JlZ2lzdGVyQWdncmVnYXRpb25zQ29tcG9uZW50cygpO1xyXG5cdFx0dGhpcy5fcmVnaXN0ZXJQcmVkaWNhdGVDb21wb25lbnRzKCk7XHJcblx0fVxyXG5cclxuXHRyZWdpc3RlckNvbXBvbmVudDxUPihrZXk6IENvbXBvbmVudFR5cGUsIGNvbXBvbmVudDogVHlwZTxUPikge1xyXG5cdFx0dGhpcy5fY29tcG9uZW50cy5zZXQoa2V5LCBjb21wb25lbnQpO1xyXG5cdH1cclxuXHJcblx0cmVuZGVyQ29tcG9uZW50KGtleTogQ29tcG9uZW50VHlwZSwgdmNyOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcblx0XHRpZiAoIXRoaXMuX2NvbXBvbmVudHMuaGFzKGtleSkpIHtcclxuXHRcdFx0dGhyb3cgJ3Vua25vd24gY29tcG9uZW50ICc7XHJcblx0XHR9XHJcblx0XHRjb25zdCBjb21wb25lbnQgPSB0aGlzLl9jb21wb25lbnRzLmdldChrZXkpO1xyXG5cdFx0cmV0dXJuIHRoaXMubG9hZENvbXBvbmVudChjb21wb25lbnQsIHZjcik7XHJcblx0fVxyXG5cclxuXHRsb2FkQ29tcG9uZW50PFQ+KGNvbXBvbmVudEFuZ3VsYXJUeXBlOiBUeXBlPFQ+LCB2Y3I6IFZpZXdDb250YWluZXJSZWYpIHtcclxuXHRcdGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuX2ZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnRBbmd1bGFyVHlwZSk7XHJcblx0XHRyZXR1cm4gdmNyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQpO1xyXG5cdH1cclxuXHJcblx0Ly8tLS0tLS1cclxuXHQvLyBDVVNUT01cclxuXHQvLy0tLS0tLVxyXG5cdHByaXZhdGUgX3JlZ2lzdGVyQ3VzdG9tQ29tcG9uZW50KCkge1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChDVVNUT01fRklFTERfVFlQRVMuYWN0aXZlVXNlciwgQWN0aXZlVXNlclN3aXRjaENvbXBvbmVudCk7XHJcblx0fVxyXG5cclxuXHQvLy0tLS0tLVxyXG5cdC8vIEFHR1JFR0FUSU9OXHJcblx0Ly8tLS0tLS1cclxuXHRwcml2YXRlIF9yZWdpc3RlckFnZ3JlZ2F0aW9uc0NvbXBvbmVudHMoKSB7XHJcblx0XHR0aGlzLnJlZ2lzdGVyQ29tcG9uZW50KEFHR1JFR0FUSU9OX0ZJRUxEX1RZUEVTLmF1dG9jb21wbGV0ZSwgQWdncmVnYXRpb25BdXRvY29tcGxldGVDb21wb25lbnQpO1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5kcm9wZG93biwgQWdncmVnYXRpb25TZWxlY3RDb21wb25lbnQpO1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5zd2l0Y2gsIEFnZ3JlZ2F0aW9uU3dpdGNoQ29tcG9uZW50KTtcclxuXHRcdHRoaXMucmVnaXN0ZXJDb21wb25lbnQoQUdHUkVHQVRJT05fRklFTERfVFlQRVMucmFkaW8sIEFnZ3JlZ2F0aW9uUmFkaW9Db21wb25lbnQpO1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5kYXRlTGlzdCwgQWdncmVnYXRpb25EYXRlTGlzdENvbXBvbmVudCk7XHJcblx0XHR0aGlzLnJlZ2lzdGVyQ29tcG9uZW50KEFHR1JFR0FUSU9OX0ZJRUxEX1RZUEVTLmN1c3RvbSwgQWdncmVnYXRpb25DdXN0b21Db21wb25lbnQpO1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChBR0dSRUdBVElPTl9GSUVMRF9UWVBFUy5jaGVja2JveCwgQWdncmVnYXRpb25DaGVja2JveENvbXBvbmVudCk7XHJcblx0fVxyXG5cclxuXHQvLy0tLS0tLVxyXG5cdC8vIFBSRURJQ0FURVxyXG5cdC8vLS0tLS0tXHJcblx0cHJpdmF0ZSBfcmVnaXN0ZXJQcmVkaWNhdGVDb21wb25lbnRzKCkge1xyXG5cdFx0dGhpcy5yZWdpc3RlckNvbXBvbmVudChQUkVESUNBVEVfRklFTERfVFlQRVMuaW5wdXQsIFByZWRpY2F0ZVRleHRJbnB1dENvbXBvbmVudCk7XHJcblx0XHR0aGlzLnJlZ2lzdGVyQ29tcG9uZW50KFBSRURJQ0FURV9GSUVMRF9UWVBFUy5kYXRlLCBQcmVkaWNhdGVEYXRlSW5wdXRDb21wb25lbnQpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { FIELD_SEND_MODE } from '../constants';
|
|
3
|
+
import { isFieldValueObject, NxQlQuery } from '../utility';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FiltersMapperService {
|
|
6
|
+
preparePayload(fields, criteria) {
|
|
7
|
+
return this._preparePayload(fields, criteria);
|
|
8
|
+
}
|
|
9
|
+
_preparePayload(fields, criteria) {
|
|
10
|
+
const params = {};
|
|
11
|
+
const predicateList = [];
|
|
12
|
+
const payload = {};
|
|
13
|
+
for (const field of fields) {
|
|
14
|
+
const fieldValue = criteria[field.config.fieldKey];
|
|
15
|
+
const paramKey = field.type == 'aggregation' ? field.config.aggregation : field.config.fieldKey;
|
|
16
|
+
if (!fieldValue) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
if ((this._sendInPayload(field) || this._sendCustom(field)) && isFieldValueObject(fieldValue)) {
|
|
20
|
+
const _data = NxQlQuery.preparePayloadItem(fieldValue, field);
|
|
21
|
+
predicateList.push(_data);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (this._sendInPayload(field)) {
|
|
25
|
+
payload[paramKey] = this._stringifyValue(fieldValue);
|
|
26
|
+
}
|
|
27
|
+
if (this._sendCustom(field) || this._sendInQueryParams(field)) {
|
|
28
|
+
params[paramKey] = this._stringifyValue(fieldValue);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
params,
|
|
33
|
+
payload: Object.assign(Object.assign({}, payload), { predicateList })
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
_stringifyValue(value) {
|
|
37
|
+
return Array.isArray(value) ? JSON.stringify(value) : value;
|
|
38
|
+
}
|
|
39
|
+
_sendInQueryParams(field) {
|
|
40
|
+
var _a;
|
|
41
|
+
return ((_a = field.config) === null || _a === void 0 ? void 0 : _a.sendMode) === FIELD_SEND_MODE.queryParam;
|
|
42
|
+
}
|
|
43
|
+
_sendInPayload(field) {
|
|
44
|
+
var _a;
|
|
45
|
+
return ((_a = field.config) === null || _a === void 0 ? void 0 : _a.sendMode) === FIELD_SEND_MODE.payload;
|
|
46
|
+
}
|
|
47
|
+
_sendCustom(field) {
|
|
48
|
+
var _a;
|
|
49
|
+
return ((_a = field.config) === null || _a === void 0 ? void 0 : _a.sendMode) === FIELD_SEND_MODE.custom;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
FiltersMapperService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersMapperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
53
|
+
FiltersMapperService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersMapperService, providedIn: 'root' });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FiltersMapperService, decorators: [{
|
|
55
|
+
type: Injectable,
|
|
56
|
+
args: [{
|
|
57
|
+
providedIn: 'root'
|
|
58
|
+
}]
|
|
59
|
+
}] });
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1tYXBwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvc2VydmljZXMvZmlsdGVycy1tYXBwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLG9CQUFvQjtJQUNoQyxjQUFjLENBQUMsTUFBMEIsRUFBRSxRQUE2QjtRQUN2RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxlQUFlLENBQUMsTUFBMEIsRUFBRSxRQUE2QjtRQUNoRixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUVuQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUMzQixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1lBRWhHLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2hCLFNBQVM7YUFDVDtZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDOUYsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDOUQsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUIsU0FBUzthQUNUO1lBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMvQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNyRDtZQUVELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzlELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3BEO1NBQ0Q7UUFFRCxPQUFPO1lBQ04sTUFBTTtZQUNOLE9BQU8sa0NBQ0gsT0FBTyxLQUNWLGFBQWEsR0FDYjtTQUNELENBQUM7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQXdCO1FBQy9DLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUF1Qjs7UUFDakQsT0FBTyxDQUFBLE1BQUEsS0FBSyxDQUFDLE1BQU0sMENBQUUsUUFBUSxNQUFLLGVBQWUsQ0FBQyxVQUFVLENBQUM7SUFDOUQsQ0FBQztJQUVPLGNBQWMsQ0FBQyxLQUF1Qjs7UUFDN0MsT0FBTyxDQUFBLE1BQUEsS0FBSyxDQUFDLE1BQU0sMENBQUUsUUFBUSxNQUFLLGVBQWUsQ0FBQyxPQUFPLENBQUM7SUFDM0QsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUF1Qjs7UUFDMUMsT0FBTyxDQUFBLE1BQUEsS0FBSyxDQUFDLE1BQU0sMENBQUUsUUFBUSxNQUFLLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDMUQsQ0FBQzs7a0hBeERXLG9CQUFvQjtzSEFBcEIsb0JBQW9CLGNBRnBCLE1BQU07NEZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRklFTERfU0VORF9NT0RFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWdNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IGlzRmllbGRWYWx1ZU9iamVjdCwgTnhRbFF1ZXJ5IH0gZnJvbSAnLi4vdXRpbGl0eSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlcnNNYXBwZXJTZXJ2aWNlIHtcclxuXHRwcmVwYXJlUGF5bG9hZChmaWVsZHM6IEZpZWxkQ29uZmlnTW9kZWxbXSwgY3JpdGVyaWE6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcclxuXHRcdHJldHVybiB0aGlzLl9wcmVwYXJlUGF5bG9hZChmaWVsZHMsIGNyaXRlcmlhKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3ByZXBhcmVQYXlsb2FkKGZpZWxkczogRmllbGRDb25maWdNb2RlbFtdLCBjcml0ZXJpYTogUmVjb3JkPHN0cmluZywgYW55Pikge1xyXG5cdFx0Y29uc3QgcGFyYW1zID0ge307XHJcblx0XHRjb25zdCBwcmVkaWNhdGVMaXN0ID0gW107XHJcblx0XHRjb25zdCBwYXlsb2FkID0ge307XHJcblxyXG5cdFx0Zm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcclxuXHRcdFx0Y29uc3QgZmllbGRWYWx1ZSA9IGNyaXRlcmlhW2ZpZWxkLmNvbmZpZy5maWVsZEtleV07XHJcblx0XHRcdGNvbnN0IHBhcmFtS2V5ID0gZmllbGQudHlwZSA9PSAnYWdncmVnYXRpb24nID8gZmllbGQuY29uZmlnLmFnZ3JlZ2F0aW9uIDogZmllbGQuY29uZmlnLmZpZWxkS2V5O1xyXG5cclxuXHRcdFx0aWYgKCFmaWVsZFZhbHVlKSB7XHJcblx0XHRcdFx0Y29udGludWU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlmICgodGhpcy5fc2VuZEluUGF5bG9hZChmaWVsZCkgfHwgdGhpcy5fc2VuZEN1c3RvbShmaWVsZCkpICYmIGlzRmllbGRWYWx1ZU9iamVjdChmaWVsZFZhbHVlKSkge1xyXG5cdFx0XHRcdGNvbnN0IF9kYXRhID0gTnhRbFF1ZXJ5LnByZXBhcmVQYXlsb2FkSXRlbShmaWVsZFZhbHVlLCBmaWVsZCk7XHJcblx0XHRcdFx0cHJlZGljYXRlTGlzdC5wdXNoKF9kYXRhKTtcclxuXHRcdFx0XHRjb250aW51ZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMuX3NlbmRJblBheWxvYWQoZmllbGQpKSB7XHJcblx0XHRcdFx0cGF5bG9hZFtwYXJhbUtleV0gPSB0aGlzLl9zdHJpbmdpZnlWYWx1ZShmaWVsZFZhbHVlKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMuX3NlbmRDdXN0b20oZmllbGQpIHx8IHRoaXMuX3NlbmRJblF1ZXJ5UGFyYW1zKGZpZWxkKSkge1xyXG5cdFx0XHRcdHBhcmFtc1twYXJhbUtleV0gPSB0aGlzLl9zdHJpbmdpZnlWYWx1ZShmaWVsZFZhbHVlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB7XHJcblx0XHRcdHBhcmFtcyxcclxuXHRcdFx0cGF5bG9hZDoge1xyXG5cdFx0XHRcdC4uLnBheWxvYWQsXHJcblx0XHRcdFx0cHJlZGljYXRlTGlzdFxyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfc3RyaW5naWZ5VmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcblx0XHRyZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgOiB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgX3NlbmRJblF1ZXJ5UGFyYW1zKGZpZWxkOiBGaWVsZENvbmZpZ01vZGVsKSB7XHJcblx0XHRyZXR1cm4gZmllbGQuY29uZmlnPy5zZW5kTW9kZSA9PT0gRklFTERfU0VORF9NT0RFLnF1ZXJ5UGFyYW07XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zZW5kSW5QYXlsb2FkKGZpZWxkOiBGaWVsZENvbmZpZ01vZGVsKSB7XHJcblx0XHRyZXR1cm4gZmllbGQuY29uZmlnPy5zZW5kTW9kZSA9PT0gRklFTERfU0VORF9NT0RFLnBheWxvYWQ7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIF9zZW5kQ3VzdG9tKGZpZWxkOiBGaWVsZENvbmZpZ01vZGVsKSB7XHJcblx0XHRyZXR1cm4gZmllbGQuY29uZmlnPy5zZW5kTW9kZSA9PT0gRklFTERfU0VORF9NT0RFLmN1c3RvbTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { VALUE_OBJECT } from '../constants';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class FilterQueryService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.keyToShortMap = new Map();
|
|
7
|
+
this.shortToKeyMap = new Map();
|
|
8
|
+
this.defaultShortKeys = {
|
|
9
|
+
value: 'v',
|
|
10
|
+
operator: 'o',
|
|
11
|
+
min: 'n',
|
|
12
|
+
max: 'x',
|
|
13
|
+
prefix: 'p'
|
|
14
|
+
};
|
|
15
|
+
this.initializeDefaultKeys();
|
|
16
|
+
}
|
|
17
|
+
registerKeys(keys) {
|
|
18
|
+
Object.entries(keys).forEach(([key, value]) => this.registerKey(key, value));
|
|
19
|
+
}
|
|
20
|
+
registerKey(longKey, shortKey) {
|
|
21
|
+
this.keyToShortMap.set(longKey, shortKey);
|
|
22
|
+
this.shortToKeyMap.set(shortKey, longKey);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Encodes a query object into a URL-safe string by transforming its keys
|
|
26
|
+
* and converting it to a JSON string.
|
|
27
|
+
*
|
|
28
|
+
* @param {Record<string, any>} query - The query object to encode.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // Example query object
|
|
32
|
+
* const query = {
|
|
33
|
+
* // Predicate field (payload sent)
|
|
34
|
+
* 'locRef:boxCode': {
|
|
35
|
+
* value: '1',
|
|
36
|
+
* operator: 'LIKE',
|
|
37
|
+
* },
|
|
38
|
+
*
|
|
39
|
+
* // Aggregation field (query parameter)
|
|
40
|
+
* 'locRef:boxCode': [1]
|
|
41
|
+
* };
|
|
42
|
+
*
|
|
43
|
+
* const encodedQuery = encodeQuery(query);
|
|
44
|
+
* console.log(encodedQuery); // Encoded string representation
|
|
45
|
+
*
|
|
46
|
+
* @returns {string} - The URL-encoded JSON string representation of the query object.
|
|
47
|
+
*/
|
|
48
|
+
encodeQuery(query) {
|
|
49
|
+
const transformed = this.transformObject(query, this.keyToShortMap, false);
|
|
50
|
+
return encodeURIComponent(JSON.stringify(transformed));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Decodes a URL-encoded query string back into its original object form.
|
|
54
|
+
*
|
|
55
|
+
* @param {string} encodedQuery - The URL-encoded JSON string representation of a query.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* const encodedQuery = "%7B%22locRef%3AboxCode%22%3A%7B%22value%22%3A%221%22%2C%22operator%22%3A%22LIKE%22%7D%7D";
|
|
59
|
+
* const decodedQuery = decodeQuery(encodedQuery);
|
|
60
|
+
* console.log(decodedQuery);
|
|
61
|
+
* Output:
|
|
62
|
+
* {
|
|
63
|
+
* 'locRef:boxCode': {
|
|
64
|
+
* value: '1',
|
|
65
|
+
* operator: 'LIKE'
|
|
66
|
+
* }
|
|
67
|
+
* }
|
|
68
|
+
*
|
|
69
|
+
* @returns {Record<string, any> | null} - The decoded query object, or `null` if decoding fails.
|
|
70
|
+
*/
|
|
71
|
+
decodeQuery(encodedQuery) {
|
|
72
|
+
try {
|
|
73
|
+
const parsedQuery = JSON.parse(decodeURIComponent(encodedQuery));
|
|
74
|
+
return this.transformObject(parsedQuery, this.shortToKeyMap, true);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.error('Failed to decode query:', error);
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
initializeDefaultKeys() {
|
|
82
|
+
Object.entries(this.defaultShortKeys).forEach(([longKey, shortKey]) => {
|
|
83
|
+
this.registerKey(longKey, shortKey);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
transformObject(entry, keyMap, isDecode) {
|
|
87
|
+
if (Array.isArray(entry)) {
|
|
88
|
+
return entry.map((item) => this.transformObject(item, keyMap, isDecode));
|
|
89
|
+
}
|
|
90
|
+
if (entry && typeof entry === 'object') {
|
|
91
|
+
if (!isDecode) {
|
|
92
|
+
delete entry[VALUE_OBJECT];
|
|
93
|
+
}
|
|
94
|
+
return Object.keys(entry).reduce((acc, key) => {
|
|
95
|
+
const newKey = keyMap.get(key);
|
|
96
|
+
if (!newKey) {
|
|
97
|
+
throw new Error(`Query key mapping not found for: ${key}`);
|
|
98
|
+
}
|
|
99
|
+
if (isDecode && newKey === 'operator') {
|
|
100
|
+
acc[VALUE_OBJECT] = `${VALUE_OBJECT}`;
|
|
101
|
+
}
|
|
102
|
+
acc[newKey] = this.transformObject(entry[key], keyMap, isDecode);
|
|
103
|
+
return acc;
|
|
104
|
+
}, {});
|
|
105
|
+
}
|
|
106
|
+
return entry;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
FilterQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
110
|
+
FilterQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, providedIn: 'root' });
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: FilterQueryService, decorators: [{
|
|
112
|
+
type: Injectable,
|
|
113
|
+
args: [{
|
|
114
|
+
providedIn: 'root'
|
|
115
|
+
}]
|
|
116
|
+
}], ctorParameters: function () { return []; } });
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1xdWVyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy9zZXJ2aWNlcy9maWx0ZXJzLXF1ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUs1QyxNQUFNLE9BQU8sa0JBQWtCO0lBWTlCO1FBWGlCLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUUxQyxxQkFBZ0IsR0FBMkI7WUFDM0QsS0FBSyxFQUFFLEdBQUc7WUFDVixRQUFRLEVBQUUsR0FBRztZQUNiLEdBQUcsRUFBRSxHQUFHO1lBQ1IsR0FBRyxFQUFFLEdBQUc7WUFDUixNQUFNLEVBQUUsR0FBRztTQUNYLENBQUM7UUFHRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQTRCO1FBQ3hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFlLEVBQUUsUUFBZ0I7UUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BdUJHO0lBQ0gsV0FBVyxDQUFDLEtBQTBCO1FBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FrQkc7SUFFSCxXQUFXLENBQUMsWUFBb0I7UUFDL0IsSUFBSTtZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNqRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbkU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUM7U0FDWjtJQUNGLENBQUM7SUFFTyxxQkFBcUI7UUFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3JFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFVLEVBQUUsTUFBMkIsRUFBRSxRQUFpQjtRQUNqRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUN6RTtRQUVELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNkLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FDL0IsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDWixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2lCQUMzRDtnQkFDRCxJQUFJLFFBQVEsSUFBSSxNQUFNLEtBQUssVUFBVSxFQUFFO29CQUN0QyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxZQUFZLEVBQUUsQ0FBQztpQkFDdEM7Z0JBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDakUsT0FBTyxHQUFHLENBQUM7WUFDWixDQUFDLEVBQ0QsRUFBeUIsQ0FDekIsQ0FBQztTQUNGO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDOztnSEFwSFcsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGbEIsTUFBTTs0RkFFTixrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWQUxVRV9PQkpFQ1QgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyUXVlcnlTZXJ2aWNlIHtcclxuXHRwcml2YXRlIHJlYWRvbmx5IGtleVRvU2hvcnRNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG5cdHByaXZhdGUgcmVhZG9ubHkgc2hvcnRUb0tleU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XHJcblxyXG5cdHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFNob3J0S2V5czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcclxuXHRcdHZhbHVlOiAndicsXHJcblx0XHRvcGVyYXRvcjogJ28nLFxyXG5cdFx0bWluOiAnbicsXHJcblx0XHRtYXg6ICd4JyxcclxuXHRcdHByZWZpeDogJ3AnXHJcblx0fTtcclxuXHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLmluaXRpYWxpemVEZWZhdWx0S2V5cygpO1xyXG5cdH1cclxuXHJcblx0cmVnaXN0ZXJLZXlzKGtleXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcclxuXHRcdE9iamVjdC5lbnRyaWVzKGtleXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4gdGhpcy5yZWdpc3RlcktleShrZXksIHZhbHVlKSk7XHJcblx0fVxyXG5cclxuXHRyZWdpc3RlcktleShsb25nS2V5OiBzdHJpbmcsIHNob3J0S2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuXHRcdHRoaXMua2V5VG9TaG9ydE1hcC5zZXQobG9uZ0tleSwgc2hvcnRLZXkpO1xyXG5cdFx0dGhpcy5zaG9ydFRvS2V5TWFwLnNldChzaG9ydEtleSwgbG9uZ0tleSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBFbmNvZGVzIGEgcXVlcnkgb2JqZWN0IGludG8gYSBVUkwtc2FmZSBzdHJpbmcgYnkgdHJhbnNmb3JtaW5nIGl0cyBrZXlzXHJcblx0ICogYW5kIGNvbnZlcnRpbmcgaXQgdG8gYSBKU09OIHN0cmluZy5cclxuXHQgKlxyXG5cdCAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gcXVlcnkgLSBUaGUgcXVlcnkgb2JqZWN0IHRvIGVuY29kZS5cclxuXHQgKlxyXG5cdCAqIEBleGFtcGxlXHJcblx0ICogLy8gRXhhbXBsZSBxdWVyeSBvYmplY3RcclxuXHQgKiBjb25zdCBxdWVyeSA9IHtcclxuXHQgKiAgIC8vIFByZWRpY2F0ZSBmaWVsZCAocGF5bG9hZCBzZW50KVxyXG5cdCAqICAgJ2xvY1JlZjpib3hDb2RlJzoge1xyXG5cdCAqICAgICB2YWx1ZTogJzEnLFxyXG5cdCAqICAgICBvcGVyYXRvcjogJ0xJS0UnLFxyXG5cdCAqICAgfSxcclxuXHQgKlxyXG5cdCAqICAgLy8gQWdncmVnYXRpb24gZmllbGQgKHF1ZXJ5IHBhcmFtZXRlcilcclxuXHQgKiAgICdsb2NSZWY6Ym94Q29kZSc6IFsxXVxyXG5cdCAqIH07XHJcblx0ICpcclxuXHQgKiBjb25zdCBlbmNvZGVkUXVlcnkgPSBlbmNvZGVRdWVyeShxdWVyeSk7XHJcblx0ICogY29uc29sZS5sb2coZW5jb2RlZFF1ZXJ5KTsgLy8gRW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50YXRpb25cclxuXHQgKlxyXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIFVSTC1lbmNvZGVkIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBxdWVyeSBvYmplY3QuXHJcblx0ICovXHJcblx0ZW5jb2RlUXVlcnkocXVlcnk6IFJlY29yZDxzdHJpbmcsIGFueT4pOiBzdHJpbmcge1xyXG5cdFx0Y29uc3QgdHJhbnNmb3JtZWQgPSB0aGlzLnRyYW5zZm9ybU9iamVjdChxdWVyeSwgdGhpcy5rZXlUb1Nob3J0TWFwLCBmYWxzZSk7XHJcblx0XHRyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHRyYW5zZm9ybWVkKSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBEZWNvZGVzIGEgVVJMLWVuY29kZWQgcXVlcnkgc3RyaW5nIGJhY2sgaW50byBpdHMgb3JpZ2luYWwgb2JqZWN0IGZvcm0uXHJcblx0ICpcclxuXHQgKiBAcGFyYW0ge3N0cmluZ30gZW5jb2RlZFF1ZXJ5IC0gVGhlIFVSTC1lbmNvZGVkIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgcXVlcnkuXHJcblx0ICpcclxuXHQgKiBAZXhhbXBsZVxyXG5cdCAqIGNvbnN0IGVuY29kZWRRdWVyeSA9IFwiJTdCJTIybG9jUmVmJTNBYm94Q29kZSUyMiUzQSU3QiUyMnZhbHVlJTIyJTNBJTIyMSUyMiUyQyUyMm9wZXJhdG9yJTIyJTNBJTIyTElLRSUyMiU3RCU3RFwiO1xyXG5cdCAqIGNvbnN0IGRlY29kZWRRdWVyeSA9IGRlY29kZVF1ZXJ5KGVuY29kZWRRdWVyeSk7XHJcblx0ICogY29uc29sZS5sb2coZGVjb2RlZFF1ZXJ5KTtcclxuXHQgKiBPdXRwdXQ6XHJcblx0ICoge1xyXG5cdCAqICAgJ2xvY1JlZjpib3hDb2RlJzoge1xyXG5cdCAqICAgICB2YWx1ZTogJzEnLFxyXG5cdCAqICAgICBvcGVyYXRvcjogJ0xJS0UnXHJcblx0ICogICB9XHJcblx0ICogfVxyXG5cdCAqXHJcblx0ICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsfSAtIFRoZSBkZWNvZGVkIHF1ZXJ5IG9iamVjdCwgb3IgYG51bGxgIGlmIGRlY29kaW5nIGZhaWxzLlxyXG5cdCAqL1xyXG5cclxuXHRkZWNvZGVRdWVyeShlbmNvZGVkUXVlcnk6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsIHtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGNvbnN0IHBhcnNlZFF1ZXJ5ID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoZW5jb2RlZFF1ZXJ5KSk7XHJcblx0XHRcdHJldHVybiB0aGlzLnRyYW5zZm9ybU9iamVjdChwYXJzZWRRdWVyeSwgdGhpcy5zaG9ydFRvS2V5TWFwLCB0cnVlKTtcclxuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBkZWNvZGUgcXVlcnk6JywgZXJyb3IpO1xyXG5cdFx0XHRyZXR1cm4gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdGlhbGl6ZURlZmF1bHRLZXlzKCk6IHZvaWQge1xyXG5cdFx0T2JqZWN0LmVudHJpZXModGhpcy5kZWZhdWx0U2hvcnRLZXlzKS5mb3JFYWNoKChbbG9uZ0tleSwgc2hvcnRLZXldKSA9PiB7XHJcblx0XHRcdHRoaXMucmVnaXN0ZXJLZXkobG9uZ0tleSwgc2hvcnRLZXkpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHRyYW5zZm9ybU9iamVjdChlbnRyeTogYW55LCBrZXlNYXA6IE1hcDxzdHJpbmcsIHN0cmluZz4sIGlzRGVjb2RlOiBib29sZWFuKTogYW55IHtcclxuXHRcdGlmIChBcnJheS5pc0FycmF5KGVudHJ5KSkge1xyXG5cdFx0XHRyZXR1cm4gZW50cnkubWFwKChpdGVtKSA9PiB0aGlzLnRyYW5zZm9ybU9iamVjdChpdGVtLCBrZXlNYXAsIGlzRGVjb2RlKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0aWYgKGVudHJ5ICYmIHR5cGVvZiBlbnRyeSA9PT0gJ29iamVjdCcpIHtcclxuXHRcdFx0aWYgKCFpc0RlY29kZSkge1xyXG5cdFx0XHRcdGRlbGV0ZSBlbnRyeVtWQUxVRV9PQkpFQ1RdO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJldHVybiBPYmplY3Qua2V5cyhlbnRyeSkucmVkdWNlKFxyXG5cdFx0XHRcdChhY2MsIGtleSkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgbmV3S2V5ID0ga2V5TWFwLmdldChrZXkpO1xyXG5cdFx0XHRcdFx0aWYgKCFuZXdLZXkpIHtcclxuXHRcdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBRdWVyeSBrZXkgbWFwcGluZyBub3QgZm91bmQgZm9yOiAke2tleX1gKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChpc0RlY29kZSAmJiBuZXdLZXkgPT09ICdvcGVyYXRvcicpIHtcclxuXHRcdFx0XHRcdFx0YWNjW1ZBTFVFX09CSkVDVF0gPSBgJHtWQUxVRV9PQkpFQ1R9YDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGFjY1tuZXdLZXldID0gdGhpcy50cmFuc2Zvcm1PYmplY3QoZW50cnlba2V5XSwga2V5TWFwLCBpc0RlY29kZSk7XHJcblx0XHRcdFx0XHRyZXR1cm4gYWNjO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0e30gYXMgUmVjb3JkPHN0cmluZywgYW55PlxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiBlbnRyeTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './aggregation-field.service';
|
|
2
|
+
export * from './dynamic-component-loader.service';
|
|
3
|
+
export * from './filters-query.service';
|
|
4
|
+
export * from './filters-mapper.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1maWx0ZXJzL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FnZ3JlZ2F0aW9uLWZpZWxkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50LWxvYWRlci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXJzLXF1ZXJ5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlcnMtbWFwcGVyLnNlcnZpY2UnXHJcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './nxql';
|
|
2
|
+
export * from './object';
|
|
3
|
+
export * from './nxql-query';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi1maWx0ZXJzL3V0aWxpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL254cWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL29iamVjdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbnhxbC1xdWVyeSdcclxuIl19
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { COMPARISON_OPERATOR } from "../constants";
|
|
2
|
+
import { NxQL } from './nxql';
|
|
3
|
+
export class NxQlQuery extends NxQL {
|
|
4
|
+
static preparePayloadItem(value, field) {
|
|
5
|
+
var _a;
|
|
6
|
+
const _defaultOperator = field.type == 'aggregation' ? COMPARISON_OPERATOR.in : COMPARISON_OPERATOR.like;
|
|
7
|
+
const _fieldName = field.config.fieldKey;
|
|
8
|
+
const _operator = (value === null || value === void 0 ? void 0 : value.operator) || ((_a = field.config) === null || _a === void 0 ? void 0 : _a.operator) || _defaultOperator;
|
|
9
|
+
return {
|
|
10
|
+
name: _fieldName,
|
|
11
|
+
operator: _operator,
|
|
12
|
+
value: NxQlQuery.prepareValueByOperator(_operator, value)
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
static prepareValueByOperator(operator, fieldValue) {
|
|
16
|
+
const _opr = COMPARISON_OPERATOR;
|
|
17
|
+
const { value, prefix } = fieldValue;
|
|
18
|
+
if (operator === _opr.between) {
|
|
19
|
+
return NxQlQuery._getMinMaxRange(fieldValue, prefix);
|
|
20
|
+
}
|
|
21
|
+
const operatorHandlers = {
|
|
22
|
+
[_opr.equals]: NxQlQuery.equals,
|
|
23
|
+
[_opr.notEquals]: NxQlQuery.equals,
|
|
24
|
+
[_opr.lessThan]: NxQlQuery.equals,
|
|
25
|
+
[_opr.greaterThan]: NxQlQuery.equals,
|
|
26
|
+
[_opr.in]: NxQlQuery.in,
|
|
27
|
+
[_opr.notIn]: NxQlQuery.in,
|
|
28
|
+
[_opr.lessThanOrEqual]: NxQlQuery.equals,
|
|
29
|
+
[_opr.greaterThanOrEqual]: NxQlQuery.equals,
|
|
30
|
+
[_opr.like]: NxQlQuery.like,
|
|
31
|
+
[_opr.iLike]: NxQlQuery.like,
|
|
32
|
+
[_opr.notLike]: NxQlQuery.like,
|
|
33
|
+
[_opr.notILike]: NxQlQuery.like,
|
|
34
|
+
[_opr.startsWith]: NxQlQuery.equals,
|
|
35
|
+
[_opr.fullText]: NxQlQuery.equals
|
|
36
|
+
};
|
|
37
|
+
const _val = Array.isArray(value) ? value.join(',') : value;
|
|
38
|
+
return operatorHandlers[operator](_val, prefix);
|
|
39
|
+
}
|
|
40
|
+
static equals(value, prefix = '') {
|
|
41
|
+
return `${prefix ? `${prefix} ` : ''}'${value.trim()}'`;
|
|
42
|
+
}
|
|
43
|
+
static like(value, prefix = '') {
|
|
44
|
+
return `${prefix ? `${prefix} ` : ''}'%${value.trim()}%'`;
|
|
45
|
+
}
|
|
46
|
+
static in(value, prefix = '') {
|
|
47
|
+
return `${prefix ? `${prefix} ` : ''}(${value.trim()})`;
|
|
48
|
+
}
|
|
49
|
+
static between(value1, value2) {
|
|
50
|
+
return `${value1} AND ${value2}`;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhxbC1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvdXRpbGl0eS9ueHFsLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUduRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSTlCLE1BQU0sT0FBTyxTQUFVLFNBQVEsSUFBSTtJQUNsQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBdUIsRUFBRSxLQUF1Qjs7UUFDekUsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7UUFDekcsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFFekMsTUFBTSxTQUFTLEdBQUcsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxNQUFJLE1BQUEsS0FBSyxDQUFDLE1BQU0sMENBQUUsUUFBUSxDQUFBLElBQUksZ0JBQWdCLENBQUM7UUFFaEYsT0FBTztZQUNOLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLEtBQUssRUFBRSxTQUFTLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztTQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxRQUE0QixFQUFFLFVBQTRCO1FBQ3ZGLE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDO1FBRS9CLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBRXZDLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDOUIsT0FBTyxTQUFTLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNyRDtRQUVELE1BQU0sZ0JBQWdCLEdBQUc7WUFDeEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDL0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDbEMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDakMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDcEMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDdkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDMUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsU0FBUyxDQUFDLE1BQU07WUFDeEMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTTtZQUMzQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSTtZQUMzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSTtZQUM1QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSTtZQUM5QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSTtZQUMvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTTtZQUNuQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTTtTQUNqQyxDQUFDO1FBQ0EsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzlELE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWEsRUFBRSxTQUFpQixFQUFFO1FBQy9DLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRTtRQUM3QyxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDM0QsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBYSxFQUFFLFNBQWlCLEVBQUU7UUFDM0MsT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQzVDLE9BQU8sR0FBRyxNQUFNLFFBQVEsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NUEFSSVNPTl9PUEVSQVRPUiB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgQ29tcGFyaXNvbk9wZXJhdG9yLCBGaWVsZENvbmZpZ01vZGVsLCBGaWVsZFZhbHVlT2JqZWN0IH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBPcGVyYXRvclZhbHVlT2JqZWN0IH0gZnJvbSAnLi4vbW9kZWxzL29wZXJhdG9yLXZhbHVlLW9iamVjdCc7XHJcbmltcG9ydCB7IE54UUwgfSBmcm9tICcuL254cWwnO1xyXG5cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTnhRbFF1ZXJ5IGV4dGVuZHMgTnhRTCB7XHJcblx0c3RhdGljIHByZXBhcmVQYXlsb2FkSXRlbSh2YWx1ZTogRmllbGRWYWx1ZU9iamVjdCwgZmllbGQ6IEZpZWxkQ29uZmlnTW9kZWwpOiBPcGVyYXRvclZhbHVlT2JqZWN0IHtcclxuXHRcdGNvbnN0IF9kZWZhdWx0T3BlcmF0b3IgPSBmaWVsZC50eXBlID09ICdhZ2dyZWdhdGlvbicgPyBDT01QQVJJU09OX09QRVJBVE9SLmluIDogQ09NUEFSSVNPTl9PUEVSQVRPUi5saWtlO1xyXG5cdFx0Y29uc3QgX2ZpZWxkTmFtZSA9IGZpZWxkLmNvbmZpZy5maWVsZEtleTtcclxuXHJcblx0XHRjb25zdCBfb3BlcmF0b3IgPSB2YWx1ZT8ub3BlcmF0b3IgfHwgZmllbGQuY29uZmlnPy5vcGVyYXRvciB8fCBfZGVmYXVsdE9wZXJhdG9yO1xyXG5cclxuXHRcdHJldHVybiB7XHJcblx0XHRcdG5hbWU6IF9maWVsZE5hbWUsXHJcblx0XHRcdG9wZXJhdG9yOiBfb3BlcmF0b3IsXHJcblx0XHRcdHZhbHVlOiBOeFFsUXVlcnkucHJlcGFyZVZhbHVlQnlPcGVyYXRvcihfb3BlcmF0b3IsIHZhbHVlKVxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBwcmVwYXJlVmFsdWVCeU9wZXJhdG9yKG9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IsIGZpZWxkVmFsdWU6IEZpZWxkVmFsdWVPYmplY3QpOiBzdHJpbmcge1xyXG5cdFx0Y29uc3QgX29wciA9IENPTVBBUklTT05fT1BFUkFUT1I7XHJcblxyXG4gICAgY29uc3QgeyB2YWx1ZSwgcHJlZml4IH0gPSBmaWVsZFZhbHVlO1xyXG5cclxuXHRcdGlmIChvcGVyYXRvciA9PT0gX29wci5iZXR3ZWVuKSB7XHJcblx0XHRcdHJldHVybiBOeFFsUXVlcnkuX2dldE1pbk1heFJhbmdlKGZpZWxkVmFsdWUsIHByZWZpeCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3Qgb3BlcmF0b3JIYW5kbGVycyA9IHtcclxuXHRcdFx0W19vcHIuZXF1YWxzXTogTnhRbFF1ZXJ5LmVxdWFscyxcclxuXHRcdFx0W19vcHIubm90RXF1YWxzXTogTnhRbFF1ZXJ5LmVxdWFscyxcclxuXHRcdFx0W19vcHIubGVzc1RoYW5dOiBOeFFsUXVlcnkuZXF1YWxzLFxyXG5cdFx0XHRbX29wci5ncmVhdGVyVGhhbl06IE54UWxRdWVyeS5lcXVhbHMsXHJcblx0XHRcdFtfb3ByLmluXTogTnhRbFF1ZXJ5LmluLFxyXG5cdFx0XHRbX29wci5ub3RJbl06IE54UWxRdWVyeS5pbixcclxuXHRcdFx0W19vcHIubGVzc1RoYW5PckVxdWFsXTogTnhRbFF1ZXJ5LmVxdWFscyxcclxuXHRcdFx0W19vcHIuZ3JlYXRlclRoYW5PckVxdWFsXTogTnhRbFF1ZXJ5LmVxdWFscyxcclxuXHRcdFx0W19vcHIubGlrZV06IE54UWxRdWVyeS5saWtlLFxyXG5cdFx0XHRbX29wci5pTGlrZV06IE54UWxRdWVyeS5saWtlLFxyXG5cdFx0XHRbX29wci5ub3RMaWtlXTogTnhRbFF1ZXJ5Lmxpa2UsXHJcblx0XHRcdFtfb3ByLm5vdElMaWtlXTogTnhRbFF1ZXJ5Lmxpa2UsXHJcblx0XHRcdFtfb3ByLnN0YXJ0c1dpdGhdOiBOeFFsUXVlcnkuZXF1YWxzLFxyXG5cdFx0XHRbX29wci5mdWxsVGV4dF06IE54UWxRdWVyeS5lcXVhbHNcclxuXHRcdH07XHJcbiAgICBjb25zdCBfdmFsID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5qb2luKCcsJykgOiB2YWx1ZTtcclxuXHRcdHJldHVybiBvcGVyYXRvckhhbmRsZXJzW29wZXJhdG9yXShfdmFsLCBwcmVmaXgpO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGVxdWFscyh2YWx1ZTogc3RyaW5nLCBwcmVmaXg6IHN0cmluZyA9ICcnKSB7XHJcblx0XHRyZXR1cm4gYCR7cHJlZml4ID8gYCR7cHJlZml4fSBgIDogJyd9JyR7dmFsdWUudHJpbSgpfSdgO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGxpa2UodmFsdWU6IHN0cmluZywgcHJlZml4OiBzdHJpbmcgPSAnJykge1xyXG5cdFx0cmV0dXJuIGAke3ByZWZpeCA/IGAke3ByZWZpeH0gYCA6ICcnfSclJHt2YWx1ZS50cmltKCl9JSdgO1xyXG5cdH1cclxuXHJcblx0c3RhdGljIGluKHZhbHVlOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nID0gJycpIHtcclxuXHRcdHJldHVybiBgJHtwcmVmaXggPyBgJHtwcmVmaXh9IGAgOiAnJ30oJHt2YWx1ZS50cmltKCl9KWA7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgYmV0d2Vlbih2YWx1ZTE6IHN0cmluZywgdmFsdWUyOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiBgJHt2YWx1ZTF9IEFORCAke3ZhbHVlMn1gO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { COMPARISON_OPERATOR } from '../constants';
|
|
2
|
+
import { FieldValueObject } from '../models';
|
|
3
|
+
export class NxQL {
|
|
4
|
+
static _getDateRange(value) {
|
|
5
|
+
return NxQL._getMinMaxRange(value, 'DATE');
|
|
6
|
+
}
|
|
7
|
+
static _getMinMaxRange(value, prefix = '') {
|
|
8
|
+
const { min, max } = value;
|
|
9
|
+
if (min && max) {
|
|
10
|
+
return `${prefix} '${min}' AND ${prefix} '${max}'`;
|
|
11
|
+
}
|
|
12
|
+
if (max) {
|
|
13
|
+
return `${prefix} '${max}'`;
|
|
14
|
+
}
|
|
15
|
+
if (min) {
|
|
16
|
+
return `${prefix} '${min}'`;
|
|
17
|
+
}
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
static _getRangeOperator(value) {
|
|
21
|
+
const { min, max } = value;
|
|
22
|
+
if (min && max) {
|
|
23
|
+
return COMPARISON_OPERATOR.between;
|
|
24
|
+
}
|
|
25
|
+
if (max) {
|
|
26
|
+
return COMPARISON_OPERATOR.lessThan;
|
|
27
|
+
}
|
|
28
|
+
if (min) {
|
|
29
|
+
return COMPARISON_OPERATOR.greaterThan;
|
|
30
|
+
}
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
static _getValueRange(value, prefix = '', operator) {
|
|
34
|
+
const { min, max } = value;
|
|
35
|
+
const baseObject = { value: '', prefix, operator };
|
|
36
|
+
if (min && max) {
|
|
37
|
+
return new FieldValueObject(Object.assign(Object.assign({}, baseObject), { value: `${prefix} '${min}' AND ${prefix} '${max}'`, min: `${min}`, max: `${max}` }));
|
|
38
|
+
}
|
|
39
|
+
if (max) {
|
|
40
|
+
return new FieldValueObject(Object.assign(Object.assign({}, baseObject), { value: `${max}`, max: `${max}` }));
|
|
41
|
+
}
|
|
42
|
+
if (min) {
|
|
43
|
+
return new FieldValueObject(Object.assign(Object.assign({}, baseObject), { value: `${min}`, min: `${min}` }));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnhxbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvbmRmLWZpbHRlcnMvdXRpbGl0eS9ueHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBZ0IsTUFBTSxjQUFjLENBQUM7QUFDakUsT0FBTyxFQUFzQixnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRSxNQUFNLE9BQU8sSUFBSTtJQUNoQixNQUFNLENBQUMsYUFBYSxDQUFDLEtBQXFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBcUMsRUFBRSxTQUFpQixFQUFFO1FBQ2hGLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRTNCLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNmLE9BQU8sR0FBRyxNQUFNLEtBQUssR0FBRyxTQUFTLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUNuRDtRQUVELElBQUksR0FBRyxFQUFFO1lBQ1IsT0FBTyxHQUFHLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUM1QjtRQUVELElBQUksR0FBRyxFQUFFO1lBQ1IsT0FBTyxHQUFHLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztTQUM1QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1gsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFxQztRQUM3RCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUUzQixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDZixPQUFPLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztTQUNuQztRQUNELElBQUksR0FBRyxFQUFFO1lBQ1IsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7U0FDcEM7UUFDRCxJQUFJLEdBQUcsRUFBRTtZQUNSLE9BQU8sbUJBQW1CLENBQUMsV0FBVyxDQUFDO1NBQ3ZDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FDcEIsS0FBcUMsRUFDckMsU0FBaUIsRUFBRSxFQUNuQixRQUE2QjtRQUU3QixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUMzQixNQUFNLFVBQVUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ25ELElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRTtZQUNmLE9BQU8sSUFBSSxnQkFBZ0IsaUNBQ3ZCLFVBQVUsS0FDYixLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssR0FBRyxTQUFTLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFDbEQsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQ2IsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQ1osQ0FBQztTQUNIO1FBRUQsSUFBSSxHQUFHLEVBQUU7WUFDUixPQUFPLElBQUksZ0JBQWdCLGlDQUFNLFVBQVUsS0FBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsSUFBRyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxHQUFHLEVBQUU7WUFDUixPQUFPLElBQUksZ0JBQWdCLGlDQUFNLFVBQVUsS0FBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsSUFBRyxDQUFDO1NBQy9FO0lBQ0YsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NUEFSSVNPTl9PUEVSQVRPUiwgVkFMVUVfT0JKRUNUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQ29tcGFyaXNvbk9wZXJhdG9yLCBGaWVsZFZhbHVlT2JqZWN0IH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBOeFFMIHtcclxuXHRzdGF0aWMgX2dldERhdGVSYW5nZSh2YWx1ZTogeyBtaW4/OiBzdHJpbmc7IG1heD86IHN0cmluZyB9KTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBOeFFMLl9nZXRNaW5NYXhSYW5nZSh2YWx1ZSwgJ0RBVEUnKTtcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBfZ2V0TWluTWF4UmFuZ2UodmFsdWU6IHsgbWluPzogc3RyaW5nOyBtYXg/OiBzdHJpbmcgfSwgcHJlZml4OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XHJcblx0XHRjb25zdCB7IG1pbiwgbWF4IH0gPSB2YWx1ZTtcclxuXHJcblx0XHRpZiAobWluICYmIG1heCkge1xyXG5cdFx0XHRyZXR1cm4gYCR7cHJlZml4fSAnJHttaW59JyBBTkQgJHtwcmVmaXh9ICcke21heH0nYDtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAobWF4KSB7XHJcblx0XHRcdHJldHVybiBgJHtwcmVmaXh9ICcke21heH0nYDtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAobWluKSB7XHJcblx0XHRcdHJldHVybiBgJHtwcmVmaXh9ICcke21pbn0nYDtcclxuXHRcdH1cclxuXHRcdHJldHVybiAnJztcclxuXHR9XHJcblxyXG5cdHN0YXRpYyBfZ2V0UmFuZ2VPcGVyYXRvcih2YWx1ZTogeyBtaW4/OiBzdHJpbmc7IG1heD86IHN0cmluZyB9KTogQ29tcGFyaXNvbk9wZXJhdG9yIHwgbnVsbCB7XHJcblx0XHRjb25zdCB7IG1pbiwgbWF4IH0gPSB2YWx1ZTtcclxuXHJcblx0XHRpZiAobWluICYmIG1heCkge1xyXG5cdFx0XHRyZXR1cm4gQ09NUEFSSVNPTl9PUEVSQVRPUi5iZXR3ZWVuO1xyXG5cdFx0fVxyXG5cdFx0aWYgKG1heCkge1xyXG5cdFx0XHRyZXR1cm4gQ09NUEFSSVNPTl9PUEVSQVRPUi5sZXNzVGhhbjtcclxuXHRcdH1cclxuXHRcdGlmIChtaW4pIHtcclxuXHRcdFx0cmV0dXJuIENPTVBBUklTT05fT1BFUkFUT1IuZ3JlYXRlclRoYW47XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG5cclxuXHRzdGF0aWMgX2dldFZhbHVlUmFuZ2UoXHJcblx0XHR2YWx1ZTogeyBtaW4/OiBzdHJpbmc7IG1heD86IHN0cmluZyB9LFxyXG5cdFx0cHJlZml4OiBzdHJpbmcgPSAnJyxcclxuXHRcdG9wZXJhdG9yPzogQ29tcGFyaXNvbk9wZXJhdG9yXHJcblx0KTogRmllbGRWYWx1ZU9iamVjdCB7XHJcblx0XHRjb25zdCB7IG1pbiwgbWF4IH0gPSB2YWx1ZTtcclxuXHRcdGNvbnN0IGJhc2VPYmplY3QgPSB7IHZhbHVlOiAnJywgcHJlZml4LCBvcGVyYXRvciB9O1xyXG5cdFx0aWYgKG1pbiAmJiBtYXgpIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBGaWVsZFZhbHVlT2JqZWN0KHtcclxuXHRcdFx0XHQuLi5iYXNlT2JqZWN0LFxyXG5cdFx0XHRcdHZhbHVlOiBgJHtwcmVmaXh9ICcke21pbn0nIEFORCAke3ByZWZpeH0gJyR7bWF4fSdgLFxyXG5cdFx0XHRcdG1pbjogYCR7bWlufWAsXHJcblx0XHRcdFx0bWF4OiBgJHttYXh9YFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAobWF4KSB7XHJcblx0XHRcdHJldHVybiBuZXcgRmllbGRWYWx1ZU9iamVjdCh7IC4uLmJhc2VPYmplY3QsIHZhbHVlOiBgJHttYXh9YCwgbWF4OiBgJHttYXh9YCB9KTtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAobWluKSB7XHJcblx0XHRcdHJldHVybiBuZXcgRmllbGRWYWx1ZU9iamVjdCh7IC4uLmJhc2VPYmplY3QsIHZhbHVlOiBgJHttaW59YCwgbWluOiBgJHttaW59YCB9KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { isBoolean, isDate, isNumber, isObject } from 'lodash';
|
|
2
|
+
import { VALUE_OBJECT } from '../constants';
|
|
3
|
+
export function isFieldValueObject(value) {
|
|
4
|
+
return typeof value === 'object' && (value[VALUE_OBJECT] || ('value' in value && 'operator' in value));
|
|
5
|
+
}
|
|
6
|
+
export function isDateObject(obj) {
|
|
7
|
+
return (obj &&
|
|
8
|
+
typeof obj === 'object' &&
|
|
9
|
+
'min' in obj &&
|
|
10
|
+
'max' in obj &&
|
|
11
|
+
typeof obj.min === 'string' &&
|
|
12
|
+
typeof obj.max === 'string');
|
|
13
|
+
}
|
|
14
|
+
export function removeEmptyKeys(data) {
|
|
15
|
+
return Object.entries(data || {}).reduce((obj, [key, value]) => {
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
const cleanedArray = value
|
|
18
|
+
.map((item) => (isObject(value) ? removeEmptyKeys(item) : item))
|
|
19
|
+
.filter(shouldIncludeValue);
|
|
20
|
+
if (cleanedArray.length > 0) {
|
|
21
|
+
obj[key] = cleanedArray;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (isObject(value) && !isDate(value) && !Array.isArray(value)) {
|
|
25
|
+
const cleanedValue = removeEmptyKeys(value);
|
|
26
|
+
if (Object.keys(cleanedValue).length > 0) {
|
|
27
|
+
obj[key] = cleanedValue;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
else if (shouldIncludeValue(value)) {
|
|
31
|
+
obj[key] = value;
|
|
32
|
+
}
|
|
33
|
+
return obj;
|
|
34
|
+
}, {});
|
|
35
|
+
}
|
|
36
|
+
function shouldIncludeValue(value) {
|
|
37
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
38
|
+
return value.some((item) => shouldIncludeValue(item));
|
|
39
|
+
}
|
|
40
|
+
return !Array.isArray(value) && (!!value || isBoolean(value) || isNumber(value) || isDate(value));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9uZGYtZmlsdGVycy91dGlsaXR5L29iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRS9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQVU7SUFDNUMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxJQUFJLFVBQVUsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3hHLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQVE7SUFDcEMsT0FBTyxDQUNOLEdBQUc7UUFDSCxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQ3ZCLEtBQUssSUFBSSxHQUFHO1FBQ1osS0FBSyxJQUFJLEdBQUc7UUFDWixPQUFPLEdBQUcsQ0FBQyxHQUFHLEtBQUssUUFBUTtRQUMzQixPQUFPLEdBQUcsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUMzQixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQVUsSUFBSTtJQUM1QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1FBQzlELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6QixNQUFNLFlBQVksR0FBRyxLQUFLO2lCQUN4QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUMvRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUU3QixJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM1QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQ3hCO1NBQ0Q7UUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0QsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTVDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQ3hCO1NBQ0Q7YUFBTSxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDakI7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNaLENBQUMsRUFBRSxFQUFPLENBQUMsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEtBQVU7SUFDckMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzdDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUN0RDtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ25HLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0Jvb2xlYW4sIGlzRGF0ZSwgaXNOdW1iZXIsIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgRmllbGRWYWx1ZU9iamVjdCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFZBTFVFX09CSkVDVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNGaWVsZFZhbHVlT2JqZWN0KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBGaWVsZFZhbHVlT2JqZWN0IHtcclxuXHRyZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAodmFsdWVbVkFMVUVfT0JKRUNUXSB8fCAoJ3ZhbHVlJyBpbiB2YWx1ZSAmJiAnb3BlcmF0b3InIGluIHZhbHVlKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVPYmplY3Qob2JqOiBhbnkpOiBvYmogaXMgeyBtaW46IHN0cmluZzsgbWF4OiBzdHJpbmcgfSB7XHJcblx0cmV0dXJuIChcclxuXHRcdG9iaiAmJlxyXG5cdFx0dHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiZcclxuXHRcdCdtaW4nIGluIG9iaiAmJlxyXG5cdFx0J21heCcgaW4gb2JqICYmXHJcblx0XHR0eXBlb2Ygb2JqLm1pbiA9PT0gJ3N0cmluZycgJiZcclxuXHRcdHR5cGVvZiBvYmoubWF4ID09PSAnc3RyaW5nJ1xyXG5cdCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFbXB0eUtleXM8VCA9IGFueT4oZGF0YSk6IFQge1xyXG5cdHJldHVybiBPYmplY3QuZW50cmllcyhkYXRhIHx8IHt9KS5yZWR1Y2UoKG9iaiwgW2tleSwgdmFsdWVdKSA9PiB7XHJcblx0XHRpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuXHRcdFx0Y29uc3QgY2xlYW5lZEFycmF5ID0gdmFsdWVcclxuXHRcdFx0XHQubWFwKChpdGVtKSA9PiAoaXNPYmplY3QodmFsdWUpID8gcmVtb3ZlRW1wdHlLZXlzKGl0ZW0pIDogaXRlbSkpXHJcblx0XHRcdFx0LmZpbHRlcihzaG91bGRJbmNsdWRlVmFsdWUpO1xyXG5cclxuXHRcdFx0aWYgKGNsZWFuZWRBcnJheS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0b2JqW2tleV0gPSBjbGVhbmVkQXJyYXk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRpZiAoaXNPYmplY3QodmFsdWUpICYmICFpc0RhdGUodmFsdWUpICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG5cdFx0XHRjb25zdCBjbGVhbmVkVmFsdWUgPSByZW1vdmVFbXB0eUtleXModmFsdWUpO1xyXG5cclxuXHRcdFx0aWYgKE9iamVjdC5rZXlzKGNsZWFuZWRWYWx1ZSkubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdG9ialtrZXldID0gY2xlYW5lZFZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKHNob3VsZEluY2x1ZGVWYWx1ZSh2YWx1ZSkpIHtcclxuXHRcdFx0b2JqW2tleV0gPSB2YWx1ZTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBvYmo7XHJcblx0fSwge30gYXMgVCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHNob3VsZEluY2x1ZGVWYWx1ZSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcblx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcclxuXHRcdHJldHVybiB2YWx1ZS5zb21lKChpdGVtKSA9PiBzaG91bGRJbmNsdWRlVmFsdWUoaXRlbSkpO1xyXG5cdH1cclxuXHJcblx0cmV0dXJuICFBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAoISF2YWx1ZSB8fCBpc0Jvb2xlYW4odmFsdWUpIHx8IGlzTnVtYmVyKHZhbHVlKSB8fCBpc0RhdGUodmFsdWUpKTtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL25kZi10YWJzL3RhYi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmV0dGlmeSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMnO1xyXG5cclxuXHJcbnR5cGUgQmFzZVRhYlR5cGU8VD4gPSB7XHJcblx0aWQ6IFQ7XHJcblx0bGFiZWw6IHN0cmluZztcclxuXHRwZXJtaXNzaW9uPzogc3RyaW5nO1xyXG59O1xyXG5cclxudHlwZSBTZWNvbmRhcnlUYWJzVHlwZTxUPiA9IEJhc2VUYWJUeXBlPFQ+O1xyXG5cclxuZXhwb3J0IHR5cGUgVGFiVHlwZTxUPiA9IFByZXR0aWZ5PFxyXG5cdEJhc2VUYWJUeXBlPFQ+ICYge1xyXG5cdFx0cXVpY2tGaWx0ZXJzPzogc3RyaW5nO1xyXG5cdFx0aXNFbmFibGU/OiBib29sZWFuO1xyXG5cdFx0YWxsb3dlZFdpdGhvdXRQZXJtaXNzaW9ucz86IGJvb2xlYW47XHJcblx0XHRzZWNvbmRhcnlfdGFicz86IFNlY29uZGFyeVRhYnNUeXBlPFQ+W107XHJcblx0fVxyXG4+O1xyXG4iXX0=
|