@mediusinc/mng-commons 6.0.0-rc.5 → 6.0.0-rc.7
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 +6 -6
- package/core/components/notification/notification-wrapper.component.d.ts +4 -4
- package/core/data-list/data-list-params-helpers.d.ts +1 -0
- package/core/directives/component.directive.d.ts +11 -13
- package/core/directives/rerender.directive.d.ts +1 -1
- package/core/directives/template.directive.d.ts +3 -7
- package/core/error/error.model.d.ts +4 -4
- package/core/helpers/notification.d.ts +2 -2
- package/core/i18n/i18n-common.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 +167 -201
- 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 +151 -52
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-a8KG1NIX.mjs +30 -0
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-a8KG1NIX.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-C2vrMoNL.mjs +2130 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-C2vrMoNL.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 +332 -293
- 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 +10 -36
- 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/provide.d.ts +7 -0
- 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/descriptors/action.descriptor.d.ts +3 -3
- package/tableview/api/action/models/action-confirmation.model.d.ts +4 -2
- 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 -772
- 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,19 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { ActionExecutorService } from './action-executor.service';
|
|
3
|
-
import { RootActionExecutorService } from './root-action-executor.service';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ComponentActionExecutorService extends ActionExecutorService {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.rootActionExecutorService = inject(RootActionExecutorService);
|
|
9
|
-
}
|
|
10
|
-
get instances() {
|
|
11
|
-
return this.rootActionExecutorService.instances;
|
|
12
|
-
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ComponentActionExecutorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ComponentActionExecutorService }); }
|
|
15
|
-
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ComponentActionExecutorService, decorators: [{
|
|
17
|
-
type: Injectable
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWFjdGlvbi1leGVjdXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9hY3Rpb24vc2VydmljZXMvY29tcG9uZW50LWFjdGlvbi1leGVjdXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOztBQUd6RSxNQUFNLE9BQU8sOEJBQStCLFNBQVEscUJBQXFCO0lBRHpFOztRQUVxQiw4QkFBeUIsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQUtsRjtJQUhHLElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQzsrR0FMUSw4QkFBOEI7bUhBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFEMUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBY3Rpb25JbnN0YW5jZX0gZnJvbSAnLi4vbW9kZWxzL2V4ZWN1dGlvbi9hY3Rpb24taW5zdGFuY2UubW9kZWwnO1xuaW1wb3J0IHtBY3Rpb25FeGVjdXRvclNlcnZpY2V9IGZyb20gJy4vYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuaW1wb3J0IHtSb290QWN0aW9uRXhlY3V0b3JTZXJ2aWNlfSBmcm9tICcuL3Jvb3QtYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50QWN0aW9uRXhlY3V0b3JTZXJ2aWNlIGV4dGVuZHMgQWN0aW9uRXhlY3V0b3JTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvb3RBY3Rpb25FeGVjdXRvclNlcnZpY2UgPSBpbmplY3QoUm9vdEFjdGlvbkV4ZWN1dG9yU2VydmljZSk7XG5cbiAgICBwdWJsaWMgZ2V0IGluc3RhbmNlcygpOiBBY3Rpb25JbnN0YW5jZTxhbnksIGFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvb3RBY3Rpb25FeGVjdXRvclNlcnZpY2UuaW5zdGFuY2VzO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { isObservable } from 'rxjs';
|
|
3
|
-
import { DataProviderExecutor, runCreateFromDataProvider, runDeleteFromDataProvider, runFetchFromDataProvider, runFnFromDataProviderOrFallback, runGetAllFromDataProvider, runUpdateFromDataProvider } from '@mediusinc/mng-commons/tableview/api';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class DefaultDataProviderExecutor extends DataProviderExecutor {
|
|
6
|
-
runGetAll(ctx, fallback) {
|
|
7
|
-
return fallback ? runFnFromDataProviderOrFallback(ctx, runGetAllFromDataProvider, fallback) : runGetAllFromDataProvider(ctx);
|
|
8
|
-
}
|
|
9
|
-
runFetch(ctx, fetchReason, fallback) {
|
|
10
|
-
const fetchOpts = {
|
|
11
|
-
reason: fetchReason,
|
|
12
|
-
strict: false
|
|
13
|
-
};
|
|
14
|
-
if (fallback) {
|
|
15
|
-
const dataProviderExec = runFetchFromDataProvider(ctx, fetchOpts);
|
|
16
|
-
if (isObservable(dataProviderExec)) {
|
|
17
|
-
return dataProviderExec;
|
|
18
|
-
}
|
|
19
|
-
return fallback;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return runFetchFromDataProvider(ctx, fetchOpts);
|
|
23
|
-
}
|
|
24
|
-
// return fallback ? runFnFromDataProviderOrFallback(ctx, runFetchFromDataProvider, fallback) : runFetchFromDataProvider(ctx);
|
|
25
|
-
}
|
|
26
|
-
runCreate(ctx, fallback) {
|
|
27
|
-
return fallback ? runFnFromDataProviderOrFallback(ctx, runCreateFromDataProvider, fallback) : runCreateFromDataProvider(ctx);
|
|
28
|
-
}
|
|
29
|
-
runUpdate(ctx, fallback) {
|
|
30
|
-
return fallback ? runFnFromDataProviderOrFallback(ctx, runUpdateFromDataProvider, fallback) : runUpdateFromDataProvider(ctx);
|
|
31
|
-
}
|
|
32
|
-
runDelete(ctx, fallback) {
|
|
33
|
-
return fallback ? runFnFromDataProviderOrFallback(ctx, runDeleteFromDataProvider, fallback) : runDeleteFromDataProvider(ctx);
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DefaultDataProviderExecutor, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DefaultDataProviderExecutor }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DefaultDataProviderExecutor, decorators: [{
|
|
39
|
-
type: Injectable
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1wcm92aWRlci1leGVjdXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9hY3Rpb24vc2VydmljZXMvZGF0YS1wcm92aWRlci1leGVjdXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFhLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc5QyxPQUFPLEVBQ0gsb0JBQW9CLEVBR3BCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQzVCLE1BQU0sc0NBQXNDLENBQUM7O0FBRzlDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxvQkFBb0I7SUFPakQsU0FBUyxDQUNyQixHQUFrRCxFQUNsRCxRQUEyQztRQUUzQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsR0FBRyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqSSxDQUFDO0lBZ0JlLFFBQVEsQ0FDcEIsR0FBa0QsRUFDbEQsV0FBMkQsRUFDM0QsUUFBcUM7UUFFckMsTUFBTSxTQUFTLEdBQUc7WUFDZCxNQUFNLEVBQUUsV0FBVztZQUNuQixNQUFNLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLE1BQU0sZ0JBQWdCLEdBQUcsd0JBQXdCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2xFLElBQUksWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxnQkFBZ0IsQ0FBQztZQUM1QixDQUFDO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsOEhBQThIO0lBQ2xJLENBQUM7SUFLZSxTQUFTLENBQ3JCLEdBQWtELEVBQ2xELFFBQXFDO1FBRXJDLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7SUFLZSxTQUFTLENBQ3JCLEdBQWtELEVBQ2xELFFBQXFDO1FBRXJDLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7SUFLZSxTQUFTLENBQ3JCLEdBQWtELEVBQ2xELFFBQXFDO1FBRXJDLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7K0dBN0VRLDJCQUEyQjttSEFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBpc09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0RhdGFMaXN0UmVzdWx0LCBOdWxsYWJsZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7XG4gICAgRGF0YVByb3ZpZGVyRXhlY3V0b3IsXG4gICAgSUFjdGlvbkNvbnRleHQsXG4gICAgUnVuRmV0Y2hGcm9tRGF0YVByb3ZpZGVyUmVhc29uVHlwZSxcbiAgICBydW5DcmVhdGVGcm9tRGF0YVByb3ZpZGVyLFxuICAgIHJ1bkRlbGV0ZUZyb21EYXRhUHJvdmlkZXIsXG4gICAgcnVuRmV0Y2hGcm9tRGF0YVByb3ZpZGVyLFxuICAgIHJ1bkZuRnJvbURhdGFQcm92aWRlck9yRmFsbGJhY2ssXG4gICAgcnVuR2V0QWxsRnJvbURhdGFQcm92aWRlcixcbiAgICBydW5VcGRhdGVGcm9tRGF0YVByb3ZpZGVyXG59IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0RGF0YVByb3ZpZGVyRXhlY3V0b3IgZXh0ZW5kcyBEYXRhUHJvdmlkZXJFeGVjdXRvciB7XG4gICAgcHVibGljIG92ZXJyaWRlIHJ1bkdldEFsbDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4oY3R4OiBJQWN0aW9uQ29udGV4dDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4pOiBPYnNlcnZhYmxlPERhdGFMaXN0UmVzdWx0PEl0ZW0+PiB8IG51bGw7XG4gICAgcHVibGljIG92ZXJyaWRlIHJ1bkdldEFsbDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4oXG4gICAgICAgIGN0eDogSUFjdGlvbkNvbnRleHQ8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+LFxuICAgICAgICBmYWxsYmFjazogT2JzZXJ2YWJsZTxEYXRhTGlzdFJlc3VsdDxJdGVtPj5cbiAgICApOiBPYnNlcnZhYmxlPERhdGFMaXN0UmVzdWx0PEl0ZW0+PjtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuR2V0QWxsPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihjdHg6IElBY3Rpb25Db250ZXh0PEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPiwgZmFsbGJhY2s6IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8RGF0YUxpc3RSZXN1bHQ8SXRlbT4+IHwgbnVsbDtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuR2V0QWxsPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihcbiAgICAgICAgY3R4OiBJQWN0aW9uQ29udGV4dDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4sXG4gICAgICAgIGZhbGxiYWNrPzogT2JzZXJ2YWJsZTxEYXRhTGlzdFJlc3VsdDxJdGVtPj5cbiAgICApOiBPYnNlcnZhYmxlPERhdGFMaXN0UmVzdWx0PEl0ZW0+PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gZmFsbGJhY2sgPyBydW5GbkZyb21EYXRhUHJvdmlkZXJPckZhbGxiYWNrKGN0eCwgcnVuR2V0QWxsRnJvbURhdGFQcm92aWRlciwgZmFsbGJhY2spIDogcnVuR2V0QWxsRnJvbURhdGFQcm92aWRlcihjdHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBydW5GZXRjaDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4oXG4gICAgICAgIGN0eDogSUFjdGlvbkNvbnRleHQ8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+LFxuICAgICAgICBmZXRjaFJlYXNvbj86IFJ1bkZldGNoRnJvbURhdGFQcm92aWRlclJlYXNvblR5cGVcbiAgICApOiBPYnNlcnZhYmxlPEl0ZW0+IHwgbnVsbDtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuRmV0Y2g8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+KFxuICAgICAgICBjdHg6IElBY3Rpb25Db250ZXh0PEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPixcbiAgICAgICAgZmV0Y2hSZWFzb246IFJ1bkZldGNoRnJvbURhdGFQcm92aWRlclJlYXNvblR5cGUgfCB1bmRlZmluZWQsXG4gICAgICAgIGZhbGxiYWNrOiBPYnNlcnZhYmxlPE51bGxhYmxlPEl0ZW0+PlxuICAgICk6IE9ic2VydmFibGU8TnVsbGFibGU8SXRlbT4+O1xuICAgIHB1YmxpYyBvdmVycmlkZSBydW5GZXRjaDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4oXG4gICAgICAgIGN0eDogSUFjdGlvbkNvbnRleHQ8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+LFxuICAgICAgICBmZXRjaFJlYXNvbjogUnVuRmV0Y2hGcm9tRGF0YVByb3ZpZGVyUmVhc29uVHlwZSB8IHVuZGVmaW5lZCxcbiAgICAgICAgZmFsbGJhY2s6IHVuZGVmaW5lZFxuICAgICk6IE9ic2VydmFibGU8TnVsbGFibGU8SXRlbT4+IHwgbnVsbDtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuRmV0Y2g8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+KFxuICAgICAgICBjdHg6IElBY3Rpb25Db250ZXh0PEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPixcbiAgICAgICAgZmV0Y2hSZWFzb246IFJ1bkZldGNoRnJvbURhdGFQcm92aWRlclJlYXNvblR5cGUgfCB1bmRlZmluZWQsXG4gICAgICAgIGZhbGxiYWNrPzogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj5cbiAgICApOiBPYnNlcnZhYmxlPE51bGxhYmxlPEl0ZW0+PiB8IG51bGwge1xuICAgICAgICBjb25zdCBmZXRjaE9wdHMgPSB7XG4gICAgICAgICAgICByZWFzb246IGZldGNoUmVhc29uLFxuICAgICAgICAgICAgc3RyaWN0OiBmYWxzZVxuICAgICAgICB9O1xuICAgICAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFQcm92aWRlckV4ZWMgPSBydW5GZXRjaEZyb21EYXRhUHJvdmlkZXIoY3R4LCBmZXRjaE9wdHMpO1xuICAgICAgICAgICAgaWYgKGlzT2JzZXJ2YWJsZShkYXRhUHJvdmlkZXJFeGVjKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhUHJvdmlkZXJFeGVjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbGxiYWNrO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHJ1bkZldGNoRnJvbURhdGFQcm92aWRlcihjdHgsIGZldGNoT3B0cyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gcmV0dXJuIGZhbGxiYWNrID8gcnVuRm5Gcm9tRGF0YVByb3ZpZGVyT3JGYWxsYmFjayhjdHgsIHJ1bkZldGNoRnJvbURhdGFQcm92aWRlciwgZmFsbGJhY2spIDogcnVuRmV0Y2hGcm9tRGF0YVByb3ZpZGVyKGN0eCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIHJ1bkNyZWF0ZTxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4oY3R4OiBJQWN0aW9uQ29udGV4dDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4pOiBPYnNlcnZhYmxlPEl0ZW0+IHwgbnVsbDtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuQ3JlYXRlPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihjdHg6IElBY3Rpb25Db250ZXh0PEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPiwgZmFsbGJhY2s6IE9ic2VydmFibGU8TnVsbGFibGU8SXRlbT4+KTogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj47XG4gICAgcHVibGljIG92ZXJyaWRlIHJ1bkNyZWF0ZTxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4oY3R4OiBJQWN0aW9uQ29udGV4dDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4sIGZhbGxiYWNrOiB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPE51bGxhYmxlPEl0ZW0+PiB8IG51bGw7XG4gICAgcHVibGljIG92ZXJyaWRlIHJ1bkNyZWF0ZTxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4oXG4gICAgICAgIGN0eDogSUFjdGlvbkNvbnRleHQ8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+LFxuICAgICAgICBmYWxsYmFjaz86IE9ic2VydmFibGU8TnVsbGFibGU8SXRlbT4+XG4gICAgKTogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj4gfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIGZhbGxiYWNrID8gcnVuRm5Gcm9tRGF0YVByb3ZpZGVyT3JGYWxsYmFjayhjdHgsIHJ1bkNyZWF0ZUZyb21EYXRhUHJvdmlkZXIsIGZhbGxiYWNrKSA6IHJ1bkNyZWF0ZUZyb21EYXRhUHJvdmlkZXIoY3R4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuVXBkYXRlPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihjdHg6IElBY3Rpb25Db250ZXh0PEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPik6IE9ic2VydmFibGU8SXRlbT4gfCBudWxsO1xuICAgIHB1YmxpYyBvdmVycmlkZSBydW5VcGRhdGU8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+KGN0eDogSUFjdGlvbkNvbnRleHQ8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+LCBmYWxsYmFjazogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj4pOiBPYnNlcnZhYmxlPE51bGxhYmxlPEl0ZW0+PjtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuVXBkYXRlPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihjdHg6IElBY3Rpb25Db250ZXh0PEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPiwgZmFsbGJhY2s6IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8TnVsbGFibGU8SXRlbT4+IHwgbnVsbDtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuVXBkYXRlPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihcbiAgICAgICAgY3R4OiBJQWN0aW9uQ29udGV4dDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4sXG4gICAgICAgIGZhbGxiYWNrPzogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj5cbiAgICApOiBPYnNlcnZhYmxlPE51bGxhYmxlPEl0ZW0+PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gZmFsbGJhY2sgPyBydW5GbkZyb21EYXRhUHJvdmlkZXJPckZhbGxiYWNrKGN0eCwgcnVuVXBkYXRlRnJvbURhdGFQcm92aWRlciwgZmFsbGJhY2spIDogcnVuVXBkYXRlRnJvbURhdGFQcm92aWRlcihjdHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBydW5EZWxldGU8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+KGN0eDogSUFjdGlvbkNvbnRleHQ8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+KTogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj4gfCBudWxsO1xuICAgIHB1YmxpYyBvdmVycmlkZSBydW5EZWxldGU8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+KGN0eDogSUFjdGlvbkNvbnRleHQ8SXRlbSwgUGFyYW1ldGVyc0l0ZW0sIFNlcnZpY2U+LCBmYWxsYmFjazogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj4pOiBPYnNlcnZhYmxlPE51bGxhYmxlPEl0ZW0+PjtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuRGVsZXRlPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihjdHg6IElBY3Rpb25Db250ZXh0PEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPiwgZmFsbGJhY2s6IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8TnVsbGFibGU8SXRlbT4+IHwgbnVsbDtcbiAgICBwdWJsaWMgb3ZlcnJpZGUgcnVuRGVsZXRlPEl0ZW0sIFBhcmFtZXRlcnNJdGVtLCBTZXJ2aWNlPihcbiAgICAgICAgY3R4OiBJQWN0aW9uQ29udGV4dDxJdGVtLCBQYXJhbWV0ZXJzSXRlbSwgU2VydmljZT4sXG4gICAgICAgIGZhbGxiYWNrPzogT2JzZXJ2YWJsZTxOdWxsYWJsZTxJdGVtPj5cbiAgICApOiBPYnNlcnZhYmxlPE51bGxhYmxlPEl0ZW0+PiB8IG51bGwge1xuICAgICAgICByZXR1cm4gZmFsbGJhY2sgPyBydW5GbkZyb21EYXRhUHJvdmlkZXJPckZhbGxiYWNrKGN0eCwgcnVuRGVsZXRlRnJvbURhdGFQcm92aWRlciwgZmFsbGJhY2spIDogcnVuRGVsZXRlRnJvbURhdGFQcm92aWRlcihjdHgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Location } from '@angular/common';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { NavigationEnd, Router } from '@angular/router';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/router";
|
|
7
|
-
import * as i2 from "@angular/common";
|
|
8
|
-
export class NavigationService {
|
|
9
|
-
constructor(router, location) {
|
|
10
|
-
this.router = router;
|
|
11
|
-
this.location = location;
|
|
12
|
-
this.history = [];
|
|
13
|
-
this.router.events.pipe(takeUntilDestroyed()).subscribe(event => {
|
|
14
|
-
if (event instanceof NavigationEnd) {
|
|
15
|
-
this.history.push(event.urlAfterRedirects);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
getCurrentLocationFromHistory() {
|
|
20
|
-
if (this.history.length > 0) {
|
|
21
|
-
return this.history[this.history.length - 1];
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
getCurrentLocationFromUrl() {
|
|
28
|
-
return this.location.path(true);
|
|
29
|
-
}
|
|
30
|
-
getPreviousLocationFromHistory() {
|
|
31
|
-
if (this.history.length > 1) {
|
|
32
|
-
return this.history[this.history.length - 2];
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
back() {
|
|
39
|
-
this.history.pop();
|
|
40
|
-
if (this.history.length > 0) {
|
|
41
|
-
this.location.back();
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
this.router.navigateByUrl('/');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavigationService, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavigationService }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavigationService, decorators: [{
|
|
51
|
-
type: Injectable
|
|
52
|
-
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.Location }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9hY3Rpb24vc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFHdEQsTUFBTSxPQUFPLGlCQUFpQjtJQUcxQixZQUNZLE1BQWMsRUFDZCxRQUFrQjtRQURsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUp0QixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQU1oQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1RCxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDL0MsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLDZCQUE2QjtRQUNoQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0lBRU0seUJBQXlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLDhCQUE4QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7SUFDTCxDQUFDO0lBRU0sSUFBSTtRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNMLENBQUM7K0dBekNRLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSBoaXN0b3J5OiBBcnJheTxzdHJpbmc+ID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb25cbiAgICApIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5LnB1c2goZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q3VycmVudExvY2F0aW9uRnJvbUhpc3RvcnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmhpc3RvcnkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGlzdG9yeVt0aGlzLmhpc3RvcnkubGVuZ3RoIC0gMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDdXJyZW50TG9jYXRpb25Gcm9tVXJsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbi5wYXRoKHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQcmV2aW91c0xvY2F0aW9uRnJvbUhpc3RvcnkoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmhpc3RvcnkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGlzdG9yeVt0aGlzLmhpc3RvcnkubGVuZ3RoIC0gMl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBiYWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpc3RvcnkucG9wKCk7XG4gICAgICAgIGlmICh0aGlzLmhpc3RvcnkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbi5iYWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ActionExecutorService } from '../action-executor.service';
|
|
2
|
-
import { ComponentActionExecutorService } from '../component-action-executor.service';
|
|
3
|
-
export function provideActionExecutor() {
|
|
4
|
-
return {
|
|
5
|
-
provide: ActionExecutorService,
|
|
6
|
-
useClass: ComponentActionExecutorService
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1hY3Rpb24tZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvc3JjL2FjdGlvbi9zZXJ2aWNlcy9wcm92aWRlcnMvcHJvdmlkZS1hY3Rpb24tZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFFcEYsTUFBTSxVQUFVLHFCQUFxQjtJQUNqQyxPQUFPO1FBQ0gsT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixRQUFRLEVBQUUsOEJBQThCO0tBQzNDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QWN0aW9uRXhlY3V0b3JTZXJ2aWNlfSBmcm9tICcuLi9hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudEFjdGlvbkV4ZWN1dG9yU2VydmljZX0gZnJvbSAnLi4vY29tcG9uZW50LWFjdGlvbi1leGVjdXRvci5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBY3Rpb25FeGVjdXRvcigpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogQWN0aW9uRXhlY3V0b3JTZXJ2aWNlLFxuICAgICAgICB1c2VDbGFzczogQ29tcG9uZW50QWN0aW9uRXhlY3V0b3JTZXJ2aWNlXG4gICAgfTtcbn1cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Injector } from '@angular/core';
|
|
2
|
-
import { ViewContainer } from '../view-container.service';
|
|
3
|
-
export function provideViewContainer(provideParentIfPresent = true) {
|
|
4
|
-
return {
|
|
5
|
-
provide: ViewContainer,
|
|
6
|
-
useFactory: (injector) => {
|
|
7
|
-
if (provideParentIfPresent) {
|
|
8
|
-
return injector.get(ViewContainer, null, { optional: true, skipSelf: true }) ?? new ViewContainer();
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
return new ViewContainer();
|
|
12
|
-
}
|
|
13
|
-
},
|
|
14
|
-
deps: [Injector]
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS12aWV3LWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL3NlcnZpY2VzL3Byb3ZpZGVycy9wcm92aWRlLXZpZXctY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJO0lBQzlELE9BQU87UUFDSCxPQUFPLEVBQUUsYUFBYTtRQUN0QixVQUFVLEVBQUUsQ0FBQyxRQUFrQixFQUFFLEVBQUU7WUFDL0IsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO2dCQUN6QixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUN0RyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQy9CLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO0tBQ25CLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RvciwgUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1ZpZXdDb250YWluZXJ9IGZyb20gJy4uL3ZpZXctY29udGFpbmVyLnNlcnZpY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZpZXdDb250YWluZXIocHJvdmlkZVBhcmVudElmUHJlc2VudCA9IHRydWUpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVmlld0NvbnRhaW5lcixcbiAgICAgICAgdXNlRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVQYXJlbnRJZlByZXNlbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5qZWN0b3IuZ2V0KFZpZXdDb250YWluZXIsIG51bGwsIHtvcHRpb25hbDogdHJ1ZSwgc2tpcFNlbGY6IHRydWV9KSA/PyBuZXcgVmlld0NvbnRhaW5lcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFZpZXdDb250YWluZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGVwczogW0luamVjdG9yXVxuICAgIH07XG59XG4iXX0=
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ActionExecutorService } from './action-executor.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class RootActionExecutorService extends ActionExecutorService {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this._instances = [];
|
|
8
|
-
}
|
|
9
|
-
get instances() {
|
|
10
|
-
return this._instances;
|
|
11
|
-
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RootActionExecutorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RootActionExecutorService }); }
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RootActionExecutorService, decorators: [{
|
|
16
|
-
type: Injectable
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1hY3Rpb24tZXhlY3V0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL3NlcnZpY2VzL3Jvb3QtYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd6QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7QUFHaEUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHFCQUFxQjtJQURwRTs7UUFFcUIsZUFBVSxHQUErQixFQUFFLENBQUM7S0FLaEU7SUFIRyxJQUFXLFNBQVM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7K0dBTFEseUJBQXlCO21IQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0FjdGlvbkluc3RhbmNlfSBmcm9tICcuLi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1pbnN0YW5jZS5tb2RlbCc7XG5pbXBvcnQge0FjdGlvbkV4ZWN1dG9yU2VydmljZX0gZnJvbSAnLi9hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSb290QWN0aW9uRXhlY3V0b3JTZXJ2aWNlIGV4dGVuZHMgQWN0aW9uRXhlY3V0b3JTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbnN0YW5jZXM6IEFjdGlvbkluc3RhbmNlPGFueSwgYW55PltdID0gW107XG5cbiAgICBwdWJsaWMgZ2V0IGluc3RhbmNlcygpOiBBY3Rpb25JbnN0YW5jZTxhbnksIGFueT5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnN0YW5jZXM7XG4gICAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const ACTION_EDITOR_COMPONENT_IT = new InjectionToken('ACTION_EDITOR_COMPONENT');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWVkaXRvci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL3NlcnZpY2VzL3Rva2Vucy9hY3Rpb24tZWRpdG9yLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQU8sTUFBTSxlQUFlLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQThCLElBQUksY0FBYyxDQUFZLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFDVElPTl9FRElUT1JfQ09NUE9ORU5UX0lUOiBJbmplY3Rpb25Ub2tlbjxUeXBlPGFueT4+ID0gbmV3IEluamVjdGlvblRva2VuPFR5cGU8YW55Pj4oJ0FDVElPTl9FRElUT1JfQ09NUE9ORU5UJyk7XG4iXX0=
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Injectable, signal } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Should be used with providers defined within component.
|
|
6
|
-
*/
|
|
7
|
-
export class ViewContainer {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.dataProvider = signal(undefined);
|
|
10
|
-
this.routeTriggeredActionInstance = signal(undefined);
|
|
11
|
-
this.actions = signal([]);
|
|
12
|
-
this._tableReloadSubject = new Subject();
|
|
13
|
-
this._editorResetSubject = new Subject();
|
|
14
|
-
this._editorCloseSubject = new Subject();
|
|
15
|
-
}
|
|
16
|
-
get tableReload$() {
|
|
17
|
-
return this._tableReloadSubject.asObservable();
|
|
18
|
-
}
|
|
19
|
-
reloadTable(event) {
|
|
20
|
-
this._tableReloadSubject.next(event ?? {});
|
|
21
|
-
}
|
|
22
|
-
get editorReset$() {
|
|
23
|
-
return this._editorResetSubject.asObservable();
|
|
24
|
-
}
|
|
25
|
-
resetEditor(event) {
|
|
26
|
-
this._editorResetSubject.next(event ?? {});
|
|
27
|
-
}
|
|
28
|
-
get editorClose$() {
|
|
29
|
-
return this._editorCloseSubject.asObservable();
|
|
30
|
-
}
|
|
31
|
-
closeEditor(event) {
|
|
32
|
-
this._editorCloseSubject.next(event ?? {});
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ViewContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ViewContainer }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ViewContainer, decorators: [{
|
|
38
|
-
type: Injectable
|
|
39
|
-
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1jb250YWluZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvYWN0aW9uL3NlcnZpY2VzL3ZpZXctY29udGFpbmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFRekM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQUVXLGlCQUFZLEdBQUcsTUFBTSxDQUEyQyxTQUFTLENBQUMsQ0FBQztRQUMzRSxpQ0FBNEIsR0FBRyxNQUFNLENBQTRDLFNBQVMsQ0FBQyxDQUFDO1FBQzVGLFlBQU8sR0FBRyxNQUFNLENBQW9DLEVBQUUsQ0FBQyxDQUFDO1FBRXZELHdCQUFtQixHQUE4QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9ELHdCQUFtQixHQUFvQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3JFLHdCQUFtQixHQUFpRCxJQUFJLE9BQU8sRUFBRSxDQUFDO0tBeUI3RjtJQXZCRyxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUF3QjtRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTSxXQUFXLENBQUMsS0FBMEM7UUFDekQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQTJDO1FBQzFELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7K0dBL0JRLGFBQWE7bUhBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtJRGF0YVByb3ZpZGVyfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtUYWJsZVJlbG9hZEV2ZW50fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlL2FwaSc7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JJbnN0LCBFZGl0b3JSZXNldEV2ZW50LCBJVmlld0NvbnRhaW5lciwgVmlld0NvbnRhaW5lckVkaXRvckNsb3NlRXZlbnR9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7QWN0aW9uSW5zdGFuY2V9IGZyb20gJy4uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLm1vZGVsJztcblxuLyoqXG4gKiBTaG91bGQgYmUgdXNlZCB3aXRoIHByb3ZpZGVycyBkZWZpbmVkIHdpdGhpbiBjb21wb25lbnQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWaWV3Q29udGFpbmVyPEl0ZW0sIFNlcnZpY2UgPSB1bmRlZmluZWQ+IGltcGxlbWVudHMgSVZpZXdDb250YWluZXI8SXRlbSwgU2VydmljZSwgQWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4+IHtcbiAgICBwdWJsaWMgZGF0YVByb3ZpZGVyID0gc2lnbmFsPElEYXRhUHJvdmlkZXI8SXRlbSwgU2VydmljZT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgcHVibGljIHJvdXRlVHJpZ2dlcmVkQWN0aW9uSW5zdGFuY2UgPSBzaWduYWw8QWN0aW9uSW5zdGFuY2U8SXRlbSwgU2VydmljZT4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gICAgcHVibGljIGFjdGlvbnMgPSBzaWduYWw8QXJyYXk8QWN0aW9uRGVzY3JpcHRvckluc3Q8SXRlbT4+PihbXSk7XG5cbiAgICBwcml2YXRlIF90YWJsZVJlbG9hZFN1YmplY3Q6IFN1YmplY3Q8VGFibGVSZWxvYWRFdmVudD4gPSBuZXcgU3ViamVjdCgpO1xuICAgIHByaXZhdGUgX2VkaXRvclJlc2V0U3ViamVjdDogU3ViamVjdDxFZGl0b3JSZXNldEV2ZW50PEl0ZW0+PiA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBfZWRpdG9yQ2xvc2VTdWJqZWN0OiBTdWJqZWN0PFZpZXdDb250YWluZXJFZGl0b3JDbG9zZUV2ZW50PEl0ZW0+PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBwdWJsaWMgZ2V0IHRhYmxlUmVsb2FkJCgpOiBPYnNlcnZhYmxlPFRhYmxlUmVsb2FkRXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYmxlUmVsb2FkU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVsb2FkVGFibGUoZXZlbnQ/OiBUYWJsZVJlbG9hZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RhYmxlUmVsb2FkU3ViamVjdC5uZXh0KGV2ZW50ID8/IHt9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVkaXRvclJlc2V0JCgpOiBPYnNlcnZhYmxlPEVkaXRvclJlc2V0RXZlbnQ8SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VkaXRvclJlc2V0U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRFZGl0b3IoZXZlbnQ/OiBFZGl0b3JSZXNldEV2ZW50PEl0ZW0+IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VkaXRvclJlc2V0U3ViamVjdC5uZXh0KGV2ZW50ID8/IHt9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVkaXRvckNsb3NlJCgpOiBPYnNlcnZhYmxlPFZpZXdDb250YWluZXJFZGl0b3JDbG9zZUV2ZW50PEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0b3JDbG9zZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlRWRpdG9yKGV2ZW50PzogVmlld0NvbnRhaW5lckVkaXRvckNsb3NlRXZlbnQ8SXRlbT4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWRpdG9yQ2xvc2VTdWJqZWN0Lm5leHQoZXZlbnQgPz8ge30pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ActionDescriptorInst } from './action.descriptor';
|
|
2
|
-
export const actionGetProviderCfgObj = (serviceOrDataProvider) => {
|
|
3
|
-
const cfg = {};
|
|
4
|
-
if (serviceOrDataProvider) {
|
|
5
|
-
if (serviceOrDataProvider.isDataProvider) {
|
|
6
|
-
// type casting needed, cause there was no other way found to differentiate the types
|
|
7
|
-
cfg.dataProvider = serviceOrDataProvider;
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
cfg.serviceType = serviceOrDataProvider;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return cfg;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Creates and returns an instance of ActionDescriptorInst, allowing customization of the action's behavior through configuration options.
|
|
17
|
-
*
|
|
18
|
-
* @param {string} actionName - The unique name of the action.
|
|
19
|
-
* @param {ActionDescriptorCreateFromModelOptsType<Model, Service, RunInput, RunResult, ValidationInput>} [opts] - Optional configuration object to define the action's behavior, including model, service provider and other.
|
|
20
|
-
* @return {ActionDescriptorInst<Model, Service, RunInput, RunResult, ValidationInput>} An instance of ActionDescriptorInst configured with the provided parameters.
|
|
21
|
-
*/
|
|
22
|
-
export function action(actionName, opts) {
|
|
23
|
-
return new ActionDescriptorInst(actionName, {
|
|
24
|
-
...(opts?.serviceProvider ? actionGetProviderCfgObj(opts.serviceProvider) : {}),
|
|
25
|
-
...opts
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRlc2NyaXB0b3IuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9hcGkvc3JjL2FjdGlvbi9kZXNjcmlwdG9ycy9hY3Rpb24tZGVzY3JpcHRvci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBK0Usb0JBQW9CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQWtCdkksTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBaUIscUJBQTBELEVBQUUsRUFBRTtJQUNsSCxNQUFNLEdBQUcsR0FBMkQsRUFBRSxDQUFDO0lBQ3ZFLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUN4QixJQUFLLHFCQUF1QyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFELHFGQUFxRjtZQUNyRixHQUFHLENBQUMsWUFBWSxHQUFHLHFCQUFzRCxDQUFDO1FBQzlFLENBQUM7YUFBTSxDQUFDO1lBQ0osR0FBRyxDQUFDLFdBQVcsR0FBRyxxQkFBa0QsQ0FBQztRQUN6RSxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FDbEIsVUFBa0IsRUFDbEIsSUFBMkY7SUFFM0YsT0FBTyxJQUFJLG9CQUFvQixDQUF1RCxVQUFVLEVBQUU7UUFDOUYsR0FBRyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9FLEdBQUcsSUFBSTtLQUNWLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lEYXRhUHJvdmlkZXIsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge01vZGVsRGVzY3JpcHRvciwgVHlwZURlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JDcmVhdGVPcHRzUGFyZW50VHlwZSwgQWN0aW9uRGVzY3JpcHRvckNyZWF0ZU9wdHNQcm92aWRlclR5cGUsIEFjdGlvbkRlc2NyaXB0b3JJbnN0fSBmcm9tICcuL2FjdGlvbi5kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgQWN0aW9uRGVzY3JpcHRvckNyZWF0ZUZyb21Nb2RlbE9wdHNUeXBlPFJ1bklucHV0VHlwZSwgUnVuUmV0dXJuVHlwZSwgVmFsaWRhdGlvbklucHV0PiA9IEFjdGlvbkRlc2NyaXB0b3JDcmVhdGVPcHRzUGFyZW50VHlwZSAmIHtcbiAgICBydW5JbnB1dFR5cGU/OiBUeXBlRGVzY3JpcHRvcjxSdW5JbnB1dFR5cGU+O1xuICAgIHJ1blJldHVyblR5cGU/OiBUeXBlRGVzY3JpcHRvcjxSdW5SZXR1cm5UeXBlPjtcbiAgICB2YWxpZGF0aW9uVHlwZT86IFR5cGVEZXNjcmlwdG9yPFZhbGlkYXRpb25JbnB1dD47XG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25EZXNjcmlwdG9yQ3JlYXRlT3B0c1R5cGU8TW9kZWwsIFNlcnZpY2UsIFJ1bklucHV0VHlwZSwgUnVuUmV0dXJuVHlwZSwgVmFsaWRhdGlvbklucHV0PiA9IEFjdGlvbkRlc2NyaXB0b3JDcmVhdGVPcHRzUGFyZW50VHlwZSAmIHtcbiAgICBtb2RlbD86IE1vZGVsRGVzY3JpcHRvcjxNb2RlbD47XG4gICAgc2VydmljZVByb3ZpZGVyPzogQWN0aW9uUHJvdmlkZXJUeXBlPE1vZGVsLCBTZXJ2aWNlPjtcbiAgICBydW5JbnB1dFR5cGU/OiBUeXBlRGVzY3JpcHRvcjxSdW5JbnB1dFR5cGU+O1xuICAgIHJ1blJldHVyblR5cGU/OiBUeXBlRGVzY3JpcHRvcjxSdW5SZXR1cm5UeXBlPjtcbiAgICB2YWxpZGF0aW9uVHlwZT86IFR5cGVEZXNjcmlwdG9yPFZhbGlkYXRpb25JbnB1dD47XG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25Qcm92aWRlclR5cGU8TW9kZWwsIFNlcnZpY2U+ID0gU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPiB8IElEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2U+O1xuXG5leHBvcnQgY29uc3QgYWN0aW9uR2V0UHJvdmlkZXJDZmdPYmogPSA8TW9kZWwsIFNlcnZpY2U+KHNlcnZpY2VPckRhdGFQcm92aWRlcj86IEFjdGlvblByb3ZpZGVyVHlwZTxNb2RlbCwgU2VydmljZT4pID0+IHtcbiAgICBjb25zdCBjZmc6IEFjdGlvbkRlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPE1vZGVsLCBTZXJ2aWNlPiA9IHt9O1xuICAgIGlmIChzZXJ2aWNlT3JEYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgaWYgKChzZXJ2aWNlT3JEYXRhUHJvdmlkZXIgYXMgSURhdGFQcm92aWRlcikuaXNEYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIC8vIHR5cGUgY2FzdGluZyBuZWVkZWQsIGNhdXNlIHRoZXJlIHdhcyBubyBvdGhlciB3YXkgZm91bmQgdG8gZGlmZmVyZW50aWF0ZSB0aGUgdHlwZXNcbiAgICAgICAgICAgIGNmZy5kYXRhUHJvdmlkZXIgPSBzZXJ2aWNlT3JEYXRhUHJvdmlkZXIgYXMgSURhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZT47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjZmcuc2VydmljZVR5cGUgPSBzZXJ2aWNlT3JEYXRhUHJvdmlkZXIgYXMgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2ZnO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCByZXR1cm5zIGFuIGluc3RhbmNlIG9mIEFjdGlvbkRlc2NyaXB0b3JJbnN0LCBhbGxvd2luZyBjdXN0b21pemF0aW9uIG9mIHRoZSBhY3Rpb24ncyBiZWhhdmlvciB0aHJvdWdoIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYWN0aW9uTmFtZSAtIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgYWN0aW9uLlxuICogQHBhcmFtIHtBY3Rpb25EZXNjcmlwdG9yQ3JlYXRlRnJvbU1vZGVsT3B0c1R5cGU8TW9kZWwsIFNlcnZpY2UsIFJ1bklucHV0LCBSdW5SZXN1bHQsIFZhbGlkYXRpb25JbnB1dD59IFtvcHRzXSAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIGRlZmluZSB0aGUgYWN0aW9uJ3MgYmVoYXZpb3IsIGluY2x1ZGluZyBtb2RlbCwgc2VydmljZSBwcm92aWRlciBhbmQgb3RoZXIuXG4gKiBAcmV0dXJuIHtBY3Rpb25EZXNjcmlwdG9ySW5zdDxNb2RlbCwgU2VydmljZSwgUnVuSW5wdXQsIFJ1blJlc3VsdCwgVmFsaWRhdGlvbklucHV0Pn0gQW4gaW5zdGFuY2Ugb2YgQWN0aW9uRGVzY3JpcHRvckluc3QgY29uZmlndXJlZCB3aXRoIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uPE1vZGVsLCBTZXJ2aWNlID0gdW5kZWZpbmVkLCBSdW5JbnB1dCA9IE1vZGVsLCBSdW5SZXN1bHQgPSBNb2RlbCwgVmFsaWRhdGlvbklucHV0ID0gTW9kZWw+KFxuICAgIGFjdGlvbk5hbWU6IHN0cmluZyxcbiAgICBvcHRzPzogQWN0aW9uRGVzY3JpcHRvckNyZWF0ZU9wdHNUeXBlPE1vZGVsLCBTZXJ2aWNlLCBSdW5JbnB1dCwgUnVuUmVzdWx0LCBWYWxpZGF0aW9uSW5wdXQ+XG4pOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxNb2RlbCwgU2VydmljZSwgUnVuSW5wdXQsIFJ1blJlc3VsdCwgVmFsaWRhdGlvbklucHV0PiB7XG4gICAgcmV0dXJuIG5ldyBBY3Rpb25EZXNjcmlwdG9ySW5zdDxNb2RlbCwgU2VydmljZSwgUnVuSW5wdXQsIFJ1blJlc3VsdCwgVmFsaWRhdGlvbklucHV0PihhY3Rpb25OYW1lLCB7XG4gICAgICAgIC4uLihvcHRzPy5zZXJ2aWNlUHJvdmlkZXIgPyBhY3Rpb25HZXRQcm92aWRlckNmZ09iaihvcHRzLnNlcnZpY2VQcm92aWRlcikgOiB7fSksXG4gICAgICAgIC4uLm9wdHNcbiAgICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { ActionEditorDescriptorInst } from './action-editor.descriptor';
|
|
2
|
-
export const actionEditorGetProviderCfgObj = (serviceOrDataProvider) => {
|
|
3
|
-
const cfg = {};
|
|
4
|
-
if (serviceOrDataProvider) {
|
|
5
|
-
if (serviceOrDataProvider.isDataProvider) {
|
|
6
|
-
// type casting needed, cause there was no other way found to differentiate the types
|
|
7
|
-
cfg.dataProvider = serviceOrDataProvider;
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
cfg.serviceType = serviceOrDataProvider;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return cfg;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Creates an ActionEditorDescriptorInst instance with the provided editor descriptor and options.
|
|
17
|
-
*
|
|
18
|
-
* @param {string} actionName - The name of the action to associate with the editor.
|
|
19
|
-
* @param {EditorDescriptorInst<EditorModel, any>} editor - The editor descriptor instance to be used.
|
|
20
|
-
* @param {ActionEditorDescriptorOptsType<Model, Service, FetchInput, SubmitReturn, ValidationInput>} [opts] - Optional configuration options for the ActionEditor.
|
|
21
|
-
* @return {ActionEditorDescriptorInst<Model, Service, EditorModel, FetchInput, SubmitReturn, ValidationInput>} An instance of ActionEditorDescriptor with the configured parameters.
|
|
22
|
-
*/
|
|
23
|
-
export function actionEditor(actionName, editor, opts) {
|
|
24
|
-
return new ActionEditorDescriptorInst(editor, actionName, {
|
|
25
|
-
...opts,
|
|
26
|
-
...(opts?.serviceProvider ? actionEditorGetProviderCfgObj(opts.serviceProvider) : {}),
|
|
27
|
-
model: opts?.model
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWVkaXRvci1kZXNjcmlwdG9yLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy9hY3Rpb24vZGVzY3JpcHRvcnMvYWN0aW9uLWVkaXRvci1kZXNjcmlwdG9yLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUErQywwQkFBMEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBYXBILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQWlCLHFCQUFnRSxFQUFFLEVBQUU7SUFDOUgsTUFBTSxHQUFHLEdBQWlFLEVBQUUsQ0FBQztJQUM3RSxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDeEIsSUFBSyxxQkFBNkMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNoRSxxRkFBcUY7WUFDckYsR0FBRyxDQUFDLFlBQVksR0FBRyxxQkFBNEQsQ0FBQztRQUNwRixDQUFDO2FBQU0sQ0FBQztZQUNKLEdBQUcsQ0FBQyxXQUFXLEdBQUcscUJBQWtELENBQUM7UUFDekUsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUN4QixVQUFrQixFQUNsQixNQUE4QyxFQUM5QyxJQUFnRztJQUVoRyxPQUFPLElBQUksMEJBQTBCLENBQXlFLE1BQU0sRUFBRSxVQUFVLEVBQUU7UUFDOUgsR0FBRyxJQUFJO1FBQ1AsR0FBRyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JGLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztLQUNyQixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3IsIFR5cGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtJRWRpdG9yRGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi9lZGl0b3IvZGF0YS1wcm92aWRlcnMvZWRpdG9yLmRhdGEtcHJvdmlkZXInO1xuaW1wb3J0IHtFZGl0b3JEZXNjcmlwdG9ySW5zdH0gZnJvbSAnLi4vLi4vZWRpdG9yL2Rlc2NyaXB0b3JzL2VkaXRvci5kZXNjcmlwdG9yJztcbmltcG9ydCB7QWN0aW9uRWRpdG9yRGVzY3JpcHRvckNyZWF0ZU9wdHNQcm92aWRlclR5cGUsIEFjdGlvbkVkaXRvckRlc2NyaXB0b3JJbnN0fSBmcm9tICcuL2FjdGlvbi1lZGl0b3IuZGVzY3JpcHRvcic7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JDcmVhdGVPcHRzUGFyZW50VHlwZX0gZnJvbSAnLi9hY3Rpb24uZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkVkaXRvclByb3ZpZGVyVHlwZTxNb2RlbCwgU2VydmljZT4gPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+IHwgSUVkaXRvckRhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZT47XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkVkaXRvckRlc2NyaXB0b3JPcHRzVHlwZTxNb2RlbCwgU2VydmljZSwgRmV0Y2hJbnB1dCwgU3VibWl0UmV0dXJuLCBWYWxpZGF0aW9uSW5wdXQ+ID0gQWN0aW9uRGVzY3JpcHRvckNyZWF0ZU9wdHNQYXJlbnRUeXBlICYge1xuICAgIG1vZGVsPzogTW9kZWxEZXNjcmlwdG9yPE1vZGVsPjtcbiAgICBzZXJ2aWNlUHJvdmlkZXI/OiBBY3Rpb25FZGl0b3JQcm92aWRlclR5cGU8TW9kZWwsIFNlcnZpY2U+O1xuICAgIGZldGNoSW5wdXRUeXBlPzogVHlwZURlc2NyaXB0b3I8RmV0Y2hJbnB1dD47XG4gICAgc3VibWl0UmV0dXJuVHlwZT86IFR5cGVEZXNjcmlwdG9yPFN1Ym1pdFJldHVybj47XG4gICAgdmFsaWRhdGlvblR5cGU/OiBUeXBlRGVzY3JpcHRvcjxWYWxpZGF0aW9uSW5wdXQ+O1xufTtcblxuZXhwb3J0IGNvbnN0IGFjdGlvbkVkaXRvckdldFByb3ZpZGVyQ2ZnT2JqID0gPE1vZGVsLCBTZXJ2aWNlPihzZXJ2aWNlT3JEYXRhUHJvdmlkZXI/OiBBY3Rpb25FZGl0b3JQcm92aWRlclR5cGU8TW9kZWwsIFNlcnZpY2U+KSA9PiB7XG4gICAgY29uc3QgY2ZnOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yQ3JlYXRlT3B0c1Byb3ZpZGVyVHlwZTxNb2RlbCwgU2VydmljZT4gPSB7fTtcbiAgICBpZiAoc2VydmljZU9yRGF0YVByb3ZpZGVyKSB7XG4gICAgICAgIGlmICgoc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIElFZGl0b3JEYXRhUHJvdmlkZXIpLmlzRGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICAvLyB0eXBlIGNhc3RpbmcgbmVlZGVkLCBjYXVzZSB0aGVyZSB3YXMgbm8gb3RoZXIgd2F5IGZvdW5kIHRvIGRpZmZlcmVudGlhdGUgdGhlIHR5cGVzXG4gICAgICAgICAgICBjZmcuZGF0YVByb3ZpZGVyID0gc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIElFZGl0b3JEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2U+O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2ZnLnNlcnZpY2VUeXBlID0gc2VydmljZU9yRGF0YVByb3ZpZGVyIGFzIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT47XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNmZztcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdCBpbnN0YW5jZSB3aXRoIHRoZSBwcm92aWRlZCBlZGl0b3IgZGVzY3JpcHRvciBhbmQgb3B0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gYWN0aW9uTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBhY3Rpb24gdG8gYXNzb2NpYXRlIHdpdGggdGhlIGVkaXRvci5cbiAqIEBwYXJhbSB7RWRpdG9yRGVzY3JpcHRvckluc3Q8RWRpdG9yTW9kZWwsIGFueT59IGVkaXRvciAtIFRoZSBlZGl0b3IgZGVzY3JpcHRvciBpbnN0YW5jZSB0byBiZSB1c2VkLlxuICogQHBhcmFtIHtBY3Rpb25FZGl0b3JEZXNjcmlwdG9yT3B0c1R5cGU8TW9kZWwsIFNlcnZpY2UsIEZldGNoSW5wdXQsIFN1Ym1pdFJldHVybiwgVmFsaWRhdGlvbklucHV0Pn0gW29wdHNdIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQWN0aW9uRWRpdG9yLlxuICogQHJldHVybiB7QWN0aW9uRWRpdG9yRGVzY3JpcHRvckluc3Q8TW9kZWwsIFNlcnZpY2UsIEVkaXRvck1vZGVsLCBGZXRjaElucHV0LCBTdWJtaXRSZXR1cm4sIFZhbGlkYXRpb25JbnB1dD59IEFuIGluc3RhbmNlIG9mIEFjdGlvbkVkaXRvckRlc2NyaXB0b3Igd2l0aCB0aGUgY29uZmlndXJlZCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWN0aW9uRWRpdG9yPEVkaXRvck1vZGVsLCBNb2RlbCA9IEVkaXRvck1vZGVsLCBTZXJ2aWNlID0gdW5kZWZpbmVkLCBGZXRjaElucHV0ID0gTW9kZWwsIFN1Ym1pdFJldHVybiA9IE1vZGVsLCBWYWxpZGF0aW9uSW5wdXQgPSBNb2RlbD4oXG4gICAgYWN0aW9uTmFtZTogc3RyaW5nLFxuICAgIGVkaXRvcjogRWRpdG9yRGVzY3JpcHRvckluc3Q8RWRpdG9yTW9kZWwsIGFueT4sXG4gICAgb3B0cz86IEFjdGlvbkVkaXRvckRlc2NyaXB0b3JPcHRzVHlwZTxNb2RlbCwgU2VydmljZSwgRmV0Y2hJbnB1dCwgU3VibWl0UmV0dXJuLCBWYWxpZGF0aW9uSW5wdXQ+XG4pOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdDxNb2RlbCwgU2VydmljZSwgRWRpdG9yTW9kZWwsIEZldGNoSW5wdXQsIFN1Ym1pdFJldHVybiwgVmFsaWRhdGlvbklucHV0PiB7XG4gICAgcmV0dXJuIG5ldyBBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdDxNb2RlbCwgU2VydmljZSwgRWRpdG9yTW9kZWwsIEZldGNoSW5wdXQsIFN1Ym1pdFJldHVybiwgVmFsaWRhdGlvbklucHV0PihlZGl0b3IsIGFjdGlvbk5hbWUsIHtcbiAgICAgICAgLi4ub3B0cyxcbiAgICAgICAgLi4uKG9wdHM/LnNlcnZpY2VQcm92aWRlciA/IGFjdGlvbkVkaXRvckdldFByb3ZpZGVyQ2ZnT2JqKG9wdHMuc2VydmljZVByb3ZpZGVyKSA6IHt9KSxcbiAgICAgICAgbW9kZWw6IG9wdHM/Lm1vZGVsXG4gICAgfSk7XG59XG4iXX0=
|
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import { CommonsInternalError, StyleSizeEnum } from '@mediusinc/mng-commons/core';
|
|
2
|
-
import { EditorDataProviderInst } from '../../editor/data-providers/editor.data-provider';
|
|
3
|
-
import { ActionEditorSubmitTypeEnum, ActionPositionEnum, ActionTypeEnum } from '../models/action.type';
|
|
4
|
-
import { ActionDescriptorInst } from './action.descriptor';
|
|
5
|
-
export class ActionEditorDescriptorInst extends ActionDescriptorInst {
|
|
6
|
-
constructor(editorDescriptor, actionName, cfg) {
|
|
7
|
-
super(actionName, {
|
|
8
|
-
...cfg,
|
|
9
|
-
model: cfg?.model ?? editorDescriptor.model
|
|
10
|
-
});
|
|
11
|
-
this._dataProvider = undefined;
|
|
12
|
-
this._editorActions = [];
|
|
13
|
-
this._editorTitle = undefined;
|
|
14
|
-
this._editorTitleParams = undefined;
|
|
15
|
-
this._dialogSize = StyleSizeEnum.Normal;
|
|
16
|
-
this._resubmitRefetch = true;
|
|
17
|
-
this._unsavedChangesConfirmation = false;
|
|
18
|
-
if (cfg?.serviceType) {
|
|
19
|
-
this._dataProvider = new EditorDataProviderInst(cfg.serviceType);
|
|
20
|
-
}
|
|
21
|
-
else if (cfg?.dataProvider) {
|
|
22
|
-
this._dataProvider = cfg.dataProvider;
|
|
23
|
-
}
|
|
24
|
-
this._type = ActionTypeEnum.Editor;
|
|
25
|
-
this._editorDescriptor = editorDescriptor;
|
|
26
|
-
this._editorActions.push(actionEditorSubmit(this), actionEditorCancel(this));
|
|
27
|
-
}
|
|
28
|
-
get editorTitle() {
|
|
29
|
-
return this._editorTitle;
|
|
30
|
-
}
|
|
31
|
-
get editorTitleParams() {
|
|
32
|
-
return this._editorTitleParams;
|
|
33
|
-
}
|
|
34
|
-
get editorDescriptor() {
|
|
35
|
-
return this._editorDescriptor;
|
|
36
|
-
}
|
|
37
|
-
get dialogSize() {
|
|
38
|
-
return this._dialogSize;
|
|
39
|
-
}
|
|
40
|
-
get dialogClassName() {
|
|
41
|
-
return this._dialogClassName;
|
|
42
|
-
}
|
|
43
|
-
get fetchNotificationOnSuccess() {
|
|
44
|
-
return this._fetchNotificationOnSuccess;
|
|
45
|
-
}
|
|
46
|
-
get fetchNotificationOnError() {
|
|
47
|
-
return this._fetchNotificationOnError;
|
|
48
|
-
}
|
|
49
|
-
get dataProvider() {
|
|
50
|
-
return this._dataProvider;
|
|
51
|
-
}
|
|
52
|
-
get hasRunFunction() {
|
|
53
|
-
throw new CommonsInternalError(`Run function cannot be used in editor action for ${this._actionNameLong}. Use submit function instead`);
|
|
54
|
-
}
|
|
55
|
-
get runFunction() {
|
|
56
|
-
throw new CommonsInternalError(`Run function cannot be used in editor action for ${this._actionNameLong}. Use submit function instead`);
|
|
57
|
-
}
|
|
58
|
-
get hasFetchFunction() {
|
|
59
|
-
return typeof this._fetchFunction === 'function';
|
|
60
|
-
}
|
|
61
|
-
get fetchFunction() {
|
|
62
|
-
return this._fetchFunction;
|
|
63
|
-
}
|
|
64
|
-
get hasSubmitFunction() {
|
|
65
|
-
return typeof this._fetchFunction === 'function';
|
|
66
|
-
}
|
|
67
|
-
get submitFunction() {
|
|
68
|
-
return this._submitFunction;
|
|
69
|
-
}
|
|
70
|
-
get editorActions() {
|
|
71
|
-
return this._editorActions;
|
|
72
|
-
}
|
|
73
|
-
get editorComponent() {
|
|
74
|
-
return this._editorComponent;
|
|
75
|
-
}
|
|
76
|
-
get resubmitEnabled() {
|
|
77
|
-
return this._resubmitEnabled;
|
|
78
|
-
}
|
|
79
|
-
get resubmitRefetch() {
|
|
80
|
-
return this._resubmitRefetch;
|
|
81
|
-
}
|
|
82
|
-
get unsavedChangesConfirmation() {
|
|
83
|
-
return this._unsavedChangesConfirmation;
|
|
84
|
-
}
|
|
85
|
-
withEditorTitle(title, params) {
|
|
86
|
-
this._editorTitle = title;
|
|
87
|
-
this._editorTitleParams = params;
|
|
88
|
-
return this;
|
|
89
|
-
}
|
|
90
|
-
withDialogSize(size = StyleSizeEnum.Normal) {
|
|
91
|
-
this._dialogSize = size;
|
|
92
|
-
return this;
|
|
93
|
-
}
|
|
94
|
-
withDialogClassName(className) {
|
|
95
|
-
this._dialogClassName = className;
|
|
96
|
-
return this;
|
|
97
|
-
}
|
|
98
|
-
withRunFunction(fn) {
|
|
99
|
-
return this.withSubmitFunction(fn);
|
|
100
|
-
}
|
|
101
|
-
withFetchFunction(fn) {
|
|
102
|
-
this._fetchFunction = fn;
|
|
103
|
-
return this;
|
|
104
|
-
}
|
|
105
|
-
withSubmitFunction(fn) {
|
|
106
|
-
this._submitFunction = fn;
|
|
107
|
-
return this;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Override default notifications setup. Notifications can either be overridden with custom text or turned on/off.
|
|
111
|
-
*
|
|
112
|
-
* @param opts Provide config for texts or on/off flag for submit (is same as run) or fetch success/error notifications.
|
|
113
|
-
*/
|
|
114
|
-
withNotifications(opts) {
|
|
115
|
-
super.withNotifications(typeof opts === 'boolean'
|
|
116
|
-
? opts
|
|
117
|
-
: {
|
|
118
|
-
runOnSuccess: opts?.submitOnSuccess ?? opts?.runOnSuccess,
|
|
119
|
-
runOnError: opts?.submitOnError ?? opts?.runOnError
|
|
120
|
-
});
|
|
121
|
-
this._fetchNotificationOnSuccess = typeof opts === 'boolean' ? opts : opts?.fetchOnSuccess;
|
|
122
|
-
this._fetchNotificationOnError = typeof opts === 'boolean' ? opts : opts?.fetchOnError;
|
|
123
|
-
return this;
|
|
124
|
-
}
|
|
125
|
-
withEditorAction(action) {
|
|
126
|
-
this._editorActions.push(action);
|
|
127
|
-
return this;
|
|
128
|
-
}
|
|
129
|
-
withEditorActions(actions) {
|
|
130
|
-
this._editorActions = actions;
|
|
131
|
-
return this;
|
|
132
|
-
}
|
|
133
|
-
withEditorComponent(editorComponent) {
|
|
134
|
-
this._editorComponent = editorComponent;
|
|
135
|
-
return this;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Enables or disables resubmit resubmit - this means the form will not exit after successful submission, but will instead remain open.
|
|
139
|
-
*
|
|
140
|
-
* @param {boolean} [enabled=true] - Specifies whether resubmit is enabled or disabled. Defaults to true if not provided.
|
|
141
|
-
* @param {boolean} [refetch=true] - Specifies whether the data should be refetched after resubmit. If not, the data in the form stays as is. Defaults to true if not provided.
|
|
142
|
-
*
|
|
143
|
-
* @returns {this} - Returns the current instance with the resubmit configuration updated.
|
|
144
|
-
*/
|
|
145
|
-
withResubmit(enabled, refetch = true) {
|
|
146
|
-
this._resubmitEnabled = enabled;
|
|
147
|
-
this._resubmitRefetch = refetch;
|
|
148
|
-
return this;
|
|
149
|
-
}
|
|
150
|
-
withUnsavedChangesConfirmation(unsavedChangesConfirmation = true) {
|
|
151
|
-
this._unsavedChangesConfirmation = unsavedChangesConfirmation;
|
|
152
|
-
return this;
|
|
153
|
-
}
|
|
154
|
-
copyFieldsTo(descriptor) {
|
|
155
|
-
super.copyFieldsTo(descriptor);
|
|
156
|
-
descriptor._editorActions = this._editorActions.map(a => a.copy());
|
|
157
|
-
descriptor._editorTitle = this._editorTitle;
|
|
158
|
-
descriptor._editorTitleParams = this._editorTitleParams != null ? { ...this._editorTitleParams } : undefined;
|
|
159
|
-
descriptor._fetchNotificationOnSuccess = typeof this._fetchNotificationOnSuccess === 'object' ? { ...this._fetchNotificationOnSuccess } : this._fetchNotificationOnSuccess;
|
|
160
|
-
descriptor._fetchNotificationOnError = typeof this._fetchNotificationOnError === 'object' ? { ...this._fetchNotificationOnError } : this._fetchNotificationOnError;
|
|
161
|
-
descriptor._dialogSize = this._dialogSize;
|
|
162
|
-
descriptor._dialogClassName = this._dialogClassName;
|
|
163
|
-
descriptor._fetchFunction = this._fetchFunction;
|
|
164
|
-
descriptor._submitFunction = this._submitFunction;
|
|
165
|
-
descriptor._editorComponent = this._editorComponent;
|
|
166
|
-
descriptor._resubmitEnabled = this._resubmitEnabled;
|
|
167
|
-
descriptor._resubmitRefetch = this._resubmitRefetch;
|
|
168
|
-
descriptor._unsavedChangesConfirmation = this._unsavedChangesConfirmation;
|
|
169
|
-
return descriptor;
|
|
170
|
-
}
|
|
171
|
-
copy() {
|
|
172
|
-
const editor = this._editorDescriptor.copy();
|
|
173
|
-
const descriptor = new ActionEditorDescriptorInst(editor, this._actionName, {
|
|
174
|
-
dataProvider: this._dataProvider,
|
|
175
|
-
model: this._model?.copy(),
|
|
176
|
-
parentModel: this._parentModel,
|
|
177
|
-
parentProperty: this._parentProperty
|
|
178
|
-
});
|
|
179
|
-
this.copyFieldsTo(descriptor);
|
|
180
|
-
return descriptor;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
export class ActionEditorSubmitDescriptorInst extends ActionDescriptorInst {
|
|
184
|
-
constructor(editorActionName, editorActionModel, submitType = ActionEditorSubmitTypeEnum.Submit) {
|
|
185
|
-
super(submitType === ActionEditorSubmitTypeEnum.Submit ? `${editorActionName}.submit` : `${editorActionName}.cancel`, { model: editorActionModel });
|
|
186
|
-
this._submitType = submitType;
|
|
187
|
-
this._position = ActionPositionEnum.FooterRight;
|
|
188
|
-
}
|
|
189
|
-
get submitType() {
|
|
190
|
-
return this._submitType;
|
|
191
|
-
}
|
|
192
|
-
copy() {
|
|
193
|
-
const descriptor = new ActionEditorSubmitDescriptorInst(this._actionName.split('.').slice(0, -1).join('.'), this._model?.copy(), this._submitType);
|
|
194
|
-
this.copyFieldsTo(descriptor);
|
|
195
|
-
return descriptor;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* creates primary action with primary button style
|
|
200
|
-
* @param editorAction
|
|
201
|
-
* @param submitType
|
|
202
|
-
*/
|
|
203
|
-
export function actionEditorSubmit(editorAction, submitType = ActionEditorSubmitTypeEnum.Submit) {
|
|
204
|
-
return new ActionEditorSubmitDescriptorInst(editorAction.actionName, editorAction.model, submitType).withButtonOpts({
|
|
205
|
-
style: {
|
|
206
|
-
level: editorAction.button?.style?.level
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* creates secondary button with text button style
|
|
212
|
-
* @param editorAction
|
|
213
|
-
* @param submitType
|
|
214
|
-
*/
|
|
215
|
-
export function actionEditorCancel(editorAction, submitType = ActionEditorSubmitTypeEnum.Cancel) {
|
|
216
|
-
return new ActionEditorSubmitDescriptorInst(editorAction.actionName, editorAction.model, submitType).withButtonOpts({
|
|
217
|
-
style: {
|
|
218
|
-
textButton: true,
|
|
219
|
-
level: editorAction.button?.style?.level
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWVkaXRvci5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L2FwaS9zcmMvYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi1lZGl0b3IuZGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsb0JBQW9CLEVBQW9CLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR2xHLE9BQU8sRUFBQyxzQkFBc0IsRUFBc0IsTUFBTSxrREFBa0QsQ0FBQztBQUc3RyxPQUFPLEVBQUMsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDckcsT0FBTyxFQUF1QyxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBYS9GLE1BQU0sT0FBTywwQkFPWCxTQUFRLG9CQUFzRjtJQXVCNUYsWUFBbUIsZ0JBQXVELEVBQUUsVUFBa0IsRUFBRSxHQUE4RDtRQUMxSixLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ2QsR0FBRyxHQUFHO1lBQ04sS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLElBQUssZ0JBQWdCLENBQUMsS0FBMEM7U0FDcEYsQ0FBQyxDQUFDO1FBekJxQixrQkFBYSxHQUFvQyxTQUFTLENBQUM7UUFFN0UsbUJBQWMsR0FBa0UsRUFBRSxDQUFDO1FBQ25GLGlCQUFZLEdBQW1CLFNBQVMsQ0FBQztRQUN6Qyx1QkFBa0IsR0FBUyxTQUFTLENBQUM7UUFLckMsZ0JBQVcsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBU25DLHFCQUFnQixHQUFHLElBQUksQ0FBQztRQUN4QixnQ0FBMkIsR0FBRyxLQUFLLENBQUM7UUFRMUMsSUFBSSxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHNCQUFzQixDQUFnQixHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFD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QUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3BJLEtBQUssRUFBRTtZQUNILEtBQUssRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO1NBQzNDO0tBQ0osQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLFlBQWdGLEVBQ2hGLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxNQUFNO0lBRTlDLE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBcUIsWUFBWSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUNwSSxLQUFLLEVBQUU7WUFDSCxVQUFVLEVBQUUsSUFBSTtZQUNoQixLQUFLLEVBQUUsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztTQUMzQztLQUNKLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0NvbW1vbnNJbnRlcm5hbEVycm9yLCBTZXJ2aWNlQ2xhc3NUeXBlLCBTdHlsZVNpemVFbnVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuXG5pbXBvcnQge0VkaXRvckRhdGFQcm92aWRlckluc3QsIElFZGl0b3JEYXRhUHJvdmlkZXJ9IGZyb20gJy4uLy4uL2VkaXRvci9kYXRhLXByb3ZpZGVycy9lZGl0b3IuZGF0YS1wcm92aWRlcic7XG5pbXBvcnQge0VkaXRvckRlc2NyaXB0b3JJbnN0fSBmcm9tICcuLi8uLi9lZGl0b3IvZGVzY3JpcHRvcnMvZWRpdG9yLmRlc2NyaXB0b3InO1xuaW1wb3J0IHtBY3Rpb25Ob3RpZmljYXRpb25UeXBlLCBBY3Rpb25SdW5GblR5cGV9IGZyb20gJy4uL21vZGVscy9hY3Rpb24tZGVzY3JpcHRvci50eXBlcyc7XG5pbXBvcnQge0FjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLCBBY3Rpb25Qb3NpdGlvbkVudW0sIEFjdGlvblR5cGVFbnVtfSBmcm9tICcuLi9tb2RlbHMvYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yQ3JlYXRlT3B0c1BhcmVudFR5cGUsIEFjdGlvbkRlc2NyaXB0b3JJbnN0fSBmcm9tICcuL2FjdGlvbi5kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgQWN0aW9uRWRpdG9yRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8TW9kZWwsIFNlcnZpY2U+ID0gQWN0aW9uRGVzY3JpcHRvckNyZWF0ZU9wdHNQYXJlbnRUeXBlICZcbiAgICBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yQ3JlYXRlT3B0c1Byb3ZpZGVyVHlwZTxNb2RlbCwgU2VydmljZT4gJiB7XG4gICAgICAgIG1vZGVsPzogTW9kZWxEZXNjcmlwdG9yPE1vZGVsPjtcbiAgICAgICAgaXNUYWJsZXZpZXdNYWluRWRpdG9yPzogYm9vbGVhbjtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yQ3JlYXRlT3B0c1Byb3ZpZGVyVHlwZTxNb2RlbCwgU2VydmljZT4gPSB7XG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+O1xuICAgIGRhdGFQcm92aWRlcj86IElFZGl0b3JEYXRhUHJvdmlkZXI8TW9kZWwsIFNlcnZpY2U+O1xufTtcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkVkaXRvckRlc2NyaXB0b3JJbnN0PFxuICAgIEl0ZW0sXG4gICAgU2VydmljZSA9IGFueSxcbiAgICBFZGl0b3JJdGVtID0gSXRlbSxcbiAgICBGZXRjaElucHV0SXRlbSA9IEl0ZW0sXG4gICAgU3VibWl0UmV0dXJuSXRlbSA9IEl0ZW0sXG4gICAgVmFsaWRhdGlvbklucHV0SXRlbSA9IEl0ZW1cbj4gZXh0ZW5kcyBBY3Rpb25EZXNjcmlwdG9ySW5zdDxJdGVtLCBTZXJ2aWNlLCBFZGl0b3JJdGVtLCBTdWJtaXRSZXR1cm5JdGVtLCBWYWxpZGF0aW9uSW5wdXRJdGVtPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWRpdG9yRGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvckluc3Q8RWRpdG9ySXRlbSwgYW55PjtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgX2RhdGFQcm92aWRlcj86IElFZGl0b3JEYXRhUHJvdmlkZXI8SXRlbSwgYW55PiA9IHVuZGVmaW5lZDtcblxuICAgIHByb3RlY3RlZCBfZWRpdG9yQWN0aW9uczogQWN0aW9uRGVzY3JpcHRvckluc3Q8YW55LCBhbnksIEVkaXRvckl0ZW0sIGFueSwgRWRpdG9ySXRlbT5bXSA9IFtdO1xuICAgIHByb3RlY3RlZCBfZWRpdG9yVGl0bGU/OiBzdHJpbmcgfCBudWxsID0gdW5kZWZpbmVkO1xuICAgIHByb3RlY3RlZCBfZWRpdG9yVGl0bGVQYXJhbXM/OiBhbnkgPSB1bmRlZmluZWQ7XG5cbiAgICBwcm90ZWN0ZWQgX2ZldGNoTm90aWZpY2F0aW9uT25TdWNjZXNzPzogQWN0aW9uTm90aWZpY2F0aW9uVHlwZSB8IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9mZXRjaE5vdGlmaWNhdGlvbk9uRXJyb3I/OiBBY3Rpb25Ob3RpZmljYXRpb25UeXBlIHwgYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBfZGlhbG9nU2l6ZSA9IFN0eWxlU2l6ZUVudW0uTm9ybWFsO1xuICAgIHByb3RlY3RlZCBfZGlhbG9nQ2xhc3NOYW1lPzogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIF9mZXRjaEZ1bmN0aW9uPzogQWN0aW9uUnVuRm5UeXBlPEl0ZW0sIFNlcnZpY2UsIEZldGNoSW5wdXRJdGVtLCBFZGl0b3JJdGVtPjtcbiAgICBwcm90ZWN0ZWQgX3N1Ym1pdEZ1bmN0aW9uPzogQWN0aW9uUnVuRm5UeXBlPEl0ZW0sIFNlcnZpY2UsIEVkaXRvckl0ZW0sIFN1Ym1pdFJldHVybkl0ZW0+O1xuXG4gICAgcHJvdGVjdGVkIF9lZGl0b3JDb21wb25lbnQ/OiBUeXBlPGFueT47XG5cbiAgICBwcm90ZWN0ZWQgX3Jlc3VibWl0RW5hYmxlZD86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9yZXN1Ym1pdFJlZmV0Y2ggPSB0cnVlO1xuICAgIHByb3RlY3RlZCBfdW5zYXZlZENoYW5nZXNDb25maXJtYXRpb24gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihlZGl0b3JEZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxFZGl0b3JJdGVtLCBhbnk+LCBhY3Rpb25OYW1lOiBzdHJpbmcsIGNmZz86IEFjdGlvbkVkaXRvckRlc2NyaXB0b3JDb25zdHJ1Y3Rvck9wdHNUeXBlPEl0ZW0sIFNlcnZpY2U+KSB7XG4gICAgICAgIHN1cGVyKGFjdGlvbk5hbWUsIHtcbiAgICAgICAgICAgIC4uLmNmZyxcbiAgICAgICAgICAgIG1vZGVsOiBjZmc/Lm1vZGVsID8/IChlZGl0b3JEZXNjcmlwdG9yLm1vZGVsIGFzIHVua25vd24gYXMgTW9kZWxEZXNjcmlwdG9yPEl0ZW0+KVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoY2ZnPy5zZXJ2aWNlVHlwZSkge1xuICAgICAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyID0gbmV3IEVkaXRvckRhdGFQcm92aWRlckluc3Q8SXRlbSwgU2VydmljZT4oY2ZnLnNlcnZpY2VUeXBlKTtcbiAgICAgICAgfSBlbHNlIGlmIChjZmc/LmRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyID0gY2ZnLmRhdGFQcm92aWRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3R5cGUgPSBBY3Rpb25UeXBlRW51bS5FZGl0b3I7XG4gICAgICAgIHRoaXMuX2VkaXRvckRlc2NyaXB0b3IgPSBlZGl0b3JEZXNjcmlwdG9yO1xuICAgICAgICB0aGlzLl9lZGl0b3JBY3Rpb25zLnB1c2goYWN0aW9uRWRpdG9yU3VibWl0KHRoaXMpLCBhY3Rpb25FZGl0b3JDYW5jZWwodGhpcykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWRpdG9yVGl0bGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0b3JUaXRsZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVkaXRvclRpdGxlUGFyYW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWRpdG9yVGl0bGVQYXJhbXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlZGl0b3JEZXNjcmlwdG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWRpdG9yRGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpYWxvZ1NpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaWFsb2dTaXplO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlhbG9nQ2xhc3NOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlhbG9nQ2xhc3NOYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmV0Y2hOb3RpZmljYXRpb25PblN1Y2Nlc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mZXRjaE5vdGlmaWNhdGlvbk9uU3VjY2VzcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZldGNoTm90aWZpY2F0aW9uT25FcnJvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZldGNoTm90aWZpY2F0aW9uT25FcnJvcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRhdGFQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhhc1J1bkZ1bmN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYFJ1biBmdW5jdGlvbiBjYW5ub3QgYmUgdXNlZCBpbiBlZGl0b3IgYWN0aW9uIGZvciAke3RoaXMuX2FjdGlvbk5hbWVMb25nfS4gVXNlIHN1Ym1pdCBmdW5jdGlvbiBpbnN0ZWFkYCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBydW5GdW5jdGlvbigpOiBBY3Rpb25SdW5GblR5cGU8SXRlbSwgU2VydmljZSwgRWRpdG9ySXRlbSwgU3VibWl0UmV0dXJuSXRlbT4ge1xuICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYFJ1biBmdW5jdGlvbiBjYW5ub3QgYmUgdXNlZCBpbiBlZGl0b3IgYWN0aW9uIGZvciAke3RoaXMuX2FjdGlvbk5hbWVMb25nfS4gVXNlIHN1Ym1pdCBmdW5jdGlvbiBpbnN0ZWFkYCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBoYXNGZXRjaEZ1bmN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuX2ZldGNoRnVuY3Rpb24gPT09ICdmdW5jdGlvbic7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmZXRjaEZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmV0Y2hGdW5jdGlvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGhhc1N1Ym1pdEZ1bmN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIHRoaXMuX2ZldGNoRnVuY3Rpb24gPT09ICdmdW5jdGlvbic7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdWJtaXRGdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1Ym1pdEZ1bmN0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZWRpdG9yQWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VkaXRvckFjdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBlZGl0b3JDb21wb25lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0b3JDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXN1Ym1pdEVuYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXN1Ym1pdEVuYWJsZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByZXN1Ym1pdFJlZmV0Y2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXN1Ym1pdFJlZmV0Y2g7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB1bnNhdmVkQ2hhbmdlc0NvbmZpcm1hdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Vuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoRWRpdG9yVGl0bGUodGl0bGU6IHN0cmluZyB8IG51bGwsIHBhcmFtcz86IGFueSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9lZGl0b3JUaXRsZSA9IHRpdGxlO1xuICAgICAgICB0aGlzLl9lZGl0b3JUaXRsZVBhcmFtcyA9IHBhcmFtcztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhEaWFsb2dTaXplKHNpemUgPSBTdHlsZVNpemVFbnVtLk5vcm1hbCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaWFsb2dTaXplID0gc2l6ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhEaWFsb2dDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGlhbG9nQ2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd2l0aFJ1bkZ1bmN0aW9uKGZuOiBBY3Rpb25SdW5GblR5cGU8SXRlbSwgU2VydmljZSwgRWRpdG9ySXRlbSwgU3VibWl0UmV0dXJuSXRlbT4pOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aFN1Ym1pdEZ1bmN0aW9uKGZuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEZldGNoRnVuY3Rpb24oZm46IEFjdGlvblJ1bkZuVHlwZTxJdGVtLCBTZXJ2aWNlLCBGZXRjaElucHV0SXRlbSwgRWRpdG9ySXRlbT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmV0Y2hGdW5jdGlvbiA9IGZuO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFN1Ym1pdEZ1bmN0aW9uKGZuOiBBY3Rpb25SdW5GblR5cGU8SXRlbSwgU2VydmljZSwgRWRpdG9ySXRlbSwgU3VibWl0UmV0dXJuSXRlbT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fc3VibWl0RnVuY3Rpb24gPSBmbjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGUgZGVmYXVsdCBub3RpZmljYXRpb25zIHNldHVwLiBOb3RpZmljYXRpb25zIGNhbiBlaXRoZXIgYmUgb3ZlcnJpZGRlbiB3aXRoIGN1c3RvbSB0ZXh0IG9yIHR1cm5lZCBvbi9vZmYuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0cyBQcm92aWRlIGNvbmZpZyBmb3IgdGV4dHMgb3Igb24vb2ZmIGZsYWcgZm9yIHN1Ym1pdCAoaXMgc2FtZSBhcyBydW4pIG9yIGZldGNoIHN1Y2Nlc3MvZXJyb3Igbm90aWZpY2F0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgd2l0aE5vdGlmaWNhdGlvbnMoXG4gICAgICAgIG9wdHM/OlxuICAgICAgICAgICAgfCB7XG4gICAgICAgICAgICAgICAgICBzdWJtaXRPblN1Y2Nlc3M/OiBBY3Rpb25Ob3RpZmljYXRpb25UeXBlIHwgYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgIHN1Ym1pdE9uRXJyb3I/OiBBY3Rpb25Ob3RpZmljYXRpb25UeXBlIHwgYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgIHJ1bk9uU3VjY2Vzcz86IEFjdGlvbk5vdGlmaWNhdGlvblR5cGUgfCBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgcnVuT25FcnJvcj86IEFjdGlvbk5vdGlmaWNhdGlvblR5cGUgfCBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgZmV0Y2hPblN1Y2Nlc3M/OiBBY3Rpb25Ob3RpZmljYXRpb25UeXBlIHwgYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgIGZldGNoT25FcnJvcj86IEFjdGlvbk5vdGlmaWNhdGlvblR5cGUgfCBib29sZWFuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB8IGJvb2xlYW5cbiAgICApOiB0aGlzIHtcbiAgICAgICAgc3VwZXIud2l0aE5vdGlmaWNhdGlvbnMoXG4gICAgICAgICAgICB0eXBlb2Ygb3B0cyA9PT0gJ2Jvb2xlYW4nXG4gICAgICAgICAgICAgICAgPyBvcHRzXG4gICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgcnVuT25TdWNjZXNzOiBvcHRzPy5zdWJtaXRPblN1Y2Nlc3MgPz8gb3B0cz8ucnVuT25TdWNjZXNzLFxuICAgICAgICAgICAgICAgICAgICAgIHJ1bk9uRXJyb3I6IG9wdHM/LnN1Ym1pdE9uRXJyb3IgPz8gb3B0cz8ucnVuT25FcnJvclxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9mZXRjaE5vdGlmaWNhdGlvbk9uU3VjY2VzcyA9IHR5cGVvZiBvcHRzID09PSAnYm9vbGVhbicgPyBvcHRzIDogb3B0cz8uZmV0Y2hPblN1Y2Nlc3M7XG4gICAgICAgIHRoaXMuX2ZldGNoTm90aWZpY2F0aW9uT25FcnJvciA9IHR5cGVvZiBvcHRzID09PSAnYm9vbGVhbicgPyBvcHRzIDogb3B0cz8uZmV0Y2hPbkVycm9yO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEVkaXRvckFjdGlvbihhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3JJbnN0PGFueSwgYW55LCBFZGl0b3JJdGVtLCBhbnksIEVkaXRvckl0ZW0+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2VkaXRvckFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEVkaXRvckFjdGlvbnMoYWN0aW9uczogQWN0aW9uRGVzY3JpcHRvckluc3Q8YW55LCBhbnksIEVkaXRvckl0ZW0sIGFueSwgRWRpdG9ySXRlbT5bXSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9lZGl0b3JBY3Rpb25zID0gYWN0aW9ucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhFZGl0b3JDb21wb25lbnQoZWRpdG9yQ29tcG9uZW50OiBUeXBlPGFueT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZWRpdG9yQ29tcG9uZW50ID0gZWRpdG9yQ29tcG9uZW50O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIHJlc3VibWl0IHJlc3VibWl0IC0gdGhpcyBtZWFucyB0aGUgZm9ybSB3aWxsIG5vdCBleGl0IGFmdGVyIHN1Y2Nlc3NmdWwgc3VibWlzc2lvbiwgYnV0IHdpbGwgaW5zdGVhZCByZW1haW4gb3Blbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2VuYWJsZWQ9dHJ1ZV0gLSBTcGVjaWZpZXMgd2hldGhlciByZXN1Ym1pdCBpcyBlbmFibGVkIG9yIGRpc2FibGVkLiBEZWZhdWx0cyB0byB0cnVlIGlmIG5vdCBwcm92aWRlZC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtyZWZldGNoPXRydWVdIC0gU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGRhdGEgc2hvdWxkIGJlIHJlZmV0Y2hlZCBhZnRlciByZXN1Ym1pdC4gSWYgbm90LCB0aGUgZGF0YSBpbiB0aGUgZm9ybSBzdGF5cyBhcyBpcy4gRGVmYXVsdHMgdG8gdHJ1ZSBpZiBub3QgcHJvdmlkZWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dGhpc30gLSBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIHdpdGggdGhlIHJlc3VibWl0IGNvbmZpZ3VyYXRpb24gdXBkYXRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aFJlc3VibWl0KGVuYWJsZWQ/OiBib29sZWFuLCByZWZldGNoID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9yZXN1Ym1pdEVuYWJsZWQgPSBlbmFibGVkO1xuICAgICAgICB0aGlzLl9yZXN1Ym1pdFJlZmV0Y2ggPSByZWZldGNoO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uKHVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl91bnNhdmVkQ2hhbmdlc0NvbmZpcm1hdGlvbiA9IHVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb3B5RmllbGRzVG8oXG4gICAgICAgIGRlc2NyaXB0b3I6IEFjdGlvbkVkaXRvckRlc2NyaXB0b3JJbnN0PEl0ZW0sIFNlcnZpY2UsIEVkaXRvckl0ZW0sIEZldGNoSW5wdXRJdGVtLCBTdWJtaXRSZXR1cm5JdGVtLCBWYWxpZGF0aW9uSW5wdXRJdGVtPlxuICAgICk6IEFjdGlvbkVkaXRvckRlc2NyaXB0b3JJbnN0PEl0ZW0sIFNlcnZpY2UsIEVkaXRvckl0ZW0sIEZldGNoSW5wdXRJdGVtLCBTdWJtaXRSZXR1cm5JdGVtLCBWYWxpZGF0aW9uSW5wdXRJdGVtPiB7XG4gICAgICAgIHN1cGVyLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgZGVzY3JpcHRvci5fZWRpdG9yQWN0aW9ucyA9IHRoaXMuX2VkaXRvckFjdGlvbnMubWFwKGEgPT4gYS5jb3B5KCkpO1xuICAgICAgICBkZXNjcmlwdG9yLl9lZGl0b3JUaXRsZSA9IHRoaXMuX2VkaXRvclRpdGxlO1xuICAgICAgICBkZXNjcmlwdG9yLl9lZGl0b3JUaXRsZVBhcmFtcyA9IHRoaXMuX2VkaXRvclRpdGxlUGFyYW1zICE9IG51bGwgPyB7Li4udGhpcy5fZWRpdG9yVGl0bGVQYXJhbXN9IDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGRlc2NyaXB0b3IuX2ZldGNoTm90aWZpY2F0aW9uT25TdWNjZXNzID0gdHlwZW9mIHRoaXMuX2ZldGNoTm90aWZpY2F0aW9uT25TdWNjZXNzID09PSAnb2JqZWN0JyA/IHsuLi50aGlzLl9mZXRjaE5vdGlmaWNhdGlvbk9uU3VjY2Vzc30gOiB0aGlzLl9mZXRjaE5vdGlmaWNhdGlvbk9uU3VjY2VzcztcbiAgICAgICAgZGVzY3JpcHRvci5fZmV0Y2hOb3RpZmljYXRpb25PbkVycm9yID0gdHlwZW9mIHRoaXMuX2ZldGNoTm90aWZpY2F0aW9uT25FcnJvciA9PT0gJ29iamVjdCcgPyB7Li4udGhpcy5fZmV0Y2hOb3RpZmljYXRpb25PbkVycm9yfSA6IHRoaXMuX2ZldGNoTm90aWZpY2F0aW9uT25FcnJvcjtcblxuICAgICAgICBkZXNjcmlwdG9yLl9kaWFsb2dTaXplID0gdGhpcy5fZGlhbG9nU2l6ZTtcbiAgICAgICAgZGVzY3JpcHRvci5fZGlhbG9nQ2xhc3NOYW1lID0gdGhpcy5fZGlhbG9nQ2xhc3NOYW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9mZXRjaEZ1bmN0aW9uID0gdGhpcy5fZmV0Y2hGdW5jdGlvbjtcbiAgICAgICAgZGVzY3JpcHRvci5fc3VibWl0RnVuY3Rpb24gPSB0aGlzLl9zdWJtaXRGdW5jdGlvbjtcbiAgICAgICAgZGVzY3JpcHRvci5fZWRpdG9yQ29tcG9uZW50ID0gdGhpcy5fZWRpdG9yQ29tcG9uZW50O1xuICAgICAgICBkZXNjcmlwdG9yLl9yZXN1Ym1pdEVuYWJsZWQgPSB0aGlzLl9yZXN1Ym1pdEVuYWJsZWQ7XG4gICAgICAgIGRlc2NyaXB0b3IuX3Jlc3VibWl0UmVmZXRjaCA9IHRoaXMuX3Jlc3VibWl0UmVmZXRjaDtcbiAgICAgICAgZGVzY3JpcHRvci5fdW5zYXZlZENoYW5nZXNDb25maXJtYXRpb24gPSB0aGlzLl91bnNhdmVkQ2hhbmdlc0NvbmZpcm1hdGlvbjtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgY29weSgpOiBBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdDxJdGVtLCBTZXJ2aWNlLCBFZGl0b3JJdGVtLCBGZXRjaElucHV0SXRlbSwgU3VibWl0UmV0dXJuSXRlbSwgVmFsaWRhdGlvbklucHV0SXRlbT4ge1xuICAgICAgICBjb25zdCBlZGl0b3IgPSB0aGlzLl9lZGl0b3JEZXNjcmlwdG9yLmNvcHkoKTtcbiAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IG5ldyBBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdDxJdGVtLCBTZXJ2aWNlLCBFZGl0b3JJdGVtLCBGZXRjaElucHV0SXRlbSwgU3VibWl0UmV0dXJuSXRlbSwgVmFsaWRhdGlvbklucHV0SXRlbT4oZWRpdG9yLCB0aGlzLl9hY3Rpb25OYW1lLCB7XG4gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IHRoaXMuX2RhdGFQcm92aWRlcixcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLl9tb2RlbD8uY29weSgpLFxuICAgICAgICAgICAgcGFyZW50TW9kZWw6IHRoaXMuX3BhcmVudE1vZGVsLFxuICAgICAgICAgICAgcGFyZW50UHJvcGVydHk6IHRoaXMuX3BhcmVudFByb3BlcnR5XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3JJbnN0PE1vZGVsLCBFZGl0b3JNb2RlbD4gZXh0ZW5kcyBBY3Rpb25EZXNjcmlwdG9ySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBFZGl0b3JNb2RlbCwgRWRpdG9yTW9kZWwsIEVkaXRvck1vZGVsPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3VibWl0VHlwZTogQWN0aW9uRWRpdG9yU3VibWl0VHlwZUVudW07XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZWRpdG9yQWN0aW9uTmFtZTogc3RyaW5nLCBlZGl0b3JBY3Rpb25Nb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsPiB8IHVuZGVmaW5lZCwgc3VibWl0VHlwZSA9IEFjdGlvbkVkaXRvclN1Ym1pdFR5cGVFbnVtLlN1Ym1pdCkge1xuICAgICAgICBzdXBlcihzdWJtaXRUeXBlID09PSBBY3Rpb25FZGl0b3JTdWJtaXRUeXBlRW51bS5TdWJtaXQgPyBgJHtlZGl0b3JBY3Rpb25OYW1lfS5zdWJtaXRgIDogYCR7ZWRpdG9yQWN0aW9uTmFtZX0uY2FuY2VsYCwge21vZGVsOiBlZGl0b3JBY3Rpb25Nb2RlbH0pO1xuICAgICAgICB0aGlzLl9zdWJtaXRUeXBlID0gc3VibWl0VHlwZTtcbiAgICAgICAgdGhpcy5fcG9zaXRpb24gPSBBY3Rpb25Qb3NpdGlvbkVudW0uRm9vdGVyUmlnaHQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdWJtaXRUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3VibWl0VHlwZTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBjb3B5KCk6IEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3JJbnN0PE1vZGVsLCBFZGl0b3JNb2RlbD4ge1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gbmV3IEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3JJbnN0PE1vZGVsLCBFZGl0b3JNb2RlbD4odGhpcy5fYWN0aW9uTmFtZS5zcGxpdCgnLicpLnNsaWNlKDAsIC0xKS5qb2luKCcuJyksIHRoaXMuX21vZGVsPy5jb3B5KCksIHRoaXMuX3N1Ym1pdFR5cGUpO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxufVxuXG4vKipcbiAqIGNyZWF0ZXMgcHJpbWFyeSBhY3Rpb24gd2l0aCBwcmltYXJ5IGJ1dHRvbiBzdHlsZVxuICogQHBhcmFtIGVkaXRvckFjdGlvblxuICogQHBhcmFtIHN1Ym1pdFR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkVkaXRvclN1Ym1pdDxNb2RlbCwgRWRpdG9yTW9kZWw+KFxuICAgIGVkaXRvckFjdGlvbjogQWN0aW9uRWRpdG9yRGVzY3JpcHRvckluc3Q8TW9kZWwsIGFueSwgRWRpdG9yTW9kZWwsIGFueSwgYW55LCBhbnk+LFxuICAgIHN1Ym1pdFR5cGUgPSBBY3Rpb25FZGl0b3JTdWJtaXRUeXBlRW51bS5TdWJtaXRcbik6IEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3JJbnN0PE1vZGVsLCBFZGl0b3JNb2RlbD4ge1xuICAgIHJldHVybiBuZXcgQWN0aW9uRWRpdG9yU3VibWl0RGVzY3JpcHRvckluc3Q8TW9kZWwsIEVkaXRvck1vZGVsPihlZGl0b3JBY3Rpb24uYWN0aW9uTmFtZSwgZWRpdG9yQWN0aW9uLm1vZGVsLCBzdWJtaXRUeXBlKS53aXRoQnV0dG9uT3B0cyh7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICBsZXZlbDogZWRpdG9yQWN0aW9uLmJ1dHRvbj8uc3R5bGU/LmxldmVsXG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuLyoqXG4gKiBjcmVhdGVzIHNlY29uZGFyeSBidXR0b24gd2l0aCB0ZXh0IGJ1dHRvbiBzdHlsZVxuICogQHBhcmFtIGVkaXRvckFjdGlvblxuICogQHBhcmFtIHN1Ym1pdFR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkVkaXRvckNhbmNlbDxNb2RlbCwgRWRpdG9yTW9kZWw+KFxuICAgIGVkaXRvckFjdGlvbjogQWN0aW9uRWRpdG9yRGVzY3JpcHRvckluc3Q8TW9kZWwsIGFueSwgRWRpdG9yTW9kZWwsIGFueSwgYW55LCBhbnk+LFxuICAgIHN1Ym1pdFR5cGUgPSBBY3Rpb25FZGl0b3JTdWJtaXRUeXBlRW51bS5DYW5jZWxcbik6IEFjdGlvbkVkaXRvclN1Ym1pdERlc2NyaXB0b3JJbnN0PE1vZGVsLCBFZGl0b3JNb2RlbD4ge1xuICAgIHJldHVybiBuZXcgQWN0aW9uRWRpdG9yU3VibWl0RGVzY3JpcHRvckluc3Q8TW9kZWwsIEVkaXRvck1vZGVsPihlZGl0b3JBY3Rpb24uYWN0aW9uTmFtZSwgZWRpdG9yQWN0aW9uLm1vZGVsLCBzdWJtaXRUeXBlKS53aXRoQnV0dG9uT3B0cyh7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICB0ZXh0QnV0dG9uOiB0cnVlLFxuICAgICAgICAgICAgbGV2ZWw6IGVkaXRvckFjdGlvbi5idXR0b24/LnN0eWxlPy5sZXZlbFxuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|