@mediusinc/mng-commons 2.6.0 → 3.0.0-rc.1
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/README.md +17 -6
- package/dev-scripts/version-info.js +1 -0
- package/esm2022/lib/api/models/filter-param.model.mjs +33 -0
- package/esm2022/lib/api/models/query-param.model.mjs +68 -0
- package/esm2022/lib/api/models/query-result.model.mjs +24 -0
- package/esm2022/lib/api/utils/medius-rest.util.mjs +255 -0
- package/esm2022/lib/api/utils/object-serializer.util.mjs +258 -0
- package/esm2022/lib/components/action/action.component.mjs +304 -0
- package/esm2022/lib/components/action/editor/action-editor.component.mjs +386 -0
- package/esm2022/lib/components/action/localization/data-language-dropdown.component.mjs +54 -0
- package/{esm2020 → esm2022}/lib/components/action/models/action-execution.model.mjs +1 -1
- package/esm2022/lib/components/action/models/tableview-action-default-categories.model.mjs +11 -0
- package/{esm2020 → esm2022}/lib/components/action/route/action-route.component.mjs +4 -4
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +300 -0
- package/{esm2020 → esm2022}/lib/components/form/date-range/date-range.component.mjs +5 -5
- package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +212 -0
- package/esm2022/lib/components/form/editor/form-editor.component.mjs +288 -0
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +4 -4
- package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +7 -7
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +4 -4
- package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +19 -0
- package/{esm2020 → esm2022}/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +4 -4
- package/esm2022/lib/components/form/models/form-editor.event.mjs +49 -0
- package/esm2022/lib/components/layout/breadcrumb.component.mjs +34 -0
- package/{esm2020 → esm2022}/lib/components/layout/footer.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/layout/main-layout.component.mjs +4 -4
- package/esm2022/lib/components/layout/menu-item.component.mjs +296 -0
- package/{esm2020 → esm2022}/lib/components/layout/menu.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/layout/services/main-layout.component.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/layout/topbar-user.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/layout/topbar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/layout/version.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/pages/error/error-page.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/pages/not-found/not-found-page.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/components/tableview/models/table.event.mjs +1 -1
- package/{esm2020 → esm2022}/lib/components/tableview/route/tableview-route.abstract.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/components/tableview/route/tableview-route.component.mjs +4 -4
- package/esm2022/lib/components/tableview/table/column-filter/column-filter.component.mjs +124 -0
- package/esm2022/lib/components/tableview/table/column-value/column-value.component.mjs +110 -0
- package/esm2022/lib/components/tableview/table/table.component.mjs +747 -0
- package/esm2022/lib/components/tableview/tableview.component.mjs +147 -0
- package/esm2022/lib/descriptors/action/action.descriptor.mjs +634 -0
- package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +304 -0
- package/esm2022/lib/descriptors/editor/field.descriptor.mjs +1088 -0
- package/esm2022/lib/descriptors/table/table.descriptor.mjs +542 -0
- package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +352 -0
- package/{esm2020 → esm2022}/lib/descriptors/types/table.type.mjs +1 -5
- package/{esm2020 → esm2022}/lib/directives/component.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/directives/template.directive.mjs +5 -5
- package/esm2022/lib/mng-commons.module.mjs +465 -0
- package/{esm2020 → esm2022}/lib/pipes/boolean.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/class-map.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/enum.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/enumerate-async.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/enumerate.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/getter.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/i18n-property.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/json-path.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/locale-default-row-class.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/parametrize.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pipes/template.pipe.mjs +4 -4
- package/esm2022/lib/router/route-builder.mjs +308 -0
- package/esm2022/lib/router/routes-builder.mjs +61 -0
- package/esm2022/lib/security/authorization.guard.mjs +15 -0
- package/{esm2020 → esm2022}/lib/security/authorization.service.mjs +4 -4
- package/esm2022/lib/services/action-executor.service.mjs +703 -0
- package/{esm2020 → esm2022}/lib/services/commons.service.mjs +4 -4
- package/esm2022/lib/services/configuration.service.mjs +150 -0
- package/{esm2020 → esm2022}/lib/services/internal/commons-init.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/mng-localstorage-config.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/navigation.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/router.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/version.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/view-container.component.service.mjs +4 -4
- package/esm2022/lib/styles/styles.util.mjs +42 -0
- package/esm2022/lib/types/type.model.mjs +2 -0
- package/esm2022/lib/utils/date.util.mjs +120 -0
- package/esm2022/lib/utils/tableview.util.mjs +193 -0
- package/esm2022/lib/utils/type.util.mjs +94 -0
- package/{fesm2020 → fesm2022}/mediusinc-mng-commons.mjs +952 -940
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -0
- package/lib/api/utils/medius-rest.util.d.ts +4 -3
- package/lib/components/action/action.component.d.ts +1 -1
- package/lib/components/action/editor/action-editor.component.d.ts +6 -9
- package/lib/components/action/localization/data-language-dropdown.component.d.ts +1 -1
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +4 -4
- package/lib/components/form/date-range/date-range.component.d.ts +1 -1
- package/lib/components/form/dropdown/dropdown.component.d.ts +3 -3
- package/lib/components/form/editor/form-editor.component.d.ts +1 -1
- package/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.d.ts +1 -1
- package/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +1 -0
- package/lib/components/layout/breadcrumb.component.d.ts +5 -0
- package/lib/components/layout/menu-item.component.d.ts +1 -1
- package/lib/components/layout/version.component.d.ts +1 -1
- package/lib/components/tableview/models/table.event.d.ts +2 -2
- package/lib/components/tableview/route/tableview-route.component.d.ts +1 -1
- package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +2 -2
- package/lib/components/tableview/table/column-value/column-value.component.d.ts +1 -1
- package/lib/components/tableview/table/table.component.d.ts +6 -7
- package/lib/components/tableview/tableview.component.d.ts +7 -11
- package/lib/descriptors/editor/editor.descriptor.d.ts +1 -1
- package/lib/descriptors/editor/field.descriptor.d.ts +3 -1
- package/lib/descriptors/table/table.descriptor.d.ts +8 -3
- package/lib/descriptors/tableview/tableview.descriptor.d.ts +4 -4
- package/lib/descriptors/types/table.type.d.ts +1 -5
- package/lib/directives/component.directive.d.ts +1 -1
- package/lib/directives/template.directive.d.ts +1 -1
- package/lib/router/route-builder.d.ts +6 -10
- package/lib/router/routes-builder.d.ts +0 -5
- package/lib/security/authorization.guard.d.ts +2 -11
- package/lib/services/action-executor.service.d.ts +1 -15
- package/lib/utils/route.util.d.ts +8 -19
- package/lib/utils/tableview.util.d.ts +5 -0
- package/package.json +12 -19
- package/esm2020/lib/api/models/filter-param.model.mjs +0 -33
- package/esm2020/lib/api/models/query-param.model.mjs +0 -68
- package/esm2020/lib/api/models/query-result.model.mjs +0 -24
- package/esm2020/lib/api/utils/medius-rest.util.mjs +0 -246
- package/esm2020/lib/api/utils/object-serializer.util.mjs +0 -258
- package/esm2020/lib/components/action/action.component.mjs +0 -303
- package/esm2020/lib/components/action/editor/action-editor.component.mjs +0 -390
- package/esm2020/lib/components/action/localization/data-language-dropdown.component.mjs +0 -47
- package/esm2020/lib/components/action/models/tableview-action-default-categories.model.mjs +0 -11
- package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +0 -303
- package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +0 -214
- package/esm2020/lib/components/form/editor/form-editor.component.mjs +0 -288
- package/esm2020/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +0 -54
- package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -19
- package/esm2020/lib/components/form/models/form-editor.event.mjs +0 -49
- package/esm2020/lib/components/layout/breadcrumb.component.mjs +0 -19
- package/esm2020/lib/components/layout/menu-item.component.mjs +0 -294
- package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +0 -126
- package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +0 -108
- package/esm2020/lib/components/tableview/table/table.component.mjs +0 -749
- package/esm2020/lib/components/tableview/tableview.component.mjs +0 -146
- package/esm2020/lib/descriptors/action/action.descriptor.mjs +0 -634
- package/esm2020/lib/descriptors/editor/editor.descriptor.mjs +0 -304
- package/esm2020/lib/descriptors/editor/field.descriptor.mjs +0 -1083
- package/esm2020/lib/descriptors/table/table.descriptor.mjs +0 -521
- package/esm2020/lib/descriptors/tableview/tableview.descriptor.mjs +0 -347
- package/esm2020/lib/mng-commons.module.mjs +0 -469
- package/esm2020/lib/router/route-builder.mjs +0 -312
- package/esm2020/lib/router/routes-builder.mjs +0 -68
- package/esm2020/lib/security/authorization.guard.mjs +0 -30
- package/esm2020/lib/services/action-executor.service.mjs +0 -722
- package/esm2020/lib/services/configuration.service.mjs +0 -150
- package/esm2020/lib/styles/styles.util.mjs +0 -42
- package/esm2020/lib/types/type.model.mjs +0 -2
- package/esm2020/lib/utils/date.util.mjs +0 -120
- package/esm2020/lib/utils/tableview.util.mjs +0 -171
- package/esm2020/lib/utils/type.util.mjs +0 -94
- package/fesm2015/mediusinc-mng-commons.mjs +0 -15900
- package/fesm2015/mediusinc-mng-commons.mjs.map +0 -1
- package/fesm2020/mediusinc-mng-commons.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/builders/query-param.builder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/filter-match-type.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/mappers.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/query-mode.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/models/serialization.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/services/api.abstract.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/services/crud-api.abstract.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/services/get-all-api.abstract.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/api/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/action/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/action/models/action-component.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/action/models/action-confirmation-service.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/action/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/formly/fields/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/formly/formly.config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/formly/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/formly/models/formly-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/formly/models/formly-field.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/formly/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/formly/wrappers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/models/field-action-context.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/models/form-editor.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/form/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/layout/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/layout/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/pages/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/tableview/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/tableview/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/tableview/table/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/tableview/table/models/table.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-providers/base.data-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-providers/editor.data-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-providers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-providers/lookup.data-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-providers/table.data-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-providers/tableview-crud.data-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data-providers/tableview.data-provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/action/action-button.descriptor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/action/action-confirmation.descriptor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/action/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/editor/field-validation.descriptor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/editor/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/filter/filter.descriptor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/filter/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/interfaces/field-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/model.descriptor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/table/column.descriptor.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/tableview/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/types/action.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/types/column.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/types/editor.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/types/field.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/types/filter.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/descriptors/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/column-value.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/enum.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/error-internal.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/error.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/menu.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/tableview-attr.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/user.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/version.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/view-container.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/models/internal/enumrate-pipe-i18n.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/models/internal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/provide-commons.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/models/router.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/router/tableview-route-builder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/security/authorization.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/security/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/security/model/authorization.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/security/model/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/security/model/permission-service.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/security/model/permissions.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/error-mapper.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/internal/commons-init.provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/internal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/providers/config-service.provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/providers/formly-config.provider.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/providers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/tokens/browser-storage.token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/tokens/commons-init.token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/tokens/default-setting.token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/tokens/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/tokens/module-config.token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/styles/button-style.builder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/styles/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/styles/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/styles/models/style-level.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/styles/models/style-size.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/i18n.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/mng-localstorage-config-value.type.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/types/type.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/action-data-provider.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/editor-formly.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/enum.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/export.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/file.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/i18n.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/model.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/notification.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/object.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/route.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/string.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validators/field.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/mediusinc-mng-commons.mjs +0 -0
|
@@ -32,13 +32,13 @@ export class MngVersionService {
|
|
|
32
32
|
}
|
|
33
33
|
return this.cache[url].asObservable();
|
|
34
34
|
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MngVersionService, deps: [{ token: i1.HttpClient }, { token: i2.MngConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MngVersionService, providedIn: 'root' }); }
|
|
35
37
|
}
|
|
36
|
-
|
|
37
|
-
MngVersionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngVersionService, providedIn: 'root' });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngVersionService, decorators: [{
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MngVersionService, decorators: [{
|
|
39
39
|
type: Injectable,
|
|
40
40
|
args: [{
|
|
41
41
|
providedIn: 'root'
|
|
42
42
|
}]
|
|
43
43
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MngConfigurationService }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFhLGFBQWEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUtoRSxNQUFNLE9BQU8saUJBQWlCO0lBRzFCLFlBQW9CLElBQWdCLEVBQVUsb0JBQTZDO1FBQXZFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBRm5GLFVBQUssR0FBNEMsRUFBRSxDQUFDO0lBRWtDLENBQUM7SUFFL0YsNkRBQTZEO0lBQ3RELFdBQVcsQ0FBQyxJQUFZLEVBQUUsYUFBc0IsRUFBRSxRQUFRLEdBQUcsR0FBRztRQUNuRSxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxhQUFhLEVBQUU7WUFDZixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hFLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEc7UUFDRCxJQUFJLElBQUksRUFBRTtZQUNOLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvRDtRQUNELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztZQUVoRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMxQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLENBQUM7YUFDSixDQUFDLENBQUM7U0FDTjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzhHQTNCUSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7TW5nQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNbmdWZXJzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSBjYWNoZToge1trZXk6IHN0cmluZ106IFJlcGxheVN1YmplY3Q8dW5rbm93bj59ID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgY29uZmlndXJhdGlvblNlcnZpY2U6IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHB1YmxpYyBsb2FkVmVyc2lvbihwYXRoOiBzdHJpbmcsIGJhc2VDb25maWdLZXk/OiBzdHJpbmcsIGpzb25QYXRoID0gJyQnKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gW107XG4gICAgICAgIGlmIChiYXNlQ29uZmlnS2V5KSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5jb25maWd1cmF0aW9uU2VydmljZS5nZXRDb25maWdWYWx1ZShiYXNlQ29uZmlnS2V5KTtcbiAgICAgICAgICAgIHVybFNlZ21lbnRzLnB1c2goYmFzZVVybC5lbmRzV2l0aCgnLycpID8gYmFzZVVybC5zdWJzdHJpbmcoMCwgYmFzZVVybC5sZW5ndGggLSAxKSA6IGJhc2VVcmwpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgICAgICB1cmxTZWdtZW50cy5wdXNoKCFwYXRoLnN0YXJ0c1dpdGgoJy8nKSA/IGAvJHtwYXRofWAgOiBwYXRoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSB1cmxTZWdtZW50cy5qb2luKCcnKTtcbiAgICAgICAgaWYgKCF0aGlzLmNhY2hlW3VybF0pIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGVbdXJsXSA9IG5ldyBSZXBsYXlTdWJqZWN0PHVua25vd24+KDEpO1xuXG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0KHVybFNlZ21lbnRzLmpvaW4oJycpKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVbdXJsXS5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZVt1cmxdLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -56,10 +56,10 @@ export class MngViewContainerComponentService {
|
|
|
56
56
|
unsetActionRouteTriggeredInstance() {
|
|
57
57
|
this._routeTriggeredActionInstance = undefined;
|
|
58
58
|
}
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MngViewContainerComponentService, deps: [{ token: i1.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
60
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MngViewContainerComponentService }); }
|
|
59
61
|
}
|
|
60
|
-
|
|
61
|
-
MngViewContainerComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngViewContainerComponentService });
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: MngViewContainerComponentService, decorators: [{
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MngViewContainerComponentService, decorators: [{
|
|
63
63
|
type: Injectable
|
|
64
64
|
}], ctorParameters: function () { return [{ type: i1.MessageService }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1jb250YWluZXIuY29tcG9uZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3ZpZXctY29udGFpbmVyLmNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFjekM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZ0NBQWdDO0lBU3pDLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU4xQyxZQUFPLEdBQStCLEVBQUUsQ0FBQztRQUV6Qyx3QkFBbUIsR0FBMkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM1RSx3QkFBbUIsR0FBOEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMvRSx3QkFBbUIsR0FBOEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVsQyxDQUFDO0lBRXRELElBQVcsWUFBWSxDQUFDLFlBQWlDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFTSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRU0sVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRU0sVUFBVSxDQUFDLE9BQW1DO1FBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFxQztRQUM3QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBb0Q7UUFDNUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXdDO1FBQ2hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCwrQkFBK0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUM7SUFDOUMsQ0FBQztJQUVELCtCQUErQixDQUFDLFFBQThCO1FBQzFELElBQUksQ0FBQyw2QkFBNkIsR0FBRyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELGlDQUFpQztRQUM3QixJQUFJLENBQUMsNkJBQTZCLEdBQUcsU0FBUyxDQUFDO0lBQ25ELENBQUM7OEdBakVRLGdDQUFnQztrSEFBaEMsZ0NBQWdDOzsyRkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtBY3Rpb25JbnN0YW5jZX0gZnJvbSAnLi4vY29tcG9uZW50cy9hY3Rpb24vbW9kZWxzJztcbmltcG9ydCB7SURhdGFQcm92aWRlcn0gZnJvbSAnLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yfSBmcm9tICcuLi9kZXNjcmlwdG9ycy9hY3Rpb24nO1xuaW1wb3J0IHtcbiAgICBJVmlld0FjdGlvblJvdXRlVHJpZ2dlcmVkQ29udGFpbmVyLFxuICAgIElWaWV3Q29udGFpbmVyRWRpdG9yLFxuICAgIElWaWV3Q29udGFpbmVyVGFibGUsXG4gICAgVmlld0NvbnRhaW5lckVkaXRvckNsb3NlRXZlbnQsXG4gICAgVmlld0NvbnRhaW5lckVkaXRvclJlc2V0RXZlbnQsXG4gICAgVmlld0NvbnRhaW5lclRhYmxlUmVsb2FkRXZlbnRcbn0gZnJvbSAnLi4vbW9kZWxzJztcblxuLyoqXG4gKiBTaG91bGQgYmUgdXNlZCB3aXRoIHByb3ZpZGVycyBkZWZpbmVkIHdpdGhpbiBjb21wb25lbnQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNbmdWaWV3Q29udGFpbmVyQ29tcG9uZW50U2VydmljZTxULCBTPiBpbXBsZW1lbnRzIElWaWV3Q29udGFpbmVyVGFibGU8VCwgUz4sIElWaWV3Q29udGFpbmVyRWRpdG9yPFQsIFM+LCBJVmlld0FjdGlvblJvdXRlVHJpZ2dlcmVkQ29udGFpbmVyPFQsIFM+IHtcbiAgICBwcml2YXRlIF9kYXRhUHJvdmlkZXI/OiBJRGF0YVByb3ZpZGVyPFQsIFM+O1xuICAgIHByaXZhdGUgX3JvdXRlVHJpZ2dlcmVkQWN0aW9uSW5zdGFuY2U/OiBBY3Rpb25JbnN0YW5jZTxULCBTPjtcbiAgICBwcml2YXRlIGFjdGlvbnM6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+ID0gW107XG5cbiAgICBwcml2YXRlIF90YWJsZVJlbG9hZFN1YmplY3Q6IFN1YmplY3Q8Vmlld0NvbnRhaW5lclRhYmxlUmVsb2FkRXZlbnQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIF9lZGl0b3JSZXNldFN1YmplY3Q6IFN1YmplY3Q8Vmlld0NvbnRhaW5lckVkaXRvclJlc2V0RXZlbnQ8VD4+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcml2YXRlIF9lZGl0b3JDbG9zZVN1YmplY3Q6IFN1YmplY3Q8Vmlld0NvbnRhaW5lckVkaXRvckNsb3NlRXZlbnQ8VD4+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7fVxuXG4gICAgcHVibGljIHNldCBkYXRhUHJvdmlkZXIoZGF0YVByb3ZpZGVyOiBJRGF0YVByb3ZpZGVyPFQsIFM+KSB7XG4gICAgICAgIHRoaXMuX2RhdGFQcm92aWRlciA9IGRhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWVzc2FnZVNlcnZpY2UoKTogTWVzc2FnZVNlcnZpY2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlU2VydmljZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGF0YVByb3ZpZGVyKCk6IElEYXRhUHJvdmlkZXI8VCwgUz4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVByb3ZpZGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY3Rpb25zKCk6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QWN0aW9ucyhhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+Pikge1xuICAgICAgICB0aGlzLmFjdGlvbnMgPSBhY3Rpb25zO1xuICAgIH1cblxuICAgIGdldFRhYmxlUmVsb2FkJCgpOiBPYnNlcnZhYmxlPFZpZXdDb250YWluZXJUYWJsZVJlbG9hZEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJsZVJlbG9hZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcmVsb2FkVGFibGUoZXZlbnQ/OiBWaWV3Q29udGFpbmVyVGFibGVSZWxvYWRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90YWJsZVJlbG9hZFN1YmplY3QubmV4dChldmVudCA/PyB7fSk7XG4gICAgfVxuXG4gICAgZ2V0RWRpdG9yUmVzZXQkKCk6IE9ic2VydmFibGU8Vmlld0NvbnRhaW5lckVkaXRvclJlc2V0RXZlbnQ8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VkaXRvclJlc2V0U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICByZXNldEVkaXRvcihldmVudD86IFZpZXdDb250YWluZXJFZGl0b3JSZXNldEV2ZW50PFQ+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VkaXRvclJlc2V0U3ViamVjdC5uZXh0KGV2ZW50ID8/IHt9KTtcbiAgICB9XG5cbiAgICBnZXRFZGl0b3JDbG9zZSQoKTogT2JzZXJ2YWJsZTxWaWV3Q29udGFpbmVyRWRpdG9yQ2xvc2VFdmVudDxUPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWRpdG9yQ2xvc2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIGNsb3NlRWRpdG9yKGV2ZW50PzogVmlld0NvbnRhaW5lckVkaXRvckNsb3NlRXZlbnQ8VD4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWRpdG9yQ2xvc2VTdWJqZWN0Lm5leHQoZXZlbnQgPz8ge30pO1xuICAgIH1cblxuICAgIGdldEFjdGlvblJvdXRlVHJpZ2dlcmVkSW5zdGFuY2UoKTogQWN0aW9uSW5zdGFuY2U8VCwgUz4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm91dGVUcmlnZ2VyZWRBY3Rpb25JbnN0YW5jZTtcbiAgICB9XG5cbiAgICBzZXRBY3Rpb25Sb3V0ZVRyaWdnZXJlZEluc3RhbmNlKGluc3RhbmNlOiBBY3Rpb25JbnN0YW5jZTxULCBTPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yb3V0ZVRyaWdnZXJlZEFjdGlvbkluc3RhbmNlID0gaW5zdGFuY2U7XG4gICAgfVxuXG4gICAgdW5zZXRBY3Rpb25Sb3V0ZVRyaWdnZXJlZEluc3RhbmNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yb3V0ZVRyaWdnZXJlZEFjdGlvbkluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TableSizeEnum } from '../descriptors/types';
|
|
2
|
+
import { StyleSizeEnum } from './models';
|
|
3
|
+
export class StylesUtil {
|
|
4
|
+
static { this.BUTTON_ROUNDED_WIDTH_XS = 26; }
|
|
5
|
+
static { this.BUTTON_ROUNDED_WIDTH_SM = 28; }
|
|
6
|
+
static { this.BUTTON_ROUNDED_WIDTH = 32; }
|
|
7
|
+
static { this.BUTTON_ROUNDED_WIDTH_LG = 45; }
|
|
8
|
+
static { this.ACTION_BUTTON_MARGIN_X = 2; }
|
|
9
|
+
static { this.TABLE_CELL_PADDING_X = 8; } // left and right paddings are same
|
|
10
|
+
static { this.TABLE_CELL_PADDING_X_SM = 4; }
|
|
11
|
+
static { this.TABLE_CELL_PADDING_X_LG = 12; }
|
|
12
|
+
static calculateTableColumnActionWidth(table, actions) {
|
|
13
|
+
const buttonsWidth = actions.reduce((acc, action) => acc + StylesUtil.getActionButtonRoundedWidth(action) + 2 * StylesUtil.ACTION_BUTTON_MARGIN_X, 0);
|
|
14
|
+
const tablePadding = StylesUtil.getTableCellPaddingX(table);
|
|
15
|
+
return buttonsWidth + 2 * tablePadding;
|
|
16
|
+
}
|
|
17
|
+
static getTableCellPaddingX(table) {
|
|
18
|
+
switch (table.size) {
|
|
19
|
+
case TableSizeEnum.Small:
|
|
20
|
+
return StylesUtil.TABLE_CELL_PADDING_X_SM;
|
|
21
|
+
case TableSizeEnum.Large:
|
|
22
|
+
return StylesUtil.TABLE_CELL_PADDING_X_LG;
|
|
23
|
+
default:
|
|
24
|
+
return StylesUtil.TABLE_CELL_PADDING_X;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
static getActionButtonRoundedWidth(action) {
|
|
28
|
+
switch (action.button.styleClass.size) {
|
|
29
|
+
case StyleSizeEnum.ExtraSmall:
|
|
30
|
+
return StylesUtil.BUTTON_ROUNDED_WIDTH_XS;
|
|
31
|
+
case StyleSizeEnum.Small:
|
|
32
|
+
return StylesUtil.BUTTON_ROUNDED_WIDTH_SM;
|
|
33
|
+
case StyleSizeEnum.Large:
|
|
34
|
+
case StyleSizeEnum.ExtraLarge:
|
|
35
|
+
return StylesUtil.BUTTON_ROUNDED_WIDTH_LG;
|
|
36
|
+
case StyleSizeEnum.Normal:
|
|
37
|
+
default:
|
|
38
|
+
return StylesUtil.BUTTON_ROUNDED_WIDTH;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3N0eWxlcy9zdHlsZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sVUFBVTthQUNJLDRCQUF1QixHQUFHLEVBQUUsQ0FBQzthQUM3Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7YUFDN0IseUJBQW9CLEdBQUcsRUFBRSxDQUFDO2FBQzFCLDRCQUF1QixHQUFHLEVBQUUsQ0FBQzthQUU3QiwyQkFBc0IsR0FBRyxDQUFDLENBQUM7YUFFM0IseUJBQW9CLEdBQUcsQ0FBQyxDQUFDLEdBQUMsbUNBQW1DO2FBQzdELDRCQUF1QixHQUFHLENBQUMsQ0FBQzthQUM1Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7SUFFN0MsTUFBTSxDQUFDLCtCQUErQixDQUFDLEtBQStCLEVBQUUsT0FBeUM7UUFDcEgsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0SixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsT0FBTyxZQUFZLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQztJQUMzQyxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQStCO1FBQzlELFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLGFBQWEsQ0FBQyxLQUFLO2dCQUNwQixPQUFPLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztZQUM5QyxLQUFLLGFBQWEsQ0FBQyxLQUFLO2dCQUNwQixPQUFPLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQztZQUM5QztnQkFDSSxPQUFPLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztTQUM5QztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsMkJBQTJCLENBQUMsTUFBaUM7UUFDdkUsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDbkMsS0FBSyxhQUFhLENBQUMsVUFBVTtnQkFDekIsT0FBTyxVQUFVLENBQUMsdUJBQXVCLENBQUM7WUFDOUMsS0FBSyxhQUFhLENBQUMsS0FBSztnQkFDcEIsT0FBTyxVQUFVLENBQUMsdUJBQXVCLENBQUM7WUFDOUMsS0FBSyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQ3pCLEtBQUssYUFBYSxDQUFDLFVBQVU7Z0JBQ3pCLE9BQU8sVUFBVSxDQUFDLHVCQUF1QixDQUFDO1lBQzlDLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUMxQjtnQkFDSSxPQUFPLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztTQUM5QztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGlvbkRlc2NyaXB0b3J9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL2FjdGlvbic7XG5pbXBvcnQge1RhYmxlRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvdGFibGUnO1xuaW1wb3J0IHtUYWJsZVNpemVFbnVtfSBmcm9tICcuLi9kZXNjcmlwdG9ycy90eXBlcyc7XG5pbXBvcnQge1N0eWxlU2l6ZUVudW19IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIFN0eWxlc1V0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQlVUVE9OX1JPVU5ERURfV0lEVEhfWFMgPSAyNjtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEJVVFRPTl9ST1VOREVEX1dJRFRIX1NNID0gMjg7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBCVVRUT05fUk9VTkRFRF9XSURUSCA9IDMyO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQlVUVE9OX1JPVU5ERURfV0lEVEhfTEcgPSA0NTtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUNUSU9OX0JVVFRPTl9NQVJHSU5fWCA9IDI7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBQkxFX0NFTExfUEFERElOR19YID0gODsgLy8gbGVmdCBhbmQgcmlnaHQgcGFkZGluZ3MgYXJlIHNhbWVcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBQkxFX0NFTExfUEFERElOR19YX1NNID0gNDtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRBQkxFX0NFTExfUEFERElOR19YX0xHID0gMTI7XG5cbiAgICBwdWJsaWMgc3RhdGljIGNhbGN1bGF0ZVRhYmxlQ29sdW1uQWN0aW9uV2lkdGgodGFibGU6IFRhYmxlRGVzY3JpcHRvcjx1bmtub3duPiwgYWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjx1bmtub3duPj4pOiBudW1iZXIge1xuICAgICAgICBjb25zdCBidXR0b25zV2lkdGggPSBhY3Rpb25zLnJlZHVjZSgoYWNjLCBhY3Rpb24pID0+IGFjYyArIFN0eWxlc1V0aWwuZ2V0QWN0aW9uQnV0dG9uUm91bmRlZFdpZHRoKGFjdGlvbikgKyAyICogU3R5bGVzVXRpbC5BQ1RJT05fQlVUVE9OX01BUkdJTl9YLCAwKTtcbiAgICAgICAgY29uc3QgdGFibGVQYWRkaW5nID0gU3R5bGVzVXRpbC5nZXRUYWJsZUNlbGxQYWRkaW5nWCh0YWJsZSk7XG4gICAgICAgIHJldHVybiBidXR0b25zV2lkdGggKyAyICogdGFibGVQYWRkaW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVDZWxsUGFkZGluZ1godGFibGU6IFRhYmxlRGVzY3JpcHRvcjx1bmtub3duPik6IG51bWJlciB7XG4gICAgICAgIHN3aXRjaCAodGFibGUuc2l6ZSkge1xuICAgICAgICAgICAgY2FzZSBUYWJsZVNpemVFbnVtLlNtYWxsOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLlRBQkxFX0NFTExfUEFERElOR19YX1NNO1xuICAgICAgICAgICAgY2FzZSBUYWJsZVNpemVFbnVtLkxhcmdlOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLlRBQkxFX0NFTExfUEFERElOR19YX0xHO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gU3R5bGVzVXRpbC5UQUJMRV9DRUxMX1BBRERJTkdfWDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWN0aW9uQnV0dG9uUm91bmRlZFdpZHRoKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjx1bmtub3duPik6IG51bWJlciB7XG4gICAgICAgIHN3aXRjaCAoYWN0aW9uLmJ1dHRvbi5zdHlsZUNsYXNzLnNpemUpIHtcbiAgICAgICAgICAgIGNhc2UgU3R5bGVTaXplRW51bS5FeHRyYVNtYWxsOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLkJVVFRPTl9ST1VOREVEX1dJRFRIX1hTO1xuICAgICAgICAgICAgY2FzZSBTdHlsZVNpemVFbnVtLlNtYWxsOlxuICAgICAgICAgICAgICAgIHJldHVybiBTdHlsZXNVdGlsLkJVVFRPTl9ST1VOREVEX1dJRFRIX1NNO1xuICAgICAgICAgICAgY2FzZSBTdHlsZVNpemVFbnVtLkxhcmdlOlxuICAgICAgICAgICAgY2FzZSBTdHlsZVNpemVFbnVtLkV4dHJhTGFyZ2U6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0eWxlc1V0aWwuQlVUVE9OX1JPVU5ERURfV0lEVEhfTEc7XG4gICAgICAgICAgICBjYXNlIFN0eWxlU2l6ZUVudW0uTm9ybWFsOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gU3R5bGVzVXRpbC5CVVRUT05fUk9VTkRFRF9XSURUSDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdHlwZXMvdHlwZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtGb3JtbHlGaWVsZENvbmZpZ30gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9saWIvbW9kZWxzL2ZpZWxkY29uZmlnJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7TWVkaXVzRmlsdGVyTWF0Y2hUeXBlfSBmcm9tICcuLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7RmlsdGVyVHlwZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NUeXBlPFQ+IGV4dGVuZHMgRnVuY3Rpb24ge1xuICAgIG5ldyAoLi4uYXJnczogYW55W10pOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudW1UeXBlIHtcbiAgICBba2V5OiBzdHJpbmddOiBFbnVtQ29uc3RhbnRUeXBlO1xufVxuXG5leHBvcnQgdHlwZSBFbnVtQ29uc3RhbnRUeXBlID0gc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgdHlwZSBJZFR5cGUgPSBudW1iZXIgfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBQcmltaXRpdmVUeXBlID0gc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlcjtcbmV4cG9ydCB0eXBlIFByb3BlcnR5VHlwZSA9IFByaW1pdGl2ZVR5cGUgfCBEYXRlIHwgRW51bVR5cGU7XG5cbi8vIGZpZWxkIHZhbGlkYXRpb25cbmV4cG9ydCB0eXBlIE1uZ0ZpZWxkVmFsaWRhdG9yID0gKFxuICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICBmaWVsZDogRm9ybWx5RmllbGRDb25maWcsXG4gICAgb3B0aW9ucz86IHtcbiAgICAgICAgW2lkOiBzdHJpbmddOiBhbnk7XG4gICAgfVxuKSA9PiBWYWxpZGF0aW9uRXJyb3JzIHwgYm9vbGVhbiB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIE1uZ0ZpZWxkQXN5bmNWYWxpZGF0b3IgPSAoXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgIGZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICB9XG4pID0+IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IGJvb2xlYW4gfCBudWxsPjtcblxuZXhwb3J0IHR5cGUgTW5nRmllbGRWYWxpZGF0aW9uTWVzc2FnZSA9IHN0cmluZyB8ICgoZXJyb3I6IGFueSwgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKSA9PiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4pO1xuXG5leHBvcnQgdHlwZSBNYXRjaE1vZGVNYXBUeXBlID0gW3N0cmluZywgc3RyaW5nLCBNZWRpdXNGaWx0ZXJNYXRjaFR5cGUsIEZpbHRlclR5cGVFbnVtIHwgbnVsbF07XG4iXX0=
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export class DateUtil {
|
|
2
|
+
static { this.NG_PRIME_FORMAT_SUPPORTED = [/d{1,2}/g, /E{1,5}/g, /c{1,5}/g, /M{1,5}/g, /L{1,5}/g, /y{1,4}/g, /Y{1,4}/g]; }
|
|
3
|
+
static { this.NG_PRIME_FORMAT_OTHER = [
|
|
4
|
+
/G{1,5}/g,
|
|
5
|
+
/w{1,2}/g,
|
|
6
|
+
/W/g,
|
|
7
|
+
/a{1,5}/g,
|
|
8
|
+
/B{1,5}/g,
|
|
9
|
+
/b{1,5}/g,
|
|
10
|
+
/h{1,2}/g,
|
|
11
|
+
/H{1,2}/g,
|
|
12
|
+
/m{1,2}/g,
|
|
13
|
+
/s{1,2}/g,
|
|
14
|
+
/S{1,3}/g,
|
|
15
|
+
/z{1,4}/g,
|
|
16
|
+
/Z{1,5}/g,
|
|
17
|
+
/O{1,4}/g
|
|
18
|
+
]; }
|
|
19
|
+
static { this.NG_PRIME_FORMAT_MAP = {
|
|
20
|
+
// days
|
|
21
|
+
d: 'd',
|
|
22
|
+
dd: 'dd',
|
|
23
|
+
E: 'D',
|
|
24
|
+
EE: 'D',
|
|
25
|
+
EEE: 'D',
|
|
26
|
+
EEEE: 'DD',
|
|
27
|
+
EEEEE: 'D',
|
|
28
|
+
EEEEEE: 'D',
|
|
29
|
+
c: 'd',
|
|
30
|
+
cc: 'dd',
|
|
31
|
+
ccc: 'D',
|
|
32
|
+
cccc: 'DD',
|
|
33
|
+
ccccc: 'D',
|
|
34
|
+
cccccc: 'D',
|
|
35
|
+
// months
|
|
36
|
+
M: 'm',
|
|
37
|
+
MM: 'mm',
|
|
38
|
+
MMM: 'M',
|
|
39
|
+
MMMM: 'MM',
|
|
40
|
+
MMMMM: 'M',
|
|
41
|
+
L: 'm',
|
|
42
|
+
LL: 'mm',
|
|
43
|
+
LLL: 'M',
|
|
44
|
+
LLLL: 'MM',
|
|
45
|
+
LLLLL: 'M',
|
|
46
|
+
// year
|
|
47
|
+
y: 'y',
|
|
48
|
+
yy: 'y',
|
|
49
|
+
yyy: 'yy',
|
|
50
|
+
yyyy: 'yy',
|
|
51
|
+
Y: 'y',
|
|
52
|
+
YY: 'y',
|
|
53
|
+
YYY: 'yy',
|
|
54
|
+
YYYY: 'yy'
|
|
55
|
+
}; }
|
|
56
|
+
static { this.pad = (num) => (num < 10 ? '0' : '') + num; }
|
|
57
|
+
static toIsoString(date, inUtc = false, withTimezone = false, withMillis = false, dateOnly = false) {
|
|
58
|
+
if (typeof date === 'string') {
|
|
59
|
+
date = new Date(date);
|
|
60
|
+
}
|
|
61
|
+
if (!(date instanceof Date)) {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
if (dateOnly) {
|
|
65
|
+
return date.getFullYear() + '-' + this.pad(date.getMonth() + 1) + '-' + this.pad(date.getDate());
|
|
66
|
+
}
|
|
67
|
+
if (inUtc) {
|
|
68
|
+
let str = date.toISOString();
|
|
69
|
+
if (!withMillis) {
|
|
70
|
+
const dotIdx = str.lastIndexOf('.');
|
|
71
|
+
str = str.substring(0, dotIdx) + str.substring(dotIdx + 4, str.length);
|
|
72
|
+
}
|
|
73
|
+
if (!withTimezone) {
|
|
74
|
+
str = str.substring(0, str.length - 1);
|
|
75
|
+
}
|
|
76
|
+
return str;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
let base = date.getFullYear() +
|
|
80
|
+
'-' +
|
|
81
|
+
this.pad(date.getMonth() + 1) +
|
|
82
|
+
'-' +
|
|
83
|
+
this.pad(date.getDate()) +
|
|
84
|
+
'T' +
|
|
85
|
+
this.pad(date.getHours()) +
|
|
86
|
+
':' +
|
|
87
|
+
this.pad(date.getMinutes()) +
|
|
88
|
+
':' +
|
|
89
|
+
this.pad(date.getSeconds());
|
|
90
|
+
if (withMillis) {
|
|
91
|
+
base += '.' + this.pad(date.getMilliseconds());
|
|
92
|
+
}
|
|
93
|
+
if (withTimezone) {
|
|
94
|
+
const tzo = -date.getTimezoneOffset(), dif = tzo >= 0 ? '+' : '-';
|
|
95
|
+
base = base + (dif + this.pad(Math.floor(Math.abs(tzo) / 60)) + ':' + this.pad(Math.abs(tzo) % 60));
|
|
96
|
+
}
|
|
97
|
+
return base;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
static fromPrimeToAngularDateFormat(ngDateFormat) {
|
|
101
|
+
let primeDateFormat = ngDateFormat;
|
|
102
|
+
for (const regex of DateUtil.NG_PRIME_FORMAT_OTHER) {
|
|
103
|
+
primeDateFormat = primeDateFormat.replace(regex, ' ');
|
|
104
|
+
}
|
|
105
|
+
for (const regex of DateUtil.NG_PRIME_FORMAT_SUPPORTED) {
|
|
106
|
+
const matches = [...primeDateFormat.matchAll(regex)].reverse();
|
|
107
|
+
for (const match of matches) {
|
|
108
|
+
if (match.index) {
|
|
109
|
+
const matchStr = match[0];
|
|
110
|
+
const replacement = DateUtil.NG_PRIME_FORMAT_MAP[matchStr] ?? match[0];
|
|
111
|
+
primeDateFormat = primeDateFormat.substring(0, match.index) + replacement + primeDateFormat.substring(match.index + matchStr.length);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
primeDateFormat = primeDateFormat.replace(/\s+\W\s+/g, ' ');
|
|
116
|
+
primeDateFormat = primeDateFormat.replace(/\s\s+/g, ' ');
|
|
117
|
+
return primeDateFormat.trim();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy9kYXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7YUFDTyw4QkFBeUIsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQzFHLDBCQUFxQixHQUFHO1FBQzVDLFNBQVM7UUFDVCxTQUFTO1FBQ1QsSUFBSTtRQUNKLFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO1FBQ1QsU0FBUztRQUNULFNBQVM7UUFDVCxTQUFTO0tBQ1osQ0FBQzthQUNzQix3QkFBbUIsR0FBRztRQUMxQyxPQUFPO1FBQ1AsQ0FBQyxFQUFFLEdBQUc7UUFDTixFQUFFLEVBQUUsSUFBSTtRQUNSLENBQUMsRUFBRSxHQUFHO1FBQ04sRUFBRSxFQUFFLEdBQUc7UUFDUCxHQUFHLEVBQUUsR0FBRztRQUNSLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLEdBQUc7UUFDVixNQUFNLEVBQUUsR0FBRztRQUNYLENBQUMsRUFBRSxHQUFHO1FBQ04sRUFBRSxFQUFFLElBQUk7UUFDUixHQUFHLEVBQUUsR0FBRztRQUNSLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLEdBQUc7UUFDVixNQUFNLEVBQUUsR0FBRztRQUNYLFNBQVM7UUFDVCxDQUFDLEVBQUUsR0FBRztRQUNOLEVBQUUsRUFBRSxJQUFJO1FBQ1IsR0FBRyxFQUFFLEdBQUc7UUFDUixJQUFJLEVBQUUsSUFBSTtRQUNWLEtBQUssRUFBRSxHQUFHO1FBQ1YsQ0FBQyxFQUFFLEdBQUc7UUFDTixFQUFFLEVBQUUsSUFBSTtRQUNSLEdBQUcsRUFBRSxHQUFHO1FBQ1IsSUFB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QVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDeEk7YUFDSjtTQUNKO1FBQ0QsZUFBZSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVELGVBQWUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV6RCxPQUFPLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERhdGVVdGlsIHtcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBOR19QUklNRV9GT1JNQVRfU1VQUE9SVEVEID0gWy9kezEsMn0vZywgL0V7MSw1fS9nLCAvY3sxLDV9L2csIC9NezEsNX0vZywgL0x7MSw1fS9nLCAveXsxLDR9L2csIC9ZezEsNH0vZ107XG4gICAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTkdfUFJJTUVfRk9STUFUX09USEVSID0gW1xuICAgICAgICAvR3sxLDV9L2csXG4gICAgICAgIC93ezEsMn0vZyxcbiAgICAgICAgL1cvZyxcbiAgICAgICAgL2F7MSw1fS9nLFxuICAgICAgICAvQnsxLDV9L2csXG4gICAgICAgIC9iezEsNX0vZyxcbiAgICAgICAgL2h7MSwyfS9nLFxuICAgICAgICAvSHsxLDJ9L2csXG4gICAgICAgIC9tezEsMn0vZyxcbiAgICAgICAgL3N7MSwyfS9nLFxuICAgICAgICAvU3sxLDN9L2csXG4gICAgICAgIC96ezEsNH0vZyxcbiAgICAgICAgL1p7MSw1fS9nLFxuICAgICAgICAvT3sxLDR9L2dcbiAgICBdO1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE5HX1BSSU1FX0ZPUk1BVF9NQVAgPSB7XG4gICAgICAgIC8vIGRheXNcbiAgICAgICAgZDogJ2QnLFxuICAgICAgICBkZDogJ2RkJyxcbiAgICAgICAgRTogJ0QnLFxuICAgICAgICBFRTogJ0QnLFxuICAgICAgICBFRUU6ICdEJyxcbiAgICAgICAgRUVFRTogJ0REJyxcbiAgICAgICAgRUVFRUU6ICdEJyxcbiAgICAgICAgRUVFRUVFOiAnRCcsXG4gICAgICAgIGM6ICdkJyxcbiAgICAgICAgY2M6ICdkZCcsXG4gICAgICAgIGNjYzogJ0QnLFxuICAgICAgICBjY2NjOiAnREQnLFxuICAgICAgICBjY2NjYzogJ0QnLFxuICAgICAgICBjY2NjY2M6ICdEJyxcbiAgICAgICAgLy8gbW9udGhzXG4gICAgICAgIE06ICdtJyxcbiAgICAgICAgTU06ICdtbScsXG4gICAgICAgIE1NTTogJ00nLFxuICAgICAgICBNTU1NOiAnTU0nLFxuICAgICAgICBNTU1NTTogJ00nLFxuICAgICAgICBMOiAnbScsXG4gICAgICAgIExMOiAnbW0nLFxuICAgICAgICBMTEw6ICdNJyxcbiAgICAgICAgTExMTDogJ01NJyxcbiAgICAgICAgTExMTEw6ICdNJyxcbiAgICAgICAgLy8geWVhclxuICAgICAgICB5OiAneScsXG4gICAgICAgIHl5OiAneScsXG4gICAgICAgIHl5eTogJ3l5JyxcbiAgICAgICAgeXl5eTogJ3l5JyxcbiAgICAgICAgWTogJ3knLFxuICAgICAgICBZWTogJ3knLFxuICAgICAgICBZWVk6ICd5eScsXG4gICAgICAgIFlZWVk6ICd5eSdcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcGFkID0gKG51bTogbnVtYmVyKSA9PiAobnVtIDwgMTAgPyAnMCcgOiAnJykgKyBudW07XG5cbiAgICBwdWJsaWMgc3RhdGljIHRvSXNvU3RyaW5nKGRhdGU6IHVua25vd24sIGluVXRjID0gZmFsc2UsIHdpdGhUaW1lem9uZSA9IGZhbHNlLCB3aXRoTWlsbGlzID0gZmFsc2UsIGRhdGVPbmx5ID0gZmFsc2UpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGVPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICsgJy0nICsgdGhpcy5wYWQoZGF0ZS5nZXRNb250aCgpICsgMSkgKyAnLScgKyB0aGlzLnBhZChkYXRlLmdldERhdGUoKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluVXRjKSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgaWYgKCF3aXRoTWlsbGlzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZG90SWR4ID0gc3RyLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAgICAgICAgICAgc3RyID0gc3RyLnN1YnN0cmluZygwLCBkb3RJZHgpICsgc3RyLnN1YnN0cmluZyhkb3RJZHggKyA0LCBzdHIubGVuZ3RoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghd2l0aFRpbWV6b25lKSB7XG4gICAgICAgICAgICAgICAgc3RyID0gc3RyLnN1YnN0cmluZygwLCBzdHIubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IGJhc2UgPVxuICAgICAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSArXG4gICAgICAgICAgICAgICAgJy0nICtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZChkYXRlLmdldE1vbnRoKCkgKyAxKSArXG4gICAgICAgICAgICAgICAgJy0nICtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZChkYXRlLmdldERhdGUoKSkgK1xuICAgICAgICAgICAgICAgICdUJyArXG4gICAgICAgICAgICAgICAgdGhpcy5wYWQoZGF0ZS5nZXRIb3VycygpKSArXG4gICAgICAgICAgICAgICAgJzonICtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZChkYXRlLmdldE1pbnV0ZXMoKSkgK1xuICAgICAgICAgICAgICAgICc6JyArXG4gICAgICAgICAgICAgICAgdGhpcy5wYWQoZGF0ZS5nZXRTZWNvbmRzKCkpO1xuXG4gICAgICAgICAgICBpZiAod2l0aE1pbGxpcykge1xuICAgICAgICAgICAgICAgIGJhc2UgKz0gJy4nICsgdGhpcy5wYWQoZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAod2l0aFRpbWV6b25lKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdHpvID0gLWRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSxcbiAgICAgICAgICAgICAgICAgICAgZGlmID0gdHpvID49IDAgPyAnKycgOiAnLSc7XG5cbiAgICAgICAgICAgICAgICBiYXNlID0gYmFzZSArIChkaWYgKyB0aGlzLnBhZChNYXRoLmZsb29yKE1hdGguYWJzKHR6bykgLyA2MCkpICsgJzonICsgdGhpcy5wYWQoTWF0aC5hYnModHpvKSAlIDYwKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBiYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tUHJpbWVUb0FuZ3VsYXJEYXRlRm9ybWF0KG5nRGF0ZUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHByaW1lRGF0ZUZvcm1hdCA9IG5nRGF0ZUZvcm1hdDtcbiAgICAgICAgZm9yIChjb25zdCByZWdleCBvZiBEYXRlVXRpbC5OR19QUklNRV9GT1JNQVRfT1RIRVIpIHtcbiAgICAgICAgICAgIHByaW1lRGF0ZUZvcm1hdCA9IHByaW1lRGF0ZUZvcm1hdC5yZXBsYWNlKHJlZ2V4LCAnICcpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgcmVnZXggb2YgRGF0ZVV0aWwuTkdfUFJJTUVfRk9STUFUX1NVUFBPUlRFRCkge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IFsuLi5wcmltZURhdGVGb3JtYXQubWF0Y2hBbGwocmVnZXgpXS5yZXZlcnNlKCk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAobWF0Y2guaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hTdHIgPSBtYXRjaFswXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBEYXRlVXRpbC5OR19QUklNRV9GT1JNQVRfTUFQW21hdGNoU3RyIGFzIGtleW9mIG9iamVjdF0gPz8gbWF0Y2hbMF07XG4gICAgICAgICAgICAgICAgICAgIHByaW1lRGF0ZUZvcm1hdCA9IHByaW1lRGF0ZUZvcm1hdC5zdWJzdHJpbmcoMCwgbWF0Y2guaW5kZXgpICsgcmVwbGFjZW1lbnQgKyBwcmltZURhdGVGb3JtYXQuc3Vic3RyaW5nKG1hdGNoLmluZGV4ICsgbWF0Y2hTdHIubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJpbWVEYXRlRm9ybWF0ID0gcHJpbWVEYXRlRm9ybWF0LnJlcGxhY2UoL1xccytcXFdcXHMrL2csICcgJyk7XG4gICAgICAgIHByaW1lRGF0ZUZvcm1hdCA9IHByaW1lRGF0ZUZvcm1hdC5yZXBsYWNlKC9cXHNcXHMrL2csICcgJyk7XG5cbiAgICAgICAgcmV0dXJuIHByaW1lRGF0ZUZvcm1hdC50cmltKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { ObjectSerializer } from '../api/utils';
|
|
2
|
+
import { ColumnDisplayTypeEnum, ColumnTypeEnum, FieldInputTypeEnum } from '../descriptors/types';
|
|
3
|
+
import { MngErrorInternal } from '../models';
|
|
4
|
+
export class TableviewUtil {
|
|
5
|
+
static { this._dateRegex = /\d{4}-[01]\d-[0-3]\d/; }
|
|
6
|
+
static { this._dateTimeRegex = /\d{4}-[01]\d-[0-3]\dT([0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z?)|([0-2]\d:[0-5]\d:[0-5]\d\+[0-2]\d:[0-5]\d))/; }
|
|
7
|
+
/**
|
|
8
|
+
* returns attributes from class type and extends to typed def with column and field enum type
|
|
9
|
+
* @param modelType class type
|
|
10
|
+
*/
|
|
11
|
+
static getAttributeDefMap(modelType) {
|
|
12
|
+
return TableviewUtil.expandAttributeDefWithTableviewTypes(ObjectSerializer.get().findAttributesDefinitionByClassType(modelType));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* expands AttributeDef to TableviewAttributeDef with defined input and column enum type
|
|
16
|
+
* @param attributes open api specification model
|
|
17
|
+
*/
|
|
18
|
+
static expandAttributeDefWithTableviewTypes(attributes) {
|
|
19
|
+
if (attributes == null) {
|
|
20
|
+
throw new MngErrorInternal('AttributeDef is null, problem with ObjectSerializer::findAttributesDefinitionByClassType?', 'TableViewUtils error').consoleError();
|
|
21
|
+
}
|
|
22
|
+
const objectSerializer = ObjectSerializer.get();
|
|
23
|
+
const tableviewAttributeDef = [];
|
|
24
|
+
for (const attribute of attributes) {
|
|
25
|
+
const enumType = objectSerializer.findEnum(attribute.type);
|
|
26
|
+
const columnType = enumType ? ColumnTypeEnum.Enum : TableviewUtil.toColumnType(attribute.type);
|
|
27
|
+
tableviewAttributeDef.push({
|
|
28
|
+
name: attribute.name,
|
|
29
|
+
baseName: attribute.baseName,
|
|
30
|
+
type: attribute.type,
|
|
31
|
+
columnType: enumType ? ColumnTypeEnum.Enum : TableviewUtil.toColumnType(attribute.type),
|
|
32
|
+
columnDisplayType: TableviewUtil.toColumnDisplayType(columnType, attribute.type),
|
|
33
|
+
fieldType: TableviewUtil.toFieldInputType(attribute.type),
|
|
34
|
+
enumType: objectSerializer.findEnum(attribute.type),
|
|
35
|
+
classType: objectSerializer.findType(attribute.type)
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return tableviewAttributeDef;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* converts column to number or date on value based
|
|
42
|
+
* @param column column to be transformed
|
|
43
|
+
* @param value value to check if applicable
|
|
44
|
+
*/
|
|
45
|
+
static stringColumnConverter(column, value) {
|
|
46
|
+
if (typeof value === 'boolean') {
|
|
47
|
+
return column.asBoolean();
|
|
48
|
+
}
|
|
49
|
+
else if (!isNaN(value) && typeof value === 'number') {
|
|
50
|
+
return column.asNumber();
|
|
51
|
+
}
|
|
52
|
+
else if (this._dateRegex.test(value)) {
|
|
53
|
+
if (this._dateTimeRegex.test(value)) {
|
|
54
|
+
return column.asDate('dd. MMM yyyy HH:mm');
|
|
55
|
+
}
|
|
56
|
+
return column.asDate('dd. MMM yyyy');
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return column;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* converts string type to column type enum, default is string
|
|
64
|
+
* @param propertyType
|
|
65
|
+
*/
|
|
66
|
+
static toColumnType(propertyType) {
|
|
67
|
+
const os = ObjectSerializer.get();
|
|
68
|
+
if (os.findEnum(propertyType)) {
|
|
69
|
+
propertyType = 'enum';
|
|
70
|
+
}
|
|
71
|
+
else if (os.findType(propertyType)) {
|
|
72
|
+
propertyType = 'class';
|
|
73
|
+
}
|
|
74
|
+
switch (propertyType.toLowerCase()) {
|
|
75
|
+
case 'number':
|
|
76
|
+
case 'currency':
|
|
77
|
+
return ColumnTypeEnum.Number;
|
|
78
|
+
case 'boolean':
|
|
79
|
+
return ColumnTypeEnum.Boolean;
|
|
80
|
+
case 'date':
|
|
81
|
+
return ColumnTypeEnum.Date;
|
|
82
|
+
case 'enum':
|
|
83
|
+
return ColumnTypeEnum.Enum;
|
|
84
|
+
case 'custom':
|
|
85
|
+
return ColumnTypeEnum.Custom;
|
|
86
|
+
case 'class':
|
|
87
|
+
return ColumnTypeEnum.String;
|
|
88
|
+
case 'string':
|
|
89
|
+
default:
|
|
90
|
+
return ColumnTypeEnum.String;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
static toColumnDisplayType(columnType, propertyType) {
|
|
94
|
+
switch (columnType) {
|
|
95
|
+
case ColumnTypeEnum.Number:
|
|
96
|
+
return propertyType === 'currency' ? ColumnDisplayTypeEnum.Currency : ColumnDisplayTypeEnum.Number;
|
|
97
|
+
case ColumnTypeEnum.Boolean:
|
|
98
|
+
return ColumnDisplayTypeEnum.Boolean;
|
|
99
|
+
case ColumnTypeEnum.Date:
|
|
100
|
+
return ColumnDisplayTypeEnum.Date;
|
|
101
|
+
case ColumnTypeEnum.Enum:
|
|
102
|
+
return ColumnDisplayTypeEnum.Enum;
|
|
103
|
+
case ColumnTypeEnum.Custom:
|
|
104
|
+
return ColumnDisplayTypeEnum.Component;
|
|
105
|
+
case ColumnTypeEnum.String:
|
|
106
|
+
default:
|
|
107
|
+
return ColumnDisplayTypeEnum.String;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* converts string type to type enum, default is text
|
|
112
|
+
* @param property
|
|
113
|
+
*/
|
|
114
|
+
static toFieldInputType(property) {
|
|
115
|
+
switch (property) {
|
|
116
|
+
case 'hidden':
|
|
117
|
+
return FieldInputTypeEnum.Hidden;
|
|
118
|
+
case 'label':
|
|
119
|
+
return FieldInputTypeEnum.Label;
|
|
120
|
+
case 'textarea':
|
|
121
|
+
return FieldInputTypeEnum.Textarea;
|
|
122
|
+
case 'number':
|
|
123
|
+
return FieldInputTypeEnum.Number;
|
|
124
|
+
case 'currency':
|
|
125
|
+
return FieldInputTypeEnum.Currency;
|
|
126
|
+
case 'switch':
|
|
127
|
+
case 'boolean':
|
|
128
|
+
return FieldInputTypeEnum.Switch;
|
|
129
|
+
case 'radio':
|
|
130
|
+
return FieldInputTypeEnum.Radio;
|
|
131
|
+
case 'datepicker':
|
|
132
|
+
return FieldInputTypeEnum.Datepicker;
|
|
133
|
+
case 'mask':
|
|
134
|
+
return FieldInputTypeEnum.Mask;
|
|
135
|
+
case 'file':
|
|
136
|
+
return FieldInputTypeEnum.File;
|
|
137
|
+
case 'custom':
|
|
138
|
+
return FieldInputTypeEnum.Custom;
|
|
139
|
+
case 'text':
|
|
140
|
+
default:
|
|
141
|
+
return FieldInputTypeEnum.Text;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* convert column type to equivalent field input type
|
|
146
|
+
* @param type column type
|
|
147
|
+
* @param displayType column display type
|
|
148
|
+
*/
|
|
149
|
+
static toFieldInputTypeFromColumnType(type, displayType) {
|
|
150
|
+
switch (type) {
|
|
151
|
+
case ColumnTypeEnum.Number:
|
|
152
|
+
return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;
|
|
153
|
+
case ColumnTypeEnum.Boolean:
|
|
154
|
+
return FieldInputTypeEnum.Switch;
|
|
155
|
+
case ColumnTypeEnum.Date:
|
|
156
|
+
return FieldInputTypeEnum.Datepicker;
|
|
157
|
+
case ColumnTypeEnum.Custom:
|
|
158
|
+
return FieldInputTypeEnum.Custom;
|
|
159
|
+
case ColumnTypeEnum.String:
|
|
160
|
+
case ColumnTypeEnum.Enum:
|
|
161
|
+
default:
|
|
162
|
+
return FieldInputTypeEnum.Text;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* generates table layout preferences key used when saving preferences to localstorage
|
|
167
|
+
* @param typeName string, required
|
|
168
|
+
* @param url string, required
|
|
169
|
+
* @param dataKey string, not required
|
|
170
|
+
*/
|
|
171
|
+
static generateTableLayoutPrefsKey(typeName, url, dataKey) {
|
|
172
|
+
return `layoutPrefs~~${typeName}~~${dataKey ?? url.split('?')[0].split('#')[0]}`;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Flatten an object of unknown type, used for generating fields and columns in dynamic tableviews
|
|
176
|
+
*/
|
|
177
|
+
static flattenObject(objectModel) {
|
|
178
|
+
const isObject = (entry) => {
|
|
179
|
+
return !!entry && typeof entry === 'object' && !Array.isArray(entry);
|
|
180
|
+
};
|
|
181
|
+
const flatten = (object, parent) => {
|
|
182
|
+
let results = [];
|
|
183
|
+
for (const key in object) {
|
|
184
|
+
const value = object[key];
|
|
185
|
+
const thisKey = parent ? `${parent}.${key}` : `${key}`;
|
|
186
|
+
results = results.concat(isObject(value) ? flatten(value, thisKey) : [[`${thisKey}`, value]]);
|
|
187
|
+
}
|
|
188
|
+
return results;
|
|
189
|
+
};
|
|
190
|
+
return flatten(objectModel);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3RhYmxldmlldy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBSTNDLE1BQU0sT0FBTyxhQUFhO2FBQ1AsZUFBVSxHQUFHLHNCQUFzQixDQUFDO2FBQ3BDLG1CQUFjLEdBQUcsd0hBQXdILENBQUM7SUFFeko7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLGtCQUFrQixDQUFJLFNBQXVCO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLG9DQUFvQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDckksQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxVQUF1QztRQUN0RixJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLDJGQUEyRixFQUFFLHNCQUFzQixDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDbEs7UUFDRCxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRWhELE1BQU0scUJBQXFCLEdBQTRCLEVBQUUsQ0FBQztRQUUxRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtZQUNoQyxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FB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QUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNyRixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQWdCO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFXLEVBQUUsTUFBWSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxPQUFPLEdBQVUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFO2dCQUN0QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBRXZELE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pHO1lBQ0QsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXR0cmlidXRlRGVmfSBmcm9tICcuLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7T2JqZWN0U2VyaWFsaXplcn0gZnJvbSAnLi4vYXBpL3V0aWxzJztcbmltcG9ydCB7Q29sdW1uRGVzY3JpcHRvcn0gZnJvbSAnLi4vZGVzY3JpcHRvcnMvdGFibGUnO1xuaW1wb3J0IHtDb2x1bW5EaXNwbGF5VHlwZUVudW0sIENvbHVtblR5cGVFbnVtLCBGaWVsZElucHV0VHlwZUVudW19IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7TW5nRXJyb3JJbnRlcm5hbH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7VGFibGV2aWV3QXR0cmlidXRlRGVmfSBmcm9tICcuLi9tb2RlbHMvdGFibGV2aWV3LWF0dHIubW9kZWwnO1xuaW1wb3J0IHtDbGFzc1R5cGUsIEVudW1UeXBlfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdVdGlsIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfZGF0ZVJlZ2V4ID0gL1xcZHs0fS1bMDFdXFxkLVswLTNdXFxkLztcbiAgICBwcml2YXRlIHN0YXRpYyBfZGF0ZVRpbWVSZWdleCA9IC9cXGR7NH0tWzAxXVxcZC1bMC0zXVxcZFQoWzAtMl1cXGQ6WzAtNV1cXGQ6WzAtNV1cXGRcXC5cXGQrKFsrLV1bMC0yXVxcZDpbMC01XVxcZHxaPyl8KFswLTJdXFxkOlswLTVdXFxkOlswLTVdXFxkXFwrWzAtMl1cXGQ6WzAtNV1cXGQpKS87XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIGF0dHJpYnV0ZXMgZnJvbSBjbGFzcyB0eXBlIGFuZCBleHRlbmRzIHRvIHR5cGVkIGRlZiB3aXRoIGNvbHVtbiBhbmQgZmllbGQgZW51bSB0eXBlXG4gICAgICogQHBhcmFtIG1vZGVsVHlwZSBjbGFzcyB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRBdHRyaWJ1dGVEZWZNYXA8VD4obW9kZWxUeXBlOiBDbGFzc1R5cGU8VD4pOiBUYWJsZXZpZXdBdHRyaWJ1dGVEZWZbXSB7XG4gICAgICAgIHJldHVybiBUYWJsZXZpZXdVdGlsLmV4cGFuZEF0dHJpYnV0ZURlZldpdGhUYWJsZXZpZXdUeXBlcyhPYmplY3RTZXJpYWxpemVyLmdldCgpLmZpbmRBdHRyaWJ1dGVzRGVmaW5pdGlvbkJ5Q2xhc3NUeXBlKG1vZGVsVHlwZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4cGFuZHMgQXR0cmlidXRlRGVmIHRvIFRhYmxldmlld0F0dHJpYnV0ZURlZiB3aXRoIGRlZmluZWQgaW5wdXQgYW5kIGNvbHVtbiBlbnVtIHR5cGVcbiAgICAgKiBAcGFyYW0gYXR0cmlidXRlcyBvcGVuIGFwaSBzcGVjaWZpY2F0aW9uIG1vZGVsXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBleHBhbmRBdHRyaWJ1dGVEZWZXaXRoVGFibGV2aWV3VHlwZXMoYXR0cmlidXRlcz86IEFycmF5PEF0dHJpYnV0ZURlZj4gfCBudWxsKTogVGFibGV2aWV3QXR0cmlidXRlRGVmW10ge1xuICAgICAgICBpZiAoYXR0cmlidXRlcyA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTW5nRXJyb3JJbnRlcm5hbCgnQXR0cmlidXRlRGVmIGlzIG51bGwsIHByb2JsZW0gd2l0aCBPYmplY3RTZXJpYWxpemVyOjpmaW5kQXR0cmlidXRlc0RlZmluaXRpb25CeUNsYXNzVHlwZT8nLCAnVGFibGVWaWV3VXRpbHMgZXJyb3InKS5jb25zb2xlRXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvYmplY3RTZXJpYWxpemVyID0gT2JqZWN0U2VyaWFsaXplci5nZXQoKTtcblxuICAgICAgICBjb25zdCB0YWJsZXZpZXdBdHRyaWJ1dGVEZWY6IFRhYmxldmlld0F0dHJpYnV0ZURlZltdID0gW107XG5cbiAgICAgICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuICAgICAgICAgICAgY29uc3QgZW51bVR5cGUgPSBvYmplY3RTZXJpYWxpemVyLmZpbmRFbnVtKGF0dHJpYnV0ZS50eXBlKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtblR5cGUgPSBlbnVtVHlwZSA/IENvbHVtblR5cGVFbnVtLkVudW0gOiBUYWJsZXZpZXdVdGlsLnRvQ29sdW1uVHlwZShhdHRyaWJ1dGUudHlwZSk7XG4gICAgICAgICAgICB0YWJsZXZpZXdBdHRyaWJ1dGVEZWYucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogYXR0cmlidXRlLm5hbWUsXG4gICAgICAgICAgICAgICAgYmFzZU5hbWU6IGF0dHJpYnV0ZS5iYXNlTmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBhdHRyaWJ1dGUudHlwZSxcbiAgICAgICAgICAgICAgICBjb2x1bW5UeXBlOiBlbnVtVHlwZSA/IENvbHVtblR5cGVFbnVtLkVudW0gOiBUYWJsZXZpZXdVdGlsLnRvQ29sdW1uVHlwZShhdHRyaWJ1dGUudHlwZSksXG4gICAgICAgICAgICAgICAgY29sdW1uRGlzcGxheVR5cGU6IFRhYmxldmlld1V0aWwudG9Db2x1bW5EaXNwbGF5VHlwZShjb2x1bW5UeXBlLCBhdHRyaWJ1dGUudHlwZSksXG4gICAgICAgICAgICAgICAgZmllbGRUeXBlOiBUYWJsZXZpZXdVdGlsLnRvRmllbGRJbnB1dFR5cGUoYXR0cmlidXRlLnR5cGUpLFxuICAgICAgICAgICAgICAgIGVudW1UeXBlOiBvYmplY3RTZXJpYWxpemVyLmZpbmRFbnVtKGF0dHJpYnV0ZS50eXBlKSBhcyBFbnVtVHlwZSxcbiAgICAgICAgICAgICAgICBjbGFzc1R5cGU6IG9iamVjdFNlcmlhbGl6ZXIuZmluZFR5cGUoYXR0cmlidXRlLnR5cGUpIGFzIENsYXNzVHlwZTxhbnk+XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0YWJsZXZpZXdBdHRyaWJ1dGVEZWY7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29udmVydHMgY29sdW1uIHRvIG51bWJlciBvciBkYXRlIG9uIHZhbHVlIGJhc2VkXG4gICAgICogQHBhcmFtIGNvbHVtbiBjb2x1bW4gdG8gYmUgdHJhbnNmb3JtZWRcbiAgICAgKiBAcGFyYW0gdmFsdWUgdmFsdWUgdG8gY2hlY2sgaWYgYXBwbGljYWJsZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgc3RyaW5nQ29sdW1uQ29udmVydGVyKGNvbHVtbjogQ29sdW1uRGVzY3JpcHRvcjxhbnksIGFueT4sIHZhbHVlOiBhbnkpOiBDb2x1bW5EZXNjcmlwdG9yPGFueSwgYW55PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5hc0Jvb2xlYW4oKTtcbiAgICAgICAgfSBlbHNlIGlmICghaXNOYU4odmFsdWUpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2x1bW4uYXNOdW1iZXIoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLl9kYXRlUmVnZXgudGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9kYXRlVGltZVJlZ2V4LnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5hc0RhdGUoJ2RkLiBNTU0geXl5eSBISDptbScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbi5hc0RhdGUoJ2RkLiBNTU0geXl5eScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbnZlcnRzIHN0cmluZyB0eXBlIHRvIGNvbHVtbiB0eXBlIGVudW0sIGRlZmF1bHQgaXMgc3RyaW5nXG4gICAgICogQHBhcmFtIHByb3BlcnR5VHlwZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdG9Db2x1bW5UeXBlKHByb3BlcnR5VHlwZTogc3RyaW5nKTogQ29sdW1uVHlwZUVudW0ge1xuICAgICAgICBjb25zdCBvcyA9IE9iamVjdFNlcmlhbGl6ZXIuZ2V0KCk7XG4gICAgICAgIGlmIChvcy5maW5kRW51bShwcm9wZXJ0eVR5cGUpIGFzIEVudW1UeXBlKSB7XG4gICAgICAgICAgICBwcm9wZXJ0eVR5cGUgPSAnZW51bSc7XG4gICAgICAgIH0gZWxzZSBpZiAob3MuZmluZFR5cGUocHJvcGVydHlUeXBlKSBhcyBDbGFzc1R5cGU8YW55Pikge1xuICAgICAgICAgICAgcHJvcGVydHlUeXBlID0gJ2NsYXNzJztcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAocHJvcGVydHlUeXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICBjYXNlICdjdXJyZW5jeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLk51bWJlcjtcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5UeXBlRW51bS5Cb29sZWFuO1xuICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkRhdGU7XG4gICAgICAgICAgICBjYXNlICdlbnVtJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uRW51bTtcbiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLkN1c3RvbTtcbiAgICAgICAgICAgIGNhc2UgJ2NsYXNzJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uVHlwZUVudW0uU3RyaW5nO1xuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtblR5cGVFbnVtLlN0cmluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgdG9Db2x1bW5EaXNwbGF5VHlwZShjb2x1bW5UeXBlOiBDb2x1bW5UeXBlRW51bSwgcHJvcGVydHlUeXBlOiBzdHJpbmcpOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0ge1xuICAgICAgICBzd2l0Y2ggKGNvbHVtblR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eVR5cGUgPT09ICdjdXJyZW5jeScgPyBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQ3VycmVuY3kgOiBDb2x1bW5EaXNwbGF5VHlwZUVudW0uTnVtYmVyO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5Cb29sZWFuOlxuICAgICAgICAgICAgICAgIHJldHVybiBDb2x1bW5EaXNwbGF5VHlwZUVudW0uQm9vbGVhbjtcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRGF0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gQ29sdW1uRGlzcGxheVR5cGVFbnVtLkRhdGU7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkVudW06XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5FbnVtO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5DdXN0b206XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5Db21wb25lbnQ7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIENvbHVtbkRpc3BsYXlUeXBlRW51bS5TdHJpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjb252ZXJ0cyBzdHJpbmcgdHlwZSB0byB0eXBlIGVudW0sIGRlZmF1bHQgaXMgdGV4dFxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdG9GaWVsZElucHV0VHlwZShwcm9wZXJ0eTogc3RyaW5nKTogRmllbGRJbnB1dFR5cGVFbnVtIHtcbiAgICAgICAgc3dpdGNoIChwcm9wZXJ0eSkge1xuICAgICAgICAgICAgY2FzZSAnaGlkZGVuJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkhpZGRlbjtcbiAgICAgICAgICAgIGNhc2UgJ2xhYmVsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gRmllbGRJbnB1dFR5cGVFbnVtLkxhYmVsO1xuICAgICAgICAgICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uVGV4dGFyZWE7XG4gICAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uTnVtYmVyO1xuICAgICAgICAgICAgY2FzZSAnY3VycmVuY3knOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uQ3VycmVuY3k7XG4gICAgICAgICAgICBjYXNlICdzd2l0Y2gnOlxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g7XG4gICAgICAgICAgICBjYXNlICdyYWRpbyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5SYWRpbztcbiAgICAgICAgICAgIGNhc2UgJ2RhdGVwaWNrZXInOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uRGF0ZXBpY2tlcjtcbiAgICAgICAgICAgIGNhc2UgJ21hc2snOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uTWFzaztcbiAgICAgICAgICAgIGNhc2UgJ2ZpbGUnOlxuICAgICAgICAgICAgICAgIHJldHVybiBGaWVsZElucHV0VHlwZUVudW0uRmlsZTtcbiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5DdXN0b207XG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29udmVydCBjb2x1bW4gdHlwZSB0byBlcXVpdmFsZW50IGZpZWxkIGlucHV0IHR5cGVcbiAgICAgKiBAcGFyYW0gdHlwZSBjb2x1bW4gdHlwZVxuICAgICAqIEBwYXJhbSBkaXNwbGF5VHlwZSBjb2x1bW4gZGlzcGxheSB0eXBlXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB0b0ZpZWxkSW5wdXRUeXBlRnJvbUNvbHVtblR5cGUodHlwZTogQ29sdW1uVHlwZUVudW0sIGRpc3BsYXlUeXBlPzogQ29sdW1uRGlzcGxheVR5cGVFbnVtKTogRmllbGRJbnB1dFR5cGVFbnVtIHtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGlzcGxheVR5cGUgPT09IENvbHVtbkRpc3BsYXlUeXBlRW51bS5DdXJyZW5jeSA/IEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeSA6IEZpZWxkSW5wdXRUeXBlRW51bS5OdW1iZXI7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkJvb2xlYW46XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5Td2l0Y2g7XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLkRhdGU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5EYXRlcGlja2VyO1xuICAgICAgICAgICAgY2FzZSBDb2x1bW5UeXBlRW51bS5DdXN0b206XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5DdXN0b207XG4gICAgICAgICAgICBjYXNlIENvbHVtblR5cGVFbnVtLlN0cmluZzpcbiAgICAgICAgICAgIGNhc2UgQ29sdW1uVHlwZUVudW0uRW51bTpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEZpZWxkSW5wdXRUeXBlRW51bS5UZXh0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZ2VuZXJhdGVzIHRhYmxlIGxheW91dCBwcmVmZXJlbmNlcyBrZXkgdXNlZCB3aGVuIHNhdmluZyBwcmVmZXJlbmNlcyB0byBsb2NhbHN0b3JhZ2VcbiAgICAgKiBAcGFyYW0gdHlwZU5hbWUgc3RyaW5nLCByZXF1aXJlZFxuICAgICAqIEBwYXJhbSB1cmwgc3RyaW5nLCByZXF1aXJlZFxuICAgICAqIEBwYXJhbSBkYXRhS2V5IHN0cmluZywgbm90IHJlcXVpcmVkXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZVRhYmxlTGF5b3V0UHJlZnNLZXkodHlwZU5hbWU6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGFLZXk/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGxheW91dFByZWZzfn4ke3R5cGVOYW1lfX5+JHtkYXRhS2V5ID8/IHVybC5zcGxpdCgnPycpWzBdLnNwbGl0KCcjJylbMF19YDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGbGF0dGVuIGFuIG9iamVjdCBvZiB1bmtub3duIHR5cGUsIHVzZWQgZm9yIGdlbmVyYXRpbmcgZmllbGRzIGFuZCBjb2x1bW5zIGluIGR5bmFtaWMgdGFibGV2aWV3c1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmxhdHRlbk9iamVjdChvYmplY3RNb2RlbDogYW55KTogc3RyaW5nW10ge1xuICAgICAgICBjb25zdCBpc09iamVjdCA9IChlbnRyeTogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gISFlbnRyeSAmJiB0eXBlb2YgZW50cnkgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KGVudHJ5KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBmbGF0dGVuID0gKG9iamVjdDogYW55LCBwYXJlbnQ/OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCByZXN1bHRzOiBhbnlbXSA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqZWN0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmplY3Rba2V5XTtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGlzS2V5ID0gcGFyZW50ID8gYCR7cGFyZW50fS4ke2tleX1gIDogYCR7a2V5fWA7XG5cbiAgICAgICAgICAgICAgICByZXN1bHRzID0gcmVzdWx0cy5jb25jYXQoaXNPYmplY3QodmFsdWUpID8gZmxhdHRlbih2YWx1ZSwgdGhpc0tleSkgOiBbW2Ake3RoaXNLZXl9YCwgdmFsdWVdXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZmxhdHRlbihvYmplY3RNb2RlbCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { MngErrorInternal } from '../models';
|
|
3
|
+
export class TypeUtil {
|
|
4
|
+
static { this.reflectTypeNameKey = 'typeName'; }
|
|
5
|
+
static { this.reflectTypeIdPropertyKey = 'typeIdProperty'; }
|
|
6
|
+
static { this.reflectTypeTitlePropertyKey = 'typeTitleProperty'; }
|
|
7
|
+
static { this.reflectEnumNameKey = 'enumName'; }
|
|
8
|
+
/**
|
|
9
|
+
* Defines type name decorator.
|
|
10
|
+
* @param targetType class.
|
|
11
|
+
* @param typeName Name of the type.
|
|
12
|
+
*/
|
|
13
|
+
static defineReflectTypeName(targetType, typeName) {
|
|
14
|
+
if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeNameKey, targetType)) {
|
|
15
|
+
Reflect.defineMetadata(TypeUtil.reflectTypeNameKey, typeName, targetType);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Defines enum name decorator.
|
|
20
|
+
* @param targetType enum object.
|
|
21
|
+
* @param enumName Name of the enum.
|
|
22
|
+
*/
|
|
23
|
+
static defineReflectEnumName(targetType, enumName) {
|
|
24
|
+
if (!Reflect.hasOwnMetadata(TypeUtil.reflectEnumNameKey, targetType)) {
|
|
25
|
+
Reflect.defineMetadata(TypeUtil.reflectEnumNameKey, enumName, targetType);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Defines type's id property.
|
|
30
|
+
* @param targetType class.
|
|
31
|
+
* @param idProperty Id property
|
|
32
|
+
*/
|
|
33
|
+
static defineReflectTypeIdProperty(targetType, idProperty) {
|
|
34
|
+
if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeIdPropertyKey, targetType)) {
|
|
35
|
+
Reflect.defineMetadata(TypeUtil.reflectTypeIdPropertyKey, idProperty, targetType);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Defines type's id property.
|
|
40
|
+
* @param targetType class.
|
|
41
|
+
* @param titleProperty Title property
|
|
42
|
+
*/
|
|
43
|
+
static defineReflectTypeTitleProperty(targetType, titleProperty) {
|
|
44
|
+
if (!Reflect.hasOwnMetadata(TypeUtil.reflectTypeTitlePropertyKey, targetType)) {
|
|
45
|
+
Reflect.defineMetadata(TypeUtil.reflectTypeTitlePropertyKey, titleProperty, targetType);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Gets type name from reflect metadata.
|
|
50
|
+
* @param type Class.
|
|
51
|
+
*/
|
|
52
|
+
static findTypeName(type) {
|
|
53
|
+
const typeName = Reflect.getMetadata(TypeUtil.reflectTypeNameKey, type);
|
|
54
|
+
if (typeName) {
|
|
55
|
+
return typeName;
|
|
56
|
+
}
|
|
57
|
+
console.warn('Reflect metadata could not be found for type, you might experience some issues in production build.', type);
|
|
58
|
+
return type.name;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Gets type name from either decorator or reflect metadata.
|
|
62
|
+
* @param type Class.
|
|
63
|
+
*/
|
|
64
|
+
static typeNameExists(type) {
|
|
65
|
+
return Reflect.hasOwnMetadata(TypeUtil.reflectTypeNameKey, type);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Gets enum name from either decorator or reflect metadata.
|
|
69
|
+
* @param enumType Class.
|
|
70
|
+
*/
|
|
71
|
+
static findEnumName(enumType) {
|
|
72
|
+
const enumName = Reflect.getMetadata(TypeUtil.reflectEnumNameKey, enumType);
|
|
73
|
+
if (enumName) {
|
|
74
|
+
return enumName;
|
|
75
|
+
}
|
|
76
|
+
console.warn('Reflect metadata could not be found for enum, you might experience some issues in production build.', enumType);
|
|
77
|
+
throw new MngErrorInternal('Could not fined enum name', 'TypeUtils error').consoleError();
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Gets type's id property from reflect metadata.
|
|
81
|
+
* @param type Class.
|
|
82
|
+
*/
|
|
83
|
+
static findTypeIdProperty(type) {
|
|
84
|
+
return Reflect.getMetadata(TypeUtil.reflectTypeIdPropertyKey, type);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Gets type's title property from reflect metadata.
|
|
88
|
+
* @param type Class.
|
|
89
|
+
*/
|
|
90
|
+
static findTypeTitleProperty(type) {
|
|
91
|
+
return Reflect.getMetadata(TypeUtil.reflectTypeTitlePropertyKey, type);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi91dGlscy90eXBlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFHM0MsTUFBTSxPQUFPLFFBQVE7YUFDTSx1QkFBa0IsR0FBRyxVQUFVLENBQUM7YUFDaEMsNkJBQXdCLEdBQUcsZ0JBQWdCLENBQUM7YUFDNUMsZ0NBQTJCLEdBQUcsbUJBQW1CLENBQUM7YUFDbEQsdUJBQWtCLEdBQUcsVUFBVSxDQUFDO0lBRXZEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBMEIsRUFBRSxRQUFnQjtRQUM1RSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDbEUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMscUJBQXFCLENBQUMsVUFBb0IsRUFBRSxRQUFnQjtRQUN0RSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDbEUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsMkJBQTJCLENBQUksVUFBd0IsRUFBRSxVQUE0QjtRQUMvRixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDeEUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3JGO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsOEJBQThCLENBQUksVUFBd0IsRUFBRSxhQUErQjtRQUNyRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDM0UsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQzNGO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBb0I7UUFDM0MsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLFFBQVEsQ0FBQztTQUNuQjtRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMscUdBQXFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQW9CO1FBQzdDLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBa0I7UUFDekMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUUsSUFBSSxRQUFRLEVBQUU7WUFDVixPQUFPLFFBQVEsQ0FBQztTQUNuQjtRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMscUdBQXFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUgsTUFBTSxJQUFJLGdCQUFnQixDQUFDLDJCQUEyQixFQUFFLGlCQUFpQixDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUYsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFvQjtRQUNqRCxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBb0I7UUFDcEQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcblxuaW1wb3J0IHtNbmdFcnJvckludGVybmFsfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHtDbGFzc1R5cGUsIEVudW1UeXBlfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBUeXBlVXRpbCB7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWZsZWN0VHlwZU5hbWVLZXkgPSAndHlwZU5hbWUnO1xuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgcmVmbGVjdFR5cGVJZFByb3BlcnR5S2V5ID0gJ3R5cGVJZFByb3BlcnR5JztcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHJlZmxlY3RUeXBlVGl0bGVQcm9wZXJ0eUtleSA9ICd0eXBlVGl0bGVQcm9wZXJ0eSc7XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSByZWZsZWN0RW51bU5hbWVLZXkgPSAnZW51bU5hbWUnO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0eXBlIG5hbWUgZGVjb3JhdG9yLlxuICAgICAqIEBwYXJhbSB0YXJnZXRUeXBlIGNsYXNzLlxuICAgICAqIEBwYXJhbSB0eXBlTmFtZSBOYW1lIG9mIHRoZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZGVmaW5lUmVmbGVjdFR5cGVOYW1lKHRhcmdldFR5cGU6IENsYXNzVHlwZTxhbnk+LCB0eXBlTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0VHlwZU5hbWVLZXksIHRhcmdldFR5cGUpKSB7XG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlTmFtZUtleSwgdHlwZU5hbWUsIHRhcmdldFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBlbnVtIG5hbWUgZGVjb3JhdG9yLlxuICAgICAqIEBwYXJhbSB0YXJnZXRUeXBlIGVudW0gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBlbnVtTmFtZSBOYW1lIG9mIHRoZSBlbnVtLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZGVmaW5lUmVmbGVjdEVudW1OYW1lKHRhcmdldFR5cGU6IEVudW1UeXBlLCBlbnVtTmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0RW51bU5hbWVLZXksIHRhcmdldFR5cGUpKSB7XG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RFbnVtTmFtZUtleSwgZW51bU5hbWUsIHRhcmdldFR5cGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmaW5lcyB0eXBlJ3MgaWQgcHJvcGVydHkuXG4gICAgICogQHBhcmFtIHRhcmdldFR5cGUgY2xhc3MuXG4gICAgICogQHBhcmFtIGlkUHJvcGVydHkgSWQgcHJvcGVydHlcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRlZmluZVJlZmxlY3RUeXBlSWRQcm9wZXJ0eTxUPih0YXJnZXRUeXBlOiBDbGFzc1R5cGU8VD4sIGlkUHJvcGVydHk6IGtleW9mIFQgfCBzeW1ib2wpIHtcbiAgICAgICAgaWYgKCFSZWZsZWN0Lmhhc093bk1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlSWRQcm9wZXJ0eUtleSwgdGFyZ2V0VHlwZSkpIHtcbiAgICAgICAgICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoVHlwZVV0aWwucmVmbGVjdFR5cGVJZFByb3BlcnR5S2V5LCBpZFByb3BlcnR5LCB0YXJnZXRUeXBlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdHlwZSdzIGlkIHByb3BlcnR5LlxuICAgICAqIEBwYXJhbSB0YXJnZXRUeXBlIGNsYXNzLlxuICAgICAqIEBwYXJhbSB0aXRsZVByb3BlcnR5IFRpdGxlIHByb3BlcnR5XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBkZWZpbmVSZWZsZWN0VHlwZVRpdGxlUHJvcGVydHk8VD4odGFyZ2V0VHlwZTogQ2xhc3NUeXBlPFQ+LCB0aXRsZVByb3BlcnR5OiBrZXlvZiBUIHwgc3ltYm9sKSB7XG4gICAgICAgIGlmICghUmVmbGVjdC5oYXNPd25NZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0VHlwZVRpdGxlUHJvcGVydHlLZXksIHRhcmdldFR5cGUpKSB7XG4gICAgICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlVGl0bGVQcm9wZXJ0eUtleSwgdGl0bGVQcm9wZXJ0eSwgdGFyZ2V0VHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHR5cGUgbmFtZSBmcm9tIHJlZmxlY3QgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIHR5cGUgQ2xhc3MuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmaW5kVHlwZU5hbWUodHlwZTogQ2xhc3NUeXBlPGFueT4pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB0eXBlTmFtZSA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoVHlwZVV0aWwucmVmbGVjdFR5cGVOYW1lS2V5LCB0eXBlKTtcbiAgICAgICAgaWYgKHR5cGVOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHlwZU5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS53YXJuKCdSZWZsZWN0IG1ldGFkYXRhIGNvdWxkIG5vdCBiZSBmb3VuZCBmb3IgdHlwZSwgeW91IG1pZ2h0IGV4cGVyaWVuY2Ugc29tZSBpc3N1ZXMgaW4gcHJvZHVjdGlvbiBidWlsZC4nLCB0eXBlKTtcbiAgICAgICAgcmV0dXJuIHR5cGUubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHR5cGUgbmFtZSBmcm9tIGVpdGhlciBkZWNvcmF0b3Igb3IgcmVmbGVjdCBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gdHlwZSBDbGFzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHR5cGVOYW1lRXhpc3RzKHR5cGU6IENsYXNzVHlwZTxhbnk+KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0Lmhhc093bk1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlTmFtZUtleSwgdHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBlbnVtIG5hbWUgZnJvbSBlaXRoZXIgZGVjb3JhdG9yIG9yIHJlZmxlY3QgbWV0YWRhdGEuXG4gICAgICogQHBhcmFtIGVudW1UeXBlIENsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmluZEVudW1OYW1lKGVudW1UeXBlOiBFbnVtVHlwZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGVudW1OYW1lID0gUmVmbGVjdC5nZXRNZXRhZGF0YShUeXBlVXRpbC5yZWZsZWN0RW51bU5hbWVLZXksIGVudW1UeXBlKTtcbiAgICAgICAgaWYgKGVudW1OYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gZW51bU5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS53YXJuKCdSZWZsZWN0IG1ldGFkYXRhIGNvdWxkIG5vdCBiZSBmb3VuZCBmb3IgZW51bSwgeW91IG1pZ2h0IGV4cGVyaWVuY2Ugc29tZSBpc3N1ZXMgaW4gcHJvZHVjdGlvbiBidWlsZC4nLCBlbnVtVHlwZSk7XG4gICAgICAgIHRocm93IG5ldyBNbmdFcnJvckludGVybmFsKCdDb3VsZCBub3QgZmluZWQgZW51bSBuYW1lJywgJ1R5cGVVdGlscyBlcnJvcicpLmNvbnNvbGVFcnJvcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdHlwZSdzIGlkIHByb3BlcnR5IGZyb20gcmVmbGVjdCBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gdHlwZSBDbGFzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGZpbmRUeXBlSWRQcm9wZXJ0eSh0eXBlOiBDbGFzc1R5cGU8YW55Pik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKFR5cGVVdGlsLnJlZmxlY3RUeXBlSWRQcm9wZXJ0eUtleSwgdHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0eXBlJ3MgdGl0bGUgcHJvcGVydHkgZnJvbSByZWZsZWN0IG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB0eXBlIENsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZmluZFR5cGVUaXRsZVByb3BlcnR5KHR5cGU6IENsYXNzVHlwZTxhbnk+KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoVHlwZVV0aWwucmVmbGVjdFR5cGVUaXRsZVByb3BlcnR5S2V5LCB0eXBlKTtcbiAgICB9XG59XG4iXX0=
|