@mediusinc/mng-commons 6.0.0-rc.4 → 6.0.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/components/notification/notification-wrapper.component.d.ts +4 -4
- package/core/error/error.model.d.ts +4 -4
- package/core/helpers/notification.d.ts +2 -2
- package/core/provide.d.ts +3 -3
- package/core/styles/style-constants.d.ts +9 -8
- package/core/styles/style.model.d.ts +2 -1
- package/fesm2022/mediusinc-mng-commons-core.mjs +91 -104
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +8 -9
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +149 -49
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DTSBP9WQ.mjs +31 -0
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DTSBP9WQ.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-JZpyiDIL.mjs +2118 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-JZpyiDIL.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table.mjs +1 -2154
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +97 -49
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +340 -309
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/form/api/index.d.ts +1 -0
- package/form/api/models/empty-value.model.d.ts +7 -0
- package/form/components/autocomplete/autocomplete.component.d.ts +1 -2
- package/form/components/date-range/date-range.component.d.ts +4 -3
- package/form/components/dropdown/dropdown.component.d.ts +3 -2
- package/form/components/number-range/number-range.component.d.ts +3 -2
- package/form/directives/input-empty-value.directive.d.ts +40 -0
- package/form/directives/input-trim.directive.d.ts +3 -5
- package/form/index.d.ts +1 -0
- package/i18n/en.json +57 -8
- package/i18n/sl.json +1 -3
- package/package.json +16 -42
- package/provide.d.ts +2 -2
- package/table/components/column-toggle/column-toggle.component.d.ts +12 -0
- package/table/components/filter/filter-form/filter-form.component.d.ts +2 -2
- package/table/components/table/table.component.d.ts +0 -1
- package/table/helpers/filters.d.ts +3 -2
- package/table/helpers/notification.d.ts +2 -2
- package/table/services/table-metadata.service.d.ts +3 -3
- package/tableview/action/components/action/action.component.d.ts +1 -0
- package/tableview/action/components/editor/action-editor.component.d.ts +1 -1
- package/tableview/action/components/table/action-table.component.d.ts +2 -1
- package/tableview/action/helpers/notification.d.ts +3 -3
- package/tableview/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/action/services/action-executor.service.d.ts +1 -1
- package/tableview/api/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +5 -0
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +14 -10
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +10 -0
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +36 -9
- package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +1 -1
- package/tableview/api/editor/models/field-action-context.model.d.ts +1 -1
- package/tableview/api/editor/models/field.model.d.ts +1 -2
- package/tableview/api/editor/models/form-editor.interface.d.ts +2 -2
- package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
- package/tableview/api/editor/models/formly-field.model.d.ts +2 -2
- package/tableview/editor/components/editor/form-editor.component.d.ts +2 -2
- package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.d.ts +2 -1
- package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +4 -6
- package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +0 -2
- package/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +2 -2
- package/tableview/editor/components/formly/fields/formly-field-type.abstract.component.d.ts +8 -15
- package/tableview/editor/components/formly/fields/formly-group-type.abstract.component.d.ts +7 -0
- package/tableview/editor/components/formly/fields/formly-type.abstract.component.d.ts +20 -0
- package/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +11 -4
- package/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +2 -1
- package/tableview/editor/helpers/formly-config.d.ts +1 -1
- package/tableview/editor/helpers/notification.d.ts +3 -3
- package/tableview/editor/models/formly-config.model.d.ts +10 -1
- package/tableview/editor/models/formly.model.d.ts +23 -0
- package/tableview/editor/services/form-editor.service.d.ts +2 -2
- package/tableview/tableview/router/tableview-route-builder.d.ts +10 -3
- package/tableview/tableview/services/tableview-feature-config.token.d.ts +1 -1
- package/version-info.json +3 -3
- package/esm2022/core/action/action-data.model.mjs +0 -2
- package/esm2022/core/action/action-parameters.model.mjs +0 -2
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +0 -50
- package/esm2022/core/data-list/data-list-params-helpers.mjs +0 -465
- package/esm2022/core/data-list/data-list.model.mjs +0 -2
- package/esm2022/core/data-list/filter-match.model.mjs +0 -105
- package/esm2022/core/data-list/filter-metadata.model.mjs +0 -2
- package/esm2022/core/data-providers/base.data-provider.mjs +0 -16
- package/esm2022/core/data-providers/lookup.data-provider.mjs +0 -2
- package/esm2022/core/descriptors/action.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/column.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/editor.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/enum.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/filter.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/lookup.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/model.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/table.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/tableview.descriptor.mjs +0 -2
- package/esm2022/core/directives/component.directive.mjs +0 -75
- package/esm2022/core/directives/rerender.directive.mjs +0 -25
- package/esm2022/core/directives/template.directive.mjs +0 -29
- package/esm2022/core/enum/enum-helpers.mjs +0 -90
- package/esm2022/core/enum/enum.model.mjs +0 -2
- package/esm2022/core/error/error-handler.mjs +0 -20
- package/esm2022/core/error/error-helpers.mjs +0 -273
- package/esm2022/core/error/error.model.mjs +0 -33
- package/esm2022/core/helpers/coercion.mjs +0 -55
- package/esm2022/core/helpers/date.mjs +0 -119
- package/esm2022/core/helpers/notification.mjs +0 -21
- package/esm2022/core/helpers/number.mjs +0 -19
- package/esm2022/core/helpers/object.mjs +0 -152
- package/esm2022/core/helpers/route.mjs +0 -58
- package/esm2022/core/helpers/string.mjs +0 -57
- package/esm2022/core/helpers/templates.mjs +0 -4
- package/esm2022/core/helpers/type-helpers.mjs +0 -2
- package/esm2022/core/i18n/i18n-common.mjs +0 -24
- package/esm2022/core/i18n/i18n-error.mjs +0 -29
- package/esm2022/core/i18n/i18n-type.mjs +0 -46
- package/esm2022/core/index.mjs +0 -107
- package/esm2022/core/log/log-publisher-console.service.mjs +0 -40
- package/esm2022/core/log/log.model.mjs +0 -10
- package/esm2022/core/log/logger.service.mjs +0 -131
- package/esm2022/core/mediusinc-mng-commons-core.mjs +0 -5
- package/esm2022/core/models/class-attribute.model.mjs +0 -2
- package/esm2022/core/models/class-service.model.mjs +0 -2
- package/esm2022/core/models/getter.model.mjs +0 -2
- package/esm2022/core/models/i18n.model.mjs +0 -2
- package/esm2022/core/models/menu.model.mjs +0 -2
- package/esm2022/core/models/user.model.mjs +0 -2
- package/esm2022/core/models/version.model.mjs +0 -2
- package/esm2022/core/pipes/boolean.pipe.mjs +0 -34
- package/esm2022/core/pipes/class-map.pipe.mjs +0 -23
- package/esm2022/core/pipes/enum.pipe.mjs +0 -38
- package/esm2022/core/pipes/enumerate-async.pipe.mjs +0 -36
- package/esm2022/core/pipes/enumerate.pipe.mjs +0 -49
- package/esm2022/core/pipes/getter.pipe.mjs +0 -21
- package/esm2022/core/pipes/i18n-property.pipe.mjs +0 -19
- package/esm2022/core/pipes/json-path.pipe.mjs +0 -25
- package/esm2022/core/pipes/parametrize.pipe.mjs +0 -86
- package/esm2022/core/pipes/template.pipe.mjs +0 -25
- package/esm2022/core/provide.mjs +0 -79
- package/esm2022/core/reactivity/effect.mjs +0 -22
- package/esm2022/core/reflect/type-enum-decorator.mjs +0 -12
- package/esm2022/core/reflect/type-enum-metadata.mjs +0 -62
- package/esm2022/core/registry/registry.model.mjs +0 -2
- package/esm2022/core/registry/type-registry.mjs +0 -106
- package/esm2022/core/router/route-builder.mjs +0 -431
- package/esm2022/core/router/router.model.mjs +0 -2
- package/esm2022/core/router/routes-builder.mjs +0 -52
- package/esm2022/core/rxjs/map-data-list-result-operator.mjs +0 -22
- package/esm2022/core/security/permission-helpers.mjs +0 -14
- package/esm2022/core/security/permission.guard.mjs +0 -15
- package/esm2022/core/security/permission.service.mjs +0 -101
- package/esm2022/core/security/permissions.model.mjs +0 -93
- package/esm2022/core/services/commons-configuration.service.mjs +0 -189
- package/esm2022/core/services/commons-init.service.mjs +0 -111
- package/esm2022/core/services/commons-router.service.mjs +0 -181
- package/esm2022/core/services/commons-storage.service.mjs +0 -31
- package/esm2022/core/services/commons.service.mjs +0 -324
- package/esm2022/core/services/providers/commons-init.provider.mjs +0 -4
- package/esm2022/core/services/tokens/browser-storage.token.mjs +0 -3
- package/esm2022/core/services/tokens/commons-init.token.mjs +0 -3
- package/esm2022/core/services/tokens/log-publisher.token.mjs +0 -3
- package/esm2022/core/services/tokens/module-config.token.mjs +0 -3
- package/esm2022/core/styles/style-constants.mjs +0 -11
- package/esm2022/core/styles/style.model.mjs +0 -20
- package/esm2022/filter/descriptors/filter-generic.descriptor.mjs +0 -31
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +0 -168
- package/esm2022/filter/descriptors/filter.descriptor.mjs +0 -421
- package/esm2022/filter/index.mjs +0 -8
- package/esm2022/filter/mediusinc-mng-commons-filter.mjs +0 -5
- package/esm2022/filter/models/filter-generic-property.model.mjs +0 -2
- package/esm2022/filter/models/filter.model.mjs +0 -20
- package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +0 -15
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +0 -15
- package/esm2022/form/api/descriptors/action-button.descriptor.mjs +0 -56
- package/esm2022/form/api/descriptors/button-style.builder.mjs +0 -153
- package/esm2022/form/api/index.mjs +0 -10
- package/esm2022/form/api/mediusinc-mng-commons-form-api.mjs +0 -5
- package/esm2022/form/api/models/button.model.mjs +0 -2
- package/esm2022/form/api/models/trim.model.mjs +0 -2
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +0 -436
- package/esm2022/form/components/date-range/date-range.component.mjs +0 -147
- package/esm2022/form/components/dropdown/dropdown.component.mjs +0 -372
- package/esm2022/form/components/number-range/number-range.component.mjs +0 -123
- package/esm2022/form/directives/input-trim.directive.mjs +0 -50
- package/esm2022/form/index.mjs +0 -8
- package/esm2022/form/mediusinc-mng-commons-form.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/mediusinc-mng-commons.mjs +0 -5
- package/esm2022/model/class/data-providers/base-from-class-data-provider.factory.mjs +0 -5
- package/esm2022/model/class/descriptors/model-class.descriptor.mjs +0 -28
- package/esm2022/model/class/descriptors/type-class.descriptor.mjs +0 -6
- package/esm2022/model/class/helpers/model.mjs +0 -53
- package/esm2022/model/class/index.mjs +0 -8
- package/esm2022/model/class/mediusinc-mng-commons-model-class.mjs +0 -5
- package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +0 -13
- package/esm2022/model/descriptors/enum.descriptor.mjs +0 -28
- package/esm2022/model/descriptors/model.descriptor.mjs +0 -53
- package/esm2022/model/descriptors/type.descriptor.mjs +0 -7
- package/esm2022/model/helpers/i18n.mjs +0 -47
- package/esm2022/model/index.mjs +0 -9
- package/esm2022/model/mediusinc-mng-commons-model.mjs +0 -5
- package/esm2022/provide.mjs +0 -6
- package/esm2022/table/api/class/class-table-attribute-converter.mjs +0 -80
- package/esm2022/table/api/class/class-table-attribute.model.mjs +0 -2
- package/esm2022/table/api/class/class-table-data-provider.factory.mjs +0 -5
- package/esm2022/table/api/class/class-table-descriptor-helpers.mjs +0 -99
- package/esm2022/table/api/class/class-table-descriptor.factory.mjs +0 -21
- package/esm2022/table/api/class/index.mjs +0 -6
- package/esm2022/table/api/class/mediusinc-mng-commons-table-api-class.mjs +0 -5
- package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +0 -15
- package/esm2022/table/api/data-providers/table.data-provider.mjs +0 -33
- package/esm2022/table/api/descriptors/column.descriptor.mjs +0 -475
- package/esm2022/table/api/descriptors/sort.descriptor.mjs +0 -67
- package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +0 -22
- package/esm2022/table/api/descriptors/table.descriptor.mjs +0 -1116
- package/esm2022/table/api/helpers/column-converter.mjs +0 -25
- package/esm2022/table/api/helpers/table-data-provider-descriptor-convert.mjs +0 -7
- package/esm2022/table/api/index.mjs +0 -19
- package/esm2022/table/api/mediusinc-mng-commons-table-api.mjs +0 -5
- package/esm2022/table/api/models/column-value.model.mjs +0 -2
- package/esm2022/table/api/models/column.model.mjs +0 -21
- package/esm2022/table/api/models/row-expandable-component.model.mjs +0 -2
- package/esm2022/table/api/models/table-columns.model.mjs +0 -2
- package/esm2022/table/api/models/table-event.model.mjs +0 -2
- package/esm2022/table/api/models/table.model.mjs +0 -21
- package/esm2022/table/components/column-filter/column-filter.component.mjs +0 -389
- package/esm2022/table/components/column-value/column-value.component.mjs +0 -78
- package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +0 -55
- package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +0 -226
- package/esm2022/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.mjs +0 -219
- package/esm2022/table/components/table/table.component.mjs +0 -319
- package/esm2022/table/helpers/filters.mjs +0 -312
- package/esm2022/table/helpers/notification.mjs +0 -21
- package/esm2022/table/helpers/table-layout-prefs.mjs +0 -10
- package/esm2022/table/helpers/table.mjs +0 -24
- package/esm2022/table/index.mjs +0 -24
- package/esm2022/table/mediusinc-mng-commons-table.mjs +0 -5
- package/esm2022/table/models/column-preferences.model.mjs +0 -2
- package/esm2022/table/models/filter.model.mjs +0 -2
- package/esm2022/table/pipes/filter-value.pipe.mjs +0 -77
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +0 -27
- package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +0 -25
- package/esm2022/table/provide.mjs +0 -19
- package/esm2022/table/services/table-data.service.mjs +0 -194
- package/esm2022/table/services/table-feature-config.token.mjs +0 -3
- package/esm2022/table/services/table-metadata.service.mjs +0 -136
- package/esm2022/table/services/table-preferences.service.mjs +0 -142
- package/esm2022/tableview/action/components/action/action.component.mjs +0 -277
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +0 -86
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +0 -428
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +0 -35
- package/esm2022/tableview/action/components/route/action-route.component.mjs +0 -146
- package/esm2022/tableview/action/components/table/action-table.component.mjs +0 -102
- package/esm2022/tableview/action/guards/unsaved-changes.guard.mjs +0 -4
- package/esm2022/tableview/action/helpers/action-execution.mjs +0 -25
- package/esm2022/tableview/action/helpers/i18n.mjs +0 -102
- package/esm2022/tableview/action/helpers/notification.mjs +0 -78
- package/esm2022/tableview/action/helpers/styles.mjs +0 -32
- package/esm2022/tableview/action/models/action-editor-dialog-data.model.mjs +0 -2
- package/esm2022/tableview/action/models/can-component-deactivate.model.mjs +0 -2
- package/esm2022/tableview/action/models/execution/action-context.model.mjs +0 -64
- package/esm2022/tableview/action/models/execution/action-instance.model.mjs +0 -169
- package/esm2022/tableview/action/services/action-error-mapper.service.mjs +0 -20
- package/esm2022/tableview/action/services/action-executor.service.mjs +0 -777
- package/esm2022/tableview/action/services/component-action-executor.service.mjs +0 -19
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +0 -41
- package/esm2022/tableview/action/services/navigation.service.mjs +0 -53
- package/esm2022/tableview/action/services/providers/provide-action-executor.mjs +0 -9
- package/esm2022/tableview/action/services/providers/provide-view-container.mjs +0 -17
- package/esm2022/tableview/action/services/root-action-executor.service.mjs +0 -18
- package/esm2022/tableview/action/services/tokens/action-editor.token.mjs +0 -3
- package/esm2022/tableview/action/services/view-container.service.mjs +0 -40
- package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +0 -28
- package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +0 -30
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +0 -223
- package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +0 -32
- package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +0 -74
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +0 -302
- package/esm2022/tableview/api/action/descriptors/editor-action-descriptor.factory.mjs +0 -21
- package/esm2022/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.mjs +0 -21
- package/esm2022/tableview/api/action/descriptors/table-action-descriptor.factory.mjs +0 -37
- package/esm2022/tableview/api/action/descriptors/table-action-editor-descriptor.factory.mjs +0 -40
- package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +0 -100
- package/esm2022/tableview/api/action/models/action-component.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-confirmation.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-descriptor.types.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-editor.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/action-error.model.mjs +0 -14
- package/esm2022/tableview/api/action/models/action.type.mjs +0 -26
- package/esm2022/tableview/api/action/models/execution/action-context-validation.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/action-context.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/action-execution-error.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/action-instance-state.model.mjs +0 -32
- package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +0 -2
- package/esm2022/tableview/api/action/models/tableview-action-default-categories.model.mjs +0 -11
- package/esm2022/tableview/api/action/services/data-provider-executor.service.mjs +0 -28
- package/esm2022/tableview/api/action/services/tokens/data-language-dropdown.token.mjs +0 -3
- package/esm2022/tableview/api/class/editor/class-editor-attribute-converter.mjs +0 -85
- package/esm2022/tableview/api/class/editor/class-editor-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/class/editor/class-editor-data-provider.factory.mjs +0 -5
- package/esm2022/tableview/api/class/editor/class-editor-descriptor-helpers.mjs +0 -95
- package/esm2022/tableview/api/class/editor/class-editor-descriptor.factory.mjs +0 -21
- package/esm2022/tableview/api/class/index.mjs +0 -13
- package/esm2022/tableview/api/class/mediusinc-mng-commons-tableview-api-class.mjs +0 -5
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute-converter.mjs +0 -35
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/class/tableview/class-tableview-data-provider.factory.mjs +0 -5
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor-helpers.mjs +0 -111
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor.factory.mjs +0 -26
- package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +0 -15
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +0 -114
- package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +0 -15
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +0 -437
- package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +0 -51
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +0 -314
- package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +0 -103
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +0 -211
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +0 -142
- package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +0 -25
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +0 -402
- package/esm2022/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.mjs +0 -51
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/editor.model.mjs +0 -9
- package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/field-image-preview.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/field-validation.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/field.model.mjs +0 -57
- package/esm2022/tableview/api/editor/models/form-editor.event.mjs +0 -28
- package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +0 -2
- package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +0 -70
- package/esm2022/tableview/api/editor/models/formly-field.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/formly-options.model.mjs +0 -2
- package/esm2022/tableview/api/editor/models/radio.model.mjs +0 -2
- package/esm2022/tableview/api/index.mjs +0 -76
- package/esm2022/tableview/api/mediusinc-mng-commons-tableview-api.mjs +0 -5
- package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +0 -18
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +0 -84
- package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +0 -34
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +0 -377
- package/esm2022/tableview/api/tableview/helpers/files-export.mjs +0 -34
- package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +0 -26
- package/esm2022/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.mjs +0 -7
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +0 -324
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +0 -319
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.mjs +0 -2
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-helper.type.mjs +0 -2
- package/esm2022/tableview/api/tableview/models/tableview-input.model.mjs +0 -2
- package/esm2022/tableview/api/tableview/models/tableview-route.model.mjs +0 -2
- package/esm2022/tableview/editor/components/editor/auto-save-status/auto-save-status.component.mjs +0 -82
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +0 -480
- package/esm2022/tableview/editor/components/formly/constants.mjs +0 -2
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +0 -66
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +0 -47
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +0 -39
- package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +0 -165
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +0 -42
- package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +0 -34
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +0 -211
- package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +0 -23
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +0 -195
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +0 -239
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +0 -205
- package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -28
- package/esm2022/tableview/editor/components/formly/fields/formly-field-type.abstract.component.mjs +0 -46
- package/esm2022/tableview/editor/components/formly/pipes/formly-field-label.pipe.mjs +0 -19
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +0 -33
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +0 -59
- package/esm2022/tableview/editor/helpers/editor-autosave.mjs +0 -49
- package/esm2022/tableview/editor/helpers/editor-field.mjs +0 -39
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +0 -388
- package/esm2022/tableview/editor/helpers/editor-validators.mjs +0 -25
- package/esm2022/tableview/editor/helpers/field-create.mjs +0 -21
- package/esm2022/tableview/editor/helpers/formly-config.mjs +0 -260
- package/esm2022/tableview/editor/helpers/notification.mjs +0 -11
- package/esm2022/tableview/editor/models/editor-auto-save-preview.model.mjs +0 -2
- package/esm2022/tableview/editor/models/formly-config.model.mjs +0 -2
- package/esm2022/tableview/editor/services/form-editor.service.mjs +0 -96
- package/esm2022/tableview/editor/services/formly-config.provider.mjs +0 -31
- package/esm2022/tableview/index.mjs +0 -67
- package/esm2022/tableview/mediusinc-mng-commons-tableview.mjs +0 -5
- package/esm2022/tableview/provide.mjs +0 -105
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +0 -15
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +0 -59
- package/esm2022/tableview/tableview/router/tableview-route-builder.mjs +0 -175
- package/esm2022/tableview/tableview/services/tableview-feature-config.token.mjs +0 -3
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { of } from 'rxjs';
|
|
2
|
-
import { fromEnumConstantsAsValueArray, fromEnumValuesAsValueArray } from '@mediusinc/mng-commons/core';
|
|
3
|
-
import { LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
|
|
4
|
-
import { FilterLookupTypeEnum, FilterTypeEnum } from '../models/filter.model';
|
|
5
|
-
import { FilterDescriptor } from './filter.descriptor';
|
|
6
|
-
export class FilterLookupDescriptor extends FilterDescriptor {
|
|
7
|
-
constructor(property, cfg) {
|
|
8
|
-
super(property);
|
|
9
|
-
this._lookupType = FilterLookupTypeEnum.Dropdown;
|
|
10
|
-
this._optionsLabelTranslate = false;
|
|
11
|
-
this._dropdownClassName = 'mng-filter-lookup-dropdown';
|
|
12
|
-
this._filterType = FilterTypeEnum.Lookup;
|
|
13
|
-
if (cfg?.dataProvider) {
|
|
14
|
-
this._dataProvider = cfg.dataProvider;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
this._dataProvider = new LookupDataProviderInst(cfg?.serviceType);
|
|
18
|
-
}
|
|
19
|
-
this._optionsValueProperty = cfg?.optionsValueProperty ?? undefined;
|
|
20
|
-
}
|
|
21
|
-
get lookupType() {
|
|
22
|
-
return this._lookupType;
|
|
23
|
-
}
|
|
24
|
-
get dataProvider() {
|
|
25
|
-
return this._dataProvider;
|
|
26
|
-
}
|
|
27
|
-
get optionsLabelProperty() {
|
|
28
|
-
return this._optionsLabelProperty;
|
|
29
|
-
}
|
|
30
|
-
get optionsLabelTranslate() {
|
|
31
|
-
return this._optionsLabelTranslate;
|
|
32
|
-
}
|
|
33
|
-
get optionsValueProperty() {
|
|
34
|
-
return this._optionsValueProperty ?? undefined;
|
|
35
|
-
}
|
|
36
|
-
get autocompleteOpenOnFocus() {
|
|
37
|
-
return this._autocompleteOpenOnFocus;
|
|
38
|
-
}
|
|
39
|
-
get autocompleteAutoClear() {
|
|
40
|
-
return this._autocompleteAutoClear;
|
|
41
|
-
}
|
|
42
|
-
get autocompleteInlineSearch() {
|
|
43
|
-
return this._autocompleteInlineSearch;
|
|
44
|
-
}
|
|
45
|
-
get dropdownClassName() {
|
|
46
|
-
return this._dropdownClassName;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Sets label property for options display.
|
|
50
|
-
*
|
|
51
|
-
* @param property Property for label options.
|
|
52
|
-
* @param translate If the options should be translated through the i18n.
|
|
53
|
-
*/
|
|
54
|
-
withOptionsLabelProperty(property, translate = false) {
|
|
55
|
-
return this.withOptionsLabelPropertyUnsafe(property, translate);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Sets label property for options display.
|
|
59
|
-
*
|
|
60
|
-
* This function is UNSAFE!
|
|
61
|
-
*
|
|
62
|
-
* @param property Property for label options.
|
|
63
|
-
* @param translate If the options should be translated through the i18n.
|
|
64
|
-
*/
|
|
65
|
-
withOptionsLabelPropertyUnsafe(property, translate = false) {
|
|
66
|
-
this._optionsLabelProperty = property;
|
|
67
|
-
this._optionsLabelTranslate = translate;
|
|
68
|
-
return this;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Method will set `optionsValueProperty`, because track properties are not supported here as filters need final value to work correctly.
|
|
72
|
-
* Use `optionsValueProperty` in filter creation instead.
|
|
73
|
-
*/
|
|
74
|
-
withOptionsTrackProperty() {
|
|
75
|
-
return this;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Method will set `optionsValueProperty`, because track properties are not supported here as filters need final value to work correctly.
|
|
79
|
-
* Use `optionsValueProperty` in filter creation instead.
|
|
80
|
-
*/
|
|
81
|
-
withOptionsTrackPropertyUnsafe() {
|
|
82
|
-
return this;
|
|
83
|
-
}
|
|
84
|
-
withLookup(lookup) {
|
|
85
|
-
this._dataProvider.withLookup(lookup);
|
|
86
|
-
return this;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Sets the dropdown class name.
|
|
90
|
-
* @param dropdownClassName Class name for dropdown.
|
|
91
|
-
*/
|
|
92
|
-
withDropdownClassName(dropdownClassName) {
|
|
93
|
-
this._dropdownClassName = dropdownClassName;
|
|
94
|
-
return this;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Sets lookup as autocomplete instead of dropdown.
|
|
98
|
-
*
|
|
99
|
-
* @param opts Additional options.
|
|
100
|
-
*/
|
|
101
|
-
asAutocomplete(opts) {
|
|
102
|
-
this._lookupType = FilterLookupTypeEnum.Autocomplete;
|
|
103
|
-
this._autocompleteAutoClear = opts?.autoClear;
|
|
104
|
-
this._autocompleteOpenOnFocus = opts?.openOnFocus;
|
|
105
|
-
this._autocompleteInlineSearch = opts?.inlineSearch;
|
|
106
|
-
return this;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Copies current descriptor to a new instance.
|
|
110
|
-
*/
|
|
111
|
-
copy() {
|
|
112
|
-
const descriptor = new FilterLookupDescriptor(this._property, {
|
|
113
|
-
dataProvider: this.dataProvider
|
|
114
|
-
});
|
|
115
|
-
this.copyFieldsTo(descriptor);
|
|
116
|
-
return descriptor;
|
|
117
|
-
}
|
|
118
|
-
copyFieldsTo(filter) {
|
|
119
|
-
super.copyFieldsTo(filter);
|
|
120
|
-
filter._lookupType = this._lookupType;
|
|
121
|
-
filter._optionsLabelProperty = this._optionsLabelProperty;
|
|
122
|
-
filter._optionsLabelTranslate = this._optionsLabelTranslate;
|
|
123
|
-
filter._dropdownClassName = this._dropdownClassName;
|
|
124
|
-
filter._autocompleteOpenOnFocus = this._autocompleteOpenOnFocus;
|
|
125
|
-
filter._autocompleteInlineSearch = this._autocompleteInlineSearch;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
export class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
129
|
-
constructor(property, enumDesc, options) {
|
|
130
|
-
super(property, {
|
|
131
|
-
dataProvider: new LookupDataProviderInst(undefined),
|
|
132
|
-
optionsValueProperty: 'value'
|
|
133
|
-
});
|
|
134
|
-
this._nameAsValue = false;
|
|
135
|
-
this._filterType = FilterTypeEnum.LookupEnum;
|
|
136
|
-
this._enum = enumDesc;
|
|
137
|
-
this._optionEnumValues = Array.isArray(options)
|
|
138
|
-
? fromEnumValuesAsValueArray(this._enum.type, options, this._enum.nameAsValue, this._enum.i18nBaseKey ?? undefined)
|
|
139
|
-
: fromEnumConstantsAsValueArray(this._enum.type, this._enum.nameAsValue, this._enum.i18nBaseKey ?? undefined);
|
|
140
|
-
this.withLookup(() => of(this._optionEnumValues));
|
|
141
|
-
this.withOptionsLabelProperty('title', this._enum.i18nBaseKey !== null);
|
|
142
|
-
}
|
|
143
|
-
get enum() {
|
|
144
|
-
return this._enum;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Sets lookup as autocomplete instead of dropdown.
|
|
148
|
-
*
|
|
149
|
-
* @param opts Additional options.
|
|
150
|
-
*/
|
|
151
|
-
asAutocomplete(opts) {
|
|
152
|
-
super.asAutocomplete({
|
|
153
|
-
...opts,
|
|
154
|
-
openOnFocus: opts?.openOnFocus ?? true,
|
|
155
|
-
inlineSearch: opts?.inlineSearch ?? true
|
|
156
|
-
});
|
|
157
|
-
return this;
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Copies current descriptor to a new instance.
|
|
161
|
-
*/
|
|
162
|
-
copy() {
|
|
163
|
-
const field = new FilterLookupEnumDescriptor(this._property, this.enum, []);
|
|
164
|
-
this.copyFieldsTo(field);
|
|
165
|
-
return field;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxvb2t1cC5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZmlsdGVyL3NyYy9kZXNjcmlwdG9ycy9maWx0ZXItbG9va3VwLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBUUgsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUM3QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBR3ZFLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQXNCckQsTUFBTSxPQUFPLHNCQUNULFNBQVEsZ0JBQXlDO0lBZWpELFlBQVksUUFBZ0IsRUFBRSxHQUFxRjtRQUMvRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFYVixnQkFBVyxHQUEwQixvQkFBb0IsQ0FBQyxRQUFRLENBQUM7UUFFbkUsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBRXRCLHVCQUFrQixHQUFHLDRCQUE0QixDQUFDO1FBUWpFLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUV6QyxJQUFJLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksc0JBQXNCLENBQXFFLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxSSxDQUFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsRUFBRSxvQkFBb0IsSUFBSSxTQUFTLENBQUM7SUFDeEUsQ0FBQztJ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QztRQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDYSxjQUFjLENBQUMsSUFBdUM7UUFDbEUsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUNqQixHQUFHLElBQUk7WUFDUCxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJO1lBQ3RDLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxJQUFJLElBQUk7U0FDM0MsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ2EsSUFBSTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUEwQixDQUFtQixJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge29mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBFbnVtQ29uc3RhbnRUeXBlLFxuICAgIEVudW1WYWx1ZSxcbiAgICBJTG9va3VwRGF0YVByb3ZpZGVyLFxuICAgIElMb29rdXBEZXNjcmlwdG9yLFxuICAgIExvb2t1cERhdGFQcm92aWRlckxvb2t1cEZuVHlwZSxcbiAgICBTZXJ2aWNlQ2xhc3NPcHRUeXBlLFxuICAgIFNlcnZpY2VDbGFzc1R5cGUsXG4gICAgZnJvbUVudW1Db25zdGFudHNBc1ZhbHVlQXJyYXksXG4gICAgZnJvbUVudW1WYWx1ZXNBc1ZhbHVlQXJyYXlcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7TG9va3VwRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5pbXBvcnQge0VudW1EZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtGaWx0ZXJMb29rdXBUeXBlRW51bSwgRmlsdGVyVHlwZUVudW19IGZyb20gJy4uL21vZGVscy9maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHtGaWx0ZXJEZXNjcmlwdG9yfSBmcm9tICcuL2ZpbHRlci5kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8XG4gICAgRmlsdGVyTW9kZWwsXG4gICAgU2VydmljZSxcbiAgICBTb3J0cyA9IGtleW9mIEZpbHRlck1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBGaWx0ZXJNb2RlbFxuPiA9IEZpbHRlckxvb2t1cERlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4gJiB7XG4gICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9va3VwRGVzY3JpcHRvckNyZWF0ZU9wdHNQcm92aWRlclR5cGU8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzID0ga2V5b2YgRmlsdGVyTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBGaWx0ZXJNb2RlbD4gPSB7XG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+O1xuICAgIGRhdGFQcm92aWRlcj86IElMb29rdXBEYXRhUHJvdmlkZXI8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpbHRlckxvb2t1cEF1dG9jb21wbGV0ZU9wdHNUeXBlID0ge1xuICAgIG9wZW5PbkZvY3VzPzogYm9vbGVhbjtcbiAgICBpbmxpbmVTZWFyY2g/OiBib29sZWFuO1xuICAgIGF1dG9DbGVhcj86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSA9IGFueSwgRmlsdGVyVmFsdWUgPSBGaWx0ZXJNb2RlbCwgU29ydHMgPSBrZXlvZiBGaWx0ZXJNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIEZpbHRlck1vZGVsPlxuICAgIGV4dGVuZHMgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJWYWx1ZSwgVGFibGVNb2RlbD5cbiAgICBpbXBsZW1lbnRzIElMb29rdXBEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz5cbntcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RhdGFQcm92aWRlcjogSUxvb2t1cERhdGFQcm92aWRlcjxGaWx0ZXJNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmcgfCBudWxsO1xuICAgIHByb3RlY3RlZCBfbG9va3VwVHlwZT86IEZpbHRlckxvb2t1cFR5cGVFbnVtID0gRmlsdGVyTG9va3VwVHlwZUVudW0uRHJvcGRvd247XG4gICAgcHJvdGVjdGVkIF9vcHRpb25zTGFiZWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnNMYWJlbFRyYW5zbGF0ZSA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIF9kcm9wZG93bkNsYXNzTmFtZSA9ICdtbmctZmlsdGVyLWxvb2t1cC1kcm9wZG93bic7XG5cbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZUlubGluZVNlYXJjaD86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVBdXRvQ2xlYXI/OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJvcGVydHk6IHN0cmluZywgY2ZnPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPikge1xuICAgICAgICBzdXBlcihwcm9wZXJ0eSk7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5Mb29rdXA7XG5cbiAgICAgICAgaWYgKGNmZz8uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIgPSBjZmcuZGF0YVByb3ZpZGVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyID0gbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBTZXJ2aWNlQ2xhc3NPcHRUeXBlPFNlcnZpY2U+PihjZmc/LnNlcnZpY2VUeXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5ID0gY2ZnPy5vcHRpb25zVmFsdWVQcm9wZXJ0eSA/PyB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb29rdXBUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9va3VwVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnNMYWJlbFByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zTGFiZWxUcmFuc2xhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zTGFiZWxUcmFuc2xhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zVmFsdWVQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5ID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZU9wZW5PbkZvY3VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVBdXRvQ2xlYXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVBdXRvQ2xlYXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVJbmxpbmVTZWFyY2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2g7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBkcm9wZG93bkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbGFiZWwgcHJvcGVydHkgZm9yIG9wdGlvbnMgZGlzcGxheS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBQcm9wZXJ0eSBmb3IgbGFiZWwgb3B0aW9ucy5cbiAgICAgKiBAcGFyYW0gdHJhbnNsYXRlIElmIHRoZSBvcHRpb25zIHNob3VsZCBiZSB0cmFuc2xhdGVkIHRocm91Z2ggdGhlIGkxOG4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eShwcm9wZXJ0eToga2V5b2YgRmlsdGVyTW9kZWwsIHRyYW5zbGF0ZSA9IGZhbHNlKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eVVuc2FmZShwcm9wZXJ0eSBhcyBzdHJpbmcsIHRyYW5zbGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBsYWJlbCBwcm9wZXJ0eSBmb3Igb3B0aW9ucyBkaXNwbGF5LlxuICAgICAqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBVTlNBRkUhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgZm9yIGxhYmVsIG9wdGlvbnMuXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZSBJZiB0aGUgb3B0aW9ucyBzaG91bGQgYmUgdHJhbnNsYXRlZCB0aHJvdWdoIHRoZSBpMThuLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoT3B0aW9uc0xhYmVsUHJvcGVydHlVbnNhZmUocHJvcGVydHk6IHN0cmluZywgdHJhbnNsYXRlID0gZmFsc2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlID0gdHJhbnNsYXRlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2Qgd2lsbCBzZXQgYG9wdGlvbnNWYWx1ZVByb3BlcnR5YCwgYmVjYXVzZSB0cmFjayBwcm9wZXJ0aWVzIGFyZSBub3Qgc3VwcG9ydGVkIGhlcmUgYXMgZmlsdGVycyBuZWVkIGZpbmFsIHZhbHVlIHRvIHdvcmsgY29ycmVjdGx5LlxuICAgICAqIFVzZSBgb3B0aW9uc1ZhbHVlUHJvcGVydHlgIGluIGZpbHRlciBjcmVhdGlvbiBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoT3B0aW9uc1RyYWNrUHJvcGVydHkoKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB3aWxsIHNldCBgb3B0aW9uc1ZhbHVlUHJvcGVydHlgLCBiZWNhdXNlIHRyYWNrIHByb3BlcnRpZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaGVyZSBhcyBmaWx0ZXJzIG5lZWQgZmluYWwgdmFsdWUgdG8gd29yayBjb3JyZWN0bHkuXG4gICAgICogVXNlIGBvcHRpb25zVmFsdWVQcm9wZXJ0eWAgaW4gZmlsdGVyIGNyZWF0aW9uIGluc3RlYWQuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhPcHRpb25zVHJhY2tQcm9wZXJ0eVVuc2FmZSgpOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhMb29rdXAobG9va3VwPzogTG9va3VwRGF0YVByb3ZpZGVyTG9va3VwRm5UeXBlPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyLndpdGhMb29rdXAobG9va3VwKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZHJvcGRvd24gY2xhc3MgbmFtZS5cbiAgICAgKiBAcGFyYW0gZHJvcGRvd25DbGFzc05hbWUgQ2xhc3MgbmFtZSBmb3IgZHJvcGRvd24uXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHdpdGhEcm9wZG93bkNsYXNzTmFtZShkcm9wZG93bkNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gZHJvcGRvd25DbGFzc05hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbG9va3VwIGFzIGF1dG9jb21wbGV0ZSBpbnN0ZWFkIG9mIGRyb3Bkb3duLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc0F1dG9jb21wbGV0ZShvcHRzPzogRmlsdGVyTG9va3VwQXV0b2NvbXBsZXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwVHlwZSA9IEZpbHRlckxvb2t1cFR5cGVFbnVtLkF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlQXV0b0NsZWFyID0gb3B0cz8uYXV0b0NsZWFyO1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVPcGVuT25Gb2N1cyA9IG9wdHM/Lm9wZW5PbkZvY3VzO1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2ggPSBvcHRzPy5pbmxpbmVTZWFyY2g7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcGllcyBjdXJyZW50IGRlc2NyaXB0b3IgdG8gYSBuZXcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGNvcHkoKTogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSwgRmlsdGVyVmFsdWUsIFNvcnRzLCBGaWx0ZXJzPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBuZXcgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSwgRmlsdGVyVmFsdWUsIFNvcnRzLCBGaWx0ZXJzPih0aGlzLl9wcm9wZXJ0eSwge1xuICAgICAgICAgICAgZGF0YVByb3ZpZGVyOiB0aGlzLmRhdGFQcm92aWRlclxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZGVzY3JpcHRvcik7XG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjb3B5RmllbGRzVG8oZmlsdGVyOiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsLCBTZXJ2aWNlLCBGaWx0ZXJWYWx1ZSwgU29ydHMsIEZpbHRlcnM+KSB7XG4gICAgICAgIHN1cGVyLmNvcHlGaWVsZHNUbyhmaWx0ZXIpO1xuICAgICAgICBmaWx0ZXIuX2xvb2t1cFR5cGUgPSB0aGlzLl9sb29rdXBUeXBlO1xuICAgICAgICBmaWx0ZXIuX29wdGlvbnNMYWJlbFByb3BlcnR5ID0gdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHk7XG4gICAgICAgIGZpbHRlci5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlID0gdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlO1xuICAgICAgICBmaWx0ZXIuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgICAgIGZpbHRlci5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXMgPSB0aGlzLl9hdXRvY29tcGxldGVPcGVuT25Gb2N1cztcbiAgICAgICAgZmlsdGVyLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2ggPSB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2g7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyTG9va3VwRW51bURlc2NyaXB0b3I8RW51bSwgVGFibGVNb2RlbD4gZXh0ZW5kcyBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPEVudW1WYWx1ZSwgVGFibGVNb2RlbCwgdW5kZWZpbmVkLCBFbnVtQ29uc3RhbnRUeXBlLCBuZXZlciwgbmV2ZXI+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbnVtOiBFbnVtRGVzY3JpcHRvcjxFbnVtPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25FbnVtVmFsdWVzOiBFbnVtVmFsdWVbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYW1lQXNWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJvcGVydHk6IHN0cmluZywgZW51bURlc2M6IEVudW1EZXNjcmlwdG9yPEVudW0+LCBvcHRpb25zPzogQXJyYXk8RW51bT4pIHtcbiAgICAgICAgc3VwZXIocHJvcGVydHksIHtcbiAgICAgICAgICAgIGRhdGFQcm92aWRlcjogbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8RW51bVZhbHVlLCB1bmRlZmluZWQsIG5ldmVyLCBuZXZlciwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuICAgICAgICAgICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk6ICd2YWx1ZSdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5Mb29rdXBFbnVtO1xuXG4gICAgICAgIHRoaXMuX2VudW0gPSBlbnVtRGVzYztcblxuICAgICAgICB0aGlzLl9vcHRpb25FbnVtVmFsdWVzID0gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgICAgICAgICAgPyBmcm9tRW51bVZhbHVlc0FzVmFsdWVBcnJheSh0aGlzLl9lbnVtLnR5cGUsIG9wdGlvbnMsIHRoaXMuX2VudW0ubmFtZUFzVmFsdWUsIHRoaXMuX2VudW0uaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKVxuICAgICAgICAgICAgOiBmcm9tRW51bUNvbnN0YW50c0FzVmFsdWVBcnJheSh0aGlzLl9lbnVtLnR5cGUsIHRoaXMuX2VudW0ubmFtZUFzVmFsdWUsIHRoaXMuX2VudW0uaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKTtcblxuICAgICAgICB0aGlzLndpdGhMb29rdXAoKCkgPT4gb2YodGhpcy5fb3B0aW9uRW51bVZhbHVlcykpO1xuICAgICAgICB0aGlzLndpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eSgndGl0bGUnLCB0aGlzLl9lbnVtLmkxOG5CYXNlS2V5ICE9PSBudWxsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVudW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbG9va3VwIGFzIGF1dG9jb21wbGV0ZSBpbnN0ZWFkIG9mIGRyb3Bkb3duLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBhc0F1dG9jb21wbGV0ZShvcHRzPzogRmlsdGVyTG9va3VwQXV0b2NvbXBsZXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgc3VwZXIuYXNBdXRvY29tcGxldGUoe1xuICAgICAgICAgICAgLi4ub3B0cyxcbiAgICAgICAgICAgIG9wZW5PbkZvY3VzOiBvcHRzPy5vcGVuT25Gb2N1cyA/PyB0cnVlLFxuICAgICAgICAgICAgaW5saW5lU2VhcmNoOiBvcHRzPy5pbmxpbmVTZWFyY2ggPz8gdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIGN1cnJlbnQgZGVzY3JpcHRvciB0byBhIG5ldyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29weSgpOiBGaWx0ZXJMb29rdXBFbnVtRGVzY3JpcHRvcjxFbnVtLCBUYWJsZU1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpbHRlckxvb2t1cEVudW1EZXNjcmlwdG9yPEVudW0sIFRhYmxlTW9kZWw+KHRoaXMuX3Byb3BlcnR5LCB0aGlzLmVudW0sIFtdKTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuIl19
|