@mediusinc/mng-commons 6.0.0-rc.4 → 6.0.0-rc.6
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/core/components/notification/notification-wrapper.component.d.ts +4 -4
- package/core/error/error.model.d.ts +4 -4
- package/core/helpers/notification.d.ts +2 -2
- package/core/provide.d.ts +3 -3
- package/core/styles/style-constants.d.ts +9 -8
- package/core/styles/style.model.d.ts +2 -1
- package/fesm2022/mediusinc-mng-commons-core.mjs +91 -104
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +8 -9
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +149 -49
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DTSBP9WQ.mjs +31 -0
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DTSBP9WQ.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-JZpyiDIL.mjs +2118 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-JZpyiDIL.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table.mjs +1 -2154
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +97 -49
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +340 -309
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/form/api/index.d.ts +1 -0
- package/form/api/models/empty-value.model.d.ts +7 -0
- package/form/components/autocomplete/autocomplete.component.d.ts +1 -2
- package/form/components/date-range/date-range.component.d.ts +4 -3
- package/form/components/dropdown/dropdown.component.d.ts +3 -2
- package/form/components/number-range/number-range.component.d.ts +3 -2
- package/form/directives/input-empty-value.directive.d.ts +40 -0
- package/form/directives/input-trim.directive.d.ts +3 -5
- package/form/index.d.ts +1 -0
- package/i18n/en.json +57 -8
- package/i18n/sl.json +1 -3
- package/package.json +16 -42
- package/provide.d.ts +2 -2
- package/table/components/column-toggle/column-toggle.component.d.ts +12 -0
- package/table/components/filter/filter-form/filter-form.component.d.ts +2 -2
- package/table/components/table/table.component.d.ts +0 -1
- package/table/helpers/filters.d.ts +3 -2
- package/table/helpers/notification.d.ts +2 -2
- package/table/services/table-metadata.service.d.ts +3 -3
- package/tableview/action/components/action/action.component.d.ts +1 -0
- package/tableview/action/components/editor/action-editor.component.d.ts +1 -1
- package/tableview/action/components/table/action-table.component.d.ts +2 -1
- package/tableview/action/helpers/notification.d.ts +3 -3
- package/tableview/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/action/services/action-executor.service.d.ts +1 -1
- package/tableview/api/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +5 -0
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +14 -10
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +10 -0
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +36 -9
- package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +1 -1
- package/tableview/api/editor/models/field-action-context.model.d.ts +1 -1
- package/tableview/api/editor/models/field.model.d.ts +1 -2
- package/tableview/api/editor/models/form-editor.interface.d.ts +2 -2
- package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
- package/tableview/api/editor/models/formly-field.model.d.ts +2 -2
- package/tableview/editor/components/editor/form-editor.component.d.ts +2 -2
- package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.d.ts +2 -1
- package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +4 -6
- package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +0 -2
- package/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +2 -2
- package/tableview/editor/components/formly/fields/formly-field-type.abstract.component.d.ts +8 -15
- package/tableview/editor/components/formly/fields/formly-group-type.abstract.component.d.ts +7 -0
- package/tableview/editor/components/formly/fields/formly-type.abstract.component.d.ts +20 -0
- package/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +11 -4
- package/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +2 -1
- package/tableview/editor/helpers/formly-config.d.ts +1 -1
- package/tableview/editor/helpers/notification.d.ts +3 -3
- package/tableview/editor/models/formly-config.model.d.ts +10 -1
- package/tableview/editor/models/formly.model.d.ts +23 -0
- package/tableview/editor/services/form-editor.service.d.ts +2 -2
- package/tableview/tableview/router/tableview-route-builder.d.ts +10 -3
- package/tableview/tableview/services/tableview-feature-config.token.d.ts +1 -1
- package/version-info.json +3 -3
- package/esm2022/core/action/action-data.model.mjs +0 -2
- package/esm2022/core/action/action-parameters.model.mjs +0 -2
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +0 -50
- package/esm2022/core/data-list/data-list-params-helpers.mjs +0 -465
- package/esm2022/core/data-list/data-list.model.mjs +0 -2
- package/esm2022/core/data-list/filter-match.model.mjs +0 -105
- package/esm2022/core/data-list/filter-metadata.model.mjs +0 -2
- package/esm2022/core/data-providers/base.data-provider.mjs +0 -16
- package/esm2022/core/data-providers/lookup.data-provider.mjs +0 -2
- package/esm2022/core/descriptors/action.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/column.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/editor.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/enum.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/filter.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/lookup.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/model.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/table.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/tableview.descriptor.mjs +0 -2
- package/esm2022/core/directives/component.directive.mjs +0 -75
- package/esm2022/core/directives/rerender.directive.mjs +0 -25
- package/esm2022/core/directives/template.directive.mjs +0 -29
- package/esm2022/core/enum/enum-helpers.mjs +0 -90
- package/esm2022/core/enum/enum.model.mjs +0 -2
- package/esm2022/core/error/error-handler.mjs +0 -20
- package/esm2022/core/error/error-helpers.mjs +0 -273
- package/esm2022/core/error/error.model.mjs +0 -33
- package/esm2022/core/helpers/coercion.mjs +0 -55
- package/esm2022/core/helpers/date.mjs +0 -119
- package/esm2022/core/helpers/notification.mjs +0 -21
- package/esm2022/core/helpers/number.mjs +0 -19
- package/esm2022/core/helpers/object.mjs +0 -152
- package/esm2022/core/helpers/route.mjs +0 -58
- package/esm2022/core/helpers/string.mjs +0 -57
- package/esm2022/core/helpers/templates.mjs +0 -4
- package/esm2022/core/helpers/type-helpers.mjs +0 -2
- package/esm2022/core/i18n/i18n-common.mjs +0 -24
- package/esm2022/core/i18n/i18n-error.mjs +0 -29
- package/esm2022/core/i18n/i18n-type.mjs +0 -46
- package/esm2022/core/index.mjs +0 -107
- package/esm2022/core/log/log-publisher-console.service.mjs +0 -40
- package/esm2022/core/log/log.model.mjs +0 -10
- package/esm2022/core/log/logger.service.mjs +0 -131
- package/esm2022/core/mediusinc-mng-commons-core.mjs +0 -5
- package/esm2022/core/models/class-attribute.model.mjs +0 -2
- package/esm2022/core/models/class-service.model.mjs +0 -2
- package/esm2022/core/models/getter.model.mjs +0 -2
- package/esm2022/core/models/i18n.model.mjs +0 -2
- package/esm2022/core/models/menu.model.mjs +0 -2
- package/esm2022/core/models/user.model.mjs +0 -2
- package/esm2022/core/models/version.model.mjs +0 -2
- package/esm2022/core/pipes/boolean.pipe.mjs +0 -34
- package/esm2022/core/pipes/class-map.pipe.mjs +0 -23
- package/esm2022/core/pipes/enum.pipe.mjs +0 -38
- package/esm2022/core/pipes/enumerate-async.pipe.mjs +0 -36
- package/esm2022/core/pipes/enumerate.pipe.mjs +0 -49
- package/esm2022/core/pipes/getter.pipe.mjs +0 -21
- package/esm2022/core/pipes/i18n-property.pipe.mjs +0 -19
- package/esm2022/core/pipes/json-path.pipe.mjs +0 -25
- package/esm2022/core/pipes/parametrize.pipe.mjs +0 -86
- package/esm2022/core/pipes/template.pipe.mjs +0 -25
- package/esm2022/core/provide.mjs +0 -79
- package/esm2022/core/reactivity/effect.mjs +0 -22
- package/esm2022/core/reflect/type-enum-decorator.mjs +0 -12
- package/esm2022/core/reflect/type-enum-metadata.mjs +0 -62
- package/esm2022/core/registry/registry.model.mjs +0 -2
- package/esm2022/core/registry/type-registry.mjs +0 -106
- package/esm2022/core/router/route-builder.mjs +0 -431
- package/esm2022/core/router/router.model.mjs +0 -2
- package/esm2022/core/router/routes-builder.mjs +0 -52
- package/esm2022/core/rxjs/map-data-list-result-operator.mjs +0 -22
- package/esm2022/core/security/permission-helpers.mjs +0 -14
- package/esm2022/core/security/permission.guard.mjs +0 -15
- package/esm2022/core/security/permission.service.mjs +0 -101
- package/esm2022/core/security/permissions.model.mjs +0 -93
- package/esm2022/core/services/commons-configuration.service.mjs +0 -189
- package/esm2022/core/services/commons-init.service.mjs +0 -111
- package/esm2022/core/services/commons-router.service.mjs +0 -181
- package/esm2022/core/services/commons-storage.service.mjs +0 -31
- package/esm2022/core/services/commons.service.mjs +0 -324
- package/esm2022/core/services/providers/commons-init.provider.mjs +0 -4
- package/esm2022/core/services/tokens/browser-storage.token.mjs +0 -3
- package/esm2022/core/services/tokens/commons-init.token.mjs +0 -3
- package/esm2022/core/services/tokens/log-publisher.token.mjs +0 -3
- package/esm2022/core/services/tokens/module-config.token.mjs +0 -3
- package/esm2022/core/styles/style-constants.mjs +0 -11
- package/esm2022/core/styles/style.model.mjs +0 -20
- package/esm2022/filter/descriptors/filter-generic.descriptor.mjs +0 -31
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +0 -168
- package/esm2022/filter/descriptors/filter.descriptor.mjs +0 -421
- package/esm2022/filter/index.mjs +0 -8
- package/esm2022/filter/mediusinc-mng-commons-filter.mjs +0 -5
- package/esm2022/filter/models/filter-generic-property.model.mjs +0 -2
- package/esm2022/filter/models/filter.model.mjs +0 -20
- package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +0 -15
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +0 -15
- package/esm2022/form/api/descriptors/action-button.descriptor.mjs +0 -56
- package/esm2022/form/api/descriptors/button-style.builder.mjs +0 -153
- package/esm2022/form/api/index.mjs +0 -10
- package/esm2022/form/api/mediusinc-mng-commons-form-api.mjs +0 -5
- package/esm2022/form/api/models/button.model.mjs +0 -2
- package/esm2022/form/api/models/trim.model.mjs +0 -2
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +0 -436
- package/esm2022/form/components/date-range/date-range.component.mjs +0 -147
- package/esm2022/form/components/dropdown/dropdown.component.mjs +0 -372
- package/esm2022/form/components/number-range/number-range.component.mjs +0 -123
- package/esm2022/form/directives/input-trim.directive.mjs +0 -50
- package/esm2022/form/index.mjs +0 -8
- package/esm2022/form/mediusinc-mng-commons-form.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/mediusinc-mng-commons.mjs +0 -5
- package/esm2022/model/class/data-providers/base-from-class-data-provider.factory.mjs +0 -5
- package/esm2022/model/class/descriptors/model-class.descriptor.mjs +0 -28
- package/esm2022/model/class/descriptors/type-class.descriptor.mjs +0 -6
- package/esm2022/model/class/helpers/model.mjs +0 -53
- package/esm2022/model/class/index.mjs +0 -8
- package/esm2022/model/class/mediusinc-mng-commons-model-class.mjs +0 -5
- package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +0 -13
- package/esm2022/model/descriptors/enum.descriptor.mjs +0 -28
- package/esm2022/model/descriptors/model.descriptor.mjs +0 -53
- package/esm2022/model/descriptors/type.descriptor.mjs +0 -7
- package/esm2022/model/helpers/i18n.mjs +0 -47
- package/esm2022/model/index.mjs +0 -9
- package/esm2022/model/mediusinc-mng-commons-model.mjs +0 -5
- package/esm2022/provide.mjs +0 -6
- package/esm2022/table/api/class/class-table-attribute-converter.mjs +0 -80
- package/esm2022/table/api/class/class-table-attribute.model.mjs +0 -2
- package/esm2022/table/api/class/class-table-data-provider.factory.mjs +0 -5
- package/esm2022/table/api/class/class-table-descriptor-helpers.mjs +0 -99
- package/esm2022/table/api/class/class-table-descriptor.factory.mjs +0 -21
- package/esm2022/table/api/class/index.mjs +0 -6
- package/esm2022/table/api/class/mediusinc-mng-commons-table-api-class.mjs +0 -5
- package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +0 -15
- package/esm2022/table/api/data-providers/table.data-provider.mjs +0 -33
- package/esm2022/table/api/descriptors/column.descriptor.mjs +0 -475
- package/esm2022/table/api/descriptors/sort.descriptor.mjs +0 -67
- package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +0 -22
- package/esm2022/table/api/descriptors/table.descriptor.mjs +0 -1116
- package/esm2022/table/api/helpers/column-converter.mjs +0 -25
- package/esm2022/table/api/helpers/table-data-provider-descriptor-convert.mjs +0 -7
- package/esm2022/table/api/index.mjs +0 -19
- package/esm2022/table/api/mediusinc-mng-commons-table-api.mjs +0 -5
- package/esm2022/table/api/models/column-value.model.mjs +0 -2
- package/esm2022/table/api/models/column.model.mjs +0 -21
- package/esm2022/table/api/models/row-expandable-component.model.mjs +0 -2
- package/esm2022/table/api/models/table-columns.model.mjs +0 -2
- package/esm2022/table/api/models/table-event.model.mjs +0 -2
- package/esm2022/table/api/models/table.model.mjs +0 -21
- package/esm2022/table/components/column-filter/column-filter.component.mjs +0 -389
- package/esm2022/table/components/column-value/column-value.component.mjs +0 -78
- package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +0 -55
- package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +0 -226
- package/esm2022/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.mjs +0 -219
- package/esm2022/table/components/table/table.component.mjs +0 -319
- package/esm2022/table/helpers/filters.mjs +0 -312
- package/esm2022/table/helpers/notification.mjs +0 -21
- package/esm2022/table/helpers/table-layout-prefs.mjs +0 -10
- package/esm2022/table/helpers/table.mjs +0 -24
- package/esm2022/table/index.mjs +0 -24
- package/esm2022/table/mediusinc-mng-commons-table.mjs +0 -5
- package/esm2022/table/models/column-preferences.model.mjs +0 -2
- package/esm2022/table/models/filter.model.mjs +0 -2
- package/esm2022/table/pipes/filter-value.pipe.mjs +0 -77
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +0 -27
- package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +0 -25
- package/esm2022/table/provide.mjs +0 -19
- package/esm2022/table/services/table-data.service.mjs +0 -194
- package/esm2022/table/services/table-feature-config.token.mjs +0 -3
- package/esm2022/table/services/table-metadata.service.mjs +0 -136
- package/esm2022/table/services/table-preferences.service.mjs +0 -142
- package/esm2022/tableview/action/components/action/action.component.mjs +0 -277
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +0 -86
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +0 -428
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +0 -35
- package/esm2022/tableview/action/components/route/action-route.component.mjs +0 -146
- package/esm2022/tableview/action/components/table/action-table.component.mjs +0 -102
- package/esm2022/tableview/action/guards/unsaved-changes.guard.mjs +0 -4
- package/esm2022/tableview/action/helpers/action-execution.mjs +0 -25
- package/esm2022/tableview/action/helpers/i18n.mjs +0 -102
- package/esm2022/tableview/action/helpers/notification.mjs +0 -78
- package/esm2022/tableview/action/helpers/styles.mjs +0 -32
- package/esm2022/tableview/action/models/action-editor-dialog-data.model.mjs +0 -2
- package/esm2022/tableview/action/models/can-component-deactivate.model.mjs +0 -2
- package/esm2022/tableview/action/models/execution/action-context.model.mjs +0 -64
- package/esm2022/tableview/action/models/execution/action-instance.model.mjs +0 -169
- package/esm2022/tableview/action/services/action-error-mapper.service.mjs +0 -20
- package/esm2022/tableview/action/services/action-executor.service.mjs +0 -777
- package/esm2022/tableview/action/services/component-action-executor.service.mjs +0 -19
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +0 -41
- package/esm2022/tableview/action/services/navigation.service.mjs +0 -53
- package/esm2022/tableview/action/services/providers/provide-action-executor.mjs +0 -9
- package/esm2022/tableview/action/services/providers/provide-view-container.mjs +0 -17
- package/esm2022/tableview/action/services/root-action-executor.service.mjs +0 -18
- package/esm2022/tableview/action/services/tokens/action-editor.token.mjs +0 -3
- package/esm2022/tableview/action/services/view-container.service.mjs +0 -40
- package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +0 -28
- package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +0 -30
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +0 -223
- package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +0 -32
- package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +0 -74
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +0 -302
- package/esm2022/tableview/api/action/descriptors/editor-action-descriptor.factory.mjs +0 -21
- package/esm2022/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.mjs +0 -21
- package/esm2022/tableview/api/action/descriptors/table-action-descriptor.factory.mjs +0 -37
- package/esm2022/tableview/api/action/descriptors/table-action-editor-descriptor.factory.mjs +0 -40
- package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +0 -100
- package/esm2022/tableview/api/action/models/action-component.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-confirmation.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-descriptor.types.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-editor.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-error.model.mjs +0 -14
- package/esm2022/tableview/api/action/models/action.type.mjs +0 -26
- package/esm2022/tableview/api/action/models/execution/action-context-validation.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/action-context.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/action-execution-error.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/action-instance-state.model.mjs +0 -32
- package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/tableview-action-default-categories.model.mjs +0 -11
- package/esm2022/tableview/api/action/services/data-provider-executor.service.mjs +0 -28
- package/esm2022/tableview/api/action/services/tokens/data-language-dropdown.token.mjs +0 -3
- package/esm2022/tableview/api/class/editor/class-editor-attribute-converter.mjs +0 -85
- package/esm2022/tableview/api/class/editor/class-editor-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/class/editor/class-editor-data-provider.factory.mjs +0 -5
- package/esm2022/tableview/api/class/editor/class-editor-descriptor-helpers.mjs +0 -95
- package/esm2022/tableview/api/class/editor/class-editor-descriptor.factory.mjs +0 -21
- package/esm2022/tableview/api/class/index.mjs +0 -13
- package/esm2022/tableview/api/class/mediusinc-mng-commons-tableview-api-class.mjs +0 -5
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute-converter.mjs +0 -35
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/class/tableview/class-tableview-data-provider.factory.mjs +0 -5
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor-helpers.mjs +0 -111
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor.factory.mjs +0 -26
- package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +0 -15
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +0 -114
- package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +0 -15
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +0 -437
- package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +0 -51
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +0 -314
- package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +0 -103
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +0 -211
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +0 -142
- package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +0 -25
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +0 -402
- package/esm2022/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.mjs +0 -51
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/editor.model.mjs +0 -9
- package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/field-image-preview.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/field-validation.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/field.model.mjs +0 -57
- package/esm2022/tableview/api/editor/models/form-editor.event.mjs +0 -28
- package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +0 -2
- package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +0 -70
- package/esm2022/tableview/api/editor/models/formly-field.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/formly-options.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/radio.model.mjs +0 -2
- package/esm2022/tableview/api/index.mjs +0 -76
- package/esm2022/tableview/api/mediusinc-mng-commons-tableview-api.mjs +0 -5
- package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +0 -18
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +0 -84
- package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +0 -34
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +0 -377
- package/esm2022/tableview/api/tableview/helpers/files-export.mjs +0 -34
- package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +0 -26
- package/esm2022/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.mjs +0 -7
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +0 -324
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +0 -319
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.mjs +0 -2
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-helper.type.mjs +0 -2
- package/esm2022/tableview/api/tableview/models/tableview-input.model.mjs +0 -2
- package/esm2022/tableview/api/tableview/models/tableview-route.model.mjs +0 -2
- package/esm2022/tableview/editor/components/editor/auto-save-status/auto-save-status.component.mjs +0 -82
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +0 -480
- package/esm2022/tableview/editor/components/formly/constants.mjs +0 -2
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +0 -66
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +0 -47
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +0 -39
- package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +0 -165
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +0 -42
- package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +0 -34
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +0 -211
- package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +0 -23
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +0 -195
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +0 -239
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +0 -205
- package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -28
- package/esm2022/tableview/editor/components/formly/fields/formly-field-type.abstract.component.mjs +0 -46
- package/esm2022/tableview/editor/components/formly/pipes/formly-field-label.pipe.mjs +0 -19
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +0 -33
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +0 -59
- package/esm2022/tableview/editor/helpers/editor-autosave.mjs +0 -49
- package/esm2022/tableview/editor/helpers/editor-field.mjs +0 -39
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +0 -388
- package/esm2022/tableview/editor/helpers/editor-validators.mjs +0 -25
- package/esm2022/tableview/editor/helpers/field-create.mjs +0 -21
- package/esm2022/tableview/editor/helpers/formly-config.mjs +0 -260
- package/esm2022/tableview/editor/helpers/notification.mjs +0 -11
- package/esm2022/tableview/editor/models/editor-auto-save-preview.model.mjs +0 -2
- package/esm2022/tableview/editor/models/formly-config.model.mjs +0 -2
- package/esm2022/tableview/editor/services/form-editor.service.mjs +0 -96
- package/esm2022/tableview/editor/services/formly-config.provider.mjs +0 -31
- package/esm2022/tableview/index.mjs +0 -67
- package/esm2022/tableview/mediusinc-mng-commons-tableview.mjs +0 -5
- package/esm2022/tableview/provide.mjs +0 -105
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +0 -15
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +0 -59
- package/esm2022/tableview/tableview/router/tableview-route-builder.mjs +0 -175
- package/esm2022/tableview/tableview/services/tableview-feature-config.token.mjs +0 -3
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Injector, Pipe } from '@angular/core';
|
|
2
|
-
import { CommonsService } from '@mediusinc/mng-commons/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class LocaleDefaultRowClassPipe {
|
|
5
|
-
constructor(injector) {
|
|
6
|
-
this.injector = injector;
|
|
7
|
-
}
|
|
8
|
-
transform(value, descriptor, item) {
|
|
9
|
-
if (descriptor?.isLocalized) {
|
|
10
|
-
if (item[descriptor.localizationLocaleProperty] === this.injector.get(CommonsService).getDefaultLocale()) {
|
|
11
|
-
return value + ' all-translations-default-value';
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return value ?? '';
|
|
15
|
-
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocaleDefaultRowClassPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: LocaleDefaultRowClassPipe, isStandalone: true, name: "mngLocaleDefaultRowClass" }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocaleDefaultRowClassPipe, decorators: [{
|
|
20
|
-
type: Pipe,
|
|
21
|
-
args: [{
|
|
22
|
-
standalone: true,
|
|
23
|
-
name: 'mngLocaleDefaultRowClass',
|
|
24
|
-
pure: true
|
|
25
|
-
}]
|
|
26
|
-
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWRlZmF1bHQtcm93LWNsYXNzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90YWJsZS9zcmMvcGlwZXMvbG9jYWxlLWRlZmF1bHQtcm93LWNsYXNzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFRM0QsTUFBTSxPQUFPLHlCQUF5QjtJQUNsQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUUxQyxTQUFTLENBQUMsS0FBVyxFQUFFLFVBQW1DLEVBQUUsSUFBUTtRQUNoRSxJQUFJLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUMxQixJQUFLLElBQVksQ0FBQyxVQUFVLENBQUMsMEJBQTJCLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7Z0JBQ2pILE9BQU8sS0FBSyxHQUFHLGlDQUFpQyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7K0dBVlEseUJBQXlCOzZHQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBTHJDLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSwwQkFBMEI7b0JBQ2hDLElBQUksRUFBRSxJQUFJO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RvciwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q29tbW9uc1NlcnZpY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge1RhYmxlRGVzY3JpcHRvckluc3R9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGUvYXBpJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ21uZ0xvY2FsZURlZmF1bHRSb3dDbGFzcycsXG4gICAgcHVyZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGVEZWZhdWx0Um93Q2xhc3NQaXBlPFQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU/OiBhbnksIGRlc2NyaXB0b3I/OiBUYWJsZURlc2NyaXB0b3JJbnN0PFQ+LCBpdGVtPzogVCk6IHN0cmluZyB7XG4gICAgICAgIGlmIChkZXNjcmlwdG9yPy5pc0xvY2FsaXplZCkge1xuICAgICAgICAgICAgaWYgKChpdGVtIGFzIGFueSlbZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eSFdID09PSB0aGlzLmluamVjdG9yLmdldChDb21tb25zU2VydmljZSkuZ2V0RGVmYXVsdExvY2FsZSgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICsgJyBhbGwtdHJhbnNsYXRpb25zLWRlZmF1bHQtdmFsdWUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZSA/PyAnJztcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import { FilterTypeEnum } from '@mediusinc/mng-commons/filter';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TableColumnFilterClassPipe {
|
|
5
|
-
transform(value, filter, isEnabled) {
|
|
6
|
-
const strValue = typeof value === 'string' ? value : '';
|
|
7
|
-
if (isEnabled && filter?.filterType !== undefined) {
|
|
8
|
-
return `${strValue} mng-column-filter-${FilterTypeEnum[filter.filterType].toLowerCase()}`;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
return strValue;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableColumnFilterClassPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
15
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: TableColumnFilterClassPipe, isStandalone: true, name: "mngTableColumnFilterClass" }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableColumnFilterClassPipe, decorators: [{
|
|
18
|
-
type: Pipe,
|
|
19
|
-
args: [{
|
|
20
|
-
standalone: true,
|
|
21
|
-
pure: true,
|
|
22
|
-
name: 'mngTableColumnFilterClass'
|
|
23
|
-
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLWZpbHRlci1jbGFzcy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGFibGUvc3JjL3BpcGVzL3RhYmxlLWNvbHVtbi1maWx0ZXItY2xhc3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQW1CLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU8vRSxNQUFNLE9BQU8sMEJBQTBCO0lBQ25DLFNBQVMsQ0FBQyxLQUFjLEVBQUUsTUFBOEMsRUFBRSxTQUFrQjtRQUN4RixNQUFNLFFBQVEsR0FBRyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDaEQsT0FBTyxHQUFHLFFBQVEsc0JBQXNCLGNBQWMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztRQUM5RixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLENBQUM7SUFDTCxDQUFDOytHQVJRLDBCQUEwQjs2R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUx0QyxJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsSUFBSTtvQkFDVixJQUFJLEVBQUUsMkJBQTJCO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7RmlsdGVyRGVzY3JpcHRvciwgRmlsdGVyVHlwZUVudW19IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvZmlsdGVyJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHVyZTogdHJ1ZSxcbiAgICBuYW1lOiAnbW5nVGFibGVDb2x1bW5GaWx0ZXJDbGFzcydcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2x1bW5GaWx0ZXJDbGFzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHVua25vd24sIGZpbHRlcjogRmlsdGVyRGVzY3JpcHRvcjxhbnksIGFueT4gfCB1bmRlZmluZWQsIGlzRW5hYmxlZDogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHN0clZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogJyc7XG4gICAgICAgIGlmIChpc0VuYWJsZWQgJiYgZmlsdGVyPy5maWx0ZXJUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtzdHJWYWx1ZX0gbW5nLWNvbHVtbi1maWx0ZXItJHtGaWx0ZXJUeXBlRW51bVtmaWx0ZXIuZmlsdGVyVHlwZV0udG9Mb3dlckNhc2UoKX1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHN0clZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { CommonsFeatureTypeEnum } from '@mediusinc/mng-commons/core';
|
|
2
|
-
import { COMMONS_TABLE_FEATURE_CONFIG_IT } from './services/table-feature-config.token';
|
|
3
|
-
/**
|
|
4
|
-
* Prepares providers for usage of the tableview functionalities.
|
|
5
|
-
*
|
|
6
|
-
* @returns {CommonsFeature} The `CommonsFeature` object with the layout configuration.
|
|
7
|
-
*/
|
|
8
|
-
export function withTable(config) {
|
|
9
|
-
return {
|
|
10
|
-
type: CommonsFeatureTypeEnum.Table,
|
|
11
|
-
providers: [
|
|
12
|
-
{
|
|
13
|
-
provide: COMMONS_TABLE_FEATURE_CONFIG_IT,
|
|
14
|
-
useValue: config
|
|
15
|
-
}
|
|
16
|
-
]
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RhYmxlL3NyYy9wcm92aWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRixPQUFPLEVBQUMsK0JBQStCLEVBQXFCLE1BQU0sdUNBQXVDLENBQUM7QUFFMUc7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBMkI7SUFDakQsT0FBTztRQUNILElBQUksRUFBRSxzQkFBc0IsQ0FBQyxLQUFLO1FBQ2xDLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSwrQkFBK0I7Z0JBQ3hDLFFBQVEsRUFBRSxNQUFNO2FBQ25CO1NBQ0o7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uc0ZlYXR1cmUsIENvbW1vbnNGZWF0dXJlVHlwZUVudW19IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7Q09NTU9OU19UQUJMRV9GRUFUVVJFX0NPTkZJR19JVCwgVGFibGVGZWF0dXJlQ29uZmlnfSBmcm9tICcuL3NlcnZpY2VzL3RhYmxlLWZlYXR1cmUtY29uZmlnLnRva2VuJztcblxuLyoqXG4gKiBQcmVwYXJlcyBwcm92aWRlcnMgZm9yIHVzYWdlIG9mIHRoZSB0YWJsZXZpZXcgZnVuY3Rpb25hbGl0aWVzLlxuICpcbiAqIEByZXR1cm5zIHtDb21tb25zRmVhdHVyZX0gVGhlIGBDb21tb25zRmVhdHVyZWAgb2JqZWN0IHdpdGggdGhlIGxheW91dCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aFRhYmxlKGNvbmZpZz86IFRhYmxlRmVhdHVyZUNvbmZpZyk6IENvbW1vbnNGZWF0dXJlIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiBDb21tb25zRmVhdHVyZVR5cGVFbnVtLlRhYmxlLFxuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBDT01NT05TX1RBQkxFX0ZFQVRVUkVfQ09ORklHX0lULFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBjb25maWdcbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH07XG59XG4iXX0=
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { Injectable, Injector, computed, inject, signal } from '@angular/core';
|
|
2
|
-
import { CommonsService, toObservable as commonsToObservable, effectWithDeps } from '@mediusinc/mng-commons/core';
|
|
3
|
-
import { TableDynamicDescriptorInst, TablePaginationModeEnum } from '@mediusinc/mng-commons/table/api';
|
|
4
|
-
import { tableCreateFilterMeta, tableCreateSortMeta } from '../helpers/table';
|
|
5
|
-
import { TableMetadataService } from './table-metadata.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class TableDataService {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.#injector = inject(Injector);
|
|
10
|
-
this.#commons = inject(CommonsService);
|
|
11
|
-
this.#metadata = inject(TableMetadataService);
|
|
12
|
-
// signal sources
|
|
13
|
-
this.#dataSources = signal({});
|
|
14
|
-
// data sources
|
|
15
|
-
this.#manualLoading = computed(() => this.#dataSources()?.manualLoading?.());
|
|
16
|
-
// results that are set directly via input and are not result of a asynchronous operation (aka data provider)
|
|
17
|
-
this.#synchronousResult = computed(() => {
|
|
18
|
-
const dataSources = this.#dataSources();
|
|
19
|
-
if (dataSources?.dataProvider?.() !== undefined) {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
if (dataSources?.dataListResult?.() !== undefined) {
|
|
23
|
-
return dataSources?.dataListResult();
|
|
24
|
-
}
|
|
25
|
-
if (dataSources?.arrayItems?.() !== undefined) {
|
|
26
|
-
return { data: dataSources.arrayItems(), totalCount: dataSources.arrayItems()?.length ?? 0 };
|
|
27
|
-
}
|
|
28
|
-
return undefined;
|
|
29
|
-
});
|
|
30
|
-
this.#dataProvider = computed(() => this.#dataSources()?.dataProvider?.());
|
|
31
|
-
this.#dataProviderService = computed(() => {
|
|
32
|
-
const dataProvider = this.#dataProvider();
|
|
33
|
-
return dataProvider?.serviceType ? this.#injector.get(dataProvider.serviceType) : null;
|
|
34
|
-
});
|
|
35
|
-
this.#synchronousResultEffect = effectWithDeps([this.#synchronousResult], ([res]) => {
|
|
36
|
-
if (res != null) {
|
|
37
|
-
this.#setData(res.data ?? [], res.totalCount);
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
this.#synchronousLoadingEffect = effectWithDeps([this.#synchronousResult, this.#manualLoading], ([res, manualLoading]) => {
|
|
41
|
-
if (res != null && manualLoading == null) {
|
|
42
|
-
this.#loading.set(false);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
this.#manualLoadingEffect = effectWithDeps([this.#manualLoading], ([manualLoading]) => {
|
|
46
|
-
if (manualLoading != null) {
|
|
47
|
-
this.#loading.set(manualLoading);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
// pagination
|
|
51
|
-
this.#params = signal(undefined);
|
|
52
|
-
this.params = this.#params.asReadonly();
|
|
53
|
-
this.#sortMeta = signal(undefined);
|
|
54
|
-
this.sortMeta = this.#sortMeta.asReadonly();
|
|
55
|
-
this.#filterMeta = signal({});
|
|
56
|
-
this.filterMeta = this.#filterMeta.asReadonly();
|
|
57
|
-
this.#isSortAndFilterMetaInitialized = signal(false);
|
|
58
|
-
this.#defaultParamsEffect = effectWithDeps([this.#metadata.defaultParams], ([defaultParams]) => {
|
|
59
|
-
this.#sortMeta.set(tableCreateSortMeta(defaultParams));
|
|
60
|
-
this.#filterMeta.set(tableCreateFilterMeta(defaultParams));
|
|
61
|
-
this.#isSortAndFilterMetaInitialized.set(true);
|
|
62
|
-
}, { firstOnly: true });
|
|
63
|
-
this.#isSearchMetaInitialized = signal(false);
|
|
64
|
-
this.#searchMeta = signal(undefined);
|
|
65
|
-
this.searchMeta = this.#searchMeta.asReadonly();
|
|
66
|
-
this.isAllPaginationMetaInitialized = computed(() => this.#isSortAndFilterMetaInitialized() && this.#isSortAndFilterMetaInitialized());
|
|
67
|
-
this.paginationMode = computed(() => {
|
|
68
|
-
const descriptor = this.#metadata.descriptor();
|
|
69
|
-
if (descriptor.paginationMode != null) {
|
|
70
|
-
// descriptor choice is the strongest - if defined, use this value
|
|
71
|
-
return descriptor.paginationMode;
|
|
72
|
-
}
|
|
73
|
-
else if (this.#dataProvider() != null) {
|
|
74
|
-
// when data provider is used, use pagination
|
|
75
|
-
return TablePaginationModeEnum.Pagination;
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
return TablePaginationModeEnum.None;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
this.offset = computed(() => this.params()?.offset ?? 0);
|
|
82
|
-
this.rows = computed(() => {
|
|
83
|
-
if (this.params()?.limit) {
|
|
84
|
-
return this.params()?.limit;
|
|
85
|
-
}
|
|
86
|
-
const descriptor = this.#metadata.descriptor();
|
|
87
|
-
const rowsPerPageOptions = this.#metadata.rowsPerPageOptions();
|
|
88
|
-
if (descriptor.defaultNumRows && rowsPerPageOptions.includes(descriptor.defaultNumRows)) {
|
|
89
|
-
return descriptor.defaultNumRows;
|
|
90
|
-
}
|
|
91
|
-
return rowsPerPageOptions[0];
|
|
92
|
-
});
|
|
93
|
-
// data
|
|
94
|
-
this.#data = signal([]);
|
|
95
|
-
this.data = this.#data.asReadonly();
|
|
96
|
-
this.#count = signal(0);
|
|
97
|
-
this.count = this.#count.asReadonly();
|
|
98
|
-
this.#loading = signal(true);
|
|
99
|
-
this.loading = this.#loading.asReadonly();
|
|
100
|
-
}
|
|
101
|
-
#injector;
|
|
102
|
-
#commons;
|
|
103
|
-
#metadata;
|
|
104
|
-
// signal sources
|
|
105
|
-
#dataSources;
|
|
106
|
-
// data sources
|
|
107
|
-
#manualLoading;
|
|
108
|
-
// results that are set directly via input and are not result of a asynchronous operation (aka data provider)
|
|
109
|
-
#synchronousResult;
|
|
110
|
-
#dataProvider;
|
|
111
|
-
#dataProviderService;
|
|
112
|
-
#synchronousResultEffect;
|
|
113
|
-
#synchronousLoadingEffect;
|
|
114
|
-
#manualLoadingEffect;
|
|
115
|
-
#dataProviderSubscription;
|
|
116
|
-
// pagination
|
|
117
|
-
#params;
|
|
118
|
-
#sortMeta;
|
|
119
|
-
#filterMeta;
|
|
120
|
-
#isSortAndFilterMetaInitialized;
|
|
121
|
-
#defaultParamsEffect;
|
|
122
|
-
#isSearchMetaInitialized;
|
|
123
|
-
#searchMeta;
|
|
124
|
-
// data
|
|
125
|
-
#data;
|
|
126
|
-
#count;
|
|
127
|
-
#loading;
|
|
128
|
-
setDataSources(arrayItems, dataListResult, dataProvider, manualLoading) {
|
|
129
|
-
this.#dataSources.set({ arrayItems, dataListResult, dataProvider, manualLoading });
|
|
130
|
-
}
|
|
131
|
-
fetchWithDataProvider(params, onErrorFn) {
|
|
132
|
-
const dataProvider = this.#dataProvider();
|
|
133
|
-
if (!dataProvider || params.limit === 0) {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
this.#dataProviderSubscription?.unsubscribe();
|
|
137
|
-
this.#loading.set(true);
|
|
138
|
-
this.#dataProviderSubscription = commonsToObservable(dataProvider.getAll(params, this.#dataProviderService(), this.#metadata.descriptor().isLocalized ? (this.#commons.appDataLocale() ?? undefined) : undefined)).subscribe({
|
|
139
|
-
next: res => {
|
|
140
|
-
const descriptorInput = this.#metadata.descriptorFromSource();
|
|
141
|
-
if (descriptorInput instanceof TableDynamicDescriptorInst) {
|
|
142
|
-
this.#metadata.setDescriptor(descriptorInput.toTableDescriptorFromData(res));
|
|
143
|
-
}
|
|
144
|
-
this.#setData(res?.data ?? [], res?.totalCount);
|
|
145
|
-
this.#loading.set(false);
|
|
146
|
-
},
|
|
147
|
-
error: err => {
|
|
148
|
-
onErrorFn(err);
|
|
149
|
-
this.#setData([]);
|
|
150
|
-
this.#loading.set(false);
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
setParams(params, fromQueryParams = false) {
|
|
156
|
-
if (!fromQueryParams && this.compareWithCurrentParams(params)) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
this.#params.set(params);
|
|
160
|
-
this.#sortMeta.set(tableCreateSortMeta(params));
|
|
161
|
-
this.#filterMeta.set(tableCreateFilterMeta(params));
|
|
162
|
-
this.#isSortAndFilterMetaInitialized.set(true);
|
|
163
|
-
if (fromQueryParams && !this.#isSearchMetaInitialized() && params?.search) {
|
|
164
|
-
this.#searchMeta.set({ value: params.search, caseSensitive: params.filters?.['global']?.caseSensitive ?? false });
|
|
165
|
-
}
|
|
166
|
-
this.#isSearchMetaInitialized.set(true);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Compare the given params with the stored params in the DataListService.
|
|
170
|
-
*
|
|
171
|
-
* @param {DataListParams} params - The params to compare with the stored params.
|
|
172
|
-
*
|
|
173
|
-
* @return {boolean} - True if the given params match the stored params, otherwise false.
|
|
174
|
-
*/
|
|
175
|
-
compareWithCurrentParams(params) {
|
|
176
|
-
return (params.offset === this.offset() &&
|
|
177
|
-
params.limit === this.rows() &&
|
|
178
|
-
JSON.stringify(tableCreateSortMeta(params)) === JSON.stringify(this.#sortMeta()) &&
|
|
179
|
-
JSON.stringify(tableCreateFilterMeta(params)) === JSON.stringify(this.#filterMeta()));
|
|
180
|
-
}
|
|
181
|
-
#setData(data, count) {
|
|
182
|
-
this.#data.set([...data]);
|
|
183
|
-
this.#count.set(count ?? data.length);
|
|
184
|
-
}
|
|
185
|
-
ngOnDestroy() {
|
|
186
|
-
this.#dataProviderSubscription?.unsubscribe();
|
|
187
|
-
}
|
|
188
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
189
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableDataService }); }
|
|
190
|
-
}
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableDataService, decorators: [{
|
|
192
|
-
type: Injectable
|
|
193
|
-
}] });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGFibGUvc3JjL3NlcnZpY2VzL3RhYmxlLWRhdGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBcUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFLaEcsT0FBTyxFQUF3QixjQUFjLEVBQWtDLFlBQVksSUFBSSxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN2SyxPQUFPLEVBQXFCLDBCQUEwQixFQUFFLHVCQUF1QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFekgsT0FBTyxFQUFDLHFCQUFxQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBVTlELE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFYSxjQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLGFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRWxELGlCQUFpQjtRQUNSLGlCQUFZLEdBQUcsTUFBTSxDQUFvQixFQUFFLENBQUMsQ0FBQztRQUV0RCxlQUFlO1FBQ04sbUJBQWMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRiw2R0FBNkc7UUFDcEcsdUJBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEMsSUFBSSxXQUFXLEVBQUUsWUFB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LENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMseUJBQXlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0F2TFEsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3ksIFNpZ25hbCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtTb3J0TWV0YX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0NvbW1vbnNGaWx0ZXJNZXRhZGF0YSwgQ29tbW9uc1NlcnZpY2UsIERhdGFMaXN0UGFyYW1zLCBEYXRhTGlzdFJlc3VsdCwgdG9PYnNlcnZhYmxlIGFzIGNvbW1vbnNUb09ic2VydmFibGUsIGVmZmVjdFdpdGhEZXBzfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtJVGFibGVEYXRhUHJvdmlkZXIsIFRhYmxlRHluYW1pY0Rlc2NyaXB0b3JJbnN0LCBUYWJsZVBhZ2luYXRpb25Nb2RlRW51bX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge3RhYmxlQ3JlYXRlRmlsdGVyTWV0YSwgdGFibGVDcmVhdGVTb3J0TWV0YX0gZnJvbSAnLi4vaGVscGVycy90YWJsZSc7XG5pbXBvcnQge1RhYmxlTWV0YWRhdGFTZXJ2aWNlfSBmcm9tICcuL3RhYmxlLW1ldGFkYXRhLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgRGF0YVNvdXJjZXM8SXRlbSA9IGFueT4ge1xuICAgIGFycmF5SXRlbXM/OiBTaWduYWw8SXRlbVtdIHwgdW5kZWZpbmVkPjtcbiAgICBkYXRhTGlzdFJlc3VsdD86IFNpZ25hbDxEYXRhTGlzdFJlc3VsdDxJdGVtPiB8IHVuZGVmaW5lZD47XG4gICAgZGF0YVByb3ZpZGVyPzogU2lnbmFsPElUYWJsZURhdGFQcm92aWRlcjxJdGVtPiB8IHVuZGVmaW5lZD47XG4gICAgbWFudWFsTG9hZGluZz86IFNpZ25hbDxib29sZWFuIHwgdW5kZWZpbmVkPjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRhYmxlRGF0YVNlcnZpY2U8SXRlbT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHJlYWRvbmx5ICNpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcmVhZG9ubHkgI2NvbW1vbnMgPSBpbmplY3QoQ29tbW9uc1NlcnZpY2UpO1xuICAgIHJlYWRvbmx5ICNtZXRhZGF0YSA9IGluamVjdChUYWJsZU1ldGFkYXRhU2VydmljZSk7XG5cbiAgICAvLyBzaWduYWwgc291cmNlc1xuICAgIHJlYWRvbmx5ICNkYXRhU291cmNlcyA9IHNpZ25hbDxEYXRhU291cmNlczxJdGVtPj4oe30pO1xuXG4gICAgLy8gZGF0YSBzb3VyY2VzXG4gICAgcmVhZG9ubHkgI21hbnVhbExvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNkYXRhU291cmNlcygpPy5tYW51YWxMb2FkaW5nPy4oKSk7XG4gICAgLy8gcmVzdWx0cyB0aGF0IGFyZSBzZXQgZGlyZWN0bHkgdmlhIGlucHV0IGFuZCBhcmUgbm90IHJlc3VsdCBvZiBhIGFzeW5jaHJvbm91cyBvcGVyYXRpb24gKGFrYSBkYXRhIHByb3ZpZGVyKVxuICAgIHJlYWRvbmx5ICNzeW5jaHJvbm91c1Jlc3VsdCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YVNvdXJjZXMgPSB0aGlzLiNkYXRhU291cmNlcygpO1xuICAgICAgICBpZiAoZGF0YVNvdXJjZXM/LmRhdGFQcm92aWRlcj8uKCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YVNvdXJjZXM/LmRhdGFMaXN0UmVzdWx0Py4oKSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YVNvdXJjZXM/LmRhdGFMaXN0UmVzdWx0KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGFTb3VyY2VzPy5hcnJheUl0ZW1zPy4oKSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gPERhdGFMaXN0UmVzdWx0PntkYXRhOiBkYXRhU291cmNlcy5hcnJheUl0ZW1zKCksIHRvdGFsQ291bnQ6IGRhdGFTb3VyY2VzLmFycmF5SXRlbXMoKT8ubGVuZ3RoID8/IDB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSk7XG4gICAgcmVhZG9ubHkgI2RhdGFQcm92aWRlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuI2RhdGFTb3VyY2VzKCk/LmRhdGFQcm92aWRlcj8uKCkpO1xuICAgIHJlYWRvbmx5ICNkYXRhUHJvdmlkZXJTZXJ2aWNlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhUHJvdmlkZXIgPSB0aGlzLiNkYXRhUHJvdmlkZXIoKTtcbiAgICAgICAgcmV0dXJuIGRhdGFQcm92aWRlcj8uc2VydmljZVR5cGUgPyB0aGlzLiNpbmplY3Rvci5nZXQ8YW55PihkYXRhUHJvdmlkZXIuc2VydmljZVR5cGUpIDogbnVsbDtcbiAgICB9KTtcbiAgICByZWFkb25seSAjc3luY2hyb25vdXNSZXN1bHRFZmZlY3QgPSBlZmZlY3RXaXRoRGVwcyhbdGhpcy4jc3luY2hyb25vdXNSZXN1bHRdLCAoW3Jlc10pID0+IHtcbiAgICAgICAgaWYgKHJlcyAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLiNzZXREYXRhKHJlcy5kYXRhID8/IFtdLCByZXMudG90YWxDb3VudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZWFkb25seSAjc3luY2hyb25vdXNMb2FkaW5nRWZmZWN0ID0gZWZmZWN0V2l0aERlcHMoW3RoaXMuI3N5bmNocm9ub3VzUmVzdWx0LCB0aGlzLiNtYW51YWxMb2FkaW5nXSwgKFtyZXMsIG1hbnVhbExvYWRpbmddKSA9PiB7XG4gICAgICAgIGlmIChyZXMgIT0gbnVsbCAmJiBtYW51YWxMb2FkaW5nID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuI2xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJlYWRvbmx5ICNtYW51YWxMb2FkaW5nRWZmZWN0ID0gZWZmZWN0V2l0aERlcHMoW3RoaXMuI21hbnVhbExvYWRpbmddLCAoW21hbnVhbExvYWRpbmddKSA9PiB7XG4gICAgICAgIGlmIChtYW51YWxMb2FkaW5nICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuI2xvYWRpbmcuc2V0KG1hbnVhbExvYWRpbmcpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgI2RhdGFQcm92aWRlclN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8vIHBhZ2luYXRpb25cbiAgICByZWFkb25seSAjcGFyYW1zID0gc2lnbmFsPERhdGFMaXN0UGFyYW1zIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICAgIHJlYWRvbmx5IHBhcmFtcyA9IHRoaXMuI3BhcmFtcy5hc1JlYWRvbmx5KCk7XG4gICAgcmVhZG9ubHkgI3NvcnRNZXRhID0gc2lnbmFsPFNvcnRNZXRhW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgcmVhZG9ubHkgc29ydE1ldGEgPSB0aGlzLiNzb3J0TWV0YS5hc1JlYWRvbmx5KCk7XG4gICAgcmVhZG9ubHkgI2ZpbHRlck1ldGEgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgQ29tbW9uc0ZpbHRlck1ldGFkYXRhPj4oe30pO1xuICAgIHJlYWRvbmx5IGZpbHRlck1ldGEgPSB0aGlzLiNmaWx0ZXJNZXRhLmFzUmVhZG9ubHkoKTtcbiAgICByZWFkb25seSAjaXNTb3J0QW5kRmlsdGVyTWV0YUluaXRpYWxpemVkID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSAjZGVmYXVsdFBhcmFtc0VmZmVjdCA9IGVmZmVjdFdpdGhEZXBzKFxuICAgICAgICBbdGhpcy4jbWV0YWRhdGEuZGVmYXVsdFBhcmFtc10sXG4gICAgICAgIChbZGVmYXVsdFBhcmFtc10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuI3NvcnRNZXRhLnNldCh0YWJsZUNyZWF0ZVNvcnRNZXRhKGRlZmF1bHRQYXJhbXMpKTtcbiAgICAgICAgICAgIHRoaXMuI2ZpbHRlck1ldGEuc2V0KHRhYmxlQ3JlYXRlRmlsdGVyTWV0YShkZWZhdWx0UGFyYW1zKSk7XG4gICAgICAgICAgICB0aGlzLiNpc1NvcnRBbmRGaWx0ZXJNZXRhSW5pdGlhbGl6ZWQuc2V0KHRydWUpO1xuICAgICAgICB9LFxuICAgICAgICB7Zmlyc3RPbmx5OiB0cnVlfVxuICAgICk7XG4gICAgcmVhZG9ubHkgI2lzU2VhcmNoTWV0YUluaXRpYWxpemVkID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSAjc2VhcmNoTWV0YSA9IHNpZ25hbDx7dmFsdWU6IHN0cmluZzsgY2FzZVNlbnNpdGl2ZTogYm9vbGVhbn0gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgcmVhZG9ubHkgc2VhcmNoTWV0YSA9IHRoaXMuI3NlYXJjaE1ldGEuYXNSZWFkb25seSgpO1xuICAgIHJlYWRvbmx5IGlzQWxsUGFnaW5hdGlvbk1ldGFJbml0aWFsaXplZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuI2lzU29ydEFuZEZpbHRlck1ldGFJbml0aWFsaXplZCgpICYmIHRoaXMuI2lzU29ydEFuZEZpbHRlck1ldGFJbml0aWFsaXplZCgpKTtcbiAgICByZWFkb25seSBwYWdpbmF0aW9uTW9kZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IHRoaXMuI21ldGFkYXRhLmRlc2NyaXB0b3IoKTtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IucGFnaW5hdGlvbk1vZGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gZGVzY3JpcHRvciBjaG9pY2UgaXMgdGhlIHN0cm9uZ2VzdCAtIGlmIGRlZmluZWQsIHVzZSB0aGlzIHZhbHVlXG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5wYWdpbmF0aW9uTW9kZTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLiNkYXRhUHJvdmlkZXIoKSAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyB3aGVuIGRhdGEgcHJvdmlkZXIgaXMgdXNlZCwgdXNlIHBhZ2luYXRpb25cbiAgICAgICAgICAgIHJldHVybiBUYWJsZVBhZ2luYXRpb25Nb2RlRW51bS5QYWdpbmF0aW9uO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFRhYmxlUGFnaW5hdGlvbk1vZGVFbnVtLk5vbmU7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZWFkb25seSBvZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhcmFtcygpPy5vZmZzZXQgPz8gMCk7XG4gICAgcmVhZG9ubHkgcm93cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMucGFyYW1zKCk/LmxpbWl0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJhbXMoKT8ubGltaXQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy4jbWV0YWRhdGEuZGVzY3JpcHRvcigpO1xuICAgICAgICBjb25zdCByb3dzUGVyUGFnZU9wdGlvbnMgPSB0aGlzLiNtZXRhZGF0YS5yb3dzUGVyUGFnZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKGRlc2NyaXB0b3IuZGVmYXVsdE51bVJvd3MgJiYgcm93c1BlclBhZ2VPcHRpb25zLmluY2x1ZGVzKGRlc2NyaXB0b3IuZGVmYXVsdE51bVJvd3MpKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5kZWZhdWx0TnVtUm93cztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByb3dzUGVyUGFnZU9wdGlvbnNbMF07XG4gICAgfSk7XG5cbiAgICAvLyBkYXRhXG4gICAgcmVhZG9ubHkgI2RhdGEgPSBzaWduYWw8SXRlbVtdPihbXSk7XG4gICAgcmVhZG9ubHkgZGF0YSA9IHRoaXMuI2RhdGEuYXNSZWFkb25seSgpO1xuICAgIHJlYWRvbmx5ICNjb3VudCA9IHNpZ25hbCgwKTtcbiAgICByZWFkb25seSBjb3VudCA9IHRoaXMuI2NvdW50LmFzUmVhZG9ubHkoKTtcbiAgICByZWFkb25seSAjbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgICByZWFkb25seSBsb2FkaW5nID0gdGhpcy4jbG9hZGluZy5hc1JlYWRvbmx5KCk7XG5cbiAgICBzZXREYXRhU291cmNlcyhcbiAgICAgICAgYXJyYXlJdGVtczogU2lnbmFsPEl0ZW1bXSB8IHVuZGVmaW5lZD4sXG4gICAgICAgIGRhdGFMaXN0UmVzdWx0OiBTaWduYWw8RGF0YUxpc3RSZXN1bHQ8SXRlbT4gfCB1bmRlZmluZWQ+LFxuICAgICAgICBkYXRhUHJvdmlkZXI6IFNpZ25hbDxJVGFibGVEYXRhUHJvdmlkZXI8SXRlbSwgYW55LCBhbnksIGFueT4gfCB1bmRlZmluZWQ+LFxuICAgICAgICBtYW51YWxMb2FkaW5nOiBTaWduYWw8Ym9vbGVhbiB8IHVuZGVmaW5lZD5cbiAgICApIHtcbiAgICAgICAgdGhpcy4jZGF0YVNvdXJjZXMuc2V0KHthcnJheUl0ZW1zLCBkYXRhTGlzdFJlc3VsdCwgZGF0YVByb3ZpZGVyLCBtYW51YWxMb2FkaW5nfSk7XG4gICAgfVxuXG4gICAgZmV0Y2hXaXRoRGF0YVByb3ZpZGVyKHBhcmFtczogRGF0YUxpc3RQYXJhbXMsIG9uRXJyb3JGbjogKGVycm9yOiBFcnJvcikgPT4gdm9pZCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkYXRhUHJvdmlkZXIgPSB0aGlzLiNkYXRhUHJvdmlkZXIoKTtcbiAgICAgICAgaWYgKCFkYXRhUHJvdmlkZXIgfHwgcGFyYW1zLmxpbWl0ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLiNkYXRhUHJvdmlkZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuI2xvYWRpbmcuc2V0KHRydWUpO1xuXG4gICAgICAgIHRoaXMuI2RhdGFQcm92aWRlclN1YnNjcmlwdGlvbiA9IGNvbW1vbnNUb09ic2VydmFibGUoXG4gICAgICAgICAgICBkYXRhUHJvdmlkZXIuZ2V0QWxsKFxuICAgICAgICAgICAgICAgIHBhcmFtcyBhcyBEYXRhTGlzdFBhcmFtczxhbnksIGFueT4sXG4gICAgICAgICAgICAgICAgdGhpcy4jZGF0YVByb3ZpZGVyU2VydmljZSgpLFxuICAgICAgICAgICAgICAgIHRoaXMuI21ldGFkYXRhLmRlc2NyaXB0b3IoKS5pc0xvY2FsaXplZCA/ICh0aGlzLiNjb21tb25zLmFwcERhdGFMb2NhbGUoKSA/PyB1bmRlZmluZWQpIDogdW5kZWZpbmVkXG4gICAgICAgICAgICApXG4gICAgICAgICkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRvcklucHV0ID0gdGhpcy4jbWV0YWRhdGEuZGVzY3JpcHRvckZyb21Tb3VyY2UoKTtcbiAgICAgICAgICAgICAgICBpZiAoZGVzY3JpcHRvcklucHV0IGluc3RhbmNlb2YgVGFibGVEeW5hbWljRGVzY3JpcHRvckluc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jbWV0YWRhdGEuc2V0RGVzY3JpcHRvcihkZXNjcmlwdG9ySW5wdXQudG9UYWJsZURlc2NyaXB0b3JGcm9tRGF0YShyZXMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy4jc2V0RGF0YShyZXM/LmRhdGEgPz8gW10sIHJlcz8udG90YWxDb3VudCk7XG4gICAgICAgICAgICAgICAgdGhpcy4jbG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIG9uRXJyb3JGbihlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMuI3NldERhdGEoW10pO1xuICAgICAgICAgICAgICAgIHRoaXMuI2xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgc2V0UGFyYW1zKHBhcmFtczogRGF0YUxpc3RQYXJhbXMsIGZyb21RdWVyeVBhcmFtcyA9IGZhbHNlKSB7XG4gICAgICAgIGlmICghZnJvbVF1ZXJ5UGFyYW1zICYmIHRoaXMuY29tcGFyZVdpdGhDdXJyZW50UGFyYW1zKHBhcmFtcykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI3BhcmFtcy5zZXQocGFyYW1zKTtcbiAgICAgICAgdGhpcy4jc29ydE1ldGEuc2V0KHRhYmxlQ3JlYXRlU29ydE1ldGEocGFyYW1zKSk7XG4gICAgICAgIHRoaXMuI2ZpbHRlck1ldGEuc2V0KHRhYmxlQ3JlYXRlRmlsdGVyTWV0YShwYXJhbXMpKTtcbiAgICAgICAgdGhpcy4jaXNTb3J0QW5kRmlsdGVyTWV0YUluaXRpYWxpemVkLnNldCh0cnVlKTtcbiAgICAgICAgaWYgKGZyb21RdWVyeVBhcmFtcyAmJiAhdGhpcy4jaXNTZWFyY2hNZXRhSW5pdGlhbGl6ZWQoKSAmJiBwYXJhbXM/LnNlYXJjaCkge1xuICAgICAgICAgICAgdGhpcy4jc2VhcmNoTWV0YS5zZXQoe3ZhbHVlOiBwYXJhbXMuc2VhcmNoLCBjYXNlU2Vuc2l0aXZlOiBwYXJhbXMuZmlsdGVycz8uWydnbG9iYWwnXT8uY2FzZVNlbnNpdGl2ZSA/PyBmYWxzZX0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2lzU2VhcmNoTWV0YUluaXRpYWxpemVkLnNldCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21wYXJlIHRoZSBnaXZlbiBwYXJhbXMgd2l0aCB0aGUgc3RvcmVkIHBhcmFtcyBpbiB0aGUgRGF0YUxpc3RTZXJ2aWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtEYXRhTGlzdFBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtcyB0byBjb21wYXJlIHdpdGggdGhlIHN0b3JlZCBwYXJhbXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtib29sZWFufSAtIFRydWUgaWYgdGhlIGdpdmVuIHBhcmFtcyBtYXRjaCB0aGUgc3RvcmVkIHBhcmFtcywgb3RoZXJ3aXNlIGZhbHNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgY29tcGFyZVdpdGhDdXJyZW50UGFyYW1zKHBhcmFtczogRGF0YUxpc3RQYXJhbXMpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHBhcmFtcy5vZmZzZXQgPT09IHRoaXMub2Zmc2V0KCkgJiZcbiAgICAgICAgICAgIHBhcmFtcy5saW1pdCA9PT0gdGhpcy5yb3dzKCkgJiZcbiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRhYmxlQ3JlYXRlU29ydE1ldGEocGFyYW1zKSkgPT09IEpTT04uc3RyaW5naWZ5KHRoaXMuI3NvcnRNZXRhKCkpICYmXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0YWJsZUNyZWF0ZUZpbHRlck1ldGEocGFyYW1zKSkgPT09IEpTT04uc3RyaW5naWZ5KHRoaXMuI2ZpbHRlck1ldGEoKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAjc2V0RGF0YShkYXRhOiBJdGVtW10sIGNvdW50PzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuI2RhdGEuc2V0KFsuLi5kYXRhXSk7XG4gICAgICAgIHRoaXMuI2NvdW50LnNldChjb3VudCA/PyBkYXRhLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuI2RhdGFQcm92aWRlclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const COMMONS_TABLE_FEATURE_CONFIG_IT = new InjectionToken('COMMONS_TABLE_FEATURE_CONFIG');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZmVhdHVyZS1jb25maWcudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90YWJsZS9zcmMvc2VydmljZXMvdGFibGUtZmVhdHVyZS1jb25maWcudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQVM3QyxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsOEJBQThCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ZpbHRlckRpc3BsYXlUeXBlRW51bX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9maWx0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRmVhdHVyZUNvbmZpZyB7XG4gICAgZmlsdGVyRGlzcGxheVR5cGU/OiBGaWx0ZXJEaXNwbGF5VHlwZUVudW07XG4gICAgc2VhcmNoTGltaXRNYXhXb3Jkcz86IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBjb25zdCBDT01NT05TX1RBQkxFX0ZFQVRVUkVfQ09ORklHX0lUID0gbmV3IEluamVjdGlvblRva2VuPFRhYmxlRmVhdHVyZUNvbmZpZz4oJ0NPTU1PTlNfVEFCTEVfRkVBVFVSRV9DT05GSUcnKTtcbiJdfQ==
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { Injectable, Injector, computed, inject, signal } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { PrimeNGConfig } from 'primeng/api';
|
|
4
|
-
import { combineLatest, of, switchMap } from 'rxjs';
|
|
5
|
-
import { COMMONS_MODULE_CONFIG_IT, toObservable as commonsToObservable, effectWithDeps } from '@mediusinc/mng-commons/core';
|
|
6
|
-
import { FilterDisplayTypeEnum } from '@mediusinc/mng-commons/filter';
|
|
7
|
-
import { TableDynamicDescriptorInst, tableDescriptor } from '@mediusinc/mng-commons/table/api';
|
|
8
|
-
import { createFilterDescriptorsFromGeneric, filterApplySerializationConfigToCmp, filterGenerateMatchModeOptions, filterGetDateConfig, filterGetDefaultMatchMode, filterGetNumberConfig } from '../helpers/filters';
|
|
9
|
-
import { COMMONS_TABLE_FEATURE_CONFIG_IT } from './table-feature-config.token';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class TableMetadataService {
|
|
12
|
-
static { this.cmpTypeName = 'TableComponent'; }
|
|
13
|
-
#injector;
|
|
14
|
-
#translationObserver;
|
|
15
|
-
// signal sources
|
|
16
|
-
#signalSources;
|
|
17
|
-
#descriptor;
|
|
18
|
-
#updateDescriptorFromSourceEffect;
|
|
19
|
-
#genericFilters;
|
|
20
|
-
// search
|
|
21
|
-
#searchFieldsFromSignalSource;
|
|
22
|
-
#searchFields;
|
|
23
|
-
#searchFieldsEffect;
|
|
24
|
-
constructor() {
|
|
25
|
-
this.#injector = inject(Injector);
|
|
26
|
-
this.primeConfig = inject(PrimeNGConfig);
|
|
27
|
-
this.moduleConfig = inject(COMMONS_MODULE_CONFIG_IT, { optional: true });
|
|
28
|
-
this.tableModuleConfig = inject(COMMONS_TABLE_FEATURE_CONFIG_IT, { optional: true });
|
|
29
|
-
this.serializationCfg = {};
|
|
30
|
-
this.#translationObserver = toSignal(this.primeConfig.translationObserver);
|
|
31
|
-
this.defaultFilterDisplayType = this.tableModuleConfig?.filterDisplayType ?? FilterDisplayTypeEnum.Column;
|
|
32
|
-
// signal sources
|
|
33
|
-
this.#signalSources = signal({});
|
|
34
|
-
// descriptors
|
|
35
|
-
this.descriptorFromSource = computed(() => this.#signalSources().descriptor?.());
|
|
36
|
-
this.#descriptor = signal(tableDescriptor());
|
|
37
|
-
this.descriptor = this.#descriptor.asReadonly();
|
|
38
|
-
this.#updateDescriptorFromSourceEffect = effectWithDeps([this.descriptorFromSource], ([d]) => {
|
|
39
|
-
if (d != null) {
|
|
40
|
-
this.#descriptor.set(d);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
// pagination
|
|
44
|
-
this.rowsPerPageOptions = computed(() => {
|
|
45
|
-
const descriptor = this.descriptor();
|
|
46
|
-
if (Array.isArray(descriptor.rowsPerPageOptions) && descriptor.rowsPerPageOptions.length > 0) {
|
|
47
|
-
return descriptor.rowsPerPageOptions;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
return [25, 50, 100];
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
// filters
|
|
54
|
-
this.filterDescriptors = computed(() => this.descriptor().filters);
|
|
55
|
-
this.filters = computed(() => {
|
|
56
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
57
|
-
const observer = this.#translationObserver(); // need this one to track language changes
|
|
58
|
-
return this.filterDescriptors().map(d => this.mapDescriptorToMetadata(d));
|
|
59
|
-
});
|
|
60
|
-
this.genericFilterDescriptor = computed(() => this.descriptor().genericFilter);
|
|
61
|
-
this.#genericFilters = signal([]);
|
|
62
|
-
this.genericFilters = this.#genericFilters.asReadonly();
|
|
63
|
-
// search
|
|
64
|
-
this.#searchFieldsFromSignalSource = computed(() => this.#signalSources().searchFields?.());
|
|
65
|
-
this.#searchFields = signal([]);
|
|
66
|
-
this.searchFields = this.#searchFields.asReadonly();
|
|
67
|
-
this.#searchFieldsEffect = effectWithDeps([this.descriptor, this.#searchFieldsFromSignalSource], ([descriptor, searchFieldsFromSignalSource]) => {
|
|
68
|
-
this.#searchFields.set(searchFieldsFromSignalSource ?? (descriptor.search && descriptor.searchFields ? descriptor.searchFields : this.descriptor().columns.map(c => c.property)));
|
|
69
|
-
});
|
|
70
|
-
// params
|
|
71
|
-
this.defaultParams = computed(() => {
|
|
72
|
-
const params = {
|
|
73
|
-
offset: 0,
|
|
74
|
-
limit: this.rowsPerPageOptions()[0],
|
|
75
|
-
sort: this.descriptor()
|
|
76
|
-
.sorts.filter(s => s.defaultIsEnabled)
|
|
77
|
-
.sort((s1, s2) => (s1.defaultOrder ?? 1000) - (s2.defaultOrder ?? 1000))
|
|
78
|
-
.map(s => ({
|
|
79
|
-
property: s.property,
|
|
80
|
-
ascending: s.defaultIsAscending
|
|
81
|
-
})),
|
|
82
|
-
filters: {}
|
|
83
|
-
};
|
|
84
|
-
this.filters()
|
|
85
|
-
.filter(f => f.descriptor.hasDefaultValue)
|
|
86
|
-
.forEach(f => {
|
|
87
|
-
params.filters[f.descriptor.property] = {
|
|
88
|
-
value: f.descriptor.defaultValue,
|
|
89
|
-
matchMode: f.defaultMatchMode
|
|
90
|
-
};
|
|
91
|
-
});
|
|
92
|
-
return params;
|
|
93
|
-
});
|
|
94
|
-
filterApplySerializationConfigToCmp(this.moduleConfig, this.serializationCfg);
|
|
95
|
-
combineLatest([toObservable(this.genericFilterDescriptor), toObservable(this.#translationObserver)])
|
|
96
|
-
.pipe(switchMap(([genericFilterDescriptor]) => {
|
|
97
|
-
if (genericFilterDescriptor) {
|
|
98
|
-
const dataProvider = this.genericFilterDescriptor()?.propertyLookup;
|
|
99
|
-
const genericFilterService = dataProvider?.serviceType ? this.#injector.get(dataProvider.serviceType) : null;
|
|
100
|
-
// fetch filterable properties
|
|
101
|
-
return commonsToObservable(genericFilterDescriptor.propertyLookup.lookup({}, genericFilterService));
|
|
102
|
-
}
|
|
103
|
-
return of([]);
|
|
104
|
-
}), takeUntilDestroyed())
|
|
105
|
-
.subscribe({
|
|
106
|
-
next: genericFilters => {
|
|
107
|
-
// set descriptors from generic filter data
|
|
108
|
-
this.#genericFilters.set(createFilterDescriptorsFromGeneric(genericFilters, this.genericFilterDescriptor()?.valueLookup).map(d => this.mapDescriptorToMetadata(d)));
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
setSignalSources(descriptor, searchFields) {
|
|
113
|
-
this.#signalSources.set({ descriptor, searchFields });
|
|
114
|
-
}
|
|
115
|
-
setDescriptor(descriptor) {
|
|
116
|
-
if (this.descriptorFromSource() instanceof TableDynamicDescriptorInst) {
|
|
117
|
-
this.#descriptor.set(descriptor);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
mapDescriptorToMetadata(descriptor) {
|
|
121
|
-
const matchModes = filterGenerateMatchModeOptions(this.primeConfig, descriptor, this.serializationCfg);
|
|
122
|
-
return {
|
|
123
|
-
descriptor: descriptor,
|
|
124
|
-
matchModes: matchModes,
|
|
125
|
-
defaultMatchMode: filterGetDefaultMatchMode(descriptor, matchModes),
|
|
126
|
-
dateConfig: filterGetDateConfig(descriptor, this.serializationCfg),
|
|
127
|
-
numberConfig: filterGetNumberConfig(descriptor)
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableMetadataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
131
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableMetadataService }); }
|
|
132
|
-
}
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TableMetadataService, decorators: [{
|
|
134
|
-
type: Injectable
|
|
135
|
-
}], ctorParameters: () => [] });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbWV0YWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RhYmxlL3NyYy9zZXJ2aWNlcy90YWJsZS1tZXRhZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUMsYUFBYSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEQsT0FBTyxFQUFDLHdCQUF3QixFQUE4QyxZQUFZLElBQUksbUJBQW1CLEVBQUUsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEssT0FBTyxFQUFtQixxQkFBcUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3RGLE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsZUFBZSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFbEgsT0FBTyxFQUNILGtDQUFrQyxFQUNsQyxtQ0FBbUMsRUFDbkMsOEJBQThCLEVBQzlCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3hCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sOEJBQThCLENBQUM7O0FBUTdFLE1BQU0sT0FBTyxvQkFBb0I7YUFDYixnQkFBVyxHQUFHLGdCQUFnQixBQUFuQixDQUFvQjtJQUV0QyxTQUFTLENBQW9CO0lBTTdCLG9CQUFvQixDQUFrRDtJQUcvRSxpQkFBaUI7SUFDUixjQUFjLENBQTZCO0lBSTNDLFdBQVcsQ0FBeUY7SUFFN0csaUNBQWlDLENBSTlC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QUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RyxPQUFPO1lBQ0gsVUFBVSxFQUFFLFVBQVU7WUFDdEIsVUFBVSxFQUFFLFVBQVU7WUFDdEIsZ0JBQWdCLEVBQUUseUJBQXlCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQztZQUNuRSxVQUFVLEVBQUUsbUJBQW1CLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsRSxZQUFZLEVBQUUscUJBQXFCLENBQUMsVUFBVSxDQUFDO1NBQ2xELENBQUM7SUFDTixDQUFDOytHQWpJUSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIFNpZ25hbCwgY29tcHV0ZWQsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUsIHRvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7UHJpbWVOR0NvbmZpZ30gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBvZiwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtDT01NT05TX01PRFVMRV9DT05GSUdfSVQsIENvbW1vbnNTZXJpYWxpemF0aW9uQ29uZmlnLCBEYXRhTGlzdFBhcmFtcywgdG9PYnNlcnZhYmxlIGFzIGNvbW1vbnNUb09ic2VydmFibGUsIGVmZmVjdFdpdGhEZXBzfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtGaWx0ZXJEZXNjcmlwdG9yLCBGaWx0ZXJEaXNwbGF5VHlwZUVudW19IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvZmlsdGVyJztcbmltcG9ydCB7VGFibGVEZXNjcmlwdG9ySW5zdCwgVGFibGVEeW5hbWljRGVzY3JpcHRvckluc3QsIHRhYmxlRGVzY3JpcHRvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge1xuICAgIGNyZWF0ZUZpbHRlckRlc2NyaXB0b3JzRnJvbUdlbmVyaWMsXG4gICAgZmlsdGVyQXBwbHlTZXJpYWxpemF0aW9uQ29uZmlnVG9DbXAsXG4gICAgZmlsdGVyR2VuZXJhdGVNYXRjaE1vZGVPcHRpb25zLFxuICAgIGZpbHRlckdldERhdGVDb25maWcsXG4gICAgZmlsdGVyR2V0RGVmYXVsdE1hdGNoTW9kZSxcbiAgICBmaWx0ZXJHZXROdW1iZXJDb25maWdcbn0gZnJvbSAnLi4vaGVscGVycy9maWx0ZXJzJztcbmltcG9ydCB7RmlsdGVyTWV0YWRhdGF9IGZyb20gJy4uL21vZGVscy9maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHtDT01NT05TX1RBQkxFX0ZFQVRVUkVfQ09ORklHX0lUfSBmcm9tICcuL3RhYmxlLWZlYXR1cmUtY29uZmlnLnRva2VuJztcblxuaW50ZXJmYWNlIFNpZ25hbFNvdXJjZXM8SXRlbSA9IGFueT4ge1xuICAgIGRlc2NyaXB0b3I/OiBTaWduYWw8VGFibGVEZXNjcmlwdG9ySW5zdDxJdGVtLCBhbnksIGFueT4+O1xuICAgIHNlYXJjaEZpZWxkcz86IFNpZ25hbDxzdHJpbmdbXSB8IHVuZGVmaW5lZD47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZU1ldGFkYXRhU2VydmljZSB7XG4gICAgc3RhdGljIHJlYWRvbmx5IGNtcFR5cGVOYW1lID0gJ1RhYmxlQ29tcG9uZW50JztcblxuICAgIHJlYWRvbmx5ICNpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcmVhZG9ubHkgcHJpbWVDb25maWcgPSBpbmplY3QoUHJpbWVOR0NvbmZpZyk7XG4gICAgcmVhZG9ubHkgbW9kdWxlQ29uZmlnID0gaW5qZWN0KENPTU1PTlNfTU9EVUxFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcmVhZG9ubHkgdGFibGVNb2R1bGVDb25maWcgPSBpbmplY3QoQ09NTU9OU19UQUJMRV9GRUFUVVJFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICByZWFkb25seSBzZXJpYWxpemF0aW9uQ2ZnOiBDb21tb25zU2VyaWFsaXphdGlvbkNvbmZpZyA9IHt9O1xuICAgIHJlYWRvbmx5ICN0cmFuc2xhdGlvbk9ic2VydmVyID0gdG9TaWduYWwodGhpcy5wcmltZUNvbmZpZy50cmFuc2xhdGlvbk9ic2VydmVyKTtcbiAgICByZWFkb25seSBkZWZhdWx0RmlsdGVyRGlzcGxheVR5cGU6IEZpbHRlckRpc3BsYXlUeXBlRW51bSA9IHRoaXMudGFibGVNb2R1bGVDb25maWc/LmZpbHRlckRpc3BsYXlUeXBlID8/IEZpbHRlckRpc3BsYXlUeXBlRW51bS5Db2x1bW47XG5cbiAgICAvLyBzaWduYWwgc291cmNlc1xuICAgIHJlYWRvbmx5ICNzaWduYWxTb3VyY2VzID0gc2lnbmFsPFNpZ25hbFNvdXJjZXM+KHt9KTtcblxuICAgIC8vIGRlc2NyaXB0b3JzXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRvckZyb21Tb3VyY2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNzaWduYWxTb3VyY2VzKCkuZGVzY3JpcHRvcj8uKCkpO1xuICAgIHJlYWRvbmx5ICNkZXNjcmlwdG9yID0gc2lnbmFsPFRhYmxlRGVzY3JpcHRvckluc3Q8YW55LCBhbnksIGFueT4+KHRhYmxlRGVzY3JpcHRvcjxzdHJpbmcsIHN0cmluZywgc3RyaW5nPigpKTtcbiAgICByZWFkb25seSBkZXNjcmlwdG9yID0gdGhpcy4jZGVzY3JpcHRvci5hc1JlYWRvbmx5KCk7XG4gICAgI3VwZGF0ZURlc2NyaXB0b3JGcm9tU291cmNlRWZmZWN0ID0gZWZmZWN0V2l0aERlcHMoW3RoaXMuZGVzY3JpcHRvckZyb21Tb3VyY2VdLCAoW2RdKSA9PiB7XG4gICAgICAgIGlmIChkICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuI2Rlc2NyaXB0b3Iuc2V0KGQpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBwYWdpbmF0aW9uXG4gICAgcm93c1BlclBhZ2VPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gdGhpcy5kZXNjcmlwdG9yKCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRlc2NyaXB0b3Iucm93c1BlclBhZ2VPcHRpb25zKSAmJiBkZXNjcmlwdG9yLnJvd3NQZXJQYWdlT3B0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVzY3JpcHRvci5yb3dzUGVyUGFnZU9wdGlvbnM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gWzI1LCA1MCwgMTAwXTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gZmlsdGVyc1xuICAgIHJlYWRvbmx5IGZpbHRlckRlc2NyaXB0b3JzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5kZXNjcmlwdG9yKCkuZmlsdGVycyk7XG4gICAgcmVhZG9ubHkgZmlsdGVycyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICBjb25zdCBvYnNlcnZlciA9IHRoaXMuI3RyYW5zbGF0aW9uT2JzZXJ2ZXIoKTsgLy8gbmVlZCB0aGlzIG9uZSB0byB0cmFjayBsYW5ndWFnZSBjaGFuZ2VzXG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlckRlc2NyaXB0b3JzKCkubWFwKGQgPT4gdGhpcy5tYXBEZXNjcmlwdG9yVG9NZXRhZGF0YShkKSk7XG4gICAgfSk7XG4gICAgcmVhZG9ubHkgZ2VuZXJpY0ZpbHRlckRlc2NyaXB0b3IgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRlc2NyaXB0b3IoKS5nZW5lcmljRmlsdGVyKTtcbiAgICByZWFkb25seSAjZ2VuZXJpY0ZpbHRlcnMgPSBzaWduYWw8RmlsdGVyTWV0YWRhdGFbXT4oW10pO1xuICAgIHJlYWRvbmx5IGdlbmVyaWNGaWx0ZXJzID0gdGhpcy4jZ2VuZXJpY0ZpbHRlcnMuYXNSZWFkb25seSgpO1xuXG4gICAgLy8gc2VhcmNoXG4gICAgcmVhZG9ubHkgI3NlYXJjaEZpZWxkc0Zyb21TaWduYWxTb3VyY2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLiNzaWduYWxTb3VyY2VzKCkuc2VhcmNoRmllbGRzPy4oKSk7XG4gICAgcmVhZG9ubHkgI3NlYXJjaEZpZWxkcyA9IHNpZ25hbDxzdHJpbmdbXT4oW10pO1xuICAgIHJlYWRvbmx5IHNlYXJjaEZpZWxkcyA9IHRoaXMuI3NlYXJjaEZpZWxkcy5hc1JlYWRvbmx5KCk7XG4gICAgI3NlYXJjaEZpZWxkc0VmZmVjdCA9IGVmZmVjdFdpdGhEZXBzKFt0aGlzLmRlc2NyaXB0b3IsIHRoaXMuI3NlYXJjaEZpZWxkc0Zyb21TaWduYWxTb3VyY2VdLCAoW2Rlc2NyaXB0b3IsIHNlYXJjaEZpZWxkc0Zyb21TaWduYWxTb3VyY2VdKSA9PiB7XG4gICAgICAgIHRoaXMuI3NlYXJjaEZpZWxkcy5zZXQoXG4gICAgICAgICAgICBzZWFyY2hGaWVsZHNGcm9tU2lnbmFsU291cmNlID8/IChkZXNjcmlwdG9yLnNlYXJjaCAmJiBkZXNjcmlwdG9yLnNlYXJjaEZpZWxkcyA/IGRlc2NyaXB0b3Iuc2VhcmNoRmllbGRzIDogdGhpcy5kZXNjcmlwdG9yKCkuY29sdW1ucy5tYXAoYyA9PiBjLnByb3BlcnR5KSlcbiAgICAgICAgKTtcbiAgICB9KTtcblxuICAgIC8vIHBhcmFtc1xuICAgIHJlYWRvbmx5IGRlZmF1bHRQYXJhbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtczogRGF0YUxpc3RQYXJhbXMgPSB7XG4gICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICBsaW1pdDogdGhpcy5yb3dzUGVyUGFnZU9wdGlvbnMoKVswXSxcbiAgICAgICAgICAgIHNvcnQ6IHRoaXMuZGVzY3JpcHRvcigpXG4gICAgICAgICAgICAgICAgLnNvcnRzLmZpbHRlcihzID0+IHMuZGVmYXVsdElzRW5hYmxlZClcbiAgICAgICAgICAgICAgICAuc29ydCgoczEsIHMyKSA9PiAoczEuZGVmYXVsdE9yZGVyID8/IDEwMDApIC0gKHMyLmRlZmF1bHRPcmRlciA/PyAxMDAwKSlcbiAgICAgICAgICAgICAgICAubWFwKHMgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydHk6IHMucHJvcGVydHksXG4gICAgICAgICAgICAgICAgICAgIGFzY2VuZGluZzogcy5kZWZhdWx0SXNBc2NlbmRpbmdcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBmaWx0ZXJzOiB7fVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZmlsdGVycygpXG4gICAgICAgICAgICAuZmlsdGVyKGYgPT4gZi5kZXNjcmlwdG9yLmhhc0RlZmF1bHRWYWx1ZSlcbiAgICAgICAgICAgIC5mb3JFYWNoKGYgPT4ge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5maWx0ZXJzIVtmLmRlc2NyaXB0b3IucHJvcGVydHldID0ge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZi5kZXNjcmlwdG9yLmRlZmF1bHRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hNb2RlOiBmLmRlZmF1bHRNYXRjaE1vZGVcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9KTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBmaWx0ZXJBcHBseVNlcmlhbGl6YXRpb25Db25maWdUb0NtcCh0aGlzLm1vZHVsZUNvbmZpZywgdGhpcy5zZXJpYWxpemF0aW9uQ2ZnKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5nZW5lcmljRmlsdGVyRGVzY3JpcHRvciksIHRvT2JzZXJ2YWJsZSh0aGlzLiN0cmFuc2xhdGlvbk9ic2VydmVyKV0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKFtnZW5lcmljRmlsdGVyRGVzY3JpcHRvcl0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGdlbmVyaWNGaWx0ZXJEZXNjcmlwdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhUHJvdmlkZXIgPSB0aGlzLmdlbmVyaWNGaWx0ZXJEZXNjcmlwdG9yKCk/LnByb3BlcnR5TG9va3VwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2VuZXJpY0ZpbHRlclNlcnZpY2UgPSBkYXRhUHJvdmlkZXI/LnNlcnZpY2VUeXBlID8gdGhpcy4jaW5qZWN0b3IuZ2V0PGFueT4oZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlKSA6IG51bGw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZldGNoIGZpbHRlcmFibGUgcHJvcGVydGllc1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbW1vbnNUb09ic2VydmFibGUoZ2VuZXJpY0ZpbHRlckRlc2NyaXB0b3IucHJvcGVydHlMb29rdXAubG9va3VwKHt9LCBnZW5lcmljRmlsdGVyU2VydmljZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IGdlbmVyaWNGaWx0ZXJzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2V0IGRlc2NyaXB0b3JzIGZyb20gZ2VuZXJpYyBmaWx0ZXIgZGF0YVxuICAgICAgICAgICAgICAgICAgICB0aGlzLiNnZW5lcmljRmlsdGVycy5zZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVGaWx0ZXJEZXNjcmlwdG9yc0Zyb21HZW5lcmljKGdlbmVyaWNGaWx0ZXJzLCB0aGlzLmdlbmVyaWNGaWx0ZXJEZXNjcmlwdG9yKCk/LnZhbHVlTG9va3VwKS5tYXAoZCA9PiB0aGlzLm1hcERlc2NyaXB0b3JUb01ldGFkYXRhKGQpKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTaWduYWxTb3VyY2VzKGRlc2NyaXB0b3I6IFNpZ25hbDxUYWJsZURlc2NyaXB0b3JJbnN0PGFueSwgYW55Pj4sIHNlYXJjaEZpZWxkczogU2lnbmFsPHN0cmluZ1tdIHwgdW5kZWZpbmVkPikge1xuICAgICAgICB0aGlzLiNzaWduYWxTb3VyY2VzLnNldCh7ZGVzY3JpcHRvciwgc2VhcmNoRmllbGRzfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERlc2NyaXB0b3IoZGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxhbnksIGFueSwgYW55Pikge1xuICAgICAgICBpZiAodGhpcy5kZXNjcmlwdG9yRnJvbVNvdXJjZSgpIGluc3RhbmNlb2YgVGFibGVEeW5hbWljRGVzY3JpcHRvckluc3QpIHtcbiAgICAgICAgICAgIHRoaXMuI2Rlc2NyaXB0b3Iuc2V0KGRlc2NyaXB0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYXBEZXNjcmlwdG9yVG9NZXRhZGF0YShkZXNjcmlwdG9yOiBGaWx0ZXJEZXNjcmlwdG9yPGFueSwgYW55Pik6IEZpbHRlck1ldGFkYXRhIHtcbiAgICAgICAgY29uc3QgbWF0Y2hNb2RlcyA9IGZpbHRlckdlbmVyYXRlTWF0Y2hNb2RlT3B0aW9ucyh0aGlzLnByaW1lQ29uZmlnLCBkZXNjcmlwdG9yLCB0aGlzLnNlcmlhbGl6YXRpb25DZmcpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGVzY3JpcHRvcjogZGVzY3JpcHRvcixcbiAgICAgICAgICAgIG1hdGNoTW9kZXM6IG1hdGNoTW9kZXMsXG4gICAgICAgICAgICBkZWZhdWx0TWF0Y2hNb2RlOiBmaWx0ZXJHZXREZWZhdWx0TWF0Y2hNb2RlKGRlc2NyaXB0b3IsIG1hdGNoTW9kZXMpLFxuICAgICAgICAgICAgZGF0ZUNvbmZpZzogZmlsdGVyR2V0RGF0ZUNvbmZpZyhkZXNjcmlwdG9yLCB0aGlzLnNlcmlhbGl6YXRpb25DZmcpLFxuICAgICAgICAgICAgbnVtYmVyQ29uZmlnOiBmaWx0ZXJHZXROdW1iZXJDb25maWcoZGVzY3JpcHRvcilcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|