@mediusinc/mng-commons 6.2.0-rc.0 → 7.0.0-rc.0
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/index.d.ts +1743 -84
- package/fesm2022/mediusinc-mng-commons-core.mjs +104 -87
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +97 -97
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-Dvenjj9n.mjs +30 -0
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-Dvenjj9n.mjs.map +1 -0
- package/fesm2022/{mediusinc-mng-commons-table-mediusinc-mng-commons-table-8TdW6NCC.mjs → mediusinc-mng-commons-table-mediusinc-mng-commons-table-DFcdSUCN.mjs} +183 -186
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-DFcdSUCN.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table.mjs +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +3 -3
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +305 -289
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/filter/index.d.ts +398 -5
- package/form/api/index.d.ts +134 -7
- package/form/index.d.ts +301 -6
- package/index.d.ts +11 -1
- package/model/class/index.d.ts +25 -4
- package/model/index.d.ts +71 -5
- package/package.json +10 -10
- package/table/api/class/index.d.ts +77 -5
- package/table/api/index.d.ts +1161 -14
- package/table/index.d.ts +545 -17
- package/tableview/api/class/index.d.ts +141 -10
- package/tableview/api/index.d.ts +2542 -63
- package/tableview/index.d.ts +1274 -54
- package/version-info.json +5 -5
- package/core/action/action-data.model.d.ts +0 -3
- package/core/action/action-parameters.model.d.ts +0 -44
- package/core/components/notification/notification-wrapper.component.d.ts +0 -14
- package/core/data-list/data-list-params-helpers.d.ts +0 -93
- package/core/data-list/data-list.model.d.ts +0 -28
- package/core/data-list/filter-match.model.d.ts +0 -36
- package/core/data-list/filter-metadata.model.d.ts +0 -20
- package/core/data-providers/base.data-provider.d.ts +0 -17
- package/core/data-providers/lookup.data-provider.d.ts +0 -10
- package/core/descriptors/action.descriptor.d.ts +0 -12
- package/core/descriptors/column.descriptor.d.ts +0 -3
- package/core/descriptors/editor.descriptor.d.ts +0 -11
- package/core/descriptors/enum.descriptor.d.ts +0 -6
- package/core/descriptors/filter.descriptor.d.ts +0 -3
- package/core/descriptors/lookup.descriptor.d.ts +0 -12
- package/core/descriptors/model.descriptor.d.ts +0 -5
- package/core/descriptors/table.descriptor.d.ts +0 -11
- package/core/descriptors/tableview.descriptor.d.ts +0 -11
- package/core/directives/component.directive.d.ts +0 -18
- package/core/directives/rerender.directive.d.ts +0 -9
- package/core/directives/template.directive.d.ts +0 -8
- package/core/enum/enum-helpers.d.ts +0 -54
- package/core/enum/enum.model.d.ts +0 -8
- package/core/error/error-handler.d.ts +0 -6
- package/core/error/error-helpers.d.ts +0 -136
- package/core/error/error.model.d.ts +0 -53
- package/core/helpers/coercion.d.ts +0 -10
- package/core/helpers/date.d.ts +0 -14
- package/core/helpers/notification.d.ts +0 -18
- package/core/helpers/number.d.ts +0 -5
- package/core/helpers/object.d.ts +0 -27
- package/core/helpers/route.d.ts +0 -34
- package/core/helpers/string.d.ts +0 -7
- package/core/helpers/templates.d.ts +0 -3
- package/core/helpers/type-helpers.d.ts +0 -37
- package/core/i18n/i18n-common.d.ts +0 -6
- package/core/i18n/i18n-error.d.ts +0 -3
- package/core/i18n/i18n-type.d.ts +0 -11
- package/core/log/log-publisher-console.service.d.ts +0 -4
- package/core/log/log.model.d.ts +0 -40
- package/core/log/logger.service.d.ts +0 -33
- package/core/models/class-attribute.model.d.ts +0 -6
- package/core/models/class-service.model.d.ts +0 -7
- package/core/models/getter.model.d.ts +0 -2
- package/core/models/i18n.model.d.ts +0 -1
- package/core/models/menu.model.d.ts +0 -42
- package/core/models/user.model.d.ts +0 -8
- package/core/models/version.model.d.ts +0 -31
- package/core/pipes/boolean.pipe.d.ts +0 -7
- package/core/pipes/class-map.pipe.d.ts +0 -7
- package/core/pipes/enum.pipe.d.ts +0 -8
- package/core/pipes/enumerate-async.pipe.d.ts +0 -9
- package/core/pipes/enumerate.pipe.d.ts +0 -16
- package/core/pipes/getter.pipe.d.ts +0 -8
- package/core/pipes/i18n-property.pipe.d.ts +0 -8
- package/core/pipes/json-path.pipe.d.ts +0 -13
- package/core/pipes/parametrize.pipe.d.ts +0 -16
- package/core/pipes/template.pipe.d.ts +0 -8
- package/core/provide.d.ts +0 -13
- package/core/reactivity/effect.d.ts +0 -16
- package/core/reflect/type-enum-decorator.d.ts +0 -2
- package/core/reflect/type-enum-metadata.d.ts +0 -32
- package/core/registry/registry.model.d.ts +0 -8
- package/core/registry/type-registry.d.ts +0 -27
- package/core/router/route-builder.d.ts +0 -187
- package/core/router/router.model.d.ts +0 -13
- package/core/router/routes-builder.d.ts +0 -33
- package/core/rxjs/map-data-list-result-operator.d.ts +0 -9
- package/core/security/permission-helpers.d.ts +0 -3
- package/core/security/permission.guard.d.ts +0 -2
- package/core/security/permission.service.d.ts +0 -25
- package/core/security/permissions.model.d.ts +0 -82
- package/core/services/commons-configuration.service.d.ts +0 -81
- package/core/services/commons-init.service.d.ts +0 -30
- package/core/services/commons-router.service.d.ts +0 -37
- package/core/services/commons-storage.service.d.ts +0 -12
- package/core/services/commons.service.d.ts +0 -47
- package/core/services/providers/commons-init.provider.d.ts +0 -4
- package/core/services/tokens/browser-storage.token.d.ts +0 -2
- package/core/services/tokens/commons-init.token.d.ts +0 -3
- package/core/services/tokens/log-publisher.token.d.ts +0 -3
- package/core/services/tokens/module-config.token.d.ts +0 -28
- package/core/styles/style-constants.d.ts +0 -11
- package/core/styles/style.model.d.ts +0 -18
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-CCyGSxaD.mjs +0 -30
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-CCyGSxaD.mjs.map +0 -1
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-8TdW6NCC.mjs.map +0 -1
- package/filter/descriptors/filter-generic.descriptor.d.ts +0 -14
- package/filter/descriptors/filter-lookup.descriptor.d.ts +0 -97
- package/filter/descriptors/filter.descriptor.d.ts +0 -264
- package/filter/models/filter-generic-property.model.d.ts +0 -7
- package/filter/models/filter.model.d.ts +0 -16
- package/form/api/data-providers/lookup-data-provider.factory.d.ts +0 -19
- package/form/api/data-providers/lookup.data-provider.d.ts +0 -7
- package/form/api/descriptors/action-button.descriptor.d.ts +0 -23
- package/form/api/descriptors/button-style.builder.d.ts +0 -54
- package/form/api/models/button.model.d.ts +0 -19
- package/form/api/models/empty-value.model.d.ts +0 -7
- package/form/api/models/trim.model.d.ts +0 -1
- package/form/components/autocomplete/autocomplete.component.d.ts +0 -99
- package/form/components/date-range/date-range.component.d.ts +0 -37
- package/form/components/dropdown/dropdown.component.d.ts +0 -89
- package/form/components/number-range/number-range.component.d.ts +0 -35
- package/form/directives/input-empty-value.directive.d.ts +0 -40
- package/form/directives/input-trim.directive.d.ts +0 -9
- package/model/class/data-providers/base-from-class-data-provider.factory.d.ts +0 -3
- package/model/class/descriptors/model-class.descriptor.d.ts +0 -12
- package/model/class/descriptors/type-class.descriptor.d.ts +0 -3
- package/model/class/helpers/model.d.ts +0 -4
- package/model/data-providers/base-from-type-data-provider.factory.d.ts +0 -15
- package/model/descriptors/enum.descriptor.d.ts +0 -13
- package/model/descriptors/model.descriptor.d.ts +0 -25
- package/model/descriptors/type.descriptor.d.ts +0 -3
- package/model/helpers/i18n.d.ts +0 -13
- package/provide.d.ts +0 -7
- package/table/api/class/class-table-attribute-converter.d.ts +0 -15
- package/table/api/class/class-table-attribute.model.d.ts +0 -8
- package/table/api/class/class-table-data-provider.factory.d.ts +0 -4
- package/table/api/class/class-table-descriptor-helpers.d.ts +0 -42
- package/table/api/class/class-table-descriptor.factory.d.ts +0 -11
- package/table/api/data-providers/table-data-provider.factory.d.ts +0 -19
- package/table/api/data-providers/table.data-provider.d.ts +0 -27
- package/table/api/descriptors/column.descriptor.d.ts +0 -269
- package/table/api/descriptors/sort.descriptor.d.ts +0 -39
- package/table/api/descriptors/table-descriptor.factory.d.ts +0 -12
- package/table/api/descriptors/table.descriptor.d.ts +0 -672
- package/table/api/helpers/column-converter.d.ts +0 -7
- package/table/api/helpers/table-data-provider-descriptor-convert.d.ts +0 -20
- package/table/api/models/column-value.model.d.ts +0 -7
- package/table/api/models/column.model.d.ts +0 -18
- package/table/api/models/row-expandable-component.model.d.ts +0 -4
- package/table/api/models/table-columns.model.d.ts +0 -42
- package/table/api/models/table-event.model.d.ts +0 -18
- package/table/api/models/table.model.d.ts +0 -22
- package/table/components/column-filter/column-filter.component.d.ts +0 -81
- package/table/components/column-toggle/column-toggle.component.d.ts +0 -12
- package/table/components/column-value/column-value.component.d.ts +0 -33
- package/table/components/filter/filter-active-tag/filter-active-tag.component.d.ts +0 -20
- package/table/components/filter/filter-form/filter-form.component.d.ts +0 -56
- package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +0 -54
- package/table/components/table/table.component.d.ts +0 -83
- package/table/helpers/filters.d.ts +0 -37
- package/table/helpers/notification.d.ts +0 -13
- package/table/helpers/table-layout-prefs.d.ts +0 -7
- package/table/helpers/table.d.ts +0 -6
- package/table/models/column-preferences.model.d.ts +0 -12
- package/table/models/filter.model.d.ts +0 -36
- package/table/pipes/filter-value.pipe.d.ts +0 -19
- package/table/pipes/locale-default-row-class.pipe.d.ts +0 -10
- package/table/pipes/table-column-filter-class.pipe.d.ts +0 -8
- package/table/provide.d.ts +0 -15
- package/table/services/table-data.service.d.ts +0 -37
- package/table/services/table-feature-config.token.d.ts +0 -7
- package/table/services/table-metadata.service.d.ts +0 -31
- package/table/services/table-preferences.service.d.ts +0 -25
- package/tableview/action/components/action/action.component.d.ts +0 -63
- package/tableview/action/components/editor/action-editor.component.d.ts +0 -32
- package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +0 -79
- package/tableview/action/components/localization/data-language-dropdown.component.d.ts +0 -19
- package/tableview/action/components/route/action-route.component.d.ts +0 -26
- package/tableview/action/components/table/action-table.component.d.ts +0 -50
- package/tableview/action/guards/unsaved-changes.guard.d.ts +0 -3
- package/tableview/action/helpers/action-execution.d.ts +0 -7
- package/tableview/action/helpers/i18n.d.ts +0 -47
- package/tableview/action/helpers/inject.d.ts +0 -39
- package/tableview/action/helpers/notification.d.ts +0 -40
- package/tableview/action/helpers/styles.d.ts +0 -5
- package/tableview/action/models/action-editor-dialog-data.model.d.ts +0 -11
- package/tableview/action/models/can-component-deactivate.model.d.ts +0 -4
- package/tableview/action/models/execution/action-context.model.d.ts +0 -43
- package/tableview/action/models/execution/action-instance.model.d.ts +0 -56
- package/tableview/action/services/action-error-mapper.service.d.ts +0 -18
- package/tableview/action/services/action-executor.service.d.ts +0 -174
- package/tableview/action/services/component-action-executor.service.d.ts +0 -9
- package/tableview/action/services/data-provider-executor.service.d.ts +0 -23
- package/tableview/action/services/navigation.service.d.ts +0 -15
- package/tableview/action/services/providers/provide-action-executor.d.ts +0 -2
- package/tableview/action/services/providers/provide-view-container.d.ts +0 -2
- package/tableview/action/services/root-action-executor.service.d.ts +0 -9
- package/tableview/action/services/tokens/action-editor.token.d.ts +0 -2
- package/tableview/action/services/view-container.service.d.ts +0 -25
- package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +0 -25
- package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +0 -24
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +0 -105
- package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +0 -23
- package/tableview/api/action/descriptors/action-link.descriptor.d.ts +0 -27
- package/tableview/api/action/descriptors/action.descriptor.d.ts +0 -118
- package/tableview/api/action/descriptors/editor-action-descriptor.factory.d.ts +0 -21
- package/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.d.ts +0 -21
- package/tableview/api/action/descriptors/table-action-descriptor.factory.d.ts +0 -36
- package/tableview/api/action/descriptors/table-action-editor-descriptor.factory.d.ts +0 -40
- package/tableview/api/action/helpers/data-provider-executors.d.ts +0 -23
- package/tableview/api/action/models/action-component.model.d.ts +0 -12
- package/tableview/api/action/models/action-confirmation.model.d.ts +0 -16
- package/tableview/api/action/models/action-descriptor.types.d.ts +0 -10
- package/tableview/api/action/models/action-editor.model.d.ts +0 -4
- package/tableview/api/action/models/action-error.model.d.ts +0 -14
- package/tableview/api/action/models/action.type.d.ts +0 -21
- package/tableview/api/action/models/execution/action-context-validation.model.d.ts +0 -11
- package/tableview/api/action/models/execution/action-context.model.d.ts +0 -25
- package/tableview/api/action/models/execution/action-execution-error.model.d.ts +0 -4
- package/tableview/api/action/models/execution/action-instance-state.model.d.ts +0 -30
- package/tableview/api/action/models/execution/action-instance.model.d.ts +0 -32
- package/tableview/api/action/models/execution/view-container.model.d.ts +0 -22
- package/tableview/api/action/models/tableview-action-default-categories.model.d.ts +0 -10
- package/tableview/api/action/services/data-provider-executor.service.d.ts +0 -39
- package/tableview/api/action/services/tokens/data-language-dropdown.token.d.ts +0 -2
- package/tableview/api/class/editor/class-editor-attribute-converter.d.ts +0 -21
- package/tableview/api/class/editor/class-editor-attribute.model.d.ts +0 -7
- package/tableview/api/class/editor/class-editor-data-provider.factory.d.ts +0 -4
- package/tableview/api/class/editor/class-editor-descriptor-helpers.d.ts +0 -40
- package/tableview/api/class/editor/class-editor-descriptor.factory.d.ts +0 -11
- package/tableview/api/class/tableview/class-tableview-attribute-converter.d.ts +0 -8
- package/tableview/api/class/tableview/class-tableview-attribute.model.d.ts +0 -3
- package/tableview/api/class/tableview/class-tableview-data-provider.factory.d.ts +0 -4
- package/tableview/api/class/tableview/class-tableview-descriptor-helpers.d.ts +0 -41
- package/tableview/api/class/tableview/class-tableview-descriptor.factory.d.ts +0 -12
- package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +0 -19
- package/tableview/api/editor/data-providers/editor.data-provider.d.ts +0 -119
- package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +0 -11
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +0 -254
- package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +0 -21
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +0 -147
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +0 -58
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +0 -80
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +0 -56
- package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +0 -16
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +0 -239
- package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +0 -25
- package/tableview/api/editor/models/editor-fields.model.d.ts +0 -42
- package/tableview/api/editor/models/editor.model.d.ts +0 -7
- package/tableview/api/editor/models/field-action-context.model.d.ts +0 -26
- package/tableview/api/editor/models/field-image-preview.model.d.ts +0 -4
- package/tableview/api/editor/models/field-validation.model.d.ts +0 -26
- package/tableview/api/editor/models/field.model.d.ts +0 -56
- package/tableview/api/editor/models/form-editor.event.d.ts +0 -74
- package/tableview/api/editor/models/form-editor.interface.d.ts +0 -53
- package/tableview/api/editor/models/formly-custom-field.model.d.ts +0 -30
- package/tableview/api/editor/models/formly-field.model.d.ts +0 -42
- package/tableview/api/editor/models/formly-options.model.d.ts +0 -15
- package/tableview/api/editor/models/radio.model.d.ts +0 -6
- package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +0 -24
- package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +0 -33
- package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +0 -23
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +0 -153
- package/tableview/api/tableview/helpers/files-export.d.ts +0 -4
- package/tableview/api/tableview/helpers/tableview-create.d.ts +0 -29
- package/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.d.ts +0 -20
- package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +0 -93
- package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +0 -192
- package/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.d.ts +0 -9
- package/tableview/api/tableview/models/tableview-descriptor-helper.type.d.ts +0 -2
- package/tableview/api/tableview/models/tableview-input.model.d.ts +0 -8
- package/tableview/api/tableview/models/tableview-route.model.d.ts +0 -20
- package/tableview/editor/components/editor/auto-save-status/auto-save-status.component.d.ts +0 -10
- package/tableview/editor/components/editor/form-editor.component.d.ts +0 -117
- package/tableview/editor/components/formly/constants.d.ts +0 -1
- package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +0 -15
- package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +0 -11
- package/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +0 -10
- package/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.d.ts +0 -24
- package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +0 -10
- package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +0 -12
- package/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.d.ts +0 -33
- package/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.d.ts +0 -10
- package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +0 -36
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +0 -22
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +0 -37
- package/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +0 -10
- package/tableview/editor/components/formly/fields/formly-field-type.abstract.component.d.ts +0 -11
- package/tableview/editor/components/formly/fields/formly-group-type.abstract.component.d.ts +0 -7
- package/tableview/editor/components/formly/fields/formly-type.abstract.component.d.ts +0 -20
- package/tableview/editor/components/formly/pipes/formly-field-label.pipe.d.ts +0 -8
- package/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +0 -18
- package/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +0 -16
- package/tableview/editor/helpers/editor-autosave.d.ts +0 -17
- package/tableview/editor/helpers/editor-field.d.ts +0 -2
- package/tableview/editor/helpers/editor-formly.d.ts +0 -11
- package/tableview/editor/helpers/editor-validators.d.ts +0 -7
- package/tableview/editor/helpers/field-create.d.ts +0 -9
- package/tableview/editor/helpers/formly-config.d.ts +0 -18
- package/tableview/editor/helpers/notification.d.ts +0 -4
- package/tableview/editor/models/editor-auto-save-preview.model.d.ts +0 -10
- package/tableview/editor/models/formly-config.model.d.ts +0 -14
- package/tableview/editor/models/formly.model.d.ts +0 -23
- package/tableview/editor/services/form-editor.service.d.ts +0 -39
- package/tableview/editor/services/formly-config.provider.d.ts +0 -5
- package/tableview/provide.d.ts +0 -15
- package/tableview/tableview/components/route/tableview-route.component.d.ts +0 -7
- package/tableview/tableview/components/tableview/tableview.component.d.ts +0 -29
- package/tableview/tableview/router/tableview-route-builder.d.ts +0 -43
- package/tableview/tableview/services/tableview-feature-config.token.d.ts +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediusinc-mng-commons-model-class.mjs","sources":["../../model/class/src/data-providers/base-from-class-data-provider.factory.ts","../../model/class/src/helpers/model.ts","../../model/class/src/descriptors/model-class.descriptor.ts","../../model/class/src/descriptors/type-class.descriptor.ts","../../model/class/src/index.ts","../../model/class/src/mediusinc-mng-commons-model-class.ts"],"sourcesContent":["import {ClassType, DataProviderInst, ServiceClassType} from '@mediusinc/mng-commons/core';\n\nexport function dataProviderFromClass<Model>(type: ClassType<Model>): DataProviderInst<Model, undefined, undefined>;\nexport function dataProviderFromClass<Model, Service = any>(\n type: ClassType<Model>,\n ServiceClass: ServiceClassType<Service>\n): DataProviderInst<Model, Service, ServiceClassType<Service>>;\nexport function dataProviderFromClass<Model, Service = any, ServiceClass = ServiceClassType<Service>>(type: ClassType<Model>, serviceType?: ServiceClass) {\n return new DataProviderInst<Model, Service, ServiceClass>(serviceType as ServiceClass);\n}\n","import {ClassAttributeDef, ClassType, TypeRegistry} from '@mediusinc/mng-commons/core';\n\nexport function findClassIdAttribute<T>(classType?: ClassType<T>): string | null {\n if (!classType) return null;\n\n const attrDef = getClassAttributeDef(classType);\n if (!attrDef) {\n return null;\n }\n\n let idAttribute = findAttributeByTypeAndName(attrDef, ['string', 'number'], 'id', 'uuid', 'code', 'sifra');\n if (!idAttribute) {\n // if no id or code, take the first attribute\n idAttribute = attrDef[0];\n }\n\n return idAttribute?.name ?? null;\n}\n\nexport function findClassTitleAttribute<T>(classType?: ClassType<T>): string | null {\n if (!classType) return null;\n\n const attrDef = getClassAttributeDef(classType);\n if (!attrDef) {\n return null;\n }\n\n let titleAttribute = findAttributeByTypeAndName(attrDef, ['string'], 'name', 'ime', 'title', 'naziv');\n if (!titleAttribute) {\n // if no name or title, take the first attribute\n titleAttribute = attrDef[0];\n }\n\n return titleAttribute?.name ?? null;\n}\n\nexport function getClassAttributeDef<T>(classType?: ClassType<T>) {\n if (!classType) return null;\n const attrDefByFn = (classType as any).getAttributeTypeMap?.() as Array<ClassAttributeDef> | undefined;\n if (attrDefByFn) return attrDefByFn;\n const attrDefByProp = (classType as any).attributeTypeMap as Array<ClassAttributeDef> | undefined;\n if (attrDefByProp) return attrDefByProp;\n const attrByObjSer = TypeRegistry.get().findAttributesDefinitionByClassType(classType);\n if (attrByObjSer) return attrByObjSer;\n return null;\n}\n\nfunction findAttributeByTypeAndName(attributes: ClassAttributeDef[], types: string[], ...names: string[]): ClassAttributeDef | null {\n for (const name of names) {\n const attribute = attributes.find(a => types.some(t => t === a.type) && a.name === name);\n if (attribute) {\n return attribute;\n }\n }\n return null;\n}\n","import {ClassType, IModelDescriptor, findReflectTypeName} from '@mediusinc/mng-commons/core';\nimport {ModelDescriptor, ModelDescriptorCreateOpts} from '@mediusinc/mng-commons/model';\n\nimport {findClassIdAttribute, findClassTitleAttribute} from '../helpers/model';\n\nexport class ModelClassDescriptor<Model> extends ModelDescriptor<Model> implements IModelDescriptor<Model> {\n private readonly _classType: ClassType<Model>;\n\n public constructor(_type: ClassType<Model>, idProperty?: string, titleProperty?: string | ((item: Model) => string), i18nBaseKey?: string) {\n super(idProperty, titleProperty, i18nBaseKey);\n this._classType = _type;\n }\n\n public get classType() {\n return this._classType;\n }\n\n public override copy(): ModelClassDescriptor<Model> {\n return new ModelClassDescriptor<Model>(this._classType, this._idProperty, this._titleProperty, this._i18nBaseKey);\n }\n}\n\nexport type ModelClassDescriptorCreateOpts<Model> = Omit<ModelDescriptorCreateOpts<Model>, 'i18nBase'> & {\n i18nBase?: string | ClassType<unknown>;\n};\n\nexport function modelClass<Model>(type: ClassType<Model>, opts?: ModelClassDescriptorCreateOpts<Model>): ModelClassDescriptor<Model> {\n let idProperty = opts?.id as string | undefined;\n if (!idProperty && type) {\n idProperty = findClassIdAttribute(type as unknown as ClassType<Model>) ?? undefined;\n }\n let titleProp = opts?.title as string | ((item: Model) => string) | undefined;\n if (!titleProp && type) {\n titleProp = findClassTitleAttribute(type as unknown as ClassType<Model>) ?? undefined;\n }\n const i18nBaseKey =\n opts?.i18nBase != null ? (typeof opts?.i18nBase === 'string' ? opts.i18nBase : findReflectTypeName(opts.i18nBase)) : findReflectTypeName(type as ClassType<Model>);\n return new ModelClassDescriptor<Model>(type, idProperty, titleProp, i18nBaseKey ?? undefined);\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {TypeDescriptor} from '@mediusinc/mng-commons/model';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function typeFromClass<Type>(type: ClassType<Type>): TypeDescriptor<Type> {\n return new TypeDescriptor<Type>();\n}\n","// data providers\nexport * from './data-providers/base-from-class-data-provider.factory';\n\n// descriptors\nexport * from './descriptors/model-class.descriptor';\nexport * from './descriptors/type-class.descriptor';\n\n// helpers\nexport * from './helpers/model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mediusinc-mng-commons-model-class.mjs","sources":["../tmp-esm2022/model/class/data-providers/base-from-class-data-provider.factory.js","../tmp-esm2022/model/class/helpers/model.js","../tmp-esm2022/model/class/descriptors/model-class.descriptor.js","../tmp-esm2022/model/class/descriptors/type-class.descriptor.js","../tmp-esm2022/model/class/index.js","../tmp-esm2022/model/class/mediusinc-mng-commons-model-class.js"],"sourcesContent":["import { DataProviderInst } from '@mediusinc/mng-commons/core';\nexport function dataProviderFromClass(type, serviceType) {\n return new DataProviderInst(serviceType);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mcm9tLWNsYXNzLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGVsL2NsYXNzL3NyYy9kYXRhLXByb3ZpZGVycy9iYXNlLWZyb20tY2xhc3MtZGF0YS1wcm92aWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxnQkFBZ0IsRUFBbUIsTUFBTSw2QkFBNkIsQ0FBQztBQU8xRixNQUFNLFVBQVUscUJBQXFCLENBQWlFLElBQXNCLEVBQUUsV0FBMEI7SUFDcEosT0FBTyxJQUFJLGdCQUFnQixDQUErQixXQUEyQixDQUFDLENBQUM7QUFDM0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBEYXRhUHJvdmlkZXJJbnN0LCBTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsPih0eXBlOiBDbGFzc1R5cGU8TW9kZWw+KTogRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSA9IGFueT4oXG4gICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICBTZXJ2aWNlQ2xhc3M6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIGRhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSA9IGFueSwgU2VydmljZUNsYXNzID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNlcnZpY2VDbGFzcz4oc2VydmljZVR5cGUgYXMgU2VydmljZUNsYXNzKTtcbn1cbiJdfQ==","import { TypeRegistry } from '@mediusinc/mng-commons/core';\nexport function findClassIdAttribute(classType) {\n if (!classType)\n return null;\n const attrDef = getClassAttributeDef(classType);\n if (!attrDef) {\n return null;\n }\n let idAttribute = findAttributeByTypeAndName(attrDef, ['string', 'number'], 'id', 'uuid', 'code', 'sifra');\n if (!idAttribute) {\n // if no id or code, take the first attribute\n idAttribute = attrDef[0];\n }\n return idAttribute?.name ?? null;\n}\nexport function findClassTitleAttribute(classType) {\n if (!classType)\n return null;\n const attrDef = getClassAttributeDef(classType);\n if (!attrDef) {\n return null;\n }\n let titleAttribute = findAttributeByTypeAndName(attrDef, ['string'], 'name', 'ime', 'title', 'naziv');\n if (!titleAttribute) {\n // if no name or title, take the first attribute\n titleAttribute = attrDef[0];\n }\n return titleAttribute?.name ?? null;\n}\nexport function getClassAttributeDef(classType) {\n if (!classType)\n return null;\n const attrDefByFn = classType.getAttributeTypeMap?.();\n if (attrDefByFn)\n return attrDefByFn;\n const attrDefByProp = classType.attributeTypeMap;\n if (attrDefByProp)\n return attrDefByProp;\n const attrByObjSer = TypeRegistry.get().findAttributesDefinitionByClassType(classType);\n if (attrByObjSer)\n return attrByObjSer;\n return null;\n}\nfunction findAttributeByTypeAndName(attributes, types, ...names) {\n for (const name of names) {\n const attribute = attributes.find(a => types.some(t => t === a.type) && a.name === name);\n if (attribute) {\n return attribute;\n }\n }\n return null;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2RlbC9jbGFzcy9zcmMvaGVscGVycy9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRXZGLE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxTQUF3QjtJQUM1RCxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRTVCLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLFdBQVcsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0csSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2YsNkNBQTZDO1FBQzdDLFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sV0FBVyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7QUFDckMsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBSSxTQUF3QjtJQUMvRCxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRTVCLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLGNBQWMsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEIsZ0RBQWdEO1FBQ2hELGNBQWMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU8sY0FBYyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBSSxTQUF3QjtJQUM1RCxJQUFJLENBQUMsU0FBUztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQzVCLE1BQU0sV0FBVyxHQUFJLFNBQWlCLENBQUMsbUJBQW1CLEVBQUUsRUFBMEMsQ0FBQztJQUN2RyxJQUFJLFdBQVc7UUFBRSxPQUFPLFdBQVcsQ0FBQztJQUNwQyxNQUFNLGFBQWEsR0FBSSxTQUFpQixDQUFDLGdCQUF3RCxDQUFDO0lBQ2xHLElBQUksYUFBYTtRQUFFLE9BQU8sYUFBYSxDQUFDO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RixJQUFJLFlBQVk7UUFBRSxPQUFPLFlBQVksQ0FBQztJQUN0QyxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxVQUErQixFQUFFLEtBQWUsRUFBRSxHQUFHLEtBQWU7SUFDcEcsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc0F0dHJpYnV0ZURlZiwgQ2xhc3NUeXBlLCBUeXBlUmVnaXN0cnl9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2xhc3NJZEF0dHJpYnV0ZTxUPihjbGFzc1R5cGU/OiBDbGFzc1R5cGU8VD4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIWNsYXNzVHlwZSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBhdHRyRGVmID0gZ2V0Q2xhc3NBdHRyaWJ1dGVEZWYoY2xhc3NUeXBlKTtcbiAgICBpZiAoIWF0dHJEZWYpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IGlkQXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZUJ5VHlwZUFuZE5hbWUoYXR0ckRlZiwgWydzdHJpbmcnLCAnbnVtYmVyJ10sICdpZCcsICd1dWlkJywgJ2NvZGUnLCAnc2lmcmEnKTtcbiAgICBpZiAoIWlkQXR0cmlidXRlKSB7XG4gICAgICAgIC8vIGlmIG5vIGlkIG9yIGNvZGUsIHRha2UgdGhlIGZpcnN0IGF0dHJpYnV0ZVxuICAgICAgICBpZEF0dHJpYnV0ZSA9IGF0dHJEZWZbMF07XG4gICAgfVxuXG4gICAgcmV0dXJuIGlkQXR0cmlidXRlPy5uYW1lID8/IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQ2xhc3NUaXRsZUF0dHJpYnV0ZTxUPihjbGFzc1R5cGU/OiBDbGFzc1R5cGU8VD4pOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIWNsYXNzVHlwZSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBhdHRyRGVmID0gZ2V0Q2xhc3NBdHRyaWJ1dGVEZWYoY2xhc3NUeXBlKTtcbiAgICBpZiAoIWF0dHJEZWYpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IHRpdGxlQXR0cmlidXRlID0gZmluZEF0dHJpYnV0ZUJ5VHlwZUFuZE5hbWUoYXR0ckRlZiwgWydzdHJpbmcnXSwgJ25hbWUnLCAnaW1lJywgJ3RpdGxlJywgJ25heml2Jyk7XG4gICAgaWYgKCF0aXRsZUF0dHJpYnV0ZSkge1xuICAgICAgICAvLyBpZiBubyBuYW1lIG9yIHRpdGxlLCB0YWtlIHRoZSBmaXJzdCBhdHRyaWJ1dGVcbiAgICAgICAgdGl0bGVBdHRyaWJ1dGUgPSBhdHRyRGVmWzBdO1xuICAgIH1cblxuICAgIHJldHVybiB0aXRsZUF0dHJpYnV0ZT8ubmFtZSA/PyBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xhc3NBdHRyaWJ1dGVEZWY8VD4oY2xhc3NUeXBlPzogQ2xhc3NUeXBlPFQ+KSB7XG4gICAgaWYgKCFjbGFzc1R5cGUpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGF0dHJEZWZCeUZuID0gKGNsYXNzVHlwZSBhcyBhbnkpLmdldEF0dHJpYnV0ZVR5cGVNYXA/LigpIGFzIEFycmF5PENsYXNzQXR0cmlidXRlRGVmPiB8IHVuZGVmaW5lZDtcbiAgICBpZiAoYXR0ckRlZkJ5Rm4pIHJldHVybiBhdHRyRGVmQnlGbjtcbiAgICBjb25zdCBhdHRyRGVmQnlQcm9wID0gKGNsYXNzVHlwZSBhcyBhbnkpLmF0dHJpYnV0ZVR5cGVNYXAgYXMgQXJyYXk8Q2xhc3NBdHRyaWJ1dGVEZWY+IHwgdW5kZWZpbmVkO1xuICAgIGlmIChhdHRyRGVmQnlQcm9wKSByZXR1cm4gYXR0ckRlZkJ5UHJvcDtcbiAgICBjb25zdCBhdHRyQnlPYmpTZXIgPSBUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZEF0dHJpYnV0ZXNEZWZpbml0aW9uQnlDbGFzc1R5cGUoY2xhc3NUeXBlKTtcbiAgICBpZiAoYXR0ckJ5T2JqU2VyKSByZXR1cm4gYXR0ckJ5T2JqU2VyO1xuICAgIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5kQXR0cmlidXRlQnlUeXBlQW5kTmFtZShhdHRyaWJ1dGVzOiBDbGFzc0F0dHJpYnV0ZURlZltdLCB0eXBlczogc3RyaW5nW10sIC4uLm5hbWVzOiBzdHJpbmdbXSk6IENsYXNzQXR0cmlidXRlRGVmIHwgbnVsbCB7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXMuZmluZChhID0+IHR5cGVzLnNvbWUodCA9PiB0ID09PSBhLnR5cGUpICYmIGEubmFtZSA9PT0gbmFtZSk7XG4gICAgICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG4iXX0=","import { findReflectTypeName } from '@mediusinc/mng-commons/core';\nimport { ModelDescriptor } from '@mediusinc/mng-commons/model';\nimport { findClassIdAttribute, findClassTitleAttribute } from '../helpers/model';\nexport class ModelClassDescriptor extends ModelDescriptor {\n constructor(_type, idProperty, titleProperty, i18nBaseKey) {\n super(idProperty, titleProperty, i18nBaseKey);\n this._classType = _type;\n }\n get classType() {\n return this._classType;\n }\n copy() {\n return new ModelClassDescriptor(this._classType, this._idProperty, this._titleProperty, this._i18nBaseKey);\n }\n}\nexport function modelClass(type, opts) {\n let idProperty = opts?.id;\n if (!idProperty && type) {\n idProperty = findClassIdAttribute(type) ?? undefined;\n }\n let titleProp = opts?.title;\n if (!titleProp && type) {\n titleProp = findClassTitleAttribute(type) ?? undefined;\n }\n const i18nBaseKey = opts?.i18nBase != null ? (typeof opts?.i18nBase === 'string' ? opts.i18nBase : findReflectTypeName(opts.i18nBase)) : findReflectTypeName(type);\n return new ModelClassDescriptor(type, idProperty, titleProp, i18nBaseKey ?? undefined);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY2xhc3MuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21vZGVsL2NsYXNzL3NyYy9kZXNjcmlwdG9ycy9tb2RlbC1jbGFzcy5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsbUJBQW1CLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RixPQUFPLEVBQUMsZUFBZSxFQUE0QixNQUFNLDhCQUE4QixDQUFDO0FBRXhGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRS9FLE1BQU0sT0FBTyxvQkFBNEIsU0FBUSxlQUFzQjtJQUduRSxZQUFtQixLQUF1QixFQUFFLFVBQW1CLEVBQUUsYUFBa0QsRUFBRSxXQUFvQjtRQUNySSxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRWUsSUFBSTtRQUNoQixPQUFPLElBQUksb0JBQW9CLENBQVEsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RILENBQUM7Q0FDSjtBQU1ELE1BQU0sVUFBVSxVQUFVLENBQVEsSUFBc0IsRUFBRSxJQUE0QztJQUNsRyxJQUFJLFVBQVUsR0FBRyxJQUFJLEVBQUUsRUFBd0IsQ0FBQztJQUNoRCxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3RCLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxJQUFtQyxDQUFDLElBQUksU0FBUyxDQUFDO0lBQ3hGLENBQUM7SUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLEVBQUUsS0FBdUQsQ0FBQztJQUM5RSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQyxJQUFtQyxDQUFDLElBQUksU0FBUyxDQUFDO0lBQzFGLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FDYixJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsSUFBd0IsQ0FBQyxDQUFDO0lBQ3ZLLE9BQU8sSUFBSSxvQkFBb0IsQ0FBUSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxXQUFXLElBQUksU0FBUyxDQUFDLENBQUM7QUFDbEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBJTW9kZWxEZXNjcmlwdG9yLCBmaW5kUmVmbGVjdFR5cGVOYW1lfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3IsIE1vZGVsRGVzY3JpcHRvckNyZWF0ZU9wdHN9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG5pbXBvcnQge2ZpbmRDbGFzc0lkQXR0cmlidXRlLCBmaW5kQ2xhc3NUaXRsZUF0dHJpYnV0ZX0gZnJvbSAnLi4vaGVscGVycy9tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBNb2RlbENsYXNzRGVzY3JpcHRvcjxNb2RlbD4gZXh0ZW5kcyBNb2RlbERlc2NyaXB0b3I8TW9kZWw+IGltcGxlbWVudHMgSU1vZGVsRGVzY3JpcHRvcjxNb2RlbD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NsYXNzVHlwZTogQ2xhc3NUeXBlPE1vZGVsPjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihfdHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgaWRQcm9wZXJ0eT86IHN0cmluZywgdGl0bGVQcm9wZXJ0eT86IHN0cmluZyB8ICgoaXRlbTogTW9kZWwpID0+IHN0cmluZyksIGkxOG5CYXNlS2V5Pzogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKGlkUHJvcGVydHksIHRpdGxlUHJvcGVydHksIGkxOG5CYXNlS2V5KTtcbiAgICAgICAgdGhpcy5fY2xhc3NUeXBlID0gX3R5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjbGFzc1R5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGFzc1R5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvcHkoKTogTW9kZWxDbGFzc0Rlc2NyaXB0b3I8TW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBNb2RlbENsYXNzRGVzY3JpcHRvcjxNb2RlbD4odGhpcy5fY2xhc3NUeXBlLCB0aGlzLl9pZFByb3BlcnR5LCB0aGlzLl90aXRsZVByb3BlcnR5LCB0aGlzLl9pMThuQmFzZUtleSk7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBNb2RlbENsYXNzRGVzY3JpcHRvckNyZWF0ZU9wdHM8TW9kZWw+ID0gT21pdDxNb2RlbERlc2NyaXB0b3JDcmVhdGVPcHRzPE1vZGVsPiwgJ2kxOG5CYXNlJz4gJiB7XG4gICAgaTE4bkJhc2U/OiBzdHJpbmcgfCBDbGFzc1R5cGU8dW5rbm93bj47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxDbGFzczxNb2RlbD4odHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgb3B0cz86IE1vZGVsQ2xhc3NEZXNjcmlwdG9yQ3JlYXRlT3B0czxNb2RlbD4pOiBNb2RlbENsYXNzRGVzY3JpcHRvcjxNb2RlbD4ge1xuICAgIGxldCBpZFByb3BlcnR5ID0gb3B0cz8uaWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghaWRQcm9wZXJ0eSAmJiB0eXBlKSB7XG4gICAgICAgIGlkUHJvcGVydHkgPSBmaW5kQ2xhc3NJZEF0dHJpYnV0ZSh0eXBlIGFzIHVua25vd24gYXMgQ2xhc3NUeXBlPE1vZGVsPikgPz8gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBsZXQgdGl0bGVQcm9wID0gb3B0cz8udGl0bGUgYXMgc3RyaW5nIHwgKChpdGVtOiBNb2RlbCkgPT4gc3RyaW5nKSB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIXRpdGxlUHJvcCAmJiB0eXBlKSB7XG4gICAgICAgIHRpdGxlUHJvcCA9IGZpbmRDbGFzc1RpdGxlQXR0cmlidXRlKHR5cGUgYXMgdW5rbm93biBhcyBDbGFzc1R5cGU8TW9kZWw+KSA/PyB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGNvbnN0IGkxOG5CYXNlS2V5ID1cbiAgICAgICAgb3B0cz8uaTE4bkJhc2UgIT0gbnVsbCA/ICh0eXBlb2Ygb3B0cz8uaTE4bkJhc2UgPT09ICdzdHJpbmcnID8gb3B0cy5pMThuQmFzZSA6IGZpbmRSZWZsZWN0VHlwZU5hbWUob3B0cy5pMThuQmFzZSkpIDogZmluZFJlZmxlY3RUeXBlTmFtZSh0eXBlIGFzIENsYXNzVHlwZTxNb2RlbD4pO1xuICAgIHJldHVybiBuZXcgTW9kZWxDbGFzc0Rlc2NyaXB0b3I8TW9kZWw+KHR5cGUsIGlkUHJvcGVydHksIHRpdGxlUHJvcCwgaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKTtcbn1cbiJdfQ==","import { TypeDescriptor } from '@mediusinc/mng-commons/model';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function typeFromClass(type) {\n return new TypeDescriptor();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1jbGFzcy5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbW9kZWwvY2xhc3Mvc3JjL2Rlc2NyaXB0b3JzL3R5cGUtY2xhc3MuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFNUQsNkRBQTZEO0FBQzdELE1BQU0sVUFBVSxhQUFhLENBQU8sSUFBcUI7SUFDckQsT0FBTyxJQUFJLGNBQWMsRUFBUSxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7VHlwZURlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5leHBvcnQgZnVuY3Rpb24gdHlwZUZyb21DbGFzczxUeXBlPih0eXBlOiBDbGFzc1R5cGU8VHlwZT4pOiBUeXBlRGVzY3JpcHRvcjxUeXBlPiB7XG4gICAgcmV0dXJuIG5ldyBUeXBlRGVzY3JpcHRvcjxUeXBlPigpO1xufVxuIl19","// data providers\nexport * from './data-providers/base-from-class-data-provider.factory';\n// descriptors\nexport * from './descriptors/model-class.descriptor';\nexport * from './descriptors/type-class.descriptor';\n// helpers\nexport * from './helpers/model';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tb2RlbC9jbGFzcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCLGNBQWMsd0RBQXdELENBQUM7QUFFdkUsY0FBYztBQUNkLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxVQUFVO0FBQ1YsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGRhdGEgcHJvdmlkZXJzXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtcHJvdmlkZXJzL2Jhc2UtZnJvbS1jbGFzcy1kYXRhLXByb3ZpZGVyLmZhY3RvcnknO1xuXG4vLyBkZXNjcmlwdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy9tb2RlbC1jbGFzcy5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvdHlwZS1jbGFzcy5kZXNjcmlwdG9yJztcblxuLy8gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL21vZGVsJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLW1vZGVsLWNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvY2xhc3Mvc3JjL21lZGl1c2luYy1tbmctY29tbW9ucy1tb2RlbC1jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediusinc-mng-commons-model.mjs","sources":["../../model/src/data-providers/base-from-type-data-provider.factory.ts","../../model/src/descriptors/enum.descriptor.ts","../../model/src/descriptors/type.descriptor.ts","../../model/src/descriptors/model.descriptor.ts","../../model/src/helpers/i18n.ts","../../model/src/index.ts","../../model/src/mediusinc-mng-commons-model.ts"],"sourcesContent":["import {DataProviderInst, ServiceClassType} from '@mediusinc/mng-commons/core';\n\nimport {ModelDescriptor} from '../descriptors/model.descriptor';\nimport {TypeDescriptor} from '../descriptors/type.descriptor';\n\n/**\n * Creates and returns an instance of `DataProviderInst` with the specified options for managing editor data.\n *\n * @param {Object} [opts] - The options object to configure the data provider.\n * @param {TypeDescriptor<Model> | ModelDescriptor<Model>} [opts.type] - The descriptor defining the type of model.\n * @param {ServiceClassType<Service>} [opts.service] - The service class type associated with the data provider.\n * @return {DataProviderInst<Model, Service, ServiceClass>} An instance of `EditorDataProviderInst` configured according to the provided options.\n */\nexport function dataProvider<Model, Service = undefined, ServiceClass = Service extends undefined ? undefined : ServiceClassType<Service>>(opts?: {\n type?: TypeDescriptor<Model> | ModelDescriptor<Model>;\n service?: ServiceClassType<Service>;\n}): DataProviderInst<Model, Service, ServiceClass> {\n return new DataProviderInst<Model, Service, ServiceClass>(opts?.service as ServiceClass);\n}\n","import {EnumType, findReflectEnumName} from '@mediusinc/mng-commons/core';\n\nexport class EnumDescriptor<Enum> {\n private readonly _value: Enum;\n private readonly _type: EnumType;\n private readonly _nameAsValue;\n private readonly _i18nBaseKey: string | null;\n\n public constructor(value: Enum, type: EnumType, i18nBaseKey?: string | null, nameAsValue = false) {\n this._value = value;\n this._type = type;\n this._nameAsValue = nameAsValue;\n\n if (typeof i18nBaseKey === 'undefined') {\n i18nBaseKey = findReflectEnumName(type);\n }\n this._i18nBaseKey = i18nBaseKey;\n }\n\n public get type() {\n return this._type;\n }\n\n public get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n\n public get nameAsValue() {\n return this._nameAsValue;\n }\n}\n\nexport function enumModel<Enum>(value: Enum, type: EnumType, i18nBaseKey: string | undefined | null = null, nameAsValue = false) {\n return new EnumDescriptor<Enum>(value, type, i18nBaseKey, nameAsValue);\n}\n\nexport function enumModelGeneric<Enum = any>(type: EnumType, i18nBaseKey: string | undefined | null = null, nameAsValue = false) {\n return new EnumDescriptor<Enum>(undefined as Enum, type, i18nBaseKey, nameAsValue);\n}\n","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class TypeDescriptor<Type> {}\n\nexport function type<Type>(): TypeDescriptor<Type> {\n return new TypeDescriptor<Type>();\n}\n","import {IModelDescriptor} from '@mediusinc/mng-commons/core';\n\nimport {TypeDescriptor} from './type.descriptor';\n\nexport class ModelDescriptor<Model> implements IModelDescriptor<Model> {\n protected _i18nBaseKey: string;\n protected _idProperty?: string;\n protected _titleProperty?: string | ((item: Model) => string);\n\n public constructor(idProperty?: string, titleProperty?: string | ((item: Model) => string), i18nBaseKey?: string) {\n this._idProperty = idProperty;\n this._titleProperty = titleProperty;\n this._i18nBaseKey = i18nBaseKey ?? '';\n }\n\n public get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n\n public get idProperty() {\n return this._idProperty;\n }\n\n public get titleProperty() {\n return this._titleProperty;\n }\n\n public withIdProperty(property: keyof Model): this {\n this._idProperty = property as string;\n return this;\n }\n\n public withIdPropertyUnsafe(property: string): this {\n this._idProperty = property;\n return this;\n }\n\n public withTitleProperty(property: keyof Model): this {\n this._titleProperty = property as string;\n return this;\n }\n\n public withTitlePropertyUnsafe(property: string): this {\n this._titleProperty = property;\n return this;\n }\n\n public withI18nBase(base: string): this {\n this._i18nBaseKey = base;\n return this;\n }\n\n public copy(): ModelDescriptor<Model> {\n return new ModelDescriptor<Model>(this._idProperty, this._titleProperty, this._i18nBaseKey);\n }\n}\n\nexport type ModelDescriptorCreateOpts<Model> = {\n id?: keyof Model;\n title?: keyof Model | ((item: Model) => string);\n i18nBase?: string;\n};\n\nexport function model<Model>(): ModelDescriptor<Model>;\nexport function model<Model>(opts: ModelDescriptorCreateOpts<Model>): ModelDescriptor<Model>;\nexport function model<Model>(type: TypeDescriptor<Model>, opts?: ModelDescriptorCreateOpts<Model>): ModelDescriptor<Model>;\nexport function model<Model>(typeOrOpts?: TypeDescriptor<Model> | ModelDescriptorCreateOpts<Model>, opts?: ModelDescriptorCreateOpts<Model>) {\n if (typeOrOpts == null) {\n return new ModelDescriptor<Model>();\n } else if (typeOrOpts instanceof TypeDescriptor) {\n return new ModelDescriptor<Model>(opts?.id as string, opts?.title as string, opts?.i18nBase);\n } else {\n const modelOpts = typeOrOpts as ModelDescriptorCreateOpts<Model>;\n return new ModelDescriptor<Model>(modelOpts?.id as string, modelOpts?.title as string, modelOpts?.i18nBase);\n }\n}\n","import {TranslateService} from '@ngx-translate/core';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nimport {KeyOfType, getI18n, getI18nTypeKeyBasePath, getI18nTypeParams, getI18nTypeParamsAsync} from '@mediusinc/mng-commons/core';\n\nimport {ModelDescriptor} from '../descriptors/model.descriptor';\n\ntype ModelI18nOptsType = {\n customKey?: string;\n fallbackKey?: string;\n item?: any;\n params?: any;\n};\n\nexport function getI18nForModel(translate: TranslateService, model: ModelDescriptor<any>, keyPath: string, opts?: ModelI18nOptsType): string | null {\n const keys = getKeysByPriority(model, keyPath, opts?.customKey, opts?.fallbackKey);\n const i18nParams = getI18nModelParams(translate, model, opts?.item, opts?.params);\n return getI18n(translate, i18nParams, ...keys);\n}\n\nexport function getI18nModelParams(translate: TranslateService, model?: ModelDescriptor<any>, item?: any, params: any = {}): any {\n const i18nParams = getI18nTypeParams(translate, model?.i18nBaseKey, item, params);\n return populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams);\n}\n\nexport function getI18nModelParamsAsync(translate: TranslateService, model?: ModelDescriptor<any>, item?: any, params: any = {}): Observable<any> {\n return getI18nTypeParamsAsync(translate, model?.i18nBaseKey, item, params).pipe(\n map(i18nParams => populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams))\n );\n}\n\nfunction populateI18nModelParams(idProperty?: KeyOfType, titleProperty?: KeyOfType | ((item: any) => string), item?: any, params: any = {}): any {\n const paramsRes = {...params, itemId: '', itemTitle: ''};\n if (item) {\n if (idProperty && item[idProperty]) {\n paramsRes.itemId = item[idProperty];\n }\n if (typeof titleProperty === 'function') {\n paramsRes.itemTitle = titleProperty(item);\n } else if (titleProperty && item[titleProperty]) {\n paramsRes.itemTitle = item[titleProperty];\n }\n }\n return paramsRes;\n}\n\nfunction getKeysByPriority(model: ModelDescriptor<any>, keyPath: string, customKey?: string, fallbackKey?: string) {\n const keys = [];\n if (customKey) {\n keys.push(customKey);\n } else {\n const modelActionKey = getI18nTypeKeyBasePath(model.i18nBaseKey, keyPath);\n keys.push(modelActionKey);\n if (keyPath !== modelActionKey) {\n keys.push(keyPath);\n }\n if (fallbackKey) {\n keys.push(fallbackKey);\n }\n }\n return keys;\n}\n","// data providers\nexport * from './data-providers/base-from-type-data-provider.factory';\n\n// descriptors\nexport * from './descriptors/enum.descriptor';\nexport * from './descriptors/model.descriptor';\nexport * from './descriptors/type.descriptor';\n\n// helpers\nexport * from './helpers/i18n';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mediusinc-mng-commons-model.mjs","sources":["../tmp-esm2022/model/data-providers/base-from-type-data-provider.factory.js","../tmp-esm2022/model/descriptors/enum.descriptor.js","../tmp-esm2022/model/descriptors/type.descriptor.js","../tmp-esm2022/model/descriptors/model.descriptor.js","../tmp-esm2022/model/helpers/i18n.js","../tmp-esm2022/model/index.js","../tmp-esm2022/model/mediusinc-mng-commons-model.js"],"sourcesContent":["import { DataProviderInst } from '@mediusinc/mng-commons/core';\n/**\n * Creates and returns an instance of `DataProviderInst` with the specified options for managing editor data.\n *\n * @param {Object} [opts] - The options object to configure the data provider.\n * @param {TypeDescriptor<Model> | ModelDescriptor<Model>} [opts.type] - The descriptor defining the type of model.\n * @param {ServiceClassType<Service>} [opts.service] - The service class type associated with the data provider.\n * @return {DataProviderInst<Model, Service, ServiceClass>} An instance of `EditorDataProviderInst` configured according to the provided options.\n */\nexport function dataProvider(opts) {\n return new DataProviderInst(opts?.service);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mcm9tLXR5cGUtZGF0YS1wcm92aWRlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL2RhdGEtcHJvdmlkZXJzL2Jhc2UtZnJvbS10eXBlLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQW1CLE1BQU0sNkJBQTZCLENBQUM7QUFLL0U7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQStHLElBRzFJO0lBQ0csT0FBTyxJQUFJLGdCQUFnQixDQUErQixJQUFJLEVBQUUsT0FBdUIsQ0FBQyxDQUFDO0FBQzdGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFQcm92aWRlckluc3QsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7TW9kZWxEZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycy9tb2RlbC5kZXNjcmlwdG9yJztcbmltcG9ydCB7VHlwZURlc2NyaXB0b3J9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGUuZGVzY3JpcHRvcic7XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgcmV0dXJucyBhbiBpbnN0YW5jZSBvZiBgRGF0YVByb3ZpZGVySW5zdGAgd2l0aCB0aGUgc3BlY2lmaWVkIG9wdGlvbnMgZm9yIG1hbmFnaW5nIGVkaXRvciBkYXRhLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0c10gLSBUaGUgb3B0aW9ucyBvYmplY3QgdG8gY29uZmlndXJlIHRoZSBkYXRhIHByb3ZpZGVyLlxuICogQHBhcmFtIHtUeXBlRGVzY3JpcHRvcjxNb2RlbD4gfCBNb2RlbERlc2NyaXB0b3I8TW9kZWw+fSBbb3B0cy50eXBlXSAtIFRoZSBkZXNjcmlwdG9yIGRlZmluaW5nIHRoZSB0eXBlIG9mIG1vZGVsLlxuICogQHBhcmFtIHtTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+fSBbb3B0cy5zZXJ2aWNlXSAtIFRoZSBzZXJ2aWNlIGNsYXNzIHR5cGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIHByb3ZpZGVyLlxuICogQHJldHVybiB7RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU2VydmljZUNsYXNzPn0gQW4gaW5zdGFuY2Ugb2YgYEVkaXRvckRhdGFQcm92aWRlckluc3RgIGNvbmZpZ3VyZWQgYWNjb3JkaW5nIHRvIHRoZSBwcm92aWRlZCBvcHRpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlID0gdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlIGV4dGVuZHMgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4ob3B0cz86IHtcbiAgICB0eXBlPzogVHlwZURlc2NyaXB0b3I8TW9kZWw+IHwgTW9kZWxEZXNjcmlwdG9yPE1vZGVsPjtcbiAgICBzZXJ2aWNlPzogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPjtcbn0pOiBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTZXJ2aWNlQ2xhc3M+IHtcbiAgICByZXR1cm4gbmV3IERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNlcnZpY2VDbGFzcz4ob3B0cz8uc2VydmljZSBhcyBTZXJ2aWNlQ2xhc3MpO1xufVxuIl19","import { findReflectEnumName } from '@mediusinc/mng-commons/core';\nexport class EnumDescriptor {\n constructor(value, type, i18nBaseKey, nameAsValue = false) {\n this._value = value;\n this._type = type;\n this._nameAsValue = nameAsValue;\n if (typeof i18nBaseKey === 'undefined') {\n i18nBaseKey = findReflectEnumName(type);\n }\n this._i18nBaseKey = i18nBaseKey;\n }\n get type() {\n return this._type;\n }\n get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n get nameAsValue() {\n return this._nameAsValue;\n }\n}\nexport function enumModel(value, type, i18nBaseKey = null, nameAsValue = false) {\n return new EnumDescriptor(value, type, i18nBaseKey, nameAsValue);\n}\nexport function enumModelGeneric(type, i18nBaseKey = null, nameAsValue = false) {\n return new EnumDescriptor(undefined, type, i18nBaseKey, nameAsValue);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL2Rlc2NyaXB0b3JzL2VudW0uZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsbUJBQW1CLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRSxNQUFNLE9BQU8sY0FBYztJQU12QixZQUFtQixLQUFXLEVBQUUsSUFBYyxFQUFFLFdBQTJCLEVBQUUsV0FBVyxHQUFHLEtBQUs7UUFDNUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFFaEMsSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBTyxLQUFXLEVBQUUsSUFBYyxFQUFFLGNBQXlDLElBQUksRUFBRSxXQUFXLEdBQUcsS0FBSztJQUMzSCxPQUFPLElBQUksY0FBYyxDQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQWEsSUFBYyxFQUFFLGNBQXlDLElBQUksRUFBRSxXQUFXLEdBQUcsS0FBSztJQUMzSCxPQUFPLElBQUksY0FBYyxDQUFPLFNBQWlCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUN2RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbnVtVHlwZSwgZmluZFJlZmxlY3RFbnVtTmFtZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEVudW1EZXNjcmlwdG9yPEVudW0+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZTogRW51bTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90eXBlOiBFbnVtVHlwZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYW1lQXNWYWx1ZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pMThuQmFzZUtleTogc3RyaW5nIHwgbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogRW51bSwgdHlwZTogRW51bVR5cGUsIGkxOG5CYXNlS2V5Pzogc3RyaW5nIHwgbnVsbCwgbmFtZUFzVmFsdWUgPSBmYWxzZSkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl90eXBlID0gdHlwZTtcbiAgICAgICAgdGhpcy5fbmFtZUFzVmFsdWUgPSBuYW1lQXNWYWx1ZTtcblxuICAgICAgICBpZiAodHlwZW9mIGkxOG5CYXNlS2V5ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaTE4bkJhc2VLZXkgPSBmaW5kUmVmbGVjdEVudW1OYW1lKHR5cGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2kxOG5CYXNlS2V5ID0gaTE4bkJhc2VLZXk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0eXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGkxOG5CYXNlS2V5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faTE4bkJhc2VLZXk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBuYW1lQXNWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWVBc1ZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1Nb2RlbDxFbnVtPih2YWx1ZTogRW51bSwgdHlwZTogRW51bVR5cGUsIGkxOG5CYXNlS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbCwgbmFtZUFzVmFsdWUgPSBmYWxzZSkge1xuICAgIHJldHVybiBuZXcgRW51bURlc2NyaXB0b3I8RW51bT4odmFsdWUsIHR5cGUsIGkxOG5CYXNlS2V5LCBuYW1lQXNWYWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtTW9kZWxHZW5lcmljPEVudW0gPSBhbnk+KHR5cGU6IEVudW1UeXBlLCBpMThuQmFzZUtleTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCA9IG51bGwsIG5hbWVBc1ZhbHVlID0gZmFsc2UpIHtcbiAgICByZXR1cm4gbmV3IEVudW1EZXNjcmlwdG9yPEVudW0+KHVuZGVmaW5lZCBhcyBFbnVtLCB0eXBlLCBpMThuQmFzZUtleSwgbmFtZUFzVmFsdWUpO1xufVxuIl19","// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class TypeDescriptor {\n}\nexport function type() {\n return new TypeDescriptor();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbW9kZWwvc3JjL2Rlc2NyaXB0b3JzL3R5cGUuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2REFBNkQ7QUFDN0QsTUFBTSxPQUFPLGNBQWM7Q0FBUztBQUVwQyxNQUFNLFVBQVUsSUFBSTtJQUNoQixPQUFPLElBQUksY0FBYyxFQUFRLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCBjbGFzcyBUeXBlRGVzY3JpcHRvcjxUeXBlPiB7fVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZTxUeXBlPigpOiBUeXBlRGVzY3JpcHRvcjxUeXBlPiB7XG4gICAgcmV0dXJuIG5ldyBUeXBlRGVzY3JpcHRvcjxUeXBlPigpO1xufVxuIl19","import { TypeDescriptor } from './type.descriptor';\nexport class ModelDescriptor {\n constructor(idProperty, titleProperty, i18nBaseKey) {\n this._idProperty = idProperty;\n this._titleProperty = titleProperty;\n this._i18nBaseKey = i18nBaseKey ?? '';\n }\n get i18nBaseKey() {\n return this._i18nBaseKey;\n }\n get idProperty() {\n return this._idProperty;\n }\n get titleProperty() {\n return this._titleProperty;\n }\n withIdProperty(property) {\n this._idProperty = property;\n return this;\n }\n withIdPropertyUnsafe(property) {\n this._idProperty = property;\n return this;\n }\n withTitleProperty(property) {\n this._titleProperty = property;\n return this;\n }\n withTitlePropertyUnsafe(property) {\n this._titleProperty = property;\n return this;\n }\n withI18nBase(base) {\n this._i18nBaseKey = base;\n return this;\n }\n copy() {\n return new ModelDescriptor(this._idProperty, this._titleProperty, this._i18nBaseKey);\n }\n}\nexport function model(typeOrOpts, opts) {\n if (typeOrOpts == null) {\n return new ModelDescriptor();\n }\n else if (typeOrOpts instanceof TypeDescriptor) {\n return new ModelDescriptor(opts?.id, opts?.title, opts?.i18nBase);\n }\n else {\n const modelOpts = typeOrOpts;\n return new ModelDescriptor(modelOpts?.id, modelOpts?.title, modelOpts?.i18nBase);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZGVsL3NyYy9kZXNjcmlwdG9ycy9tb2RlbC5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sZUFBZTtJQUt4QixZQUFtQixVQUFtQixFQUFFLGFBQWtELEVBQUUsV0FBb0I7UUFDNUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsUUFBcUI7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFrQixDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxRQUFnQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0saUJBQWlCLENBQUMsUUFBcUI7UUFDMUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFrQixDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxRQUFnQjtRQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLElBQUk7UUFDUCxPQUFPLElBQUksZUFBZSxDQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEcsQ0FBQztDQUNKO0FBV0QsTUFBTSxVQUFVLEtBQUssQ0FBUSxVQUFxRSxFQUFFLElBQXVDO0lBQ3ZJLElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxlQUFlLEVBQVMsQ0FBQztJQUN4QyxDQUFDO1NBQU0sSUFBSSxVQUFVLFlBQVksY0FBYyxFQUFFLENBQUM7UUFDOUMsT0FBTyxJQUFJLGVBQWUsQ0FBUSxJQUFJLEVBQUUsRUFBWSxFQUFFLElBQUksRUFBRSxLQUFlLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxTQUFTLEdBQUcsVUFBOEMsQ0FBQztRQUNqRSxPQUFPLElBQUksZUFBZSxDQUFRLFNBQVMsRUFBRSxFQUFZLEVBQUUsU0FBUyxFQUFFLEtBQWUsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEgsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lNb2RlbERlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7VHlwZURlc2NyaXB0b3J9IGZyb20gJy4vdHlwZS5kZXNjcmlwdG9yJztcblxuZXhwb3J0IGNsYXNzIE1vZGVsRGVzY3JpcHRvcjxNb2RlbD4gaW1wbGVtZW50cyBJTW9kZWxEZXNjcmlwdG9yPE1vZGVsPiB7XG4gICAgcHJvdGVjdGVkIF9pMThuQmFzZUtleTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfaWRQcm9wZXJ0eT86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3RpdGxlUHJvcGVydHk/OiBzdHJpbmcgfCAoKGl0ZW06IE1vZGVsKSA9PiBzdHJpbmcpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGlkUHJvcGVydHk/OiBzdHJpbmcsIHRpdGxlUHJvcGVydHk/OiBzdHJpbmcgfCAoKGl0ZW06IE1vZGVsKSA9PiBzdHJpbmcpLCBpMThuQmFzZUtleT86IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pZFByb3BlcnR5ID0gaWRQcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fdGl0bGVQcm9wZXJ0eSA9IHRpdGxlUHJvcGVydHk7XG4gICAgICAgIHRoaXMuX2kxOG5CYXNlS2V5ID0gaTE4bkJhc2VLZXkgPz8gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpMThuQmFzZUtleSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2kxOG5CYXNlS2V5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaWRQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0aXRsZVByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGl0bGVQcm9wZXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aElkUHJvcGVydHkocHJvcGVydHk6IGtleW9mIE1vZGVsKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2lkUHJvcGVydHkgPSBwcm9wZXJ0eSBhcyBzdHJpbmc7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoSWRQcm9wZXJ0eVVuc2FmZShwcm9wZXJ0eTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2lkUHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhUaXRsZVByb3BlcnR5KHByb3BlcnR5OiBrZXlvZiBNb2RlbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl90aXRsZVByb3BlcnR5ID0gcHJvcGVydHkgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFRpdGxlUHJvcGVydHlVbnNhZmUocHJvcGVydHk6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl90aXRsZVByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoSTE4bkJhc2UoYmFzZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2kxOG5CYXNlS2V5ID0gYmFzZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHkoKTogTW9kZWxEZXNjcmlwdG9yPE1vZGVsPiB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxEZXNjcmlwdG9yPE1vZGVsPih0aGlzLl9pZFByb3BlcnR5LCB0aGlzLl90aXRsZVByb3BlcnR5LCB0aGlzLl9pMThuQmFzZUtleSk7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBNb2RlbERlc2NyaXB0b3JDcmVhdGVPcHRzPE1vZGVsPiA9IHtcbiAgICBpZD86IGtleW9mIE1vZGVsO1xuICAgIHRpdGxlPzoga2V5b2YgTW9kZWwgfCAoKGl0ZW06IE1vZGVsKSA9PiBzdHJpbmcpO1xuICAgIGkxOG5CYXNlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsPE1vZGVsPigpOiBNb2RlbERlc2NyaXB0b3I8TW9kZWw+O1xuZXhwb3J0IGZ1bmN0aW9uIG1vZGVsPE1vZGVsPihvcHRzOiBNb2RlbERlc2NyaXB0b3JDcmVhdGVPcHRzPE1vZGVsPik6IE1vZGVsRGVzY3JpcHRvcjxNb2RlbD47XG5leHBvcnQgZnVuY3Rpb24gbW9kZWw8TW9kZWw+KHR5cGU6IFR5cGVEZXNjcmlwdG9yPE1vZGVsPiwgb3B0cz86IE1vZGVsRGVzY3JpcHRvckNyZWF0ZU9wdHM8TW9kZWw+KTogTW9kZWxEZXNjcmlwdG9yPE1vZGVsPjtcbmV4cG9ydCBmdW5jdGlvbiBtb2RlbDxNb2RlbD4odHlwZU9yT3B0cz86IFR5cGVEZXNjcmlwdG9yPE1vZGVsPiB8IE1vZGVsRGVzY3JpcHRvckNyZWF0ZU9wdHM8TW9kZWw+LCBvcHRzPzogTW9kZWxEZXNjcmlwdG9yQ3JlYXRlT3B0czxNb2RlbD4pIHtcbiAgICBpZiAodHlwZU9yT3B0cyA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxEZXNjcmlwdG9yPE1vZGVsPigpO1xuICAgIH0gZWxzZSBpZiAodHlwZU9yT3B0cyBpbnN0YW5jZW9mIFR5cGVEZXNjcmlwdG9yKSB7XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxEZXNjcmlwdG9yPE1vZGVsPihvcHRzPy5pZCBhcyBzdHJpbmcsIG9wdHM/LnRpdGxlIGFzIHN0cmluZywgb3B0cz8uaTE4bkJhc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IG1vZGVsT3B0cyA9IHR5cGVPck9wdHMgYXMgTW9kZWxEZXNjcmlwdG9yQ3JlYXRlT3B0czxNb2RlbD47XG4gICAgICAgIHJldHVybiBuZXcgTW9kZWxEZXNjcmlwdG9yPE1vZGVsPihtb2RlbE9wdHM/LmlkIGFzIHN0cmluZywgbW9kZWxPcHRzPy50aXRsZSBhcyBzdHJpbmcsIG1vZGVsT3B0cz8uaTE4bkJhc2UpO1xuICAgIH1cbn1cbiJdfQ==","import { map } from 'rxjs/operators';\nimport { getI18n, getI18nTypeKeyBasePath, getI18nTypeParams, getI18nTypeParamsAsync } from '@mediusinc/mng-commons/core';\nexport function getI18nForModel(translate, model, keyPath, opts) {\n const keys = getKeysByPriority(model, keyPath, opts?.customKey, opts?.fallbackKey);\n const i18nParams = getI18nModelParams(translate, model, opts?.item, opts?.params);\n return getI18n(translate, i18nParams, ...keys);\n}\nexport function getI18nModelParams(translate, model, item, params = {}) {\n const i18nParams = getI18nTypeParams(translate, model?.i18nBaseKey, item, params);\n return populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams);\n}\nexport function getI18nModelParamsAsync(translate, model, item, params = {}) {\n return getI18nTypeParamsAsync(translate, model?.i18nBaseKey, item, params).pipe(map(i18nParams => populateI18nModelParams(model?.idProperty, model?.titleProperty, item, i18nParams)));\n}\nfunction populateI18nModelParams(idProperty, titleProperty, item, params = {}) {\n const paramsRes = { ...params, itemId: '', itemTitle: '' };\n if (item) {\n if (idProperty && item[idProperty]) {\n paramsRes.itemId = item[idProperty];\n }\n if (typeof titleProperty === 'function') {\n paramsRes.itemTitle = titleProperty(item);\n }\n else if (titleProperty && item[titleProperty]) {\n paramsRes.itemTitle = item[titleProperty];\n }\n }\n return paramsRes;\n}\nfunction getKeysByPriority(model, keyPath, customKey, fallbackKey) {\n const keys = [];\n if (customKey) {\n keys.push(customKey);\n }\n else {\n const modelActionKey = getI18nTypeKeyBasePath(model.i18nBaseKey, keyPath);\n keys.push(modelActionKey);\n if (keyPath !== modelActionKey) {\n keys.push(keyPath);\n }\n if (fallbackKey) {\n keys.push(fallbackKey);\n }\n }\n return keys;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL21vZGVsL3NyYy9oZWxwZXJzL2kxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBWSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQVdsSSxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQTJCLEVBQUUsS0FBMkIsRUFBRSxPQUFlLEVBQUUsSUFBd0I7SUFDL0gsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRixNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xGLE9BQU8sT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFNBQTJCLEVBQUUsS0FBNEIsRUFBRSxJQUFVLEVBQUUsU0FBYyxFQUFFO0lBQ3RILE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRixPQUFPLHVCQUF1QixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDOUYsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxTQUEyQixFQUFFLEtBQTRCLEVBQUUsSUFBVSxFQUFFLFNBQWMsRUFBRTtJQUMzSCxPQUFPLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzNFLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FDeEcsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUFDLFVBQXNCLEVBQUUsYUFBbUQsRUFBRSxJQUFVLEVBQUUsU0FBYyxFQUFFO0lBQ3RJLE1BQU0sU0FBUyxHQUFHLEVBQUMsR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDekQsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNQLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2pDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3RDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7YUFBTSxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQTJCLEVBQUUsT0FBZSxFQUFFLFNBQWtCLEVBQUUsV0FBb0I7SUFDN0csTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksU0FBUyxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFCLElBQUksT0FBTyxLQUFLLGNBQWMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksV0FBVyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtLZXlPZlR5cGUsIGdldEkxOG4sIGdldEkxOG5UeXBlS2V5QmFzZVBhdGgsIGdldEkxOG5UeXBlUGFyYW1zLCBnZXRJMThuVHlwZVBhcmFtc0FzeW5jfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge01vZGVsRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvbW9kZWwuZGVzY3JpcHRvcic7XG5cbnR5cGUgTW9kZWxJMThuT3B0c1R5cGUgPSB7XG4gICAgY3VzdG9tS2V5Pzogc3RyaW5nO1xuICAgIGZhbGxiYWNrS2V5Pzogc3RyaW5nO1xuICAgIGl0ZW0/OiBhbnk7XG4gICAgcGFyYW1zPzogYW55O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEkxOG5Gb3JNb2RlbCh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBvcHRzPzogTW9kZWxJMThuT3B0c1R5cGUpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBrZXlzID0gZ2V0S2V5c0J5UHJpb3JpdHkobW9kZWwsIGtleVBhdGgsIG9wdHM/LmN1c3RvbUtleSwgb3B0cz8uZmFsbGJhY2tLZXkpO1xuICAgIGNvbnN0IGkxOG5QYXJhbXMgPSBnZXRJMThuTW9kZWxQYXJhbXModHJhbnNsYXRlLCBtb2RlbCwgb3B0cz8uaXRlbSwgb3B0cz8ucGFyYW1zKTtcbiAgICByZXR1cm4gZ2V0STE4bih0cmFuc2xhdGUsIGkxOG5QYXJhbXMsIC4uLmtleXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0STE4bk1vZGVsUGFyYW1zKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgbW9kZWw/OiBNb2RlbERlc2NyaXB0b3I8YW55PiwgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgY29uc3QgaTE4blBhcmFtcyA9IGdldEkxOG5UeXBlUGFyYW1zKHRyYW5zbGF0ZSwgbW9kZWw/LmkxOG5CYXNlS2V5LCBpdGVtLCBwYXJhbXMpO1xuICAgIHJldHVybiBwb3B1bGF0ZUkxOG5Nb2RlbFBhcmFtcyhtb2RlbD8uaWRQcm9wZXJ0eSwgbW9kZWw/LnRpdGxlUHJvcGVydHksIGl0ZW0sIGkxOG5QYXJhbXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0STE4bk1vZGVsUGFyYW1zQXN5bmModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBtb2RlbD86IE1vZGVsRGVzY3JpcHRvcjxhbnk+LCBpdGVtPzogYW55LCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gZ2V0STE4blR5cGVQYXJhbXNBc3luYyh0cmFuc2xhdGUsIG1vZGVsPy5pMThuQmFzZUtleSwgaXRlbSwgcGFyYW1zKS5waXBlKFxuICAgICAgICBtYXAoaTE4blBhcmFtcyA9PiBwb3B1bGF0ZUkxOG5Nb2RlbFBhcmFtcyhtb2RlbD8uaWRQcm9wZXJ0eSwgbW9kZWw/LnRpdGxlUHJvcGVydHksIGl0ZW0sIGkxOG5QYXJhbXMpKVxuICAgICk7XG59XG5cbmZ1bmN0aW9uIHBvcHVsYXRlSTE4bk1vZGVsUGFyYW1zKGlkUHJvcGVydHk/OiBLZXlPZlR5cGUsIHRpdGxlUHJvcGVydHk/OiBLZXlPZlR5cGUgfCAoKGl0ZW06IGFueSkgPT4gc3RyaW5nKSwgaXRlbT86IGFueSwgcGFyYW1zOiBhbnkgPSB7fSk6IGFueSB7XG4gICAgY29uc3QgcGFyYW1zUmVzID0gey4uLnBhcmFtcywgaXRlbUlkOiAnJywgaXRlbVRpdGxlOiAnJ307XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgaWYgKGlkUHJvcGVydHkgJiYgaXRlbVtpZFByb3BlcnR5XSkge1xuICAgICAgICAgICAgcGFyYW1zUmVzLml0ZW1JZCA9IGl0ZW1baWRQcm9wZXJ0eV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aXRsZVByb3BlcnR5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBwYXJhbXNSZXMuaXRlbVRpdGxlID0gdGl0bGVQcm9wZXJ0eShpdGVtKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aXRsZVByb3BlcnR5ICYmIGl0ZW1bdGl0bGVQcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgIHBhcmFtc1Jlcy5pdGVtVGl0bGUgPSBpdGVtW3RpdGxlUHJvcGVydHldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXNSZXM7XG59XG5cbmZ1bmN0aW9uIGdldEtleXNCeVByaW9yaXR5KG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8YW55Piwga2V5UGF0aDogc3RyaW5nLCBjdXN0b21LZXk/OiBzdHJpbmcsIGZhbGxiYWNrS2V5Pzogc3RyaW5nKSB7XG4gICAgY29uc3Qga2V5cyA9IFtdO1xuICAgIGlmIChjdXN0b21LZXkpIHtcbiAgICAgICAga2V5cy5wdXNoKGN1c3RvbUtleSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbW9kZWxBY3Rpb25LZXkgPSBnZXRJMThuVHlwZUtleUJhc2VQYXRoKG1vZGVsLmkxOG5CYXNlS2V5LCBrZXlQYXRoKTtcbiAgICAgICAga2V5cy5wdXNoKG1vZGVsQWN0aW9uS2V5KTtcbiAgICAgICAgaWYgKGtleVBhdGggIT09IG1vZGVsQWN0aW9uS2V5KSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goa2V5UGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZhbGxiYWNrS2V5KSB7XG4gICAgICAgICAgICBrZXlzLnB1c2goZmFsbGJhY2tLZXkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBrZXlzO1xufVxuIl19","// data providers\nexport * from './data-providers/base-from-type-data-provider.factory';\n// descriptors\nexport * from './descriptors/enum.descriptor';\nexport * from './descriptors/model.descriptor';\nexport * from './descriptors/type.descriptor';\n// helpers\nexport * from './helpers/i18n';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9tb2RlbC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FBQ2pCLGNBQWMsdURBQXVELENBQUM7QUFFdEUsY0FBYztBQUNkLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLFVBQVU7QUFDVixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZGF0YSBwcm92aWRlcnNcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1wcm92aWRlcnMvYmFzZS1mcm9tLXR5cGUtZGF0YS1wcm92aWRlci5mYWN0b3J5JztcblxuLy8gZGVzY3JpcHRvcnNcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvZW51bS5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvbW9kZWwuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2NyaXB0b3JzL3R5cGUuZGVzY3JpcHRvcic7XG5cbi8vIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9pMThuJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbW9kZWwvc3JjL21lZGl1c2luYy1tbmctY29tbW9ucy1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,YAAY,CAAC,IAAI,EAAE;AACnC,IAAI,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;AAC9C;;ACVO,MAAM,cAAc,CAAC;AAC5B,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,KAAK,EAAE;AAC/D,QAAQ,IAAI,CAAC,MAAM,GAAG,KAAK;AAC3B,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI;AACzB,QAAQ,IAAI,CAAC,YAAY,GAAG,WAAW;AACvC,QAAQ,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE;AAChD,YAAY,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC;AACnD,QAAQ;AACR,QAAQ,IAAI,CAAC,YAAY,GAAG,WAAW;AACvC,IAAI;AACJ,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK;AACzB,IAAI;AACJ,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,IAAI,CAAC,YAAY;AAChC,IAAI;AACJ,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,IAAI,CAAC,YAAY;AAChC,IAAI;AACJ;AACO,SAAS,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE;AAChF,IAAI,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;AACpE;AACO,SAAS,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE;AAChF,IAAI,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC;AACxE;;AC1BA;AACO,MAAM,cAAc,CAAC;AAC5B;AACO,SAAS,IAAI,GAAG;AACvB,IAAI,OAAO,IAAI,cAAc,EAAE;AAC/B;;ACJO,MAAM,eAAe,CAAC;AAC7B,IAAI,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE;AACxD,QAAQ,IAAI,CAAC,WAAW,GAAG,UAAU;AACrC,QAAQ,IAAI,CAAC,cAAc,GAAG,aAAa;AAC3C,QAAQ,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,EAAE;AAC7C,IAAI;AACJ,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,IAAI,CAAC,YAAY;AAChC,IAAI;AACJ,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,WAAW;AAC/B,IAAI;AACJ,IAAI,IAAI,aAAa,GAAG;AACxB,QAAQ,OAAO,IAAI,CAAC,cAAc;AAClC,IAAI;AACJ,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,QAAQ;AACnC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,oBAAoB,CAAC,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,WAAW,GAAG,QAAQ;AACnC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,iBAAiB,CAAC,QAAQ,EAAE;AAChC,QAAQ,IAAI,CAAC,cAAc,GAAG,QAAQ;AACtC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,uBAAuB,CAAC,QAAQ,EAAE;AACtC,QAAQ,IAAI,CAAC,cAAc,GAAG,QAAQ;AACtC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,YAAY,CAAC,IAAI,EAAE;AACvB,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI;AAChC,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,IAAI,GAAG;AACX,QAAQ,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC;AAC5F,IAAI;AACJ;AACO,SAAS,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE;AACxC,IAAI,IAAI,UAAU,IAAI,IAAI,EAAE;AAC5B,QAAQ,OAAO,IAAI,eAAe,EAAE;AACpC,IAAI;AACJ,SAAS,IAAI,UAAU,YAAY,cAAc,EAAE;AACnD,QAAQ,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC;AACzE,IAAI;AACJ,SAAS;AACT,QAAQ,MAAM,SAAS,GAAG,UAAU;AACpC,QAAQ,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC;AACxF,IAAI;AACJ;;ACjDO,SAAS,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;AACjE,IAAI,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC;AACtF,IAAI,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;AACrF,IAAI,OAAO,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;AAClD;AACO,SAAS,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE;AACxE,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC;AACrF,IAAI,OAAO,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC;AAC7F;AACO,SAAS,uBAAuB,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE;AAC7E,IAAI,OAAO,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAC1L;AACA,SAAS,uBAAuB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE;AAC/E,IAAI,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;AAC9D,IAAI,IAAI,IAAI,EAAE;AACd,QAAQ,IAAI,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;AAC5C,YAAY,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,QAAQ;AACR,QAAQ,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;AACjD,YAAY,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC;AACrD,QAAQ;AACR,aAAa,IAAI,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE;AACvD,YAAY,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;AACrD,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,SAAS;AACpB;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE;AACnE,IAAI,MAAM,IAAI,GAAG,EAAE;AACnB,IAAI,IAAI,SAAS,EAAE;AACnB,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5B,IAAI;AACJ,SAAS;AACT,QAAQ,MAAM,cAAc,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC;AACjF,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;AACjC,QAAQ,IAAI,OAAO,KAAK,cAAc,EAAE;AACxC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9B,QAAQ;AACR,QAAQ,IAAI,WAAW,EAAE;AACzB,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;AAClC,QAAQ;AACR,IAAI;AACJ,IAAI,OAAO,IAAI;AACf;;AC7CA;;ACAA;AACA;AACA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediusinc-mng-commons-table-api-class.mjs","sources":["../../table/api/class/src/class-table-attribute-converter.ts","../../table/api/class/src/class-table-data-provider.factory.ts","../../table/api/class/src/class-table-descriptor-helpers.ts","../../table/api/class/src/class-table-descriptor.factory.ts","../../table/api/class/src/mediusinc-mng-commons-table-api-class.ts"],"sourcesContent":["import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\n\nimport {TableClassAttributeDef} from './class-table-attribute.model';\n\n/**\n * converts string type to column type enum, default is string\n * @param attributeType\n */\nexport function getColumnTypeFromClassAttributeDefType(attributeType: string): ColumnTypeEnum {\n const typeRegistry = TypeRegistry.get();\n if (typeRegistry.findEnum(attributeType) as EnumType) {\n attributeType = 'enum';\n } else if (typeRegistry.findType(attributeType) as ClassType<any>) {\n attributeType = 'class';\n }\n\n switch (attributeType.toLowerCase()) {\n case 'number':\n case 'currency':\n return ColumnTypeEnum.Number;\n case 'boolean':\n return ColumnTypeEnum.Boolean;\n case 'date':\n return ColumnTypeEnum.Date;\n case 'enum':\n return ColumnTypeEnum.Enum;\n case 'custom':\n return ColumnTypeEnum.Custom;\n case 'class':\n return ColumnTypeEnum.String;\n case 'string':\n default:\n return ColumnTypeEnum.String;\n }\n}\n\nexport function getColumnDisplayTypeFromColumnType(columnType: ColumnTypeEnum, attributeType: string): ColumnDisplayTypeEnum {\n switch (columnType) {\n case ColumnTypeEnum.Number:\n return attributeType === 'currency' ? ColumnDisplayTypeEnum.Currency : ColumnDisplayTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return ColumnDisplayTypeEnum.Boolean;\n case ColumnTypeEnum.Date:\n return ColumnDisplayTypeEnum.Date;\n case ColumnTypeEnum.Enum:\n return ColumnDisplayTypeEnum.Enum;\n case ColumnTypeEnum.Custom:\n return ColumnDisplayTypeEnum.Component;\n case ColumnTypeEnum.String:\n default:\n return ColumnDisplayTypeEnum.String;\n }\n}\n\nexport function expandClassAttributeDefWithTableDef(attributes?: Array<ClassAttributeDef> | null): TableClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef: TableClassAttributeDef[] = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n enumType: typeRegistry.findEnum(attribute.type) as EnumType,\n classType: typeRegistry.findType(attribute.type) as ClassType<any>\n });\n }\n\n return tableClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableClassAttributeDef<T>(type: ClassType<T>): TableClassAttributeDef[] {\n return expandClassAttributeDefWithTableDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {TableDataProviderInst} from '@mediusinc/mng-commons/table/api';\n\nexport function tableDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>\n): TableDataProviderInst<Model, undefined, Sorts, Filters, undefined>;\nexport function tableDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): TableDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>>;\nexport function tableDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassType<Service>>(\n type: ClassType<Model>,\n serviceType?: ServiceClass\n) {\n return new TableDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>(serviceType as ServiceClass);\n}\n","import {CommonsInternalError, EnumType, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {FilterLookupDescriptor} from '@mediusinc/mng-commons/filter';\nimport {EnumDescriptor, enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor, findClassTitleAttribute} from '@mediusinc/mng-commons/model/class';\nimport {ColumnDescriptor, ColumnDisplayTypeEnum, ColumnTypeEnum, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {getTableClassAttributeDef} from './class-table-attribute-converter';\nimport {TableClassAttributeDef} from './class-table-attribute.model';\n\n/**\n * generates column based on attributes\n * @param desc Table descriptor\n * @param attribute attribute map\n * @param column if provided, replaced by new, otherwise new is created\n * @param args additional parameters\n */\nexport function upsertTableColumnFromAttributeDef<ColumnModel, TableModel>(\n desc: TableDescriptorInst<TableModel, any, any>,\n attribute: TableClassAttributeDef,\n column?: ColumnDescriptor<ColumnModel, TableModel>,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel> {\n if (column == null) {\n column = desc.addColumnUnsafe(attribute.name);\n }\n\n if (attribute.columnType === ColumnTypeEnum.Enum && args.length === 0 && attribute.enumType) {\n args = [enumModelGeneric(attribute.enumType)];\n }\n\n column = column.asType(attribute.columnType, attribute.columnDisplayType, ...args);\n if (attribute.classType) {\n const titleProperty = findClassTitleAttribute(attribute.classType) ?? undefined;\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty as keyof object]);\n }\n } else {\n desc.addFilterFromColumnDescriptorUnsafe(column, false);\n desc.withSortUnsafe(column.property);\n }\n\n return column;\n}\n\n/**\n * defines modified type of column\n * DO NOT USE with enum (use withCustomEnumType)\n * @param descriptor table descriptor\n * @param property column name\n * @param columnType modified type\n * @param args additional attributes\n * @param columnDisplayType\n */\nexport function modifyTableClassAttributeColumnType<\n TableModel,\n Property extends keyof TableModel,\n ColumnModel = NonNullable<TableModel[Property]>,\n ColumnValue = TableModel[Property]\n>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: Property,\n columnType?: ColumnTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n return modifyTableClassAttributeColumnTypeUnsafe<TableModel, ColumnModel, ColumnValue>(descriptor, property as string, columnType, columnDisplayType, ...args);\n}\n\nexport function modifyTableClassAttributeColumnTypeUnsafe<TableModel, ColumnModel = any, ColumnValue = ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n columnType?: ColumnTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum,\n ...args: any[]\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(\n `withColumnModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`\n );\n }\n\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.columnType = columnType ?? attributeDef.columnType;\n attributeDef.columnDisplayType = columnDisplayType ?? attributeDef.columnDisplayType;\n return upsertTableColumnFromAttributeDef(\n descriptor,\n attributeDef,\n descriptor.columns.find(col => col.property === attributeDef.name),\n ...args\n );\n }\n\n return null;\n}\n\n/**\n * defines custom enum type for column\n * @param descriptor table descriptor\n * @param property column name\n * @param enumDesc Enum descriptor.\n */\nexport function modifyTableClassAttributeColumnEnum<\n TableModel,\n Property extends keyof TableModel,\n Enum extends NonNullable<TableModel[Property]>,\n ColumnModel = NonNullable<TableModel[Property]>,\n ColumnValue = TableModel[Property]\n>(descriptor: TableDescriptorInst<TableModel, any, any>, property: Property, enumDesc?: EnumDescriptor<Enum>): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n return tableDescriptorModifyEnumColumnUnsafe<TableModel, Enum, ColumnModel, ColumnValue>(descriptor, property as string, enumDesc);\n}\n\nexport function tableDescriptorModifyEnumColumnUnsafe<TableModel, Enum = any, ColumnModel = any, ColumnValue = ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>\n): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(\n `withColumnModifiedEnum cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`\n );\n }\n\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.columnType = ColumnTypeEnum.Enum;\n upsertTableColumnFromAttributeDef(\n descriptor,\n attributeDef,\n descriptor.columns.find(col => col.property === property),\n enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attributeDef.type) as EnumType)\n );\n }\n\n return null;\n}\n\n/**\n * modifies column with class and lookup provider\n * @param descriptor table descriptor\n * @param property column name\n * @param lookupProvider lookupProvider for class\n * @param optionsLabelProperty\n * @param filterProperty\n */\nexport function modifyTableColumnFilterLookup<TableModel, Property extends keyof TableModel, Service, ColumnModel = NonNullable<TableModel[Property]>>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: Property,\n lookupProvider?: ILookupDataProvider<ColumnModel, any>,\n optionsLabelProperty?: keyof ColumnModel,\n filterProperty?: keyof ColumnModel\n): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null {\n return modifyTableColumnFilterLookupUnsafe<TableModel, Service, ColumnModel>(\n descriptor,\n property as string,\n lookupProvider,\n optionsLabelProperty as string,\n filterProperty as string\n );\n}\n\nexport function modifyTableColumnFilterLookupUnsafe<TableModel, Service, ColumnModel>(\n descriptor: TableDescriptorInst<TableModel, any, any>,\n property: string,\n lookupProvider?: ILookupDataProvider<ColumnModel, Service>,\n optionsLabelProperty?: string,\n filterProperty?: string\n): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null {\n const column = descriptor.columns.find(col => col.property === property);\n if (column) {\n const filter = descriptor.addFilterLookupUnsafe(column.property, lookupProvider, filterProperty);\n if (optionsLabelProperty) {\n filter.withOptionsLabelPropertyUnsafe(optionsLabelProperty);\n }\n return filter;\n }\n return null;\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {TableDescriptorCreateOptsType, TableDescriptorInst} from '@mediusinc/mng-commons/table/api';\n\nimport {getTableClassAttributeDef} from './class-table-attribute-converter';\nimport {TableClassAttributeDef} from './class-table-attribute.model';\nimport {upsertTableColumnFromAttributeDef} from './class-table-descriptor-helpers';\n\nexport function tableDescriptorFromClass<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(\n type: ClassType<TableModel>,\n opts?: TableDescriptorCreateOptsType<TableModel>\n): TableDescriptorInst<TableModel, Sorts, Filters> {\n return new TableDescriptorInst<TableModel, Sorts, Filters>(modelClass<TableModel>(type as ClassType<TableModel>, opts));\n}\n\n/**\n * generates descriptor based on type attribute definition\n * @param type class type\n * @param attributes\n * @param opts\n */\nexport function tableDescriptorFromClassAttrsDef<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(\n type: ClassType<TableModel>,\n attributes?: TableClassAttributeDef[],\n opts?: TableDescriptorCreateOptsType<TableModel>\n): TableDescriptorInst<TableModel, Sorts, Filters> {\n const descriptor = new TableDescriptorInst<TableModel, Sorts, Filters>(modelClass(type, opts), true);\n (attributes ?? getTableClassAttributeDef(type))\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr => upsertTableColumnFromAttributeDef(descriptor, attr));\n return descriptor;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mediusinc-mng-commons-table-api-class.mjs","sources":["../tmp-esm2022/table/api/class/class-table-attribute-converter.js","../tmp-esm2022/table/api/class/class-table-data-provider.factory.js","../tmp-esm2022/table/api/class/class-table-descriptor-helpers.js","../tmp-esm2022/table/api/class/class-table-descriptor.factory.js","../tmp-esm2022/table/api/class/mediusinc-mng-commons-table-api-class.js"],"sourcesContent":["import { CommonsInternalError, TypeRegistry } from '@mediusinc/mng-commons/core';\nimport { ColumnDisplayTypeEnum, ColumnTypeEnum } from '@mediusinc/mng-commons/table/api';\n/**\n * converts string type to column type enum, default is string\n * @param attributeType\n */\nexport function getColumnTypeFromClassAttributeDefType(attributeType) {\n const typeRegistry = TypeRegistry.get();\n if (typeRegistry.findEnum(attributeType)) {\n attributeType = 'enum';\n }\n else if (typeRegistry.findType(attributeType)) {\n attributeType = 'class';\n }\n switch (attributeType.toLowerCase()) {\n case 'number':\n case 'currency':\n return ColumnTypeEnum.Number;\n case 'boolean':\n return ColumnTypeEnum.Boolean;\n case 'date':\n return ColumnTypeEnum.Date;\n case 'enum':\n return ColumnTypeEnum.Enum;\n case 'custom':\n return ColumnTypeEnum.Custom;\n case 'class':\n return ColumnTypeEnum.String;\n case 'string':\n default:\n return ColumnTypeEnum.String;\n }\n}\nexport function getColumnDisplayTypeFromColumnType(columnType, attributeType) {\n switch (columnType) {\n case ColumnTypeEnum.Number:\n return attributeType === 'currency' ? ColumnDisplayTypeEnum.Currency : ColumnDisplayTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return ColumnDisplayTypeEnum.Boolean;\n case ColumnTypeEnum.Date:\n return ColumnDisplayTypeEnum.Date;\n case ColumnTypeEnum.Enum:\n return ColumnDisplayTypeEnum.Enum;\n case ColumnTypeEnum.Custom:\n return ColumnDisplayTypeEnum.Component;\n case ColumnTypeEnum.String:\n default:\n return ColumnDisplayTypeEnum.String;\n }\n}\nexport function expandClassAttributeDefWithTableDef(attributes) {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', { name: 'TableviewUtilsError' });\n }\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n enumType: typeRegistry.findEnum(attribute.type),\n classType: typeRegistry.findType(attribute.type)\n });\n }\n return tableClassAttributeDef;\n}\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableClassAttributeDef(type) {\n return expandClassAttributeDefWithTableDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdGFibGUtYXR0cmlidXRlLWNvbnZlcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxlL2FwaS9jbGFzcy9zcmMvY2xhc3MtdGFibGUtYXR0cmlidXRlLWNvbnZlcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStCLG9CQUFvQixFQUFZLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZILE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUl2Rjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsc0NBQXNDLENBQUMsYUFBcUI7SUFDeEUsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQWEsRUFBRSxDQUFDO1FBQ25ELGFBQWEsR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQztTQUFNLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQW1CLEVBQUUsQ0FBQztRQUNoRSxhQUFhLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxVQUFVO1lBQ1gsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQ2pDLEtBQUssU0FBUztZQUNWLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUNsQyxLQUFLLE1BQU07WUFDUCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDL0IsS0FBSyxNQUFNO1lBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQy9CLEtBQUssUUFBUTtZQUNULE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxLQUFLLE9BQU87WUFDUixPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFDakMsS0FBSyxRQUFRLENBQUM7UUFDZDtZQUNJLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxrQ0FBa0MsQ0FBQyxVQUEwQixFQUFFLGFBQXFCO0lBQ2hHLFFBQVEsVUFBVSxFQUFFLENBQUM7UUFDakIsS0FBSyxjQUFjLENBQUMsTUFBTTtZQUN0QixPQUFPLGFBQWEsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDO1FBQ3hHLEtBQUssY0FBYyxDQUFDLE9BQU87WUFDdkIsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7UUFDekMsS0FBSyxjQUFjLENBQUMsSUFBSTtZQUNwQixPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQztRQUN0QyxLQUFLLGNBQWMsQ0FBQyxJQUFJO1lBQ3BCLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDO1FBQ3RDLEtBQUssY0FBYyxDQUFDLE1BQU07WUFDdEIsT0FBTyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDM0MsS0FBSyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQzNCO1lBQ0ksT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsbUNBQW1DLENBQUMsVUFBNEM7SUFDNUYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHFHQUFxRyxFQUFFLEVBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFDLENBQUMsQ0FBQztJQUN6SyxDQUFDO0lBRUQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sc0JBQXNCLEdBQTZCLEVBQUUsQ0FBQztJQUM1RCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNHLHNCQUFzQixDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7WUFDcEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRO1lBQzVCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU87WUFDMUIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsc0NBQXNDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNuRyxpQkFBaUIsRUFBRSxrQ0FBa0MsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNqRixRQUFRLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFhO1lBQzNELFNBQVMsRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQW1CO1NBQ3JFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPLHNCQUFzQixDQUFDO0FBQ2xDLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUksSUFBa0I7SUFDM0QsT0FBTyxtQ0FBbUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsbUNBQW1DLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM3RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc0F0dHJpYnV0ZURlZiwgQ2xhc3NUeXBlLCBDb21tb25zSW50ZXJuYWxFcnJvciwgRW51bVR5cGUsIFR5cGVSZWdpc3RyeX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7Q29sdW1uRGlzcGxheVR5cGVFbnVtLCBDb2x1bW5UeXBlRW51bX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5pbXBvcnQge1RhYmxlQ2xhc3NBdHRyaWJ1dGVEZWZ9IGZyb20gJy4vY2xhc3MtdGFibGUtYXR0cmlidXRlLm1vZGVsJztcblxuLyoqXG4gKiBjb252ZXJ0cyBzdHJpbmcgdHlwZSB0byBjb2x1bW4gdHlwZSBlbnVtLCBkZWZhdWx0IGlzIHN0cmluZ1xuICogQHBhcmFtIGF0dHJpYnV0ZVR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbHVtblR5cGVGcm9tQ2xhc3NBdHRyaWJ1dGVEZWZUeXBlKGF0dHJpYnV0ZVR5cGU6IHN0cmluZyk6IENvbHVtblR5cGVFbnVtIHtcbiAgICBjb25zdCB0eXBlUmVnaXN0cnkgPSBUeXBlUmVnaXN0cnkuZ2V0KCk7XG4gICAgaWYgKHR5cGVSZWdpc3RyeS5maW5kRW51bShhdHRyaWJ1dGVUeXBlKSBhcyBFbnVtVHlwZSkge1xuICAgICAgICBhdHRyaWJ1dGVUeXBlID0gJ2VudW0nO1xuICAgIH0gZWxzZSBpZiAodHlwZVJlZ2lzdHJ5LmZpbmRUeXBlKGF0dHJpYnV0ZVR5cGUpIGFzIENsYXNzVHlwZTxhbnk+KSB7XG4gICAgICAgIGF0dHJpYnV0ZVR5cGUgPSAnY2xhc3MnO1xuICAgIH1cblxuICAgIHN3aXRjaCAoYXR0cmlidXRlVHlwZS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5OdW1iZXI7XG4gICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkJvb2xlYW47XG4gICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkRhdGU7XG4gICAgICAgIGNhc2UgJ2VudW0nOlxuICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkVudW07XG4gICAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uQ3VzdG9tO1xuICAgICAgICBjYXNlICdjbGFzcyc6XG4gICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uU3RyaW5nO1xuICAgICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLlN0cmluZztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2x1bW5EaXNwbGF5VHlwZUZyb21Db2x1bW5UeXBlKGNvbHVtblR5cGU6IENvbHVtblR5cGVFbnVtLCBhdHRyaWJ1dGVUeXBlOiBzdHJpbmcpOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0ge1xuICAgIHN3aXRjaCAoY29sdW1uVHlwZSkge1xuICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGVUeXBlID09PSAnY3VycmVuY3knID8gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkN1cnJlbmN5IDogQ29sdW1uRGlzcGxheVR5cGVFbnVtLk51bWJlcjtcbiAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5Cb29sZWFuO1xuICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkRhdGU7XG4gICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRW51bTpcbiAgICAgICAgICAgIHJldHVybiBDb2x1bW5EaXNwbGF5VHlwZUVudW0uRW51bTtcbiAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5DdXN0b206XG4gICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkNvbXBvbmVudDtcbiAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5TdHJpbmc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLlN0cmluZztcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBhbmRDbGFzc0F0dHJpYnV0ZURlZldpdGhUYWJsZURlZihhdHRyaWJ1dGVzPzogQXJyYXk8Q2xhc3NBdHRyaWJ1dGVEZWY+IHwgbnVsbCk6IFRhYmxlQ2xhc3NBdHRyaWJ1dGVEZWZbXSB7XG4gICAgaWYgKCFhdHRyaWJ1dGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignQ2xhc3MgYXR0cmlidXRlIGRlZmluaXRpb24gaXMgbnVsbCwgcHJvYmxlbSB3aXRoIFR5cGVSZWdpc3RyeTo6ZmluZEF0dHJpYnV0ZXNEZWZpbml0aW9uQnlDbGFzc1R5cGU/Jywge25hbWU6ICdUYWJsZXZpZXdVdGlsc0Vycm9yJ30pO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVSZWdpc3RyeSA9IFR5cGVSZWdpc3RyeS5nZXQoKTtcbiAgICBjb25zdCB0YWJsZUNsYXNzQXR0cmlidXRlRGVmOiBUYWJsZUNsYXNzQXR0cmlidXRlRGVmW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVzKSB7XG4gICAgICAgIGNvbnN0IGVudW1UeXBlID0gdHlwZVJlZ2lzdHJ5LmZpbmRFbnVtKGF0dHJpYnV0ZS50eXBlKTtcbiAgICAgICAgY29uc3QgY29sdW1uVHlwZSA9IGVudW1UeXBlID8gQ29sdW1uVHlwZUVudW0uRW51bSA6IGdldENvbHVtblR5cGVGcm9tQ2xhc3NBdHRyaWJ1dGVEZWZUeXBlKGF0dHJpYnV0ZS50eXBlKTtcbiAgICAgICAgdGFibGVDbGFzc0F0dHJpYnV0ZURlZi5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGF0dHJpYnV0ZS5uYW1lLFxuICAgICAgICAgICAgYmFzZU5hbWU6IGF0dHJpYnV0ZS5iYXNlTmFtZSxcbiAgICAgICAgICAgIHR5cGU6IGF0dHJpYnV0ZS50eXBlLFxuICAgICAgICAgICAgc3VidHlwZTogYXR0cmlidXRlLnN1YnR5cGUsXG4gICAgICAgICAgICBjb2x1bW5UeXBlOiBlbnVtVHlwZSA/IENvbHVtblR5cGVFbnVtLkVudW0gOiBnZXRDb2x1bW5UeXBlRnJvbUNsYXNzQXR0cmlidXRlRGVmVHlwZShhdHRyaWJ1dGUudHlwZSksXG4gICAgICAgICAgICBjb2x1bW5EaXNwbGF5VHlwZTogZ2V0Q29sdW1uRGlzcGxheVR5cGVGcm9tQ29sdW1uVHlwZShjb2x1bW5UeXBlLCBhdHRyaWJ1dGUudHlwZSksXG4gICAgICAgICAgICBlbnVtVHlwZTogdHlwZVJlZ2lzdHJ5LmZpbmRFbnVtKGF0dHJpYnV0ZS50eXBlKSBhcyBFbnVtVHlwZSxcbiAgICAgICAgICAgIGNsYXNzVHlwZTogdHlwZVJlZ2lzdHJ5LmZpbmRUeXBlKGF0dHJpYnV0ZS50eXBlKSBhcyBDbGFzc1R5cGU8YW55PlxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGFibGVDbGFzc0F0dHJpYnV0ZURlZjtcbn1cblxuLyoqXG4gKiByZXR1cm5zIGF0dHJpYnV0ZXMgZnJvbSBjbGFzcyB0eXBlIGFuZCBleHRlbmRzIHRvIHR5cGVkIGRlZiB3aXRoIGNvbHVtbiBhbmQgZmllbGQgZW51bSB0eXBlXG4gKiBAcGFyYW0gdHlwZSBjbGFzcyB0eXBlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZUNsYXNzQXR0cmlidXRlRGVmPFQ+KHR5cGU6IENsYXNzVHlwZTxUPik6IFRhYmxlQ2xhc3NBdHRyaWJ1dGVEZWZbXSB7XG4gICAgcmV0dXJuIGV4cGFuZENsYXNzQXR0cmlidXRlRGVmV2l0aFRhYmxlRGVmKFR5cGVSZWdpc3RyeS5nZXQoKS5maW5kQXR0cmlidXRlc0RlZmluaXRpb25CeUNsYXNzVHlwZSh0eXBlKSk7XG59XG4iXX0=","import { TableDataProviderInst } from '@mediusinc/mng-commons/table/api';\nexport function tableDataProviderFromClass(type, serviceType) {\n return new TableDataProviderInst(serviceType);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdGFibGUtZGF0YS1wcm92aWRlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGUvYXBpL2NsYXNzL3NyYy9jbGFzcy10YWJsZS1kYXRhLXByb3ZpZGVyLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFTdkUsTUFBTSxVQUFVLDBCQUEwQixDQUN0QyxJQUFzQixFQUN0QixXQUEwQjtJQUUxQixPQUFPLElBQUkscUJBQXFCLENBQStDLFdBQTJCLENBQUMsQ0FBQztBQUNoSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc1R5cGUsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge1RhYmxlRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy90YWJsZS9hcGknO1xuXG5leHBvcnQgZnVuY3Rpb24gdGFibGVEYXRhUHJvdmlkZXJGcm9tQ2xhc3M8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPlxuKTogVGFibGVEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlRGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT5cbik6IFRhYmxlRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlRGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3Ncbikge1xuICAgIHJldHVybiBuZXcgVGFibGVEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzPihzZXJ2aWNlVHlwZSBhcyBTZXJ2aWNlQ2xhc3MpO1xufVxuIl19","import { CommonsInternalError, TypeRegistry } from '@mediusinc/mng-commons/core';\nimport { enumModelGeneric } from '@mediusinc/mng-commons/model';\nimport { ModelClassDescriptor, findClassTitleAttribute } from '@mediusinc/mng-commons/model/class';\nimport { ColumnTypeEnum } from '@mediusinc/mng-commons/table/api';\nimport { getTableClassAttributeDef } from './class-table-attribute-converter';\n/**\n * generates column based on attributes\n * @param desc Table descriptor\n * @param attribute attribute map\n * @param column if provided, replaced by new, otherwise new is created\n * @param args additional parameters\n */\nexport function upsertTableColumnFromAttributeDef(desc, attribute, column, ...args) {\n if (column == null) {\n column = desc.addColumnUnsafe(attribute.name);\n }\n if (attribute.columnType === ColumnTypeEnum.Enum && args.length === 0 && attribute.enumType) {\n args = [enumModelGeneric(attribute.enumType)];\n }\n column = column.asType(attribute.columnType, attribute.columnDisplayType, ...args);\n if (attribute.classType) {\n const titleProperty = findClassTitleAttribute(attribute.classType) ?? undefined;\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty]);\n }\n }\n else {\n desc.addFilterFromColumnDescriptorUnsafe(column, false);\n desc.withSortUnsafe(column.property);\n }\n return column;\n}\n/**\n * defines modified type of column\n * DO NOT USE with enum (use withCustomEnumType)\n * @param descriptor table descriptor\n * @param property column name\n * @param columnType modified type\n * @param args additional attributes\n * @param columnDisplayType\n */\nexport function modifyTableClassAttributeColumnType(descriptor, property, columnType, columnDisplayType, ...args) {\n return modifyTableClassAttributeColumnTypeUnsafe(descriptor, property, columnType, columnDisplayType, ...args);\n}\nexport function modifyTableClassAttributeColumnTypeUnsafe(descriptor, property, columnType, columnDisplayType, ...args) {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withColumnModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n if (attributeDef != null) {\n attributeDef.columnType = columnType ?? attributeDef.columnType;\n attributeDef.columnDisplayType = columnDisplayType ?? attributeDef.columnDisplayType;\n return upsertTableColumnFromAttributeDef(descriptor, attributeDef, descriptor.columns.find(col => col.property === attributeDef.name), ...args);\n }\n return null;\n}\n/**\n * defines custom enum type for column\n * @param descriptor table descriptor\n * @param property column name\n * @param enumDesc Enum descriptor.\n */\nexport function modifyTableClassAttributeColumnEnum(descriptor, property, enumDesc) {\n return tableDescriptorModifyEnumColumnUnsafe(descriptor, property, enumDesc);\n}\nexport function tableDescriptorModifyEnumColumnUnsafe(descriptor, property, enumDesc) {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withColumnModifiedEnum cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n const attributeDef = getTableClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n if (attributeDef != null) {\n attributeDef.columnType = ColumnTypeEnum.Enum;\n upsertTableColumnFromAttributeDef(descriptor, attributeDef, descriptor.columns.find(col => col.property === property), enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attributeDef.type)));\n }\n return null;\n}\n/**\n * modifies column with class and lookup provider\n * @param descriptor table descriptor\n * @param property column name\n * @param lookupProvider lookupProvider for class\n * @param optionsLabelProperty\n * @param filterProperty\n */\nexport function modifyTableColumnFilterLookup(descriptor, property, lookupProvider, optionsLabelProperty, filterProperty) {\n return modifyTableColumnFilterLookupUnsafe(descriptor, property, lookupProvider, optionsLabelProperty, filterProperty);\n}\nexport function modifyTableColumnFilterLookupUnsafe(descriptor, property, lookupProvider, optionsLabelProperty, filterProperty) {\n const column = descriptor.columns.find(col => col.property === property);\n if (column) {\n const filter = descriptor.addFilterLookupUnsafe(column.property, lookupProvider, filterProperty);\n if (optionsLabelProperty) {\n filter.withOptionsLabelPropertyUnsafe(optionsLabelProperty);\n }\n return filter;\n }\n return null;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdGFibGUtZGVzY3JpcHRvci1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGUvYXBpL2NsYXNzL3NyYy9jbGFzcy10YWJsZS1kZXNjcmlwdG9yLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFpQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RyxPQUFPLEVBQWlCLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLHVCQUF1QixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDakcsT0FBTyxFQUEwQyxjQUFjLEVBQXNCLE1BQU0sa0NBQWtDLENBQUM7QUFFOUgsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHNUU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGlDQUFpQyxDQUM3QyxJQUErQyxFQUMvQyxTQUFpQyxFQUNqQyxNQUFrRCxFQUNsRCxHQUFHLElBQVc7SUFFZCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLFVBQVUsS0FBSyxjQUFjLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxRixJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJ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Q2xCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvciwgRW51bVR5cGUsIElMb29rdXBEYXRhUHJvdmlkZXIsIFR5cGVSZWdpc3RyeX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7RmlsdGVyTG9va3VwRGVzY3JpcHRvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9maWx0ZXInO1xuaW1wb3J0IHtFbnVtRGVzY3JpcHRvciwgZW51bU1vZGVsR2VuZXJpY30gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9tb2RlbCc7XG5pbXBvcnQge01vZGVsQ2xhc3NEZXNjcmlwdG9yLCBmaW5kQ2xhc3NUaXRsZUF0dHJpYnV0ZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9tb2RlbC9jbGFzcyc7XG5pbXBvcnQge0NvbHVtbkRlc2NyaXB0b3IsIENvbHVtbkRpc3BsYXlUeXBlRW51bSwgQ29sdW1uVHlwZUVudW0sIFRhYmxlRGVzY3JpcHRvckluc3R9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGUvYXBpJztcblxuaW1wb3J0IHtnZXRUYWJsZUNsYXNzQXR0cmlidXRlRGVmfSBmcm9tICcuL2NsYXNzLXRhYmxlLWF0dHJpYnV0ZS1jb252ZXJ0ZXInO1xuaW1wb3J0IHtUYWJsZUNsYXNzQXR0cmlidXRlRGVmfSBmcm9tICcuL2NsYXNzLXRhYmxlLWF0dHJpYnV0ZS5tb2RlbCc7XG5cbi8qKlxuICogZ2VuZXJhdGVzIGNvbHVtbiBiYXNlZCBvbiBhdHRyaWJ1dGVzXG4gKiBAcGFyYW0gZGVzYyBUYWJsZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gYXR0cmlidXRlIGF0dHJpYnV0ZSBtYXBcbiAqIEBwYXJhbSBjb2x1bW4gaWYgcHJvdmlkZWQsIHJlcGxhY2VkIGJ5IG5ldywgb3RoZXJ3aXNlIG5ldyBpcyBjcmVhdGVkXG4gKiBAcGFyYW0gYXJncyBhZGRpdGlvbmFsIHBhcmFtZXRlcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwc2VydFRhYmxlQ29sdW1uRnJvbUF0dHJpYnV0ZURlZjxDb2x1bW5Nb2RlbCwgVGFibGVNb2RlbD4oXG4gICAgZGVzYzogVGFibGVEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBhbnksIGFueT4sXG4gICAgYXR0cmlidXRlOiBUYWJsZUNsYXNzQXR0cmlidXRlRGVmLFxuICAgIGNvbHVtbj86IENvbHVtbkRlc2NyaXB0b3I8Q29sdW1uTW9kZWwsIFRhYmxlTW9kZWw+LFxuICAgIC4uLmFyZ3M6IGFueVtdXG4pOiBDb2x1bW5EZXNjcmlwdG9yPENvbHVtbk1vZGVsLCBUYWJsZU1vZGVsPiB7XG4gICAgaWYgKGNvbHVtbiA9PSBudWxsKSB7XG4gICAgICAgIGNvbHVtbiA9IGRlc2MuYWRkQ29sdW1uVW5zYWZlKGF0dHJpYnV0ZS5uYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoYXR0cmlidXRlLmNvbHVtblR5cGUgPT09IENvbHVtblR5cGVFbnVtLkVudW0gJiYgYXJncy5sZW5ndGggPT09IDAgJiYgYXR0cmlidXRlLmVudW1UeXBlKSB7XG4gICAgICAgIGFyZ3MgPSBbZW51bU1vZGVsR2VuZXJpYyhhdHRyaWJ1dGUuZW51bVR5cGUpXTtcbiAgICB9XG5cbiAgICBjb2x1bW4gPSBjb2x1bW4uYXNUeXBlKGF0dHJpYnV0ZS5jb2x1bW5UeXBlLCBhdHRyaWJ1dGUuY29sdW1uRGlzcGxheVR5cGUsIC4uLmFyZ3MpO1xuICAgIGlmIChhdHRyaWJ1dGUuY2xhc3NUeXBlKSB7XG4gICAgICAgIGNvbnN0IHRpdGxlUHJvcGVydHkgPSBmaW5kQ2xhc3NUaXRsZUF0dHJpYnV0ZShhdHRyaWJ1dGUuY2xhc3NUeXBlKSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0aXRsZVByb3BlcnR5KSB7XG4gICAgICAgICAgICBjb2x1bW4ud2l0aEdldHRlcih2YWx1ZSA9PiB2YWx1ZT8uW3RpdGxlUHJvcGVydHkgYXMga2V5b2Ygb2JqZWN0XSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBkZXNjLmFkZEZpbHRlckZyb21Db2x1bW5EZXNjcmlwdG9yVW5zYWZlKGNvbHVtbiwgZmFsc2UpO1xuICAgICAgICBkZXNjLndpdGhTb3J0VW5zYWZlKGNvbHVtbi5wcm9wZXJ0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbHVtbjtcbn1cblxuLyoqXG4gKiBkZWZpbmVzIG1vZGlmaWVkIHR5cGUgb2YgY29sdW1uXG4gKiBETyBOT1QgVVNFIHdpdGggZW51bSAodXNlIHdpdGhDdXN0b21FbnVtVHlwZSlcbiAqIEBwYXJhbSBkZXNjcmlwdG9yIHRhYmxlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eSBjb2x1bW4gbmFtZVxuICogQHBhcmFtIGNvbHVtblR5cGUgbW9kaWZpZWQgdHlwZVxuICogQHBhcmFtIGFyZ3MgYWRkaXRpb25hbCBhdHRyaWJ1dGVzXG4gKiBAcGFyYW0gY29sdW1uRGlzcGxheVR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmeVRhYmxlQ2xhc3NBdHRyaWJ1dGVDb2x1bW5UeXBlPFxuICAgIFRhYmxlTW9kZWwsXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBUYWJsZU1vZGVsLFxuICAgIENvbHVtbk1vZGVsID0gTm9uTnVsbGFibGU8VGFibGVNb2RlbFtQcm9wZXJ0eV0+LFxuICAgIENvbHVtblZhbHVlID0gVGFibGVNb2RlbFtQcm9wZXJ0eV1cbj4oXG4gICAgZGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBhbnksIGFueT4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIGNvbHVtblR5cGU/OiBDb2x1bW5UeXBlRW51bSxcbiAgICBjb2x1bW5EaXNwbGF5VHlwZT86IENvbHVtbkRpc3BsYXlUeXBlRW51bSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuKTogQ29sdW1uRGVzY3JpcHRvcjxDb2x1bW5Nb2RlbCwgVGFibGVNb2RlbCwgQ29sdW1uVmFsdWU+IHwgbnVsbCB7XG4gICAgcmV0dXJuIG1vZGlmeVRhYmxlQ2xhc3NBdHRyaWJ1dGVDb2x1bW5UeXBlVW5zYWZlPFRhYmxlTW9kZWwsIENvbHVtbk1vZGVsLCBDb2x1bW5WYWx1ZT4oZGVzY3JpcHRvciwgcHJvcGVydHkgYXMgc3RyaW5nLCBjb2x1bW5UeXBlLCBjb2x1bW5EaXNwbGF5VHlwZSwgLi4uYXJncyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb2RpZnlUYWJsZUNsYXNzQXR0cmlidXRlQ29sdW1uVHlwZVVuc2FmZTxUYWJsZU1vZGVsLCBDb2x1bW5Nb2RlbCA9IGFueSwgQ29sdW1uVmFsdWUgPSBDb2x1bW5Nb2RlbD4oXG4gICAgZGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBhbnksIGFueT4sXG4gICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICBjb2x1bW5UeXBlPzogQ29sdW1uVHlwZUVudW0sXG4gICAgY29sdW1uRGlzcGxheVR5cGU/OiBDb2x1bW5EaXNwbGF5VHlwZUVudW0sXG4gICAgLi4uYXJnczogYW55W11cbik6IENvbHVtbkRlc2NyaXB0b3I8Q29sdW1uTW9kZWwsIFRhYmxlTW9kZWwsIENvbHVtblZhbHVlPiB8IG51bGwge1xuICAgIGlmICghKGRlc2NyaXB0b3IubW9kZWwgaW5zdGFuY2VvZiBNb2RlbENsYXNzRGVzY3JpcHRvcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgYHdpdGhDb2x1bW5Nb2RpZmllZFR5cGUgY2Fubm90IGJlIGV4ZWN1dGVkIGZvciBwcm9wZXJ0eSAke3Byb3BlcnR5fTogTW9kZWwgZGVzY3JpcHRvciBpcyBub3Qgb2YgdHlwZSAnTW9kZWxDbGFzc0Rlc2NyaXB0b3InIGlzIG5vdCBkZWZpbmVkLmBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVEZWYgPSBnZXRUYWJsZUNsYXNzQXR0cmlidXRlRGVmKGRlc2NyaXB0b3IubW9kZWwuY2xhc3NUeXBlKS5maW5kKGF0dHIgPT4gYXR0ci5uYW1lID09PSBwcm9wZXJ0eSk7XG5cbiAgICBpZiAoYXR0cmlidXRlRGVmICE9IG51bGwpIHtcbiAgICAgICAgYXR0cmlidXRlRGVmLmNvbHVtblR5cGUgPSBjb2x1bW5UeXBlID8/IGF0dHJpYnV0ZURlZi5jb2x1bW5UeXBlO1xuICAgICAgICBhdHRyaWJ1dGVEZWYuY29sdW1uRGlzcGxheVR5cGUgPSBjb2x1bW5EaXNwbGF5VHlwZSA/PyBhdHRyaWJ1dGVEZWYuY29sdW1uRGlzcGxheVR5cGU7XG4gICAgICAgIHJldHVybiB1cHNlcnRUYWJsZUNvbHVtbkZyb21BdHRyaWJ1dGVEZWYoXG4gICAgICAgICAgICBkZXNjcmlwdG9yLFxuICAgICAgICAgICAgYXR0cmlidXRlRGVmLFxuICAgICAgICAgICAgZGVzY3JpcHRvci5jb2x1bW5zLmZpbmQoY29sID0+IGNvbC5wcm9wZXJ0eSA9PT0gYXR0cmlidXRlRGVmLm5hbWUpLFxuICAgICAgICAgICAgLi4uYXJnc1xuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIGRlZmluZXMgY3VzdG9tIGVudW0gdHlwZSBmb3IgY29sdW1uXG4gKiBAcGFyYW0gZGVzY3JpcHRvciB0YWJsZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0gcHJvcGVydHkgY29sdW1uIG5hbWVcbiAqIEBwYXJhbSBlbnVtRGVzYyBFbnVtIGRlc2NyaXB0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb2RpZnlUYWJsZUNsYXNzQXR0cmlidXRlQ29sdW1uRW51bTxcbiAgICBUYWJsZU1vZGVsLFxuICAgIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgVGFibGVNb2RlbCxcbiAgICBFbnVtIGV4dGVuZHMgTm9uTnVsbGFibGU8VGFibGVNb2RlbFtQcm9wZXJ0eV0+LFxuICAgIENvbHVtbk1vZGVsID0gTm9uTnVsbGFibGU8VGFibGVNb2RlbFtQcm9wZXJ0eV0+LFxuICAgIENvbHVtblZhbHVlID0gVGFibGVNb2RlbFtQcm9wZXJ0eV1cbj4oZGVzY3JpcHRvcjogVGFibGVEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBhbnksIGFueT4sIHByb3BlcnR5OiBQcm9wZXJ0eSwgZW51bURlc2M/OiBFbnVtRGVzY3JpcHRvcjxFbnVtPik6IENvbHVtbkRlc2NyaXB0b3I8Q29sdW1uTW9kZWwsIFRhYmxlTW9kZWwsIENvbHVtblZhbHVlPiB8IG51bGwge1xuICAgIHJldHVybiB0YWJsZURlc2NyaXB0b3JNb2RpZnlFbnVtQ29sdW1uVW5zYWZlPFRhYmxlTW9kZWwsIEVudW0sIENvbHVtbk1vZGVsLCBDb2x1bW5WYWx1ZT4oZGVzY3JpcHRvciwgcHJvcGVydHkgYXMgc3RyaW5nLCBlbnVtRGVzYyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZURlc2NyaXB0b3JNb2RpZnlFbnVtQ29sdW1uVW5zYWZlPFRhYmxlTW9kZWwsIEVudW0gPSBhbnksIENvbHVtbk1vZGVsID0gYW55LCBDb2x1bW5WYWx1ZSA9IENvbHVtbk1vZGVsPihcbiAgICBkZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIGFueSwgYW55PixcbiAgICBwcm9wZXJ0eTogc3RyaW5nLFxuICAgIGVudW1EZXNjPzogRW51bURlc2NyaXB0b3I8RW51bT5cbik6IENvbHVtbkRlc2NyaXB0b3I8Q29sdW1uTW9kZWwsIFRhYmxlTW9kZWwsIENvbHVtblZhbHVlPiB8IG51bGwge1xuICAgIGlmICghKGRlc2NyaXB0b3IubW9kZWwgaW5zdGFuY2VvZiBNb2RlbENsYXNzRGVzY3JpcHRvcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKFxuICAgICAgICAgICAgYHdpdGhDb2x1bW5Nb2RpZmllZEVudW0gY2Fubm90IGJlIGV4ZWN1dGVkIGZvciBwcm9wZXJ0eSAke3Byb3BlcnR5fTogTW9kZWwgZGVzY3JpcHRvciBpcyBub3Qgb2YgdHlwZSAnTW9kZWxDbGFzc0Rlc2NyaXB0b3InIGlzIG5vdCBkZWZpbmVkLmBcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVEZWYgPSBnZXRUYWJsZUNsYXNzQXR0cmlidXRlRGVmKGRlc2NyaXB0b3IubW9kZWwuY2xhc3NUeXBlKS5maW5kKGF0dHIgPT4gYXR0ci5uYW1lID09PSBwcm9wZXJ0eSk7XG5cbiAgICBpZiAoYXR0cmlidXRlRGVmICE9IG51bGwpIHtcbiAgICAgICAgYXR0cmlidXRlRGVmLmNvbHVtblR5cGUgPSBDb2x1bW5UeXBlRW51bS5FbnVtO1xuICAgICAgICB1cHNlcnRUYWJsZUNvbHVtbkZyb21BdHRyaWJ1dGVEZWYoXG4gICAgICAgICAgICBkZXNjcmlwdG9yLFxuICAgICAgICAgICAgYXR0cmlidXRlRGVmLFxuICAgICAgICAgICAgZGVzY3JpcHRvci5jb2x1bW5zLmZpbmQoY29sID0+IGNvbC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpLFxuICAgICAgICAgICAgZW51bURlc2MgPz8gZW51bU1vZGVsR2VuZXJpYyhUeXBlUmVnaXN0cnkuZ2V0KCkuZmluZEVudW0oYXR0cmlidXRlRGVmLnR5cGUpIGFzIEVudW1UeXBlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIG1vZGlmaWVzIGNvbHVtbiB3aXRoIGNsYXNzIGFuZCBsb29rdXAgcHJvdmlkZXJcbiAqIEBwYXJhbSBkZXNjcmlwdG9yIHRhYmxlIGRlc2NyaXB0b3JcbiAqIEBwYXJhbSBwcm9wZXJ0eSBjb2x1bW4gbmFtZVxuICogQHBhcmFtIGxvb2t1cFByb3ZpZGVyIGxvb2t1cFByb3ZpZGVyIGZvciBjbGFzc1xuICogQHBhcmFtIG9wdGlvbnNMYWJlbFByb3BlcnR5XG4gKiBAcGFyYW0gZmlsdGVyUHJvcGVydHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmeVRhYmxlQ29sdW1uRmlsdGVyTG9va3VwPFRhYmxlTW9kZWwsIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgVGFibGVNb2RlbCwgU2VydmljZSwgQ29sdW1uTW9kZWwgPSBOb25OdWxsYWJsZTxUYWJsZU1vZGVsW1Byb3BlcnR5XT4+KFxuICAgIGRlc2NyaXB0b3I6IFRhYmxlRGVzY3JpcHRvckluc3Q8VGFibGVNb2RlbCwgYW55LCBhbnk+LFxuICAgIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICBsb29rdXBQcm92aWRlcj86IElMb29rdXBEYXRhUHJvdmlkZXI8Q29sdW1uTW9kZWwsIGFueT4sXG4gICAgb3B0aW9uc0xhYmVsUHJvcGVydHk/OiBrZXlvZiBDb2x1bW5Nb2RlbCxcbiAgICBmaWx0ZXJQcm9wZXJ0eT86IGtleW9mIENvbHVtbk1vZGVsXG4pOiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPENvbHVtbk1vZGVsLCBUYWJsZU1vZGVsLCBTZXJ2aWNlPiB8IG51bGwge1xuICAgIHJldHVybiBtb2RpZnlUYWJsZUNvbHVtbkZpbHRlckxvb2t1cFVuc2FmZTxUYWJsZU1vZGVsLCBTZXJ2aWNlLCBDb2x1bW5Nb2RlbD4oXG4gICAgICAgIGRlc2NyaXB0b3IsXG4gICAgICAgIHByb3BlcnR5IGFzIHN0cmluZyxcbiAgICAgICAgbG9va3VwUHJvdmlkZXIsXG4gICAgICAgIG9wdGlvbnNMYWJlbFByb3BlcnR5IGFzIHN0cmluZyxcbiAgICAgICAgZmlsdGVyUHJvcGVydHkgYXMgc3RyaW5nXG4gICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGlmeVRhYmxlQ29sdW1uRmlsdGVyTG9va3VwVW5zYWZlPFRhYmxlTW9kZWwsIFNlcnZpY2UsIENvbHVtbk1vZGVsPihcbiAgICBkZXNjcmlwdG9yOiBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIGFueSwgYW55PixcbiAgICBwcm9wZXJ0eTogc3RyaW5nLFxuICAgIGxvb2t1cFByb3ZpZGVyPzogSUxvb2t1cERhdGFQcm92aWRlcjxDb2x1bW5Nb2RlbCwgU2VydmljZT4sXG4gICAgb3B0aW9uc0xhYmVsUHJvcGVydHk/OiBzdHJpbmcsXG4gICAgZmlsdGVyUHJvcGVydHk/OiBzdHJpbmdcbik6IEZpbHRlckxvb2t1cERlc2NyaXB0b3I8Q29sdW1uTW9kZWwsIFRhYmxlTW9kZWwsIFNlcnZpY2U+IHwgbnVsbCB7XG4gICAgY29uc3QgY29sdW1uID0gZGVzY3JpcHRvci5jb2x1bW5zLmZpbmQoY29sID0+IGNvbC5wcm9wZXJ0eSA9PT0gcHJvcGVydHkpO1xuICAgIGlmIChjb2x1bW4pIHtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gZGVzY3JpcHRvci5hZGRGaWx0ZXJMb29rdXBVbnNhZmUoY29sdW1uLnByb3BlcnR5LCBsb29rdXBQcm92aWRlciwgZmlsdGVyUHJvcGVydHkpO1xuICAgICAgICBpZiAob3B0aW9uc0xhYmVsUHJvcGVydHkpIHtcbiAgICAgICAgICAgIGZpbHRlci53aXRoT3B0aW9uc0xhYmVsUHJvcGVydHlVbnNhZmUob3B0aW9uc0xhYmVsUHJvcGVydHkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWx0ZXI7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuIl19","import { modelClass } from '@mediusinc/mng-commons/model/class';\nimport { TableDescriptorInst } from '@mediusinc/mng-commons/table/api';\nimport { getTableClassAttributeDef } from './class-table-attribute-converter';\nimport { upsertTableColumnFromAttributeDef } from './class-table-descriptor-helpers';\nexport function tableDescriptorFromClass(type, opts) {\n return new TableDescriptorInst(modelClass(type, opts));\n}\n/**\n * generates descriptor based on type attribute definition\n * @param type class type\n * @param attributes\n * @param opts\n */\nexport function tableDescriptorFromClassAttrsDef(type, attributes, opts) {\n const descriptor = new TableDescriptorInst(modelClass(type, opts), true);\n (attributes ?? getTableClassAttributeDef(type))\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr => upsertTableColumnFromAttributeDef(descriptor, attr));\n return descriptor;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtdGFibGUtZGVzY3JpcHRvci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGUvYXBpL2NsYXNzL3NyYy9jbGFzcy10YWJsZS1kZXNjcmlwdG9yLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFBZ0MsbUJBQW1CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVuRixNQUFNLFVBQVUsd0JBQXdCLENBQ3BDLElBQTJCLEVBQzNCLElBQWdEO0lBRWhELE9BQU8sSUFBSSxtQkFBbUIsQ0FBNkIsVUFBVSxDQUFhLElBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzVDLElBQTJCLEVBQzNCLFVBQXFDLEVBQ3JDLElBQWdEO0lBRWhELE1BQU0sVUFBVSxHQUFHLElBQUksbUJBQW1CLENBQTZCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckcsQ0FBQyxVQUFVLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFFLE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7bW9kZWxDbGFzc30gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9tb2RlbC9jbGFzcyc7XG5pbXBvcnQge1RhYmxlRGVzY3JpcHRvckNyZWF0ZU9wdHNUeXBlLCBUYWJsZURlc2NyaXB0b3JJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlL2FwaSc7XG5cbmltcG9ydCB7Z2V0VGFibGVDbGFzc0F0dHJpYnV0ZURlZn0gZnJvbSAnLi9jbGFzcy10YWJsZS1hdHRyaWJ1dGUtY29udmVydGVyJztcbmltcG9ydCB7VGFibGVDbGFzc0F0dHJpYnV0ZURlZn0gZnJvbSAnLi9jbGFzcy10YWJsZS1hdHRyaWJ1dGUubW9kZWwnO1xuaW1wb3J0IHt1cHNlcnRUYWJsZUNvbHVtbkZyb21BdHRyaWJ1dGVEZWZ9IGZyb20gJy4vY2xhc3MtdGFibGUtZGVzY3JpcHRvci1oZWxwZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRhYmxlRGVzY3JpcHRvckZyb21DbGFzczxUYWJsZU1vZGVsLCBTb3J0cyA9IGtleW9mIFRhYmxlTW9kZWwsIEZpbHRlcnMgPSBrZXlvZiBUYWJsZU1vZGVsPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8VGFibGVNb2RlbD4sXG4gICAgb3B0cz86IFRhYmxlRGVzY3JpcHRvckNyZWF0ZU9wdHNUeXBlPFRhYmxlTW9kZWw+XG4pOiBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPiB7XG4gICAgcmV0dXJuIG5ldyBUYWJsZURlc2NyaXB0b3JJbnN0PFRhYmxlTW9kZWwsIFNvcnRzLCBGaWx0ZXJzPihtb2RlbENsYXNzPFRhYmxlTW9kZWw+KHR5cGUgYXMgQ2xhc3NUeXBlPFRhYmxlTW9kZWw+LCBvcHRzKSk7XG59XG5cbi8qKlxuICogZ2VuZXJhdGVzIGRlc2NyaXB0b3IgYmFzZWQgb24gdHlwZSBhdHRyaWJ1dGUgZGVmaW5pdGlvblxuICogQHBhcmFtIHR5cGUgY2xhc3MgdHlwZVxuICogQHBhcmFtIGF0dHJpYnV0ZXNcbiAqIEBwYXJhbSBvcHRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YWJsZURlc2NyaXB0b3JGcm9tQ2xhc3NBdHRyc0RlZjxUYWJsZU1vZGVsLCBTb3J0cyA9IGtleW9mIFRhYmxlTW9kZWwsIEZpbHRlcnMgPSBrZXlvZiBUYWJsZU1vZGVsPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8VGFibGVNb2RlbD4sXG4gICAgYXR0cmlidXRlcz86IFRhYmxlQ2xhc3NBdHRyaWJ1dGVEZWZbXSxcbiAgICBvcHRzPzogVGFibGVEZXNjcmlwdG9yQ3JlYXRlT3B0c1R5cGU8VGFibGVNb2RlbD5cbik6IFRhYmxlRGVzY3JpcHRvckluc3Q8VGFibGVNb2RlbCwgU29ydHMsIEZpbHRlcnM+IHtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gbmV3IFRhYmxlRGVzY3JpcHRvckluc3Q8VGFibGVNb2RlbCwgU29ydHMsIEZpbHRlcnM+KG1vZGVsQ2xhc3ModHlwZSwgb3B0cyksIHRydWUpO1xuICAgIChhdHRyaWJ1dGVzID8/IGdldFRhYmxlQ2xhc3NBdHRyaWJ1dGVEZWYodHlwZSkpXG4gICAgICAgIC5maWx0ZXIoYXR0ciA9PiAhYXR0ci50eXBlLmluY2x1ZGVzKCdTZXQnKSAmJiAhYXR0ci50eXBlLmluY2x1ZGVzKCdBcnJheScpKVxuICAgICAgICAuZm9yRWFjaChhdHRyID0+IHVwc2VydFRhYmxlQ29sdW1uRnJvbUF0dHJpYnV0ZURlZihkZXNjcmlwdG9yLCBhdHRyKSk7XG4gICAgcmV0dXJuIGRlc2NyaXB0b3I7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLXRhYmxlLWFwaS1jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxlL2FwaS9jbGFzcy9zcmMvbWVkaXVzaW5jLW1uZy1jb21tb25zLXRhYmxlLWFwaS1jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
|