@mediusinc/mng-commons 1.4.0 → 2.0.0-rc.0-08f92864
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/esm2020/lib/api/models/builders/query-param.builder.mjs +58 -58
- package/esm2020/lib/api/models/filter-match-type.model.mjs +24 -24
- package/esm2020/lib/api/models/filter-param.model.mjs +32 -32
- package/esm2020/lib/api/models/index.mjs +8 -8
- package/esm2020/lib/api/models/mappers.mjs +12 -12
- package/esm2020/lib/api/models/query-mode.model.mjs +17 -17
- package/esm2020/lib/api/models/query-param.model.mjs +67 -67
- package/esm2020/lib/api/models/query-result.model.mjs +23 -23
- package/esm2020/lib/api/models/serialization.model.mjs +1 -1
- package/esm2020/lib/api/services/api.abstract.service.mjs +57 -57
- package/esm2020/lib/api/services/crud-api.abstract.service.mjs +74 -74
- package/esm2020/lib/api/services/get-all-api.abstract.service.mjs +29 -29
- package/esm2020/lib/api/services/index.mjs +3 -3
- package/esm2020/lib/api/utils/index.mjs +2 -2
- package/esm2020/lib/api/utils/medius-rest.util.mjs +213 -213
- package/esm2020/lib/api/utils/object-serializer.util.mjs +247 -247
- package/esm2020/lib/components/action/action.component.mjs +281 -275
- package/esm2020/lib/components/action/editor/action-editor.component.mjs +303 -303
- package/esm2020/lib/components/action/index.mjs +4 -4
- package/esm2020/lib/components/action/localization/data-language-dropdown.component.mjs +45 -45
- package/esm2020/lib/components/action/models/action-component.model.mjs +2 -2
- package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +2 -2
- package/esm2020/lib/components/action/models/action-execution.model.mjs +249 -249
- package/esm2020/lib/components/action/models/index.mjs +4 -4
- package/esm2020/lib/components/action/models/tableview-action-default-categories.model.mjs +10 -10
- package/esm2020/lib/components/action/route/action-route.component.mjs +131 -130
- package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +301 -300
- package/esm2020/lib/components/form/date-range/date-range.component.mjs +110 -109
- package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +196 -194
- package/esm2020/lib/components/form/editor/form-editor.component.mjs +246 -243
- package/esm2020/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +43 -39
- package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +51 -50
- package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +46 -45
- package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +28 -26
- package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +180 -150
- package/esm2020/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +24 -24
- package/esm2020/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +191 -186
- package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +198 -197
- package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +158 -154
- package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +19 -17
- package/esm2020/lib/components/form/formly/fields/index.mjs +10 -10
- package/esm2020/lib/components/form/formly/formly.config.mjs +211 -211
- package/esm2020/lib/components/form/formly/index.mjs +1 -1
- package/esm2020/lib/components/form/formly/models/formly-config.model.mjs +1 -1
- package/esm2020/lib/components/form/formly/models/formly-field.model.mjs +2 -2
- package/esm2020/lib/components/form/formly/models/index.mjs +2 -2
- package/esm2020/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +16 -15
- package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +84 -83
- package/esm2020/lib/components/form/formly/wrappers/index.mjs +2 -2
- package/esm2020/lib/components/form/index.mjs +4 -4
- package/esm2020/lib/components/form/models/field-action-context.model.mjs +2 -2
- package/esm2020/lib/components/form/models/form-editor.event.mjs +33 -33
- package/esm2020/lib/components/form/models/form-editor.interface.mjs +1 -1
- package/esm2020/lib/components/form/models/index.mjs +2 -2
- package/esm2020/lib/components/layout/breadcrumb.component.mjs +18 -17
- package/esm2020/lib/components/layout/footer.component.mjs +18 -17
- package/esm2020/lib/components/layout/index.mjs +7 -7
- package/esm2020/lib/components/layout/main-layout.component.mjs +52 -52
- package/esm2020/lib/components/layout/menu-item.component.mjs +292 -272
- package/esm2020/lib/components/layout/menu.component.mjs +32 -21
- package/esm2020/lib/components/layout/services/index.mjs +1 -1
- package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +194 -194
- package/esm2020/lib/components/layout/topbar.component.mjs +67 -65
- package/esm2020/lib/components/layout/version.component.mjs +58 -58
- package/esm2020/lib/components/tableview/index.mjs +6 -6
- package/esm2020/lib/components/tableview/models/index.mjs +1 -1
- package/esm2020/lib/components/tableview/models/table.event.mjs +16 -16
- package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +150 -147
- package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +52 -53
- package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +121 -120
- package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +101 -84
- package/esm2020/lib/components/tableview/table/table.component.mjs +611 -595
- package/esm2020/lib/components/tableview/tableview.component.mjs +115 -113
- package/esm2020/lib/data-providers/base.data-provider.mjs +16 -16
- package/esm2020/lib/data-providers/editor.data-provider.mjs +36 -36
- package/esm2020/lib/data-providers/index.mjs +6 -6
- package/esm2020/lib/data-providers/lookup.data-provider.mjs +15 -15
- package/esm2020/lib/data-providers/table.data-provider.mjs +37 -37
- package/esm2020/lib/data-providers/tableview-crud.data-provider.mjs +23 -23
- package/esm2020/lib/data-providers/tableview.data-provider.mjs +44 -44
- package/esm2020/lib/descriptors/action/action-button.descriptor.mjs +60 -0
- package/esm2020/lib/descriptors/action/action-confirmation.descriptor.mjs +77 -77
- package/esm2020/lib/descriptors/action/action.descriptor.mjs +579 -0
- package/esm2020/lib/descriptors/action/index.mjs +4 -0
- package/esm2020/lib/descriptors/editor/editor.descriptor.mjs +291 -0
- package/esm2020/lib/descriptors/editor/field-validation.descriptor.mjs +25 -0
- package/esm2020/lib/descriptors/editor/field.descriptor.mjs +990 -0
- package/esm2020/lib/descriptors/editor/index.mjs +4 -0
- package/esm2020/lib/descriptors/filter/filter.descriptor.mjs +370 -0
- package/esm2020/lib/descriptors/filter/index.mjs +2 -0
- package/esm2020/lib/descriptors/index.mjs +2 -12
- package/esm2020/lib/descriptors/interfaces/field-config.interface.mjs +1 -1
- package/esm2020/lib/descriptors/interfaces/index.mjs +2 -2
- package/esm2020/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
- package/esm2020/lib/descriptors/model.descriptor.mjs +44 -44
- package/esm2020/lib/descriptors/table/column.descriptor.mjs +406 -0
- package/esm2020/lib/descriptors/table/index.mjs +3 -0
- package/esm2020/lib/descriptors/table/table.descriptor.mjs +497 -0
- package/esm2020/lib/descriptors/tableview/index.mjs +2 -0
- package/esm2020/lib/descriptors/tableview/tableview.descriptor.mjs +346 -0
- package/esm2020/lib/descriptors/types/action.type.mjs +25 -25
- package/esm2020/lib/descriptors/types/column.type.mjs +20 -20
- package/esm2020/lib/descriptors/types/editor.type.mjs +7 -7
- package/esm2020/lib/descriptors/types/field.type.mjs +55 -55
- package/esm2020/lib/descriptors/types/filter.type.mjs +30 -30
- package/esm2020/lib/descriptors/types/index.mjs +6 -6
- package/esm2020/lib/descriptors/types/table.type.mjs +26 -26
- package/esm2020/lib/directives/component.directive.mjs +45 -44
- package/esm2020/lib/directives/index.mjs +2 -2
- package/esm2020/lib/directives/template.directive.mjs +29 -28
- package/esm2020/lib/mng-commons.module.mjs +445 -485
- package/esm2020/lib/models/column-value.model.mjs +2 -2
- package/esm2020/lib/models/config.model.mjs +2 -2
- package/esm2020/lib/models/enum.model.mjs +1 -1
- package/esm2020/lib/models/error.model.mjs +1 -1
- package/esm2020/lib/models/index.mjs +9 -9
- package/esm2020/lib/models/menu.model.mjs +2 -2
- package/esm2020/lib/models/tableview-attr.model.mjs +1 -1
- package/esm2020/lib/models/user.model.mjs +1 -1
- package/esm2020/lib/models/version.model.mjs +1 -1
- package/esm2020/lib/models/view-container.model.mjs +2 -2
- package/esm2020/lib/pipes/boolean.pipe.mjs +28 -27
- package/esm2020/lib/pipes/class-map.pipe.mjs +23 -22
- package/esm2020/lib/pipes/enum.pipe.mjs +26 -25
- package/esm2020/lib/pipes/enumerate-async.pipe.mjs +39 -38
- package/esm2020/lib/pipes/enumerate.pipe.mjs +56 -55
- package/esm2020/lib/pipes/getter.pipe.mjs +21 -20
- package/esm2020/lib/pipes/i18n-property.pipe.mjs +19 -18
- package/esm2020/lib/pipes/index.mjs +11 -11
- package/esm2020/lib/pipes/json-path.pipe.mjs +80 -79
- package/esm2020/lib/pipes/locale-default-row-class.pipe.mjs +27 -26
- package/esm2020/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +1 -1
- package/esm2020/lib/pipes/models/internal/index.mjs +1 -1
- package/esm2020/lib/pipes/parametrize.pipe.mjs +86 -85
- package/esm2020/lib/pipes/template.pipe.mjs +25 -24
- package/esm2020/lib/provide-commons.mjs +73 -0
- package/esm2020/lib/router/index.mjs +4 -3
- package/esm2020/lib/router/models/index.mjs +1 -1
- package/esm2020/lib/router/models/router.model.mjs +2 -2
- package/esm2020/lib/router/route-builder.mjs +313 -426
- package/esm2020/lib/router/routes-builder.mjs +67 -0
- package/esm2020/lib/router/tableview-route-builder.mjs +187 -187
- package/esm2020/lib/security/authorization.guard.mjs +29 -26
- package/esm2020/lib/security/authorization.service.mjs +50 -47
- package/esm2020/lib/security/authorization.util.mjs +15 -15
- package/esm2020/lib/security/index.mjs +3 -3
- package/esm2020/lib/security/model/authorization.type.mjs +7 -7
- package/esm2020/lib/security/model/index.mjs +3 -3
- package/esm2020/lib/security/model/permission-service.interface.mjs +1 -1
- package/esm2020/lib/security/model/permissions.model.mjs +86 -86
- package/esm2020/lib/services/action-executor.service.mjs +558 -555
- package/esm2020/lib/services/commons.service.mjs +464 -461
- package/esm2020/lib/services/configuration.service.mjs +149 -142
- package/esm2020/lib/services/error-mapper.service.mjs +13 -13
- package/esm2020/lib/services/index.mjs +6 -6
- package/esm2020/lib/services/internal/commons-init.provider.mjs +3 -3
- package/esm2020/lib/services/internal/commons-init.service.mjs +50 -44
- package/esm2020/lib/services/internal/index.mjs +2 -2
- package/esm2020/lib/services/navigation.service.mjs +51 -48
- package/esm2020/lib/services/providers/config-service.provider.mjs +31 -30
- package/esm2020/lib/services/providers/formly-config.provider.mjs +30 -30
- package/esm2020/lib/services/providers/index.mjs +2 -2
- package/esm2020/lib/services/router.service.mjs +97 -0
- package/esm2020/lib/services/tokens/browser-storage.token.mjs +5 -5
- package/esm2020/lib/services/tokens/commons-init.token.mjs +2 -2
- package/esm2020/lib/services/tokens/default-setting.token.mjs +2 -2
- package/esm2020/lib/services/tokens/index.mjs +4 -4
- package/esm2020/lib/services/tokens/module-config.token.mjs +2 -2
- package/esm2020/lib/services/version.service.mjs +42 -39
- package/esm2020/lib/services/view-container.component.service.mjs +55 -55
- package/esm2020/lib/styles/button-style.builder.mjs +164 -164
- package/esm2020/lib/styles/index.mjs +2 -2
- package/esm2020/lib/styles/models/index.mjs +2 -2
- package/esm2020/lib/styles/models/style-level.enum.mjs +11 -11
- package/esm2020/lib/styles/models/style-size.enum.mjs +8 -8
- package/esm2020/lib/styles/styles.util.mjs +42 -42
- package/esm2020/lib/types/index.mjs +2 -2
- package/esm2020/lib/types/type.decorator.mjs +21 -21
- package/esm2020/lib/types/type.model.mjs +1 -1
- package/esm2020/lib/utils/action-data-provider.util.mjs +145 -145
- package/esm2020/lib/utils/date.util.mjs +117 -117
- package/esm2020/lib/utils/editor-formly.util.mjs +288 -288
- package/esm2020/lib/utils/enum.util.mjs +81 -81
- package/esm2020/lib/utils/export.util.mjs +20 -20
- package/esm2020/lib/utils/i18n.util.mjs +233 -233
- package/esm2020/lib/utils/index.mjs +10 -10
- package/esm2020/lib/utils/model.util.mjs +68 -68
- package/esm2020/lib/utils/notification.util.mjs +51 -51
- package/esm2020/lib/utils/route.util.mjs +36 -24
- package/esm2020/lib/utils/string.util.mjs +26 -26
- package/esm2020/lib/utils/tableview.util.mjs +160 -160
- package/esm2020/lib/utils/type.util.mjs +92 -92
- package/esm2020/mediusinc-mng-commons.mjs +4 -4
- package/esm2020/public-api.mjs +61 -55
- package/fesm2015/mediusinc-mng-commons.mjs +14147 -13931
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +13980 -13768
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/api/models/builders/query-param.builder.d.ts +13 -13
- package/lib/api/models/filter-match-type.model.d.ts +23 -23
- package/lib/api/models/filter-param.model.d.ts +23 -23
- package/lib/api/models/index.d.ts +8 -8
- package/lib/api/models/mappers.d.ts +6 -6
- package/lib/api/models/query-mode.model.d.ts +16 -16
- package/lib/api/models/query-param.model.d.ts +31 -31
- package/lib/api/models/query-result.model.d.ts +24 -24
- package/lib/api/models/serialization.model.d.ts +8 -8
- package/lib/api/services/api.abstract.service.d.ts +24 -24
- package/lib/api/services/crud-api.abstract.service.d.ts +22 -22
- package/lib/api/services/get-all-api.abstract.service.d.ts +14 -14
- package/lib/api/services/index.d.ts +3 -3
- package/lib/api/utils/index.d.ts +2 -2
- package/lib/api/utils/medius-rest.util.d.ts +16 -16
- package/lib/api/utils/object-serializer.util.d.ts +33 -33
- package/lib/components/action/action.component.d.ts +79 -79
- package/lib/components/action/editor/action-editor.component.d.ts +69 -69
- package/lib/components/action/index.d.ts +4 -4
- package/lib/components/action/localization/data-language-dropdown.component.d.ts +25 -25
- package/lib/components/action/models/action-component.model.d.ts +15 -15
- package/lib/components/action/models/action-confirmation-service.model.d.ts +6 -6
- package/lib/components/action/models/action-execution.model.d.ts +135 -135
- package/lib/components/action/models/index.d.ts +4 -4
- package/lib/components/action/models/tableview-action-default-categories.model.d.ts +10 -10
- package/lib/components/action/route/action-route.component.d.ts +31 -31
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +61 -61
- package/lib/components/form/date-range/date-range.component.d.ts +28 -28
- package/lib/components/form/dropdown/dropdown.component.d.ts +52 -52
- package/lib/components/form/editor/form-editor.component.d.ts +52 -52
- package/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.d.ts +13 -13
- package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +16 -16
- package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +15 -15
- package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +14 -14
- package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +29 -29
- package/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.d.ts +11 -11
- package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +46 -46
- package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +25 -24
- package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +37 -37
- package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +7 -7
- package/lib/components/form/formly/fields/index.d.ts +10 -10
- package/lib/components/form/formly/formly.config.d.ts +14 -14
- package/lib/components/form/formly/index.d.ts +1 -1
- package/lib/components/form/formly/models/formly-config.model.d.ts +11 -11
- package/lib/components/form/formly/models/formly-field.model.d.ts +16 -16
- package/lib/components/form/formly/models/index.d.ts +2 -2
- package/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +6 -6
- package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +11 -11
- package/lib/components/form/formly/wrappers/index.d.ts +2 -2
- package/lib/components/form/index.d.ts +4 -4
- package/lib/components/form/models/field-action-context.model.d.ts +17 -17
- package/lib/components/form/models/form-editor.event.d.ts +37 -37
- package/lib/components/form/models/form-editor.interface.d.ts +10 -10
- package/lib/components/form/models/index.d.ts +2 -2
- package/lib/components/layout/breadcrumb.component.d.ts +8 -8
- package/lib/components/layout/footer.component.d.ts +9 -9
- package/lib/components/layout/index.d.ts +7 -7
- package/lib/components/layout/main-layout.component.d.ts +20 -20
- package/lib/components/layout/menu-item.component.d.ts +56 -52
- package/lib/components/layout/menu.component.d.ts +16 -10
- package/lib/components/layout/services/index.d.ts +1 -1
- package/lib/components/layout/services/main-layout.component.service.d.ts +65 -65
- package/lib/components/layout/topbar.component.d.ts +28 -28
- package/lib/components/layout/version.component.d.ts +19 -19
- package/lib/components/tableview/index.d.ts +6 -6
- package/lib/components/tableview/models/index.d.ts +1 -1
- package/lib/components/tableview/models/table.event.d.ts +17 -17
- package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +36 -33
- package/lib/components/tableview/route/tableview-route.component.d.ts +19 -18
- package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +38 -38
- package/lib/components/tableview/table/column-value/column-value.component.d.ts +35 -35
- package/lib/components/tableview/table/table.component.d.ts +117 -115
- package/lib/components/tableview/tableview.component.d.ts +49 -48
- package/lib/data-providers/base.data-provider.d.ts +14 -14
- package/lib/data-providers/editor.data-provider.d.ts +25 -25
- package/lib/data-providers/index.d.ts +6 -6
- package/lib/data-providers/lookup.data-provider.d.ts +14 -14
- package/lib/data-providers/table.data-provider.d.ts +27 -27
- package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -8
- package/lib/data-providers/tableview.data-provider.d.ts +33 -33
- package/lib/descriptors/{action-button.descriptor.d.ts → action/action-button.descriptor.d.ts} +22 -22
- package/lib/descriptors/action/action-confirmation.descriptor.d.ts +36 -36
- package/lib/descriptors/{action.descriptor.d.ts → action/action.descriptor.d.ts} +225 -223
- package/lib/descriptors/action/index.d.ts +3 -0
- package/lib/descriptors/{editor.descriptor.d.ts → editor/editor.descriptor.d.ts} +119 -116
- package/lib/descriptors/{field-validation.descriptor.d.ts → editor/field-validation.descriptor.d.ts} +19 -19
- package/lib/descriptors/{field.descriptor.d.ts → editor/field.descriptor.d.ts} +349 -345
- package/lib/descriptors/editor/index.d.ts +3 -0
- package/lib/descriptors/{filter.descriptor.d.ts → filter/filter.descriptor.d.ts} +120 -118
- package/lib/descriptors/filter/index.d.ts +1 -0
- package/lib/descriptors/index.d.ts +1 -11
- package/lib/descriptors/interfaces/field-config.interface.d.ts +9 -9
- package/lib/descriptors/interfaces/index.d.ts +2 -2
- package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +17 -17
- package/lib/descriptors/model.descriptor.d.ts +18 -18
- package/lib/descriptors/{column.descriptor.d.ts → table/column.descriptor.d.ts} +130 -130
- package/lib/descriptors/table/index.d.ts +2 -0
- package/lib/descriptors/{table.descriptor.d.ts → table/table.descriptor.d.ts} +193 -193
- package/lib/descriptors/tableview/index.d.ts +1 -0
- package/lib/descriptors/{tableview.descriptor.d.ts → tableview/tableview.descriptor.d.ts} +131 -129
- package/lib/descriptors/types/action.type.d.ts +21 -21
- package/lib/descriptors/types/column.type.d.ts +18 -18
- package/lib/descriptors/types/editor.type.d.ts +6 -6
- package/lib/descriptors/types/field.type.d.ts +47 -47
- package/lib/descriptors/types/filter.type.d.ts +27 -27
- package/lib/descriptors/types/index.d.ts +6 -6
- package/lib/descriptors/types/table.type.d.ts +22 -22
- package/lib/directives/component.directive.d.ts +16 -16
- package/lib/directives/index.d.ts +2 -2
- package/lib/directives/template.directive.d.ts +13 -13
- package/lib/mng-commons.module.d.ts +99 -99
- package/lib/models/column-value.model.d.ts +4 -4
- package/lib/models/config.model.d.ts +41 -40
- package/lib/models/enum.model.d.ts +6 -6
- package/lib/models/error.model.d.ts +14 -14
- package/lib/models/index.d.ts +9 -9
- package/lib/models/menu.model.d.ts +30 -30
- package/lib/models/tableview-attr.model.d.ts +10 -10
- package/lib/models/user.model.d.ts +8 -8
- package/lib/models/version.model.d.ts +18 -18
- package/lib/models/view-container.model.d.ts +43 -43
- package/lib/pipes/boolean.pipe.d.ts +7 -7
- package/lib/pipes/class-map.pipe.d.ts +7 -7
- package/lib/pipes/enum.pipe.d.ts +8 -8
- package/lib/pipes/enumerate-async.pipe.d.ts +14 -14
- package/lib/pipes/enumerate.pipe.d.ts +21 -21
- package/lib/pipes/getter.pipe.d.ts +7 -7
- package/lib/pipes/i18n-property.pipe.d.ts +8 -8
- package/lib/pipes/index.d.ts +11 -11
- package/lib/pipes/json-path.pipe.d.ts +13 -13
- package/lib/pipes/locale-default-row-class.pipe.d.ts +10 -10
- package/lib/pipes/models/internal/enumrate-pipe-i18n.model.d.ts +5 -5
- package/lib/pipes/models/internal/index.d.ts +1 -1
- package/lib/pipes/parametrize.pipe.d.ts +13 -13
- package/lib/pipes/template.pipe.d.ts +10 -10
- package/lib/provide-commons.d.ts +3 -0
- package/lib/router/index.d.ts +3 -2
- package/lib/router/models/index.d.ts +1 -1
- package/lib/router/models/router.model.d.ts +36 -33
- package/lib/router/route-builder.d.ts +62 -98
- package/lib/router/routes-builder.d.ts +29 -0
- package/lib/router/tableview-route-builder.d.ts +38 -37
- package/lib/security/authorization.guard.d.ts +11 -11
- package/lib/security/authorization.service.d.ts +19 -19
- package/lib/security/authorization.util.d.ts +5 -5
- package/lib/security/index.d.ts +3 -3
- package/lib/security/model/authorization.type.d.ts +6 -6
- package/lib/security/model/index.d.ts +3 -3
- package/lib/security/model/permission-service.interface.d.ts +6 -6
- package/lib/security/model/permissions.model.d.ts +37 -37
- package/lib/services/action-executor.service.d.ts +150 -149
- package/lib/services/commons.service.d.ts +93 -93
- package/lib/services/configuration.service.d.ts +60 -57
- package/lib/services/error-mapper.service.d.ts +7 -7
- package/lib/services/index.d.ts +6 -6
- package/lib/services/internal/commons-init.provider.d.ts +3 -3
- package/lib/services/internal/commons-init.service.d.ts +18 -16
- package/lib/services/internal/index.d.ts +2 -2
- package/lib/services/navigation.service.d.ts +14 -14
- package/lib/services/providers/config-service.provider.d.ts +6 -6
- package/lib/services/providers/formly-config.provider.d.ts +4 -4
- package/lib/services/providers/index.d.ts +2 -2
- package/lib/services/router.service.d.ts +22 -0
- package/lib/services/tokens/browser-storage.token.d.ts +2 -2
- package/lib/services/tokens/commons-init.token.d.ts +3 -3
- package/lib/services/tokens/default-setting.token.d.ts +2 -2
- package/lib/services/tokens/index.d.ts +4 -4
- package/lib/services/tokens/module-config.token.d.ts +3 -3
- package/lib/services/version.service.d.ts +13 -13
- package/lib/services/view-container.component.service.d.ts +31 -31
- package/lib/styles/button-style.builder.d.ts +67 -67
- package/lib/styles/index.d.ts +2 -2
- package/lib/styles/models/index.d.ts +2 -2
- package/lib/styles/models/style-level.enum.d.ts +10 -10
- package/lib/styles/models/style-size.enum.d.ts +7 -7
- package/lib/styles/styles.util.d.ts +15 -14
- package/lib/types/index.d.ts +2 -2
- package/lib/types/type.decorator.d.ts +4 -4
- package/lib/types/type.model.d.ts +23 -23
- package/lib/utils/action-data-provider.util.d.ts +20 -20
- package/lib/utils/date.util.d.ts +7 -7
- package/lib/utils/editor-formly.util.d.ts +12 -12
- package/lib/utils/enum.util.d.ts +50 -50
- package/lib/utils/export.util.d.ts +5 -5
- package/lib/utils/i18n.util.d.ts +57 -56
- package/lib/utils/index.d.ts +10 -10
- package/lib/utils/model.util.d.ts +8 -8
- package/lib/utils/notification.util.d.ts +13 -12
- package/lib/utils/route.util.d.ts +59 -4
- package/lib/utils/string.util.d.ts +4 -4
- package/lib/utils/tableview.util.d.ts +40 -40
- package/lib/utils/type.util.d.ts +57 -57
- package/package.json +6 -6
- package/public-api.d.ts +40 -34
- package/scss/common/layout/_breadcrumb.scss +12 -2
- package/scss/common/layout/_exception.scss +1 -1
- package/scss/common/layout/_inlinemenu.scss +13 -0
- package/scss/common/layout/_login.scss +1 -0
- package/scss/common/layout/_rightmenu.scss +5 -0
- package/scss/common/layout/menu/_menu_common.scss +1 -1
- package/scss/common/theme/designer/_mixins.scss +29 -0
- package/scss/common/theme/extensions/_datatable.scss +2 -2
- package/scss/common/variables/layout/_layout_dark.scss +0 -1
- package/scss/common/variables/layout/_layout_light.scss +0 -1
- package/scss/common/variables/theme/_theme_dark.scss +72 -46
- package/scss/common/variables/theme/_theme_light.scss +70 -33
- package/version-info.json +7 -7
- package/esm2020/lib/descriptors/action-button.descriptor.mjs +0 -60
- package/esm2020/lib/descriptors/action.descriptor.mjs +0 -577
- package/esm2020/lib/descriptors/column.descriptor.mjs +0 -405
- package/esm2020/lib/descriptors/editor.descriptor.mjs +0 -290
- package/esm2020/lib/descriptors/field-validation.descriptor.mjs +0 -25
- package/esm2020/lib/descriptors/field.descriptor.mjs +0 -987
- package/esm2020/lib/descriptors/filter.descriptor.mjs +0 -368
- package/esm2020/lib/descriptors/table.descriptor.mjs +0 -497
- package/esm2020/lib/descriptors/tableview.descriptor.mjs +0 -344
- package/mediusinc-mng-commons-1.4.0.tgz +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './editor.descriptor';
|
|
2
|
+
export * from './field.descriptor';
|
|
3
|
+
export * from './field-validation.descriptor';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rlc2NyaXB0b3JzL2VkaXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWRpdG9yLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQtdmFsaWRhdGlvbi5kZXNjcmlwdG9yJztcbiJdfQ==
|
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
import { of } from 'rxjs';
|
|
2
|
+
import { LookupDataProvider } from '../../data-providers';
|
|
3
|
+
import { EnumUtil, ModelUtil, TypeUtil } from '../../utils';
|
|
4
|
+
import { FilterLookupTypeEnum, FilterMatchModeEnum, FilterTypeEnum } from '../types';
|
|
5
|
+
export class FilterDescriptor {
|
|
6
|
+
constructor(property) {
|
|
7
|
+
this._filterType = FilterTypeEnum.String;
|
|
8
|
+
this._hasDefaultValue = false;
|
|
9
|
+
this._matchModes = null;
|
|
10
|
+
this._numberUseGrouping = true;
|
|
11
|
+
this._datePickerShowTime = false;
|
|
12
|
+
this._datePickerValueWithTimezone = false;
|
|
13
|
+
this._datePickerValueInUtc = false;
|
|
14
|
+
this._className = '';
|
|
15
|
+
this._columnClassName = '';
|
|
16
|
+
this._columnWidth = null;
|
|
17
|
+
this._columnMinWidth = null;
|
|
18
|
+
this._property = property;
|
|
19
|
+
}
|
|
20
|
+
get filterType() {
|
|
21
|
+
return this._filterType;
|
|
22
|
+
}
|
|
23
|
+
get hasDefaultValue() {
|
|
24
|
+
return this._hasDefaultValue;
|
|
25
|
+
}
|
|
26
|
+
get defaultValue() {
|
|
27
|
+
return this._defaultValue;
|
|
28
|
+
}
|
|
29
|
+
get defaultValueTo() {
|
|
30
|
+
return this._defaultValueTo;
|
|
31
|
+
}
|
|
32
|
+
get defaultFilterMatchMode() {
|
|
33
|
+
return this._defaultFilterMatchMode;
|
|
34
|
+
}
|
|
35
|
+
get filterProperty() {
|
|
36
|
+
return this._filterProperty;
|
|
37
|
+
}
|
|
38
|
+
get matchModes() {
|
|
39
|
+
return this._matchModes;
|
|
40
|
+
}
|
|
41
|
+
get numberMinFractionDigits() {
|
|
42
|
+
return this._numberMinFractionDigits;
|
|
43
|
+
}
|
|
44
|
+
get numberMaxFractionDigits() {
|
|
45
|
+
return this._numberMaxFractionDigits;
|
|
46
|
+
}
|
|
47
|
+
get numberUseGrouping() {
|
|
48
|
+
return this._numberUseGrouping;
|
|
49
|
+
}
|
|
50
|
+
get datePickerFormat() {
|
|
51
|
+
return this._datePickerFormat;
|
|
52
|
+
}
|
|
53
|
+
get datePickerShowTime() {
|
|
54
|
+
return this._datePickerShowTime;
|
|
55
|
+
}
|
|
56
|
+
get datePickerValueInUtc() {
|
|
57
|
+
return this._datePickerValueInUtc;
|
|
58
|
+
}
|
|
59
|
+
get datePickerValueWithTimezone() {
|
|
60
|
+
return this._datePickerValueWithTimezone;
|
|
61
|
+
}
|
|
62
|
+
get placeholder() {
|
|
63
|
+
return this._placeholder;
|
|
64
|
+
}
|
|
65
|
+
get className() {
|
|
66
|
+
return this._className;
|
|
67
|
+
}
|
|
68
|
+
get columnClassName() {
|
|
69
|
+
return this._columnClassName;
|
|
70
|
+
}
|
|
71
|
+
get columnWidth() {
|
|
72
|
+
return this._columnWidth;
|
|
73
|
+
}
|
|
74
|
+
get columnMinWidth() {
|
|
75
|
+
return this._columnMinWidth;
|
|
76
|
+
}
|
|
77
|
+
get property() {
|
|
78
|
+
return this._property;
|
|
79
|
+
}
|
|
80
|
+
asFilterType(filterType) {
|
|
81
|
+
this._filterType = filterType;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Sets different filter property name instead of default property. Use this if API requires different property provided to perform correct filter.
|
|
86
|
+
* @param filterProperty
|
|
87
|
+
*/
|
|
88
|
+
withFilterProperty(filterProperty) {
|
|
89
|
+
this._filterProperty = filterProperty;
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
withDefaultFilter(filterValue, filterValueTo, filterMatchMode) {
|
|
93
|
+
this._hasDefaultValue = true;
|
|
94
|
+
this._defaultValue = filterValue;
|
|
95
|
+
this._defaultValueTo = filterValueTo;
|
|
96
|
+
this._defaultFilterMatchMode = filterMatchMode;
|
|
97
|
+
return this;
|
|
98
|
+
}
|
|
99
|
+
withNumberFractions(min, max) {
|
|
100
|
+
this._numberMinFractionDigits = min;
|
|
101
|
+
this._numberMaxFractionDigits = max;
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
withNumberGrouping(useGrouping = true) {
|
|
105
|
+
this._numberUseGrouping = useGrouping;
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
withDateFormat(format, showTime = false) {
|
|
109
|
+
this._datePickerFormat = format;
|
|
110
|
+
this._datePickerShowTime = showTime;
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
withDateValue(inUtc, withTimezone) {
|
|
114
|
+
if (typeof inUtc !== 'undefined') {
|
|
115
|
+
this._datePickerValueInUtc = inUtc;
|
|
116
|
+
}
|
|
117
|
+
if (typeof withTimezone !== 'undefined') {
|
|
118
|
+
this._datePickerValueWithTimezone = withTimezone;
|
|
119
|
+
}
|
|
120
|
+
return this;
|
|
121
|
+
}
|
|
122
|
+
withPlaceholder(placeholder) {
|
|
123
|
+
this._placeholder = placeholder;
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
withClassName(className) {
|
|
127
|
+
this._className = className;
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
withColumnClassName(className) {
|
|
131
|
+
this._columnClassName = className;
|
|
132
|
+
return this;
|
|
133
|
+
}
|
|
134
|
+
withColumnWidth(width, minWidth) {
|
|
135
|
+
this._columnWidth = width ?? null;
|
|
136
|
+
this._columnMinWidth = minWidth ?? null;
|
|
137
|
+
return this;
|
|
138
|
+
}
|
|
139
|
+
withMatchModes(matchModes) {
|
|
140
|
+
this._matchModes = matchModes;
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
copy() {
|
|
144
|
+
const descriptor = new FilterDescriptor(this._property);
|
|
145
|
+
this.copyFieldsTo(descriptor);
|
|
146
|
+
return descriptor;
|
|
147
|
+
}
|
|
148
|
+
copyFieldsTo(descriptor) {
|
|
149
|
+
descriptor._filterType = this._filterType;
|
|
150
|
+
descriptor._filterProperty = this._filterProperty;
|
|
151
|
+
descriptor._hasDefaultValue = this._hasDefaultValue;
|
|
152
|
+
descriptor._defaultValue = this._defaultValue;
|
|
153
|
+
descriptor._defaultValueTo = this._defaultValueTo;
|
|
154
|
+
descriptor._defaultFilterMatchMode = this._defaultFilterMatchMode;
|
|
155
|
+
descriptor._numberMinFractionDigits = this._numberMinFractionDigits;
|
|
156
|
+
descriptor._numberMaxFractionDigits = this._numberMaxFractionDigits;
|
|
157
|
+
descriptor._numberUseGrouping = this._numberUseGrouping;
|
|
158
|
+
descriptor._datePickerFormat = this._datePickerFormat;
|
|
159
|
+
descriptor._datePickerShowTime = this._datePickerShowTime;
|
|
160
|
+
descriptor._datePickerValueInUtc = this._datePickerValueInUtc;
|
|
161
|
+
descriptor._datePickerValueWithTimezone = this._datePickerValueWithTimezone;
|
|
162
|
+
descriptor._placeholder = this._placeholder;
|
|
163
|
+
descriptor._className = this._className;
|
|
164
|
+
descriptor._columnWidth = this._columnWidth;
|
|
165
|
+
descriptor._columnMinWidth = this._columnMinWidth;
|
|
166
|
+
descriptor._columnClassName = this._columnClassName;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
export class FilterLookupDescriptor extends FilterDescriptor {
|
|
170
|
+
constructor(property, modelType) {
|
|
171
|
+
super(property);
|
|
172
|
+
this._modelType = null;
|
|
173
|
+
this._lookupType = FilterLookupTypeEnum.Dropdown;
|
|
174
|
+
this._itemsLabelTranslate = false;
|
|
175
|
+
this._multiselect = false;
|
|
176
|
+
this._dropdownClassName = 'mng-filter-lookup-dropdown';
|
|
177
|
+
this._autocompleteOpenOnFocus = false;
|
|
178
|
+
this._autocompleteInlineSearch = false;
|
|
179
|
+
this._modelType = modelType;
|
|
180
|
+
this._filterType = FilterTypeEnum.Lookup;
|
|
181
|
+
ModelUtil.trySetLookupItemsProperties(this, false);
|
|
182
|
+
if (this._itemsValueProperty) {
|
|
183
|
+
this._filterProperty = `${property}.${this._itemsValueProperty}`;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
get lookupType() {
|
|
187
|
+
return this._lookupType;
|
|
188
|
+
}
|
|
189
|
+
get dataProvider() {
|
|
190
|
+
return this._dataProvider;
|
|
191
|
+
}
|
|
192
|
+
get itemsLabelProperty() {
|
|
193
|
+
return this._itemsLabelProperty;
|
|
194
|
+
}
|
|
195
|
+
get itemsLabelTranslate() {
|
|
196
|
+
return this._itemsLabelTranslate;
|
|
197
|
+
}
|
|
198
|
+
get itemsValueProperty() {
|
|
199
|
+
return this._itemsValueProperty;
|
|
200
|
+
}
|
|
201
|
+
get multiselect() {
|
|
202
|
+
return this._multiselect;
|
|
203
|
+
}
|
|
204
|
+
get autocompleteOpenOnFocus() {
|
|
205
|
+
return this._autocompleteOpenOnFocus;
|
|
206
|
+
}
|
|
207
|
+
get autocompleteInlineSearch() {
|
|
208
|
+
return this._autocompleteInlineSearch;
|
|
209
|
+
}
|
|
210
|
+
get dropdownClassName() {
|
|
211
|
+
return this._dropdownClassName;
|
|
212
|
+
}
|
|
213
|
+
get modelType() {
|
|
214
|
+
return this._modelType;
|
|
215
|
+
}
|
|
216
|
+
withItemsLabelProperty(itemsLabelProperty, translate = false) {
|
|
217
|
+
this._itemsLabelProperty = itemsLabelProperty;
|
|
218
|
+
this._itemsLabelTranslate = translate;
|
|
219
|
+
return this;
|
|
220
|
+
}
|
|
221
|
+
withItemsValueProperty(itemsValueProperty) {
|
|
222
|
+
this._itemsValueProperty = itemsValueProperty;
|
|
223
|
+
return this;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Method will set `itemsValueProperty`, because dataKeys are not supported here as filters need final value to work correctly.
|
|
227
|
+
* Use `withItemsValueProperty` instead.
|
|
228
|
+
* @param itemsValueProperty Item's value property.
|
|
229
|
+
*/
|
|
230
|
+
withDataKeyProperty(itemsValueProperty) {
|
|
231
|
+
this._itemsValueProperty = itemsValueProperty;
|
|
232
|
+
return this;
|
|
233
|
+
}
|
|
234
|
+
withLookup(lookup, serviceType) {
|
|
235
|
+
const dataProvider = new LookupDataProvider(this._modelType);
|
|
236
|
+
if (serviceType) {
|
|
237
|
+
dataProvider.withServiceType(serviceType);
|
|
238
|
+
}
|
|
239
|
+
dataProvider.withLookup(lookup);
|
|
240
|
+
this._dataProvider = dataProvider;
|
|
241
|
+
return this;
|
|
242
|
+
}
|
|
243
|
+
withLookupDataProvider(dataProvider) {
|
|
244
|
+
this._dataProvider = dataProvider;
|
|
245
|
+
return this;
|
|
246
|
+
}
|
|
247
|
+
withMultiselect(multiselect = true) {
|
|
248
|
+
this._multiselect = multiselect;
|
|
249
|
+
this._defaultFilterMatchMode = FilterMatchModeEnum.In;
|
|
250
|
+
this.withMatchModes([FilterMatchModeEnum.In]);
|
|
251
|
+
return this;
|
|
252
|
+
}
|
|
253
|
+
withDropdownClassName(dropdownClassName) {
|
|
254
|
+
this._dropdownClassName = dropdownClassName;
|
|
255
|
+
return this;
|
|
256
|
+
}
|
|
257
|
+
withDefaultFilter(filterValue, filterValueTo, filterMatchMode) {
|
|
258
|
+
this._hasDefaultValue = true;
|
|
259
|
+
this._defaultValue = filterValue;
|
|
260
|
+
this._defaultValueTo = filterValueTo;
|
|
261
|
+
this._defaultFilterMatchMode = filterMatchMode;
|
|
262
|
+
if (Array.isArray(filterValue) && !this.multiselect) {
|
|
263
|
+
throw new Error('Array default filter can only be used with a multiselect filter.');
|
|
264
|
+
}
|
|
265
|
+
if (filterMatchMode && this._matchModes && this._matchModes.indexOf(filterMatchMode) < 0) {
|
|
266
|
+
this._defaultFilterMatchMode = undefined;
|
|
267
|
+
console.warn(`Default filter match mode '${filterMatchMode}' could not be assigned for property ${this._property}.`);
|
|
268
|
+
}
|
|
269
|
+
if ((Array.isArray(filterValue) && !this.multiselect) || (this.multiselect && !Array.isArray(filterValue))) {
|
|
270
|
+
throw new Error(`Default value not in correct format for property ${this._property}.`);
|
|
271
|
+
}
|
|
272
|
+
return this;
|
|
273
|
+
}
|
|
274
|
+
asAutocomplete(openOnFocus = false, inlineSearch = false) {
|
|
275
|
+
this._lookupType = FilterLookupTypeEnum.Autocomplete;
|
|
276
|
+
this._autocompleteOpenOnFocus = openOnFocus;
|
|
277
|
+
this._autocompleteInlineSearch = inlineSearch;
|
|
278
|
+
return this;
|
|
279
|
+
}
|
|
280
|
+
copy() {
|
|
281
|
+
const descriptor = new FilterLookupDescriptor(this._property, this._modelType);
|
|
282
|
+
this.copyFieldsTo(descriptor);
|
|
283
|
+
return descriptor;
|
|
284
|
+
}
|
|
285
|
+
copyFieldsTo(filter) {
|
|
286
|
+
super.copyFieldsTo(filter);
|
|
287
|
+
filter._dataProvider = this._dataProvider;
|
|
288
|
+
filter._lookupType = this._lookupType;
|
|
289
|
+
filter._itemsLabelProperty = this._itemsLabelProperty;
|
|
290
|
+
filter._itemsLabelTranslate = this._itemsLabelTranslate;
|
|
291
|
+
filter._itemsValueProperty = this._itemsValueProperty;
|
|
292
|
+
filter._multiselect = this._multiselect;
|
|
293
|
+
filter._dropdownClassName = this._dropdownClassName;
|
|
294
|
+
filter._autocompleteOpenOnFocus = this._autocompleteOpenOnFocus;
|
|
295
|
+
filter._autocompleteInlineSearch = this._autocompleteInlineSearch;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
export class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
299
|
+
constructor(property, enumType, options, nameAsValue = false, optionsTitlePath) {
|
|
300
|
+
super(property, null);
|
|
301
|
+
this._nameAsValue = false;
|
|
302
|
+
this._enumType = enumType;
|
|
303
|
+
this._nameAsValue = nameAsValue;
|
|
304
|
+
if (typeof optionsTitlePath === 'undefined') {
|
|
305
|
+
optionsTitlePath = TypeUtil.findEnumName(enumType);
|
|
306
|
+
}
|
|
307
|
+
this._optionEnumValues = Array.isArray(options)
|
|
308
|
+
? EnumUtil.fromValuesAsEnumValueArray(enumType, options, nameAsValue, optionsTitlePath ?? undefined)
|
|
309
|
+
: EnumUtil.fromConstantsAsEnumValueArray(enumType, nameAsValue, optionsTitlePath ?? undefined);
|
|
310
|
+
const dataProvider = new LookupDataProvider(null).withLookup(() => of(this._optionEnumValues));
|
|
311
|
+
this.withLookupDataProvider(dataProvider);
|
|
312
|
+
this.withItemsLabelProperty('title', optionsTitlePath !== null);
|
|
313
|
+
this.withItemsValueProperty('value');
|
|
314
|
+
}
|
|
315
|
+
get enumType() {
|
|
316
|
+
return this._enumType;
|
|
317
|
+
}
|
|
318
|
+
asAutocomplete(openOnFocus = true) {
|
|
319
|
+
super.asAutocomplete(openOnFocus, true);
|
|
320
|
+
return this;
|
|
321
|
+
}
|
|
322
|
+
withMultiselectEnum(multiselect = true) {
|
|
323
|
+
return super.withMultiselect(multiselect);
|
|
324
|
+
}
|
|
325
|
+
withDefaultFilter() {
|
|
326
|
+
throw new Error(`withDefaultFilter on FilterLookupEnumDescriptor should not be used. Use withDefaultFilterEnum instead.`);
|
|
327
|
+
}
|
|
328
|
+
withDefaultFilterEnum(filterValue, filterValueTo, filterMatchMode) {
|
|
329
|
+
let defaultOptionValue;
|
|
330
|
+
if (Array.isArray(filterValue)) {
|
|
331
|
+
defaultOptionValue = this._nameAsValue ? filterValue.map(value => EnumUtil.getConstantName(this._enumType, value)) : filterValue;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
defaultOptionValue = this._nameAsValue ? EnumUtil.getConstantName(this._enumType, filterValue) : filterValue;
|
|
335
|
+
}
|
|
336
|
+
let defaultOptionValueTo;
|
|
337
|
+
if (filterValueTo) {
|
|
338
|
+
defaultOptionValueTo = this._nameAsValue ? EnumUtil.getConstantName(this._enumType, filterValueTo) : filterValueTo;
|
|
339
|
+
}
|
|
340
|
+
if (defaultOptionValue) {
|
|
341
|
+
let option;
|
|
342
|
+
if (Array.isArray(defaultOptionValue)) {
|
|
343
|
+
option = defaultOptionValue.map(value => this._optionEnumValues.find(o => o.value === value));
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
option = this._optionEnumValues.find(o => o.value === defaultOptionValue);
|
|
347
|
+
}
|
|
348
|
+
const optionTo = defaultOptionValueTo ? this._optionEnumValues.find(o => o.value === defaultOptionValueTo) : undefined;
|
|
349
|
+
let filterValueFromArrayTo = undefined;
|
|
350
|
+
if (optionTo) {
|
|
351
|
+
filterValueFromArrayTo = this._itemsValueProperty ? optionTo[this._itemsValueProperty] : optionTo;
|
|
352
|
+
}
|
|
353
|
+
let filterValueFromArray;
|
|
354
|
+
if (Array.isArray(option)) {
|
|
355
|
+
filterValueFromArray = this._itemsValueProperty ? option.map(value => value[this._itemsValueProperty]) : option;
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
filterValueFromArray = this._itemsValueProperty ? option[this._itemsValueProperty] : option;
|
|
359
|
+
}
|
|
360
|
+
super.withDefaultFilter(filterValueFromArray, filterValueFromArrayTo, filterMatchMode);
|
|
361
|
+
}
|
|
362
|
+
return this;
|
|
363
|
+
}
|
|
364
|
+
copy() {
|
|
365
|
+
const field = new FilterLookupEnumDescriptor(this._property, this._enumType, []);
|
|
366
|
+
this.copyFieldsTo(field);
|
|
367
|
+
return field;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rlc2NyaXB0b3JzL2ZpbHRlci9maWx0ZXIuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBc0Isa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUc3RSxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFMUQsT0FBTyxFQUFDLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVuRixNQUFNLE9BQU8sZ0JBQWdCO0lBNEJ6QixZQUFZLFFBQWdCO1FBMUJsQixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFFcEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBS3pCLGdCQUFXLEdBQW9CLElBQUksQ0FBQztRQUtwQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFJMUIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGlDQUE0QixHQUFHLEtBQUssQ0FBQztRQUNyQywwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFHOUIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsaUJBQVksR0FBa0IsSUFBSSxDQUFDO1FBQ25DLG9CQUFlLEdBQWtCLElBQUksQ0FBQztRQUc1QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFX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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQzthQUNySDtZQUVELElBQUksb0JBQWlDLENBQUM7WUFDdEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QixvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2FBQ25JO2lCQUFNO2dCQUNILG9CQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDL0c7WUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsc0JBQXNCLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDMUY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRWUsSUFBSTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge01lZGl1c1F1ZXJ5UGFyYW19IGZyb20gJy4uLy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtJTG9va3VwRGF0YVByb3ZpZGVyLCBMb29rdXBEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uL2RhdGEtcHJvdmlkZXJzJztcbmltcG9ydCB7RW51bVZhbHVlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDbGFzc1R5cGUsIEVudW1Db25zdGFudFR5cGUsIEVudW1UeXBlfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge0VudW1VdGlsLCBNb2RlbFV0aWwsIFR5cGVVdGlsfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge0lMb29rdXBEZXNjcmlwdG9yfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7RmlsdGVyTG9va3VwVHlwZUVudW0sIEZpbHRlck1hdGNoTW9kZUVudW0sIEZpbHRlclR5cGVFbnVtfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJEZXNjcmlwdG9yPFQ+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3Byb3BlcnR5OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9maWx0ZXJUeXBlID0gRmlsdGVyVHlwZUVudW0uU3RyaW5nO1xuICAgIHByb3RlY3RlZCBfZmlsdGVyUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9oYXNEZWZhdWx0VmFsdWUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2RlZmF1bHRGaWx0ZXJNYXRjaE1vZGU/OiBGaWx0ZXJNYXRjaE1vZGVFbnVtO1xuICAgIHByb3RlY3RlZCBfZGVmYXVsdFZhbHVlPzogVCB8IFRbXTtcbiAgICBwcm90ZWN0ZWQgX2RlZmF1bHRWYWx1ZVRvPzogVDtcblxuICAgIHByb3RlY3RlZCBfbWF0Y2hNb2Rlczogc3RyaW5nW10gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIG51bWJlciBmaWx0ZXIgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByb3RlY3RlZCBfbnVtYmVyTWluRnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XG4gICAgcHJvdGVjdGVkIF9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgICBwcm90ZWN0ZWQgX251bWJlclVzZUdyb3VwaW5nID0gdHJ1ZTtcblxuICAgIC8vIGRhdGUgZmlsdGVyIHNwZWNpZmljIHByb3BlcnRpZXNcbiAgICBwcm90ZWN0ZWQgX2RhdGVQaWNrZXJGb3JtYXQ/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9kYXRlUGlja2VyU2hvd1RpbWUgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2RhdGVQaWNrZXJWYWx1ZVdpdGhUaW1lem9uZSA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfZGF0ZVBpY2tlclZhbHVlSW5VdGMgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9jbGFzc05hbWUgPSAnJztcbiAgICBwcm90ZWN0ZWQgX2NvbHVtbkNsYXNzTmFtZSA9ICcnO1xuICAgIHByb3RlY3RlZCBfY29sdW1uV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfY29sdW1uTWluV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJvcGVydHk6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9wcm9wZXJ0eSA9IHByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsdGVyVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNEZWZhdWx0VmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNEZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZWZhdWx0VmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkZWZhdWx0VmFsdWVUbygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRWYWx1ZVRvO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdEZpbHRlck1hdGNoTW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRGaWx0ZXJNYXRjaE1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmaWx0ZXJQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWF0Y2hNb2RlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hdGNoTW9kZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJNaW5GcmFjdGlvbkRpZ2l0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlclVzZUdyb3VwaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyRm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93VGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJWYWx1ZUluVXRjKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlclZhbHVlSW5VdGM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyVmFsdWVXaXRoVGltZXpvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlUGlja2VyVmFsdWVXaXRoVGltZXpvbmU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwbGFjZWhvbGRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2xhc3NOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xhc3NOYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29sdW1uQ2xhc3NOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uQ2xhc3NOYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY29sdW1uV2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2x1bW5XaWR0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbk1pbldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uTWluV2lkdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBwcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0ZpbHRlclR5cGUoZmlsdGVyVHlwZTogRmlsdGVyVHlwZUVudW0pIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IGZpbHRlclR5cGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGlmZmVyZW50IGZpbHRlciBwcm9wZXJ0eSBuYW1lIGluc3RlYWQgb2YgZGVmYXVsdCBwcm9wZXJ0eS4gVXNlIHRoaXMgaWYgQVBJIHJlcXVpcmVzIGRpZmZlcmVudCBwcm9wZXJ0eSBwcm92aWRlZCB0byBwZXJmb3JtIGNvcnJlY3QgZmlsdGVyLlxuICAgICAqIEBwYXJhbSBmaWx0ZXJQcm9wZXJ0eVxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRmlsdGVyUHJvcGVydHkoZmlsdGVyUHJvcGVydHk6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWx0ZXJQcm9wZXJ0eSA9IGZpbHRlclByb3BlcnR5O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRGaWx0ZXIoZmlsdGVyVmFsdWU6IFQsIGZpbHRlclZhbHVlVG8/OiBULCBmaWx0ZXJNYXRjaE1vZGU/OiBGaWx0ZXJNYXRjaE1vZGVFbnVtKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2hhc0RlZmF1bHRWYWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IGZpbHRlclZhbHVlO1xuICAgICAgICB0aGlzLl9kZWZhdWx0VmFsdWVUbyA9IGZpbHRlclZhbHVlVG87XG4gICAgICAgIHRoaXMuX2RlZmF1bHRGaWx0ZXJNYXRjaE1vZGUgPSBmaWx0ZXJNYXRjaE1vZGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTnVtYmVyRnJhY3Rpb25zKG1pbj86IG51bWJlciwgbWF4PzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzID0gbWluO1xuICAgICAgICB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cyA9IG1heDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhOdW1iZXJHcm91cGluZyh1c2VHcm91cGluZyA9IHRydWUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmcgPSB1c2VHcm91cGluZztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhEYXRlRm9ybWF0KGZvcm1hdD86IHN0cmluZywgc2hvd1RpbWUgPSBmYWxzZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyRm9ybWF0ID0gZm9ybWF0O1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyU2hvd1RpbWUgPSBzaG93VGltZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhEYXRlVmFsdWUoaW5VdGM/OiBib29sZWFuLCB3aXRoVGltZXpvbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIGlmICh0eXBlb2YgaW5VdGMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRlUGlja2VyVmFsdWVJblV0YyA9IGluVXRjO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2Ygd2l0aFRpbWV6b25lICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclZhbHVlV2l0aFRpbWV6b25lID0gd2l0aFRpbWV6b25lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoUGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aENsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoQ29sdW1uQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2NvbHVtbkNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhDb2x1bW5XaWR0aCh3aWR0aD86IG51bWJlciwgbWluV2lkdGg/OiBudW1iZXIpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fY29sdW1uV2lkdGggPSB3aWR0aCA/PyBudWxsO1xuICAgICAgICB0aGlzLl9jb2x1bW5NaW5XaWR0aCA9IG1pbldpZHRoID8/IG51bGw7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTWF0Y2hNb2RlcyhtYXRjaE1vZGVzOiBBcnJheTxGaWx0ZXJNYXRjaE1vZGVFbnVtPik6IHRoaXMge1xuICAgICAgICB0aGlzLl9tYXRjaE1vZGVzID0gbWF0Y2hNb2RlcztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGNvcHkoKTogRmlsdGVyRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBuZXcgRmlsdGVyRGVzY3JpcHRvcjxUPih0aGlzLl9wcm9wZXJ0eSk7XG4gICAgICAgIHRoaXMuY29weUZpZWxkc1RvKGRlc2NyaXB0b3IpO1xuICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29weUZpZWxkc1RvKGRlc2NyaXB0b3I6IEZpbHRlckRlc2NyaXB0b3I8VD4pIHtcbiAgICAgICAgZGVzY3JpcHRvci5fZmlsdGVyVHlwZSA9IHRoaXMuX2ZpbHRlclR5cGU7XG4gICAgICAgIGRlc2NyaXB0b3IuX2ZpbHRlclByb3BlcnR5ID0gdGhpcy5fZmlsdGVyUHJvcGVydHk7XG4gICAgICAgIGRlc2NyaXB0b3IuX2hhc0RlZmF1bHRWYWx1ZSA9IHRoaXMuX2hhc0RlZmF1bHRWYWx1ZTtcbiAgICAgICAgZGVzY3JpcHRvci5fZGVmYXVsdFZhbHVlID0gdGhpcy5fZGVmYXVsdFZhbHVlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kZWZhdWx0VmFsdWVUbyA9IHRoaXMuX2RlZmF1bHRWYWx1ZVRvO1xuICAgICAgICBkZXNjcmlwdG9yLl9kZWZhdWx0RmlsdGVyTWF0Y2hNb2RlID0gdGhpcy5fZGVmYXVsdEZpbHRlck1hdGNoTW9kZTtcbiAgICAgICAgZGVzY3JpcHRvci5fbnVtYmVyTWluRnJhY3Rpb25EaWdpdHMgPSB0aGlzLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cztcbiAgICAgICAgZGVzY3JpcHRvci5fbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMgPSB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICAgICAgZGVzY3JpcHRvci5fbnVtYmVyVXNlR3JvdXBpbmcgPSB0aGlzLl9udW1iZXJVc2VHcm91cGluZztcbiAgICAgICAgZGVzY3JpcHRvci5fZGF0ZVBpY2tlckZvcm1hdCA9IHRoaXMuX2RhdGVQaWNrZXJGb3JtYXQ7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RhdGVQaWNrZXJTaG93VGltZSA9IHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICAgICAgZGVzY3JpcHRvci5fZGF0ZVBpY2tlclZhbHVlSW5VdGMgPSB0aGlzLl9kYXRlUGlja2VyVmFsdWVJblV0YztcbiAgICAgICAgZGVzY3JpcHRvci5fZGF0ZVBpY2tlclZhbHVlV2l0aFRpbWV6b25lID0gdGhpcy5fZGF0ZVBpY2tlclZhbHVlV2l0aFRpbWV6b25lO1xuICAgICAgICBkZXNjcmlwdG9yLl9wbGFjZWhvbGRlciA9IHRoaXMuX3BsYWNlaG9sZGVyO1xuICAgICAgICBkZXNjcmlwdG9yLl9jbGFzc05hbWUgPSB0aGlzLl9jbGFzc05hbWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX2NvbHVtbldpZHRoID0gdGhpcy5fY29sdW1uV2lkdGg7XG4gICAgICAgIGRlc2NyaXB0b3IuX2NvbHVtbk1pbldpZHRoID0gdGhpcy5fY29sdW1uTWluV2lkdGg7XG4gICAgICAgIGRlc2NyaXB0b3IuX2NvbHVtbkNsYXNzTmFtZSA9IHRoaXMuX2NvbHVtbkNsYXNzTmFtZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPFQ+IGV4dGVuZHMgRmlsdGVyRGVzY3JpcHRvcjxUPiBpbXBsZW1lbnRzIElMb29rdXBEZXNjcmlwdG9yPFQ+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX21vZGVsVHlwZTogQ2xhc3NUeXBlPFQ+IHwgbnVsbCA9IG51bGw7XG4gICAgcHJvdGVjdGVkIF9sb29rdXBUeXBlPzogRmlsdGVyTG9va3VwVHlwZUVudW0gPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5Ecm9wZG93bjtcblxuICAgIHByb3RlY3RlZCBfZGF0YVByb3ZpZGVyPzogSUxvb2t1cERhdGFQcm92aWRlcjxULCBhbnk+O1xuICAgIHByb3RlY3RlZCBfaXRlbXNMYWJlbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfaXRlbXNMYWJlbFRyYW5zbGF0ZSA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfaXRlbXNWYWx1ZVByb3BlcnR5Pzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfbXVsdGlzZWxlY3QgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBfZHJvcGRvd25DbGFzc05hbWUgPSAnbW5nLWZpbHRlci1sb29rdXAtZHJvcGRvd24nO1xuXG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVPcGVuT25Gb2N1cyA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBfYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eTogc3RyaW5nLCBtb2RlbFR5cGU6IENsYXNzVHlwZTxUPiB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIocHJvcGVydHkpO1xuICAgICAgICB0aGlzLl9tb2RlbFR5cGUgPSBtb2RlbFR5cGU7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5Mb29rdXA7XG4gICAgICAgIE1vZGVsVXRpbC50cnlTZXRMb29rdXBJdGVtc1Byb3BlcnRpZXModGhpcywgZmFsc2UpO1xuICAgICAgICBpZiAodGhpcy5faXRlbXNWYWx1ZVByb3BlcnR5KSB7XG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJQcm9wZXJ0eSA9IGAke3Byb3BlcnR5fS4ke3RoaXMuX2l0ZW1zVmFsdWVQcm9wZXJ0eX1gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb29rdXBUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9va3VwVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGl0ZW1zTGFiZWxQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zTGFiZWxQcm9wZXJ0eTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGl0ZW1zTGFiZWxUcmFuc2xhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtc0xhYmVsVHJhbnNsYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXRlbXNWYWx1ZVByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbXNWYWx1ZVByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbXVsdGlzZWxlY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tdWx0aXNlbGVjdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZU9wZW5PbkZvY3VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVJbmxpbmVTZWFyY2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2g7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkcm9wZG93bkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbW9kZWxUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbW9kZWxUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoSXRlbXNMYWJlbFByb3BlcnR5KGl0ZW1zTGFiZWxQcm9wZXJ0eTogc3RyaW5nLCB0cmFuc2xhdGUgPSBmYWxzZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pdGVtc0xhYmVsUHJvcGVydHkgPSBpdGVtc0xhYmVsUHJvcGVydHk7XG4gICAgICAgIHRoaXMuX2l0ZW1zTGFiZWxUcmFuc2xhdGUgPSB0cmFuc2xhdGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoSXRlbXNWYWx1ZVByb3BlcnR5KGl0ZW1zVmFsdWVQcm9wZXJ0eTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2l0ZW1zVmFsdWVQcm9wZXJ0eSA9IGl0ZW1zVmFsdWVQcm9wZXJ0eTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHdpbGwgc2V0IGBpdGVtc1ZhbHVlUHJvcGVydHlgLCBiZWNhdXNlIGRhdGFLZXlzIGFyZSBub3Qgc3VwcG9ydGVkIGhlcmUgYXMgZmlsdGVycyBuZWVkIGZpbmFsIHZhbHVlIHRvIHdvcmsgY29ycmVjdGx5LlxuICAgICAqIFVzZSBgd2l0aEl0ZW1zVmFsdWVQcm9wZXJ0eWAgaW5zdGVhZC5cbiAgICAgKiBAcGFyYW0gaXRlbXNWYWx1ZVByb3BlcnR5IEl0ZW0ncyB2YWx1ZSBwcm9wZXJ0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERhdGFLZXlQcm9wZXJ0eShpdGVtc1ZhbHVlUHJvcGVydHk6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pdGVtc1ZhbHVlUHJvcGVydHkgPSBpdGVtc1ZhbHVlUHJvcGVydHk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTG9va3VwPFM+KGxvb2t1cDogKHF1ZXJ5UGFyYW0/OiBNZWRpdXNRdWVyeVBhcmFtLCBzZXJ2aWNlPzogUywgc2VhcmNoPzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEFycmF5PFQ+Piwgc2VydmljZVR5cGU/OiBUeXBlPFM+KTogdGhpcyB7XG4gICAgICAgIGNvbnN0IGRhdGFQcm92aWRlciA9IG5ldyBMb29rdXBEYXRhUHJvdmlkZXI8VCwgUz4odGhpcy5fbW9kZWxUeXBlKTtcbiAgICAgICAgaWYgKHNlcnZpY2VUeXBlKSB7XG4gICAgICAgICAgICBkYXRhUHJvdmlkZXIud2l0aFNlcnZpY2VUeXBlKHNlcnZpY2VUeXBlKTtcbiAgICAgICAgfVxuICAgICAgICBkYXRhUHJvdmlkZXIud2l0aExvb2t1cChsb29rdXApO1xuICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIgPSBkYXRhUHJvdmlkZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTG9va3VwRGF0YVByb3ZpZGVyKGRhdGFQcm92aWRlcjogSUxvb2t1cERhdGFQcm92aWRlcjxULCBhbnk+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2RhdGFQcm92aWRlciA9IGRhdGFQcm92aWRlcjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhNdWx0aXNlbGVjdChtdWx0aXNlbGVjdCA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5fbXVsdGlzZWxlY3QgPSBtdWx0aXNlbGVjdDtcbiAgICAgICAgdGhpcy5fZGVmYXVsdEZpbHRlck1hdGNoTW9kZSA9IEZpbHRlck1hdGNoTW9kZUVudW0uSW47XG4gICAgICAgIHRoaXMud2l0aE1hdGNoTW9kZXMoW0ZpbHRlck1hdGNoTW9kZUVudW0uSW5dKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhEcm9wZG93bkNsYXNzTmFtZShkcm9wZG93bkNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gZHJvcGRvd25DbGFzc05hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSB3aXRoRGVmYXVsdEZpbHRlcihmaWx0ZXJWYWx1ZTogVCB8IFRbXSwgZmlsdGVyVmFsdWVUbz86IFQsIGZpbHRlck1hdGNoTW9kZT86IEZpbHRlck1hdGNoTW9kZUVudW0pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faGFzRGVmYXVsdFZhbHVlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gZmlsdGVyVmFsdWU7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZVRvID0gZmlsdGVyVmFsdWVUbztcbiAgICAgICAgdGhpcy5fZGVmYXVsdEZpbHRlck1hdGNoTW9kZSA9IGZpbHRlck1hdGNoTW9kZTtcblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXJWYWx1ZSkgJiYgIXRoaXMubXVsdGlzZWxlY3QpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXJyYXkgZGVmYXVsdCBmaWx0ZXIgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGEgbXVsdGlzZWxlY3QgZmlsdGVyLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbHRlck1hdGNoTW9kZSAmJiB0aGlzLl9tYXRjaE1vZGVzICYmIHRoaXMuX21hdGNoTW9kZXMuaW5kZXhPZihmaWx0ZXJNYXRjaE1vZGUpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fZGVmYXVsdEZpbHRlck1hdGNoTW9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgRGVmYXVsdCBmaWx0ZXIgbWF0Y2ggbW9kZSAnJHtmaWx0ZXJNYXRjaE1vZGV9JyBjb3VsZCBub3QgYmUgYXNzaWduZWQgZm9yIHByb3BlcnR5ICR7dGhpcy5fcHJvcGVydHl9LmApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKChBcnJheS5pc0FycmF5KGZpbHRlclZhbHVlKSAmJiAhdGhpcy5tdWx0aXNlbGVjdCkgfHwgKHRoaXMubXVsdGlzZWxlY3QgJiYgIUFycmF5LmlzQXJyYXkoZmlsdGVyVmFsdWUpKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWZhdWx0IHZhbHVlIG5vdCBpbiBjb3JyZWN0IGZvcm1hdCBmb3IgcHJvcGVydHkgJHt0aGlzLl9wcm9wZXJ0eX0uYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNBdXRvY29tcGxldGUob3Blbk9uRm9jdXMgPSBmYWxzZSwgaW5saW5lU2VhcmNoID0gZmFsc2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwVHlwZSA9IEZpbHRlckxvb2t1cFR5cGVFbnVtLkF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXMgPSBvcGVuT25Gb2N1cztcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoID0gaW5saW5lU2VhcmNoO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29weSgpOiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPFQ+IHtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IG5ldyBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPFQ+KHRoaXMuX3Byb3BlcnR5LCB0aGlzLl9tb2RlbFR5cGUpO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGNvcHlGaWVsZHNUbyhmaWx0ZXI6IEZpbHRlckxvb2t1cERlc2NyaXB0b3I8VD4pIHtcbiAgICAgICAgc3VwZXIuY29weUZpZWxkc1RvKGZpbHRlcik7XG4gICAgICAgIGZpbHRlci5fZGF0YVByb3ZpZGVyID0gdGhpcy5fZGF0YVByb3ZpZGVyO1xuICAgICAgICBmaWx0ZXIuX2xvb2t1cFR5cGUgPSB0aGlzLl9sb29rdXBUeXBlO1xuICAgICAgICBmaWx0ZXIuX2l0ZW1zTGFiZWxQcm9wZXJ0eSA9IHRoaXMuX2l0ZW1zTGFiZWxQcm9wZXJ0eTtcbiAgICAgICAgZmlsdGVyLl9pdGVtc0xhYmVsVHJhbnNsYXRlID0gdGhpcy5faXRlbXNMYWJlbFRyYW5zbGF0ZTtcbiAgICAgICAgZmlsdGVyLl9pdGVtc1ZhbHVlUHJvcGVydHkgPSB0aGlzLl9pdGVtc1ZhbHVlUHJvcGVydHk7XG4gICAgICAgIGZpbHRlci5fbXVsdGlzZWxlY3QgPSB0aGlzLl9tdWx0aXNlbGVjdDtcbiAgICAgICAgZmlsdGVyLl9kcm9wZG93bkNsYXNzTmFtZSA9IHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lO1xuICAgICAgICBmaWx0ZXIuX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzID0gdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM7XG4gICAgICAgIGZpbHRlci5fYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoID0gdGhpcy5fYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbHRlckxvb2t1cEVudW1EZXNjcmlwdG9yIGV4dGVuZHMgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxFbnVtVmFsdWU8c3RyaW5nIHwgbnVtYmVyPj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VudW1UeXBlOiBFbnVtVHlwZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25FbnVtVmFsdWVzOiBFbnVtVmFsdWU8c3RyaW5nIHwgbnVtYmVyPltdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX25hbWVBc1ZhbHVlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eTogc3RyaW5nLCBlbnVtVHlwZTogRW51bVR5cGUsIG9wdGlvbnM/OiBBcnJheTxFbnVtQ29uc3RhbnRUeXBlPiwgbmFtZUFzVmFsdWUgPSBmYWxzZSwgb3B0aW9uc1RpdGxlUGF0aD86IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgc3VwZXIocHJvcGVydHksIG51bGwpO1xuICAgICAgICB0aGlzLl9lbnVtVHlwZSA9IGVudW1UeXBlO1xuICAgICAgICB0aGlzLl9uYW1lQXNWYWx1ZSA9IG5hbWVBc1ZhbHVlO1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnNUaXRsZVBhdGggPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBvcHRpb25zVGl0bGVQYXRoID0gVHlwZVV0aWwuZmluZEVudW1OYW1lKGVudW1UeXBlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9vcHRpb25FbnVtVmFsdWVzID0gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgICAgICAgICAgPyBFbnVtVXRpbC5mcm9tVmFsdWVzQXNFbnVtVmFsdWVBcnJheShlbnVtVHlwZSwgb3B0aW9ucywgbmFtZUFzVmFsdWUsIG9wdGlvbnNUaXRsZVBhdGggPz8gdW5kZWZpbmVkKVxuICAgICAgICAgICAgOiBFbnVtVXRpbC5mcm9tQ29uc3RhbnRzQXNFbnVtVmFsdWVBcnJheShlbnVtVHlwZSwgbmFtZUFzVmFsdWUsIG9wdGlvbnNUaXRsZVBhdGggPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgZGF0YVByb3ZpZGVyID0gbmV3IExvb2t1cERhdGFQcm92aWRlcjxFbnVtVmFsdWU8c3RyaW5nIHwgbnVtYmVyPiwgYW55PihudWxsKS53aXRoTG9va3VwKCgpID0+IG9mKHRoaXMuX29wdGlvbkVudW1WYWx1ZXMpKTtcbiAgICAgICAgdGhpcy53aXRoTG9va3VwRGF0YVByb3ZpZGVyKGRhdGFQcm92aWRlcik7XG4gICAgICAgIHRoaXMud2l0aEl0ZW1zTGFiZWxQcm9wZXJ0eSgndGl0bGUnLCBvcHRpb25zVGl0bGVQYXRoICE9PSBudWxsKTtcbiAgICAgICAgdGhpcy53aXRoSXRlbXNWYWx1ZVByb3BlcnR5KCd2YWx1ZScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZW51bVR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnVtVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgYXNBdXRvY29tcGxldGUob3Blbk9uRm9jdXMgPSB0cnVlKTogdGhpcyB7XG4gICAgICAgIHN1cGVyLmFzQXV0b2NvbXBsZXRlKG9wZW5PbkZvY3VzLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhNdWx0aXNlbGVjdEVudW0obXVsdGlzZWxlY3QgPSB0cnVlKTogRmlsdGVyTG9va3VwRW51bURlc2NyaXB0b3Ige1xuICAgICAgICByZXR1cm4gc3VwZXIud2l0aE11bHRpc2VsZWN0KG11bHRpc2VsZWN0KSBhcyBGaWx0ZXJMb29rdXBFbnVtRGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd2l0aERlZmF1bHRGaWx0ZXIoKTogdGhpcyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgd2l0aERlZmF1bHRGaWx0ZXIgb24gRmlsdGVyTG9va3VwRW51bURlc2NyaXB0b3Igc2hvdWxkIG5vdCBiZSB1c2VkLiBVc2Ugd2l0aERlZmF1bHRGaWx0ZXJFbnVtIGluc3RlYWQuYCk7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhEZWZhdWx0RmlsdGVyRW51bShmaWx0ZXJWYWx1ZTogRW51bUNvbnN0YW50VHlwZSB8IEVudW1Db25zdGFudFR5cGVbXSwgZmlsdGVyVmFsdWVUbz86IEVudW1Db25zdGFudFR5cGUsIGZpbHRlck1hdGNoTW9kZT86IEZpbHRlck1hdGNoTW9kZUVudW0pOiB0aGlzIHtcbiAgICAgICAgbGV0IGRlZmF1bHRPcHRpb25WYWx1ZTogYW55IHwgYW55W107XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlclZhbHVlKSkge1xuICAgICAgICAgICAgZGVmYXVsdE9wdGlvblZhbHVlID0gdGhpcy5fbmFtZUFzVmFsdWUgPyBmaWx0ZXJWYWx1ZS5tYXAodmFsdWUgPT4gRW51bVV0aWwuZ2V0Q29uc3RhbnROYW1lKHRoaXMuX2VudW1UeXBlLCB2YWx1ZSkpIDogZmlsdGVyVmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9uVmFsdWUgPSB0aGlzLl9uYW1lQXNWYWx1ZSA/IEVudW1VdGlsLmdldENvbnN0YW50TmFtZSh0aGlzLl9lbnVtVHlwZSwgZmlsdGVyVmFsdWUpIDogZmlsdGVyVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVmYXVsdE9wdGlvblZhbHVlVG86IGFueTtcbiAgICAgICAgaWYgKGZpbHRlclZhbHVlVG8pIHtcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb25WYWx1ZVRvID0gdGhpcy5fbmFtZUFzVmFsdWUgPyBFbnVtVXRpbC5nZXRDb25zdGFudE5hbWUodGhpcy5fZW51bVR5cGUsIGZpbHRlclZhbHVlVG8pIDogZmlsdGVyVmFsdWVUbztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZWZhdWx0T3B0aW9uVmFsdWUpIHtcbiAgICAgICAgICAgIGxldCBvcHRpb246IGFueSB8IGFueVtdO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVmYXVsdE9wdGlvblZhbHVlKSkge1xuICAgICAgICAgICAgICAgIG9wdGlvbiA9IGRlZmF1bHRPcHRpb25WYWx1ZS5tYXAodmFsdWUgPT4gdGhpcy5fb3B0aW9uRW51bVZhbHVlcy5maW5kKG8gPT4gby52YWx1ZSA9PT0gdmFsdWUpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb3B0aW9uID0gdGhpcy5fb3B0aW9uRW51bVZhbHVlcy5maW5kKG8gPT4gby52YWx1ZSA9PT0gZGVmYXVsdE9wdGlvblZhbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgb3B0aW9uVG8gPSBkZWZhdWx0T3B0aW9uVmFsdWVUbyA/IHRoaXMuX29wdGlvbkVudW1WYWx1ZXMuZmluZChvID0+IG8udmFsdWUgPT09IGRlZmF1bHRPcHRpb25WYWx1ZVRvKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgbGV0IGZpbHRlclZhbHVlRnJvbUFycmF5VG8gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBpZiAob3B0aW9uVG8pIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZUZyb21BcnJheVRvID0gdGhpcy5faXRlbXNWYWx1ZVByb3BlcnR5ID8gb3B0aW9uVG9bdGhpcy5faXRlbXNWYWx1ZVByb3BlcnR5IGFzIGtleW9mIG9iamVjdF0gOiBvcHRpb25UbztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IGZpbHRlclZhbHVlRnJvbUFycmF5OiBhbnkgfCBhbnlbXTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZUZyb21BcnJheSA9IHRoaXMuX2l0ZW1zVmFsdWVQcm9wZXJ0eSA/IG9wdGlvbi5tYXAodmFsdWUgPT4gdmFsdWVbdGhpcy5faXRlbXNWYWx1ZVByb3BlcnR5IGFzIGtleW9mIG9iamVjdF0pIDogb3B0aW9uO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZUZyb21BcnJheSA9IHRoaXMuX2l0ZW1zVmFsdWVQcm9wZXJ0eSA/IG9wdGlvblt0aGlzLl9pdGVtc1ZhbHVlUHJvcGVydHkgYXMga2V5b2Ygb2JqZWN0XSA6IG9wdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3VwZXIud2l0aERlZmF1bHRGaWx0ZXIoZmlsdGVyVmFsdWVGcm9tQXJyYXksIGZpbHRlclZhbHVlRnJvbUFycmF5VG8sIGZpbHRlck1hdGNoTW9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGNvcHkoKTogRmlsdGVyTG9va3VwRW51bURlc2NyaXB0b3Ige1xuICAgICAgICBjb25zdCBmaWVsZCA9IG5ldyBGaWx0ZXJMb29rdXBFbnVtRGVzY3JpcHRvcih0aGlzLl9wcm9wZXJ0eSwgdGhpcy5fZW51bVR5cGUsIFtdKTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './filter.descriptor';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rlc2NyaXB0b3JzL2ZpbHRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIuZGVzY3JpcHRvcic7XG4iXX0=
|
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
|
|
3
|
-
export * from './editor.descriptor';
|
|
4
|
-
export * from './field.descriptor';
|
|
5
|
-
export * from './field-validation.descriptor';
|
|
6
|
-
export * from './filter.descriptor';
|
|
7
|
-
export * from './model.descriptor';
|
|
8
|
-
export * from './table.descriptor';
|
|
9
|
-
export * from './tableview.descriptor';
|
|
10
|
-
export * from './action-button.descriptor';
|
|
11
|
-
export * from './action/action-confirmation.descriptor';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2Rlc2NyaXB0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4uZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZmllbGQuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkLXZhbGlkYXRpb24uZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi1idXR0b24uZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9hY3Rpb24tY29uZmlybWF0aW9uLmRlc2NyaXB0b3InO1xuIl19
|
|
1
|
+
export * from './model.descriptor';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2Rlc2NyaXB0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGVsLmRlc2NyaXB0b3InO1xuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGVzY3JpcHRvcnMvaW50ZXJmYWNlcy9maWVsZC1jb25maWcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBGaWVsZENvbmZpZyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkTG9va3VwQ29uZmlnIGV4dGVuZHMgRmllbGRDb25maWcge1xuICAgIHRhYmxlPzoge1xuICAgICAgICBjYXB0aW9uQ29tcG9uZW50PzogVHlwZTxhbnk+O1xuICAgICAgICBjb2x1bW5BY3Rpb25Db21wb25lbnQ/OiBUeXBlPGFueT47XG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './field-config.interface';
|
|
2
|
-
export * from './lookup-descriptor.interface';
|
|
1
|
+
export * from './field-config.interface';
|
|
2
|
+
export * from './lookup-descriptor.interface';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2Rlc2NyaXB0b3JzL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWVsZC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9va3VwLWRlc2NyaXB0b3IuaW50ZXJmYWNlJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWRlc2NyaXB0b3IuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXNjcmlwdG9ycy9pbnRlcmZhY2VzL2xvb2t1cC1kZXNjcmlwdG9yLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtNZWRpdXNRdWVyeVBhcmFtfSBmcm9tICcuLi8uLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7SUxvb2t1cERhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtDbGFzc1R5cGV9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBJTG9va3VwRGVzY3JpcHRvcjxUPiB7XG4gICAgbW9kZWxUeXBlOiBDbGFzc1R5cGU8VD4gfCBudWxsO1xuICAgIGl0ZW1zTGFiZWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBpdGVtc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgZGF0YUtleVByb3BlcnR5Pzogc3RyaW5nO1xuICAgIGRhdGFQcm92aWRlcj86IElMb29rdXBEYXRhUHJvdmlkZXI8VCwgYW55PjtcbiAgICB3aXRoSXRlbXNMYWJlbFByb3BlcnR5KGl0ZW1zTGFiZWxQcm9wZXJ0eTogc3RyaW5nKTogdGhpcztcbiAgICB3aXRoSXRlbXNWYWx1ZVByb3BlcnR5KGl0ZW1zTGFiZWxQcm9wZXJ0eTogc3RyaW5nKTogdGhpcztcbiAgICB3aXRoRGF0YUtleVByb3BlcnR5KGRhdGFLZXlQcm9wZXJ0eTogc3RyaW5nKTogdGhpcztcbiAgICB3aXRoTG9va3VwPFM+KGxvb2t1cDogKHF1ZXJ5UGFyYW0/OiBNZWRpdXNRdWVyeVBhcmFtLCBzZXJ2aWNlPzogUywgc2VhcmNoPzogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEFycmF5PFQ+Piwgc2VydmljZVR5cGU/OiBUeXBlPFM+KTogdGhpcztcbiAgICB3aXRoTG9va3VwRGF0YVByb3ZpZGVyKGRhdGFQcm92aWRlcjogSUxvb2t1cERhdGFQcm92aWRlcjxULCBhbnk+KTogdGhpcztcbn1cbiJdfQ==
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { ModelUtil, TypeUtil } from '../utils';
|
|
2
|
-
export class ModelDescriptor {
|
|
3
|
-
constructor(modelType, idProperty, titleProperty, i18nBaseKey) {
|
|
4
|
-
this._type = modelType;
|
|
5
|
-
this._idPropertyName = idProperty ?? ModelUtil.findIdAttribute(modelType) ?? undefined;
|
|
6
|
-
this._titlePropertyName = titleProperty ?? ModelUtil.findTitleAttribute(modelType) ?? undefined;
|
|
7
|
-
this._typeName = TypeUtil.findTypeName(this._type);
|
|
8
|
-
this._i18nBaseKey = (typeof i18nBaseKey === 'string' || typeof i18nBaseKey === 'undefined' ? i18nBaseKey : TypeUtil.findTypeName(i18nBaseKey)) ?? this._typeName;
|
|
9
|
-
}
|
|
10
|
-
get type() {
|
|
11
|
-
return this._type;
|
|
12
|
-
}
|
|
13
|
-
get typeName() {
|
|
14
|
-
return this._typeName;
|
|
15
|
-
}
|
|
16
|
-
get i18nBaseKey() {
|
|
17
|
-
return this._i18nBaseKey;
|
|
18
|
-
}
|
|
19
|
-
get idPropertyName() {
|
|
20
|
-
return this._idPropertyName;
|
|
21
|
-
}
|
|
22
|
-
get titlePropertyName() {
|
|
23
|
-
return this._titlePropertyName;
|
|
24
|
-
}
|
|
25
|
-
withIdPropertyName(idProperty) {
|
|
26
|
-
this._idPropertyName = idProperty;
|
|
27
|
-
return this;
|
|
28
|
-
}
|
|
29
|
-
withTitlePropertyName(titleProperty) {
|
|
30
|
-
this._titlePropertyName = titleProperty;
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
withI18nBase(base) {
|
|
34
|
-
if (typeof base !== 'string') {
|
|
35
|
-
base = TypeUtil.findTypeName(base);
|
|
36
|
-
}
|
|
37
|
-
this._i18nBaseKey = base;
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
copy() {
|
|
41
|
-
const model = new ModelDescriptor(this._type, this._idPropertyName, this._titlePropertyName);
|
|
42
|
-
return model;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
1
|
+
import { ModelUtil, TypeUtil } from '../utils';
|
|
2
|
+
export class ModelDescriptor {
|
|
3
|
+
constructor(modelType, idProperty, titleProperty, i18nBaseKey) {
|
|
4
|
+
this._type = modelType;
|
|
5
|
+
this._idPropertyName = idProperty ?? ModelUtil.findIdAttribute(modelType) ?? undefined;
|
|
6
|
+
this._titlePropertyName = titleProperty ?? ModelUtil.findTitleAttribute(modelType) ?? undefined;
|
|
7
|
+
this._typeName = TypeUtil.findTypeName(this._type);
|
|
8
|
+
this._i18nBaseKey = (typeof i18nBaseKey === 'string' || typeof i18nBaseKey === 'undefined' ? i18nBaseKey : TypeUtil.findTypeName(i18nBaseKey)) ?? this._typeName;
|
|
9
|
+
}
|
|
10
|
+
get type() {
|
|
11
|
+
return this._type;
|
|
12
|
+
}
|
|
13
|
+
get typeName() {
|
|
14
|
+
return this._typeName;
|
|
15
|
+
}
|
|
16
|
+
get i18nBaseKey() {
|
|
17
|
+
return this._i18nBaseKey;
|
|
18
|
+
}
|
|
19
|
+
get idPropertyName() {
|
|
20
|
+
return this._idPropertyName;
|
|
21
|
+
}
|
|
22
|
+
get titlePropertyName() {
|
|
23
|
+
return this._titlePropertyName;
|
|
24
|
+
}
|
|
25
|
+
withIdPropertyName(idProperty) {
|
|
26
|
+
this._idPropertyName = idProperty;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
withTitlePropertyName(titleProperty) {
|
|
30
|
+
this._titlePropertyName = titleProperty;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
withI18nBase(base) {
|
|
34
|
+
if (typeof base !== 'string') {
|
|
35
|
+
base = TypeUtil.findTypeName(base);
|
|
36
|
+
}
|
|
37
|
+
this._i18nBaseKey = base;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
copy() {
|
|
41
|
+
const model = new ModelDescriptor(this._type, this._idPropertyName, this._titlePropertyName);
|
|
42
|
+
return model;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
45
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuZGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZGVzY3JpcHRvcnMvbW9kZWwuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUU3QyxNQUFNLE9BQU8sZUFBZTtJQU94QixZQUFZLFNBQXVCLEVBQUUsVUFBbUIsRUFBRSxhQUFzQixFQUFFLFdBQXlDO1FBQ3ZILElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxJQUFJLFNBQVMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLElBQUksU0FBUyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUNoRyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLElBQUksT0FBTyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3JLLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFVBQWtCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxhQUFxQjtRQUM5QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBMkI7UUFDM0MsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sSUFBSTtRQUNQLE1BQU0sS0FBSyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3RixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsYXNzVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtNb2RlbFV0aWwsIFR5cGVVdGlsfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBNb2RlbERlc2NyaXB0b3I8VD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3R5cGU6IENsYXNzVHlwZTxUPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90eXBlTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgX2kxOG5CYXNlS2V5OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfaWRQcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfdGl0bGVQcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihtb2RlbFR5cGU6IENsYXNzVHlwZTxUPiwgaWRQcm9wZXJ0eT86IHN0cmluZywgdGl0bGVQcm9wZXJ0eT86IHN0cmluZywgaTE4bkJhc2VLZXk/OiBzdHJpbmcgfCBDbGFzc1R5cGU8dW5rbm93bj4pIHtcbiAgICAgICAgdGhpcy5fdHlwZSA9IG1vZGVsVHlwZTtcbiAgICAgICAgdGhpcy5faWRQcm9wZXJ0eU5hbWUgPSBpZFByb3BlcnR5ID8/IE1vZGVsVXRpbC5maW5kSWRBdHRyaWJ1dGUobW9kZWxUeXBlKSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX3RpdGxlUHJvcGVydHlOYW1lID0gdGl0bGVQcm9wZXJ0eSA/PyBNb2RlbFV0aWwuZmluZFRpdGxlQXR0cmlidXRlKG1vZGVsVHlwZSkgPz8gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl90eXBlTmFtZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZSh0aGlzLl90eXBlKTtcbiAgICAgICAgdGhpcy5faTE4bkJhc2VLZXkgPSAodHlwZW9mIGkxOG5CYXNlS2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgaTE4bkJhc2VLZXkgPT09ICd1bmRlZmluZWQnID8gaTE4bkJhc2VLZXkgOiBUeXBlVXRpbC5maW5kVHlwZU5hbWUoaTE4bkJhc2VLZXkpKSA/PyB0aGlzLl90eXBlTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdHlwZU5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGkxOG5CYXNlS2V5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faTE4bkJhc2VLZXk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpZFByb3BlcnR5TmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkUHJvcGVydHlOYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGl0bGVQcm9wZXJ0eU5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aXRsZVByb3BlcnR5TmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aElkUHJvcGVydHlOYW1lKGlkUHJvcGVydHk6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pZFByb3BlcnR5TmFtZSA9IGlkUHJvcGVydHk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoVGl0bGVQcm9wZXJ0eU5hbWUodGl0bGVQcm9wZXJ0eTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3RpdGxlUHJvcGVydHlOYW1lID0gdGl0bGVQcm9wZXJ0eTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhJMThuQmFzZShiYXNlOiBDbGFzc1R5cGU8VD4gfCBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgaWYgKHR5cGVvZiBiYXNlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgYmFzZSA9IFR5cGVVdGlsLmZpbmRUeXBlTmFtZShiYXNlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pMThuQmFzZUtleSA9IGJhc2U7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3B5KCk6IE1vZGVsRGVzY3JpcHRvcjxUPiB7XG4gICAgICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsRGVzY3JpcHRvcih0aGlzLl90eXBlLCB0aGlzLl9pZFByb3BlcnR5TmFtZSwgdGhpcy5fdGl0bGVQcm9wZXJ0eU5hbWUpO1xuICAgICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxufVxuIl19
|