@mediusinc/mng-commons 6.0.0-rc.5 → 6.0.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/components/notification/notification-wrapper.component.d.ts +4 -4
- package/core/error/error.model.d.ts +4 -4
- package/core/helpers/notification.d.ts +2 -2
- package/core/provide.d.ts +3 -3
- package/core/styles/style-constants.d.ts +9 -8
- package/core/styles/style.model.d.ts +2 -1
- package/fesm2022/mediusinc-mng-commons-core.mjs +91 -104
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +8 -9
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +149 -49
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DTSBP9WQ.mjs +31 -0
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DTSBP9WQ.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-JZpyiDIL.mjs +2118 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-JZpyiDIL.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table.mjs +1 -2154
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +97 -49
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +326 -290
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/form/api/index.d.ts +1 -0
- package/form/api/models/empty-value.model.d.ts +7 -0
- package/form/components/autocomplete/autocomplete.component.d.ts +1 -2
- package/form/components/date-range/date-range.component.d.ts +4 -3
- package/form/components/dropdown/dropdown.component.d.ts +3 -2
- package/form/components/number-range/number-range.component.d.ts +3 -2
- package/form/directives/input-empty-value.directive.d.ts +40 -0
- package/form/directives/input-trim.directive.d.ts +3 -5
- package/form/index.d.ts +1 -0
- package/i18n/en.json +57 -8
- package/i18n/sl.json +1 -3
- package/package.json +16 -42
- package/provide.d.ts +2 -2
- package/table/components/column-toggle/column-toggle.component.d.ts +12 -0
- package/table/components/filter/filter-form/filter-form.component.d.ts +2 -2
- package/table/components/table/table.component.d.ts +0 -1
- package/table/helpers/filters.d.ts +3 -2
- package/table/helpers/notification.d.ts +2 -2
- package/table/services/table-metadata.service.d.ts +3 -3
- package/tableview/action/components/action/action.component.d.ts +1 -0
- package/tableview/action/components/editor/action-editor.component.d.ts +1 -1
- package/tableview/action/components/table/action-table.component.d.ts +2 -1
- package/tableview/action/helpers/notification.d.ts +3 -3
- package/tableview/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/action/services/action-executor.service.d.ts +1 -1
- package/tableview/api/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +5 -0
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +14 -10
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +10 -0
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +36 -9
- package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +1 -1
- package/tableview/api/editor/models/field-action-context.model.d.ts +1 -1
- package/tableview/api/editor/models/field.model.d.ts +1 -2
- package/tableview/api/editor/models/form-editor.interface.d.ts +2 -2
- package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
- package/tableview/api/editor/models/formly-field.model.d.ts +2 -2
- package/tableview/editor/components/editor/form-editor.component.d.ts +2 -2
- package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.d.ts +2 -1
- package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +4 -6
- package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +0 -2
- package/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +2 -2
- package/tableview/editor/components/formly/fields/formly-field-type.abstract.component.d.ts +8 -15
- package/tableview/editor/components/formly/fields/formly-group-type.abstract.component.d.ts +7 -0
- package/tableview/editor/components/formly/fields/formly-type.abstract.component.d.ts +20 -0
- package/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +11 -4
- package/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +2 -1
- package/tableview/editor/helpers/formly-config.d.ts +1 -1
- package/tableview/editor/helpers/notification.d.ts +3 -3
- package/tableview/editor/models/formly-config.model.d.ts +10 -1
- package/tableview/editor/models/formly.model.d.ts +23 -0
- package/tableview/editor/services/form-editor.service.d.ts +2 -2
- package/tableview/tableview/router/tableview-route-builder.d.ts +10 -3
- package/tableview/tableview/services/tableview-feature-config.token.d.ts +1 -1
- package/version-info.json +3 -3
- package/esm2022/core/action/action-data.model.mjs +0 -2
- package/esm2022/core/action/action-parameters.model.mjs +0 -2
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +0 -50
- package/esm2022/core/data-list/data-list-params-helpers.mjs +0 -465
- package/esm2022/core/data-list/data-list.model.mjs +0 -2
- package/esm2022/core/data-list/filter-match.model.mjs +0 -105
- package/esm2022/core/data-list/filter-metadata.model.mjs +0 -2
- package/esm2022/core/data-providers/base.data-provider.mjs +0 -16
- package/esm2022/core/data-providers/lookup.data-provider.mjs +0 -2
- package/esm2022/core/descriptors/action.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/column.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/editor.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/enum.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/filter.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/lookup.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/model.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/table.descriptor.mjs +0 -2
- package/esm2022/core/descriptors/tableview.descriptor.mjs +0 -2
- package/esm2022/core/directives/component.directive.mjs +0 -75
- package/esm2022/core/directives/rerender.directive.mjs +0 -25
- package/esm2022/core/directives/template.directive.mjs +0 -29
- package/esm2022/core/enum/enum-helpers.mjs +0 -90
- package/esm2022/core/enum/enum.model.mjs +0 -2
- package/esm2022/core/error/error-handler.mjs +0 -20
- package/esm2022/core/error/error-helpers.mjs +0 -273
- package/esm2022/core/error/error.model.mjs +0 -33
- package/esm2022/core/helpers/coercion.mjs +0 -55
- package/esm2022/core/helpers/date.mjs +0 -119
- package/esm2022/core/helpers/notification.mjs +0 -21
- package/esm2022/core/helpers/number.mjs +0 -19
- package/esm2022/core/helpers/object.mjs +0 -152
- package/esm2022/core/helpers/route.mjs +0 -58
- package/esm2022/core/helpers/string.mjs +0 -57
- package/esm2022/core/helpers/templates.mjs +0 -4
- package/esm2022/core/helpers/type-helpers.mjs +0 -2
- package/esm2022/core/i18n/i18n-common.mjs +0 -24
- package/esm2022/core/i18n/i18n-error.mjs +0 -29
- package/esm2022/core/i18n/i18n-type.mjs +0 -46
- package/esm2022/core/index.mjs +0 -107
- package/esm2022/core/log/log-publisher-console.service.mjs +0 -40
- package/esm2022/core/log/log.model.mjs +0 -10
- package/esm2022/core/log/logger.service.mjs +0 -131
- package/esm2022/core/mediusinc-mng-commons-core.mjs +0 -5
- package/esm2022/core/models/class-attribute.model.mjs +0 -2
- package/esm2022/core/models/class-service.model.mjs +0 -2
- package/esm2022/core/models/getter.model.mjs +0 -2
- package/esm2022/core/models/i18n.model.mjs +0 -2
- package/esm2022/core/models/menu.model.mjs +0 -2
- package/esm2022/core/models/user.model.mjs +0 -2
- package/esm2022/core/models/version.model.mjs +0 -2
- package/esm2022/core/pipes/boolean.pipe.mjs +0 -34
- package/esm2022/core/pipes/class-map.pipe.mjs +0 -23
- package/esm2022/core/pipes/enum.pipe.mjs +0 -38
- package/esm2022/core/pipes/enumerate-async.pipe.mjs +0 -36
- package/esm2022/core/pipes/enumerate.pipe.mjs +0 -49
- package/esm2022/core/pipes/getter.pipe.mjs +0 -21
- package/esm2022/core/pipes/i18n-property.pipe.mjs +0 -19
- package/esm2022/core/pipes/json-path.pipe.mjs +0 -25
- package/esm2022/core/pipes/parametrize.pipe.mjs +0 -86
- package/esm2022/core/pipes/template.pipe.mjs +0 -25
- package/esm2022/core/provide.mjs +0 -79
- package/esm2022/core/reactivity/effect.mjs +0 -22
- package/esm2022/core/reflect/type-enum-decorator.mjs +0 -12
- package/esm2022/core/reflect/type-enum-metadata.mjs +0 -62
- package/esm2022/core/registry/registry.model.mjs +0 -2
- package/esm2022/core/registry/type-registry.mjs +0 -106
- package/esm2022/core/router/route-builder.mjs +0 -431
- package/esm2022/core/router/router.model.mjs +0 -2
- package/esm2022/core/router/routes-builder.mjs +0 -52
- package/esm2022/core/rxjs/map-data-list-result-operator.mjs +0 -22
- package/esm2022/core/security/permission-helpers.mjs +0 -14
- package/esm2022/core/security/permission.guard.mjs +0 -15
- package/esm2022/core/security/permission.service.mjs +0 -101
- package/esm2022/core/security/permissions.model.mjs +0 -93
- package/esm2022/core/services/commons-configuration.service.mjs +0 -189
- package/esm2022/core/services/commons-init.service.mjs +0 -111
- package/esm2022/core/services/commons-router.service.mjs +0 -181
- package/esm2022/core/services/commons-storage.service.mjs +0 -31
- package/esm2022/core/services/commons.service.mjs +0 -324
- package/esm2022/core/services/providers/commons-init.provider.mjs +0 -4
- package/esm2022/core/services/tokens/browser-storage.token.mjs +0 -3
- package/esm2022/core/services/tokens/commons-init.token.mjs +0 -3
- package/esm2022/core/services/tokens/log-publisher.token.mjs +0 -3
- package/esm2022/core/services/tokens/module-config.token.mjs +0 -3
- package/esm2022/core/styles/style-constants.mjs +0 -11
- package/esm2022/core/styles/style.model.mjs +0 -20
- package/esm2022/filter/descriptors/filter-generic.descriptor.mjs +0 -31
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +0 -168
- package/esm2022/filter/descriptors/filter.descriptor.mjs +0 -421
- package/esm2022/filter/index.mjs +0 -8
- package/esm2022/filter/mediusinc-mng-commons-filter.mjs +0 -5
- package/esm2022/filter/models/filter-generic-property.model.mjs +0 -2
- package/esm2022/filter/models/filter.model.mjs +0 -20
- package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +0 -15
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +0 -15
- package/esm2022/form/api/descriptors/action-button.descriptor.mjs +0 -56
- package/esm2022/form/api/descriptors/button-style.builder.mjs +0 -153
- package/esm2022/form/api/index.mjs +0 -10
- package/esm2022/form/api/mediusinc-mng-commons-form-api.mjs +0 -5
- package/esm2022/form/api/models/button.model.mjs +0 -2
- package/esm2022/form/api/models/trim.model.mjs +0 -2
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +0 -436
- package/esm2022/form/components/date-range/date-range.component.mjs +0 -147
- package/esm2022/form/components/dropdown/dropdown.component.mjs +0 -372
- package/esm2022/form/components/number-range/number-range.component.mjs +0 -123
- package/esm2022/form/directives/input-trim.directive.mjs +0 -50
- package/esm2022/form/index.mjs +0 -8
- package/esm2022/form/mediusinc-mng-commons-form.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/mediusinc-mng-commons.mjs +0 -5
- package/esm2022/model/class/data-providers/base-from-class-data-provider.factory.mjs +0 -5
- package/esm2022/model/class/descriptors/model-class.descriptor.mjs +0 -28
- package/esm2022/model/class/descriptors/type-class.descriptor.mjs +0 -6
- package/esm2022/model/class/helpers/model.mjs +0 -53
- package/esm2022/model/class/index.mjs +0 -8
- package/esm2022/model/class/mediusinc-mng-commons-model-class.mjs +0 -5
- package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +0 -13
- package/esm2022/model/descriptors/enum.descriptor.mjs +0 -28
- package/esm2022/model/descriptors/model.descriptor.mjs +0 -53
- package/esm2022/model/descriptors/type.descriptor.mjs +0 -7
- package/esm2022/model/helpers/i18n.mjs +0 -47
- package/esm2022/model/index.mjs +0 -9
- package/esm2022/model/mediusinc-mng-commons-model.mjs +0 -5
- package/esm2022/provide.mjs +0 -6
- package/esm2022/table/api/class/class-table-attribute-converter.mjs +0 -80
- package/esm2022/table/api/class/class-table-attribute.model.mjs +0 -2
- package/esm2022/table/api/class/class-table-data-provider.factory.mjs +0 -5
- package/esm2022/table/api/class/class-table-descriptor-helpers.mjs +0 -99
- package/esm2022/table/api/class/class-table-descriptor.factory.mjs +0 -21
- package/esm2022/table/api/class/index.mjs +0 -6
- package/esm2022/table/api/class/mediusinc-mng-commons-table-api-class.mjs +0 -5
- package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +0 -15
- package/esm2022/table/api/data-providers/table.data-provider.mjs +0 -33
- package/esm2022/table/api/descriptors/column.descriptor.mjs +0 -475
- package/esm2022/table/api/descriptors/sort.descriptor.mjs +0 -67
- package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +0 -22
- package/esm2022/table/api/descriptors/table.descriptor.mjs +0 -1116
- package/esm2022/table/api/helpers/column-converter.mjs +0 -25
- package/esm2022/table/api/helpers/table-data-provider-descriptor-convert.mjs +0 -7
- package/esm2022/table/api/index.mjs +0 -19
- package/esm2022/table/api/mediusinc-mng-commons-table-api.mjs +0 -5
- package/esm2022/table/api/models/column-value.model.mjs +0 -2
- package/esm2022/table/api/models/column.model.mjs +0 -21
- package/esm2022/table/api/models/row-expandable-component.model.mjs +0 -2
- package/esm2022/table/api/models/table-columns.model.mjs +0 -2
- package/esm2022/table/api/models/table-event.model.mjs +0 -2
- package/esm2022/table/api/models/table.model.mjs +0 -21
- package/esm2022/table/components/column-filter/column-filter.component.mjs +0 -389
- package/esm2022/table/components/column-value/column-value.component.mjs +0 -78
- package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +0 -55
- package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +0 -226
- package/esm2022/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.mjs +0 -219
- package/esm2022/table/components/table/table.component.mjs +0 -319
- package/esm2022/table/helpers/filters.mjs +0 -312
- package/esm2022/table/helpers/notification.mjs +0 -21
- package/esm2022/table/helpers/table-layout-prefs.mjs +0 -10
- package/esm2022/table/helpers/table.mjs +0 -24
- package/esm2022/table/index.mjs +0 -24
- package/esm2022/table/mediusinc-mng-commons-table.mjs +0 -5
- package/esm2022/table/models/column-preferences.model.mjs +0 -2
- package/esm2022/table/models/filter.model.mjs +0 -2
- package/esm2022/table/pipes/filter-value.pipe.mjs +0 -77
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +0 -27
- package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +0 -25
- package/esm2022/table/provide.mjs +0 -19
- package/esm2022/table/services/table-data.service.mjs +0 -194
- package/esm2022/table/services/table-feature-config.token.mjs +0 -3
- package/esm2022/table/services/table-metadata.service.mjs +0 -136
- package/esm2022/table/services/table-preferences.service.mjs +0 -142
- package/esm2022/tableview/action/components/action/action.component.mjs +0 -277
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +0 -86
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +0 -428
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +0 -35
- package/esm2022/tableview/action/components/route/action-route.component.mjs +0 -146
- package/esm2022/tableview/action/components/table/action-table.component.mjs +0 -102
- package/esm2022/tableview/action/guards/unsaved-changes.guard.mjs +0 -4
- package/esm2022/tableview/action/helpers/action-execution.mjs +0 -25
- package/esm2022/tableview/action/helpers/i18n.mjs +0 -102
- package/esm2022/tableview/action/helpers/notification.mjs +0 -78
- package/esm2022/tableview/action/helpers/styles.mjs +0 -32
- package/esm2022/tableview/action/models/action-editor-dialog-data.model.mjs +0 -2
- package/esm2022/tableview/action/models/can-component-deactivate.model.mjs +0 -2
- package/esm2022/tableview/action/models/execution/action-context.model.mjs +0 -64
- package/esm2022/tableview/action/models/execution/action-instance.model.mjs +0 -169
- package/esm2022/tableview/action/services/action-error-mapper.service.mjs +0 -20
- package/esm2022/tableview/action/services/action-executor.service.mjs +0 -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,319 +0,0 @@
|
|
|
1
|
-
import { CommonsInternalError } from '@mediusinc/mng-commons/core';
|
|
2
|
-
import { ActionPositionEnum } from '../../action/models/action.type';
|
|
3
|
-
import { TableviewActionDefaultCategories } from '../../action/models/tableview-action-default-categories.model';
|
|
4
|
-
import { TableviewDataProviderInst } from '../data-providers/tableview.data-provider';
|
|
5
|
-
import { tableviewCreateDefaultActions, tableviewGetDefaultActions } from './tableview-default-actions';
|
|
6
|
-
/**
|
|
7
|
-
* The `TableviewBuilder` class is used to build a tableview configuration.
|
|
8
|
-
* It allows you to set various options such as the descriptor, data provider,
|
|
9
|
-
* default actions, and custom actions for the tableview.
|
|
10
|
-
*
|
|
11
|
-
* @typeparam Model - The main model type.
|
|
12
|
-
* @typeparam Service - The API service type.
|
|
13
|
-
* @typeparam Descriptor - The descriptor type.
|
|
14
|
-
* @typeparam DataProvider - The data provider type.
|
|
15
|
-
* @typeparam Sorts - The sort type representing available sort keys.
|
|
16
|
-
* @typeparam Filters - The filter type representing available filter keys.
|
|
17
|
-
*/
|
|
18
|
-
export class TableviewInputBuilder {
|
|
19
|
-
constructor(_descriptor, _dataProvider, injector) {
|
|
20
|
-
this._descriptor = _descriptor;
|
|
21
|
-
this._dataProvider = _dataProvider;
|
|
22
|
-
this.injector = injector;
|
|
23
|
-
this.defaultActions = tableviewGetDefaultActions().map(a => ({ type: a, descriptor: undefined }));
|
|
24
|
-
this._customActions = [];
|
|
25
|
-
}
|
|
26
|
-
prepareSetterParams() {
|
|
27
|
-
return { descriptor: this._descriptor, dataProvider: this._dataProvider, injector: this.injector };
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Sets a descriptor instead of the default one.
|
|
31
|
-
*
|
|
32
|
-
* @param {TvBuilderDescriptorSetterFnType<Descriptor, DataProvider>} fn - The function that returns the new descriptor. It should accept a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
33
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
34
|
-
*/
|
|
35
|
-
withDescriptor(fn) {
|
|
36
|
-
this._descriptor = fn(this.prepareSetterParams());
|
|
37
|
-
return this;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Adjusts the descriptor using the provided adjust function.
|
|
41
|
-
*
|
|
42
|
-
* @param {(descriptor: Descriptor) => void} adjustFn - The function used to adjust the descriptor. It accepts a single parameter of type `Descriptor`.
|
|
43
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
44
|
-
*/
|
|
45
|
-
withAdjustDescriptor(adjustFn) {
|
|
46
|
-
adjustFn(this._descriptor);
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Sets the data provider for the TvBuilder instance
|
|
51
|
-
*
|
|
52
|
-
* @param {TvBuilderDataProviderSetterFnType<Descriptor, DataProvider>} fn - The function that returns the new data provider. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
53
|
-
* * @returns {this} - Returns the current instance of the builder.
|
|
54
|
-
*/
|
|
55
|
-
withDataProvider(fn) {
|
|
56
|
-
this._dataProvider = fn(this.prepareSetterParams());
|
|
57
|
-
return this;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Adjusts the data provider using the provided adjust function.
|
|
61
|
-
*
|
|
62
|
-
* @param {(dataProvider: DataProvider) => void} adjustFn - The function used to adjust the data provider. It accepts a single parameter of type `DataProvider`.
|
|
63
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
64
|
-
*/
|
|
65
|
-
withAdjustDataProvider(adjustFn) {
|
|
66
|
-
adjustFn(this._dataProvider);
|
|
67
|
-
return this;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Adjusts the data provider and/or descriptor using the provided adjust function.
|
|
71
|
-
*
|
|
72
|
-
* @param {(params: TvBuilderSetterParamsType<Descriptor, DataProvider>) => void} adjustFn - The function used to adjust the data provider. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
73
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
74
|
-
*/
|
|
75
|
-
withAdjust(adjustFn) {
|
|
76
|
-
adjustFn(this.prepareSetterParams());
|
|
77
|
-
return this;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Associates a fetch function for a data provider API service with the specified parameters.
|
|
81
|
-
*
|
|
82
|
-
* @param {ServiceFn} serviceFn The function from the service class that performs the fetch API call.
|
|
83
|
-
* Must be a key of the service with a parameter and return an Observable.
|
|
84
|
-
* @param {ClassFunctionKeyParam1ObjKeyExtendsOfTargetType<Service, ServiceFn, IdType>} fnItemIdParamName The parameter name for itemId used as the key within the request object of fetch function on API service.
|
|
85
|
-
*/
|
|
86
|
-
withDataServiceFetchFn(serviceFn, itemIdParamName) {
|
|
87
|
-
if (this._dataProvider instanceof TableviewDataProviderInst) {
|
|
88
|
-
this._dataProvider.withFetch((itemId, service) => service[serviceFn]({ [itemIdParamName]: itemId }));
|
|
89
|
-
}
|
|
90
|
-
return this;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Associates a create function for a data provider API service with the specified parameters.
|
|
94
|
-
*
|
|
95
|
-
* @param {ServiceFn} serviceFn The function from the service class that performs the create API call.
|
|
96
|
-
* Must be a key of the service with a parameter and return an Observable.
|
|
97
|
-
* @param {ClassFunctionKeyParam1ObjKeyExtendsOfTargetType<Service, ServiceFn, Undefined<EditModel>>} serviceFnItemParamName The parameter name for item used as the key within the request object of create function on API service.
|
|
98
|
-
* @param {EditorDataProviderFetchMapToFnType<Model, AddModel>} [mapFetchItem] Map function to transform model from fetch to form's add model.
|
|
99
|
-
*/
|
|
100
|
-
withDataServiceCreateFn(serviceFn, serviceFnItemParamName, mapFetchItem) {
|
|
101
|
-
if (this._dataProvider instanceof TableviewDataProviderInst) {
|
|
102
|
-
this._dataProvider.withCreate((item, service) => service[serviceFn]({ [serviceFnItemParamName]: item }));
|
|
103
|
-
if (mapFetchItem) {
|
|
104
|
-
this._dataProvider.withMapFetchItemToCreateItem(mapFetchItem);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return this;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Associates an update function for a data provider API service with the specified parameters.
|
|
111
|
-
*
|
|
112
|
-
* @param {ServiceFn} serviceFn The function from the service class that performs the update API call.
|
|
113
|
-
* Must be a key of the service with a parameter and return an Observable.
|
|
114
|
-
* @param {ClassFunctionKeyParam1ObjKeyExtendsOfTargetType<Service, ServiceFn, Undefined<EditModel>>} fnItemParamName The parameter name for item used as the key within the request object of update function on API service.
|
|
115
|
-
* @param {ClassFunctionKeyParam1ObjKeyExtendsOfTargetType<Service, ServiceFn, IdType>} [fnItemIdParamName] The parameter name for itemId used as the key within the request object of update function on API service.
|
|
116
|
-
* @param {EditorDataProviderFetchMapToFnType<Model, EditModel>} [mapFetchItem] Map function to transform model from fetch to form' edit model.
|
|
117
|
-
*/
|
|
118
|
-
withDataServiceUpdateFn(serviceFn, fnItemParamName, fnItemIdParamName, mapFetchItem) {
|
|
119
|
-
if (this._dataProvider instanceof TableviewDataProviderInst) {
|
|
120
|
-
this._dataProvider.withUpdate((id, item, service) => {
|
|
121
|
-
const params = { [fnItemParamName]: item };
|
|
122
|
-
if (fnItemIdParamName) {
|
|
123
|
-
params[fnItemIdParamName] = id;
|
|
124
|
-
}
|
|
125
|
-
return service[serviceFn](params);
|
|
126
|
-
});
|
|
127
|
-
if (mapFetchItem) {
|
|
128
|
-
this._dataProvider.withMapFetchItemToUpdateItem(mapFetchItem);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return this;
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Associates a delete function for a data provider API service with the specified parameters.
|
|
135
|
-
*
|
|
136
|
-
* @param {ServiceFn} serviceFn The function from the service class that performs the delete API call.
|
|
137
|
-
* Must be a key of the service with a parameter and return an Observable.
|
|
138
|
-
* @param {ClassFunctionKeyParam1ObjKeyExtendsOfTargetType<Service, ServiceFn, IdType>} fnItemIdParamName The parameter name for itemId used as the key within the request object of delete function on API service.
|
|
139
|
-
*/
|
|
140
|
-
withDataServiceDeleteFn(serviceFn, fnItemIdParamName) {
|
|
141
|
-
if (this._dataProvider instanceof TableviewDataProviderInst) {
|
|
142
|
-
this._dataProvider.withDelete((itemId, service) => service[serviceFn]({ [fnItemIdParamName]: itemId }));
|
|
143
|
-
}
|
|
144
|
-
return this;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Removes all the default tableview actions.
|
|
148
|
-
*
|
|
149
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
150
|
-
*/
|
|
151
|
-
withNoDefaultActions() {
|
|
152
|
-
this.defaultActions.forEach(a => (a.descriptor = null));
|
|
153
|
-
return this;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Adds the default actions specified in parameters.
|
|
157
|
-
*
|
|
158
|
-
* @param {TableviewDefaultActionsEnum[]} types - The default actions to add.
|
|
159
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
160
|
-
*/
|
|
161
|
-
withDefaultActions(...types) {
|
|
162
|
-
types.forEach(type => {
|
|
163
|
-
const action = this.defaultActions.find(a => a.type === type);
|
|
164
|
-
if (action?.descriptor === null) {
|
|
165
|
-
action.descriptor = undefined;
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
return this;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Removes the default actions specified in parameters.
|
|
172
|
-
*
|
|
173
|
-
* @param {TableviewDefaultActionsEnum[]} types - The default actions to remove.
|
|
174
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
175
|
-
*/
|
|
176
|
-
withoutDefaultActions(...types) {
|
|
177
|
-
types.forEach(type => {
|
|
178
|
-
const action = this.defaultActions.find(a => a.type === type);
|
|
179
|
-
if (action) {
|
|
180
|
-
action.descriptor = null;
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
return this;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Overrides the default action.
|
|
187
|
-
*
|
|
188
|
-
* @param {TableviewDefaultActionsEnum} type - The default actions to override.
|
|
189
|
-
* @param {TvBuilderActionSetterFnType<Model, ActionService , ActionRunInput, ActionRunResult, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
190
|
-
* @typeParam ActionService - The service type (same as build `Service` by default).
|
|
191
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
192
|
-
*/
|
|
193
|
-
withDefaultActionOverride(type, fn) {
|
|
194
|
-
const action = this.defaultActions.find(a => a.type === type);
|
|
195
|
-
if (action) {
|
|
196
|
-
action.descriptor = fn(this.prepareSetterParams()) ?? null;
|
|
197
|
-
}
|
|
198
|
-
return this;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Adds a custom action.
|
|
202
|
-
*
|
|
203
|
-
* @deprecated Use on of {withActionOnTable}, {withActionOnDetailsEditor}, {withActionOnEditEditor} or {withActionOnAddEditor} instead.
|
|
204
|
-
*
|
|
205
|
-
* @param {TvBuilderActionSetterFnType<Model, ActionService, ActionRunInput, ActionRunResult, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
206
|
-
* @typeParam ActionService - The service type (same as build `Service` by default).
|
|
207
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
208
|
-
*/
|
|
209
|
-
withAction(fn) {
|
|
210
|
-
const action = fn(this.prepareSetterParams());
|
|
211
|
-
if (action) {
|
|
212
|
-
this._customActions.push(action);
|
|
213
|
-
}
|
|
214
|
-
return this;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Adds a custom action on table row or top (header or toolbar).
|
|
218
|
-
*
|
|
219
|
-
* @param {TvBuilderActionSetterFnType<Model, ActionService, ActionRunResult, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
220
|
-
* @param {ActionPositionEnum} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
221
|
-
* @typeParam ActionService - The service type (same as build `Service` by default).
|
|
222
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
223
|
-
*/
|
|
224
|
-
withActionOnTable(fn) {
|
|
225
|
-
const action = fn(this.prepareSetterParams());
|
|
226
|
-
if (action) {
|
|
227
|
-
action.withPositionTableviewCategories([TableviewActionDefaultCategories.READ]);
|
|
228
|
-
if (![
|
|
229
|
-
ActionPositionEnum.ToolbarLeft,
|
|
230
|
-
ActionPositionEnum.ToolbarRight,
|
|
231
|
-
ActionPositionEnum.TableHeader,
|
|
232
|
-
ActionPositionEnum.RowInline,
|
|
233
|
-
ActionPositionEnum.RowClick
|
|
234
|
-
].includes(action.position)) {
|
|
235
|
-
throw new CommonsInternalError(`Action ${action.actionNameLong} can not be positioned on table (${action.position}), define valid position.`);
|
|
236
|
-
}
|
|
237
|
-
this._customActions.push(action);
|
|
238
|
-
}
|
|
239
|
-
return this;
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Adds a custom action on details editor.
|
|
243
|
-
*
|
|
244
|
-
* @param {TvBuilderActionSetterFnType<Model, ActionService, ActionRunResult, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
245
|
-
* @param {ActionPositionEnum} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
246
|
-
* @typeParam ActionService - The service type (same as build `Service` by default).
|
|
247
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
248
|
-
*/
|
|
249
|
-
withActionOnDetailsEditor(fn) {
|
|
250
|
-
const action = fn(this.prepareSetterParams());
|
|
251
|
-
if (action) {
|
|
252
|
-
action.withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS]);
|
|
253
|
-
if (![ActionPositionEnum.ToolbarLeft, ActionPositionEnum.ToolbarRight, ActionPositionEnum.FooterLeft, ActionPositionEnum.FooterRight].includes(action.position)) {
|
|
254
|
-
throw new CommonsInternalError(`Action ${action.actionNameLong} can not be positioned on details (${action.position}), define valid position.`);
|
|
255
|
-
}
|
|
256
|
-
this._customActions.push(action);
|
|
257
|
-
}
|
|
258
|
-
return this;
|
|
259
|
-
}
|
|
260
|
-
/**
|
|
261
|
-
* Adds a custom action on edit editor.
|
|
262
|
-
*
|
|
263
|
-
* @param {TvBuilderActionSetterFnType<Model, ActionService, ActionRunResult, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
264
|
-
* @param {ActionPositionEnum} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
265
|
-
* @typeParam ActionService - The service type (same as build `Service` by default).
|
|
266
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
267
|
-
*/
|
|
268
|
-
withActionOnEditEditor(fn) {
|
|
269
|
-
const action = fn(this.prepareSetterParams());
|
|
270
|
-
if (action) {
|
|
271
|
-
action.withPositionTableviewCategories([TableviewActionDefaultCategories.EDIT]);
|
|
272
|
-
if (![ActionPositionEnum.ToolbarLeft, ActionPositionEnum.ToolbarRight, ActionPositionEnum.FooterLeft, ActionPositionEnum.FooterRight].includes(action.position)) {
|
|
273
|
-
throw new CommonsInternalError(`Action ${action.actionNameLong} can not be positioned on edit (${action.position}), define valid position.`);
|
|
274
|
-
}
|
|
275
|
-
this._customActions.push(action);
|
|
276
|
-
}
|
|
277
|
-
return this;
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Adds a custom action on add editor.
|
|
281
|
-
*
|
|
282
|
-
* @param {TvBuilderActionSetterFnType<Model, ActionService, ActionRunResult, Descriptor, DataProvider>} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
283
|
-
* @param {ActionPositionEnum} fn - The function that returns the new action descriptor. It accepts a single parameter of type `TvBuilderSetterParamsType<Descriptor, DataProvider>`.
|
|
284
|
-
* @typeParam ActionService - The service type (same as build `Service` by default).
|
|
285
|
-
* @returns {this} - Returns the current instance of the builder.
|
|
286
|
-
*/
|
|
287
|
-
withActionOnAddEditor(fn) {
|
|
288
|
-
const action = fn(this.prepareSetterParams());
|
|
289
|
-
if (action) {
|
|
290
|
-
action.withPositionTableviewCategories([TableviewActionDefaultCategories.ADD]);
|
|
291
|
-
if (![ActionPositionEnum.ToolbarLeft, ActionPositionEnum.ToolbarRight, ActionPositionEnum.FooterLeft, ActionPositionEnum.FooterRight].includes(action.position)) {
|
|
292
|
-
throw new CommonsInternalError(`Action ${action.actionNameLong} can not be positioned on add (${action.position}), define valid position.`);
|
|
293
|
-
}
|
|
294
|
-
this._customActions.push(action);
|
|
295
|
-
}
|
|
296
|
-
return this;
|
|
297
|
-
}
|
|
298
|
-
/**
|
|
299
|
-
* @internal
|
|
300
|
-
*
|
|
301
|
-
* Builds and returns an instance of ITableview.
|
|
302
|
-
* DO NOT CALL this within tableview create callback function!
|
|
303
|
-
*
|
|
304
|
-
* @return {TableviewInput<Model, Service, Sorts, Filters, TableModel, AddModel, EditModel, Descriptor, DataProvider>} - The built ITableview instance.
|
|
305
|
-
*/
|
|
306
|
-
build() {
|
|
307
|
-
return {
|
|
308
|
-
actions: tableviewCreateDefaultActions(this._descriptor, this.defaultActions.filter(a => a.descriptor !== null).map(a => a.type), this.defaultActions
|
|
309
|
-
.filter(a => a.descriptor != null)
|
|
310
|
-
.reduce((acc, a) => ({
|
|
311
|
-
...acc,
|
|
312
|
-
[a.type]: a.descriptor
|
|
313
|
-
}), {}), this.injector).concat(this._customActions),
|
|
314
|
-
dataProvider: this._dataProvider,
|
|
315
|
-
descriptor: this._descriptor
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWlucHV0LWJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy90YWJsZXZpZXcvaGVscGVycy90YWJsZXZpZXctaW5wdXQtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBR0gsb0JBQW9CLEVBSXZCLE1BQU0sNkJBQTZCLENBQUM7QUFJckMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sK0RBQStELENBQUM7QUFFL0csT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFHcEYsT0FBTyxFQUE4Qiw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBaUJuSTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFlOUIsWUFDWSxXQUF1QixFQUN2QixhQUEyQixFQUNsQixRQUFrQjtRQUYzQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTi9CLG1CQUFjLEdBQW9CLDBCQUEwQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUNuRyxtQkFBYyxHQUFnQyxFQUFFLENBQUM7SUFNL0QsQ0FBQztJQUVJLG1CQUFtQjtRQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRUQ7Ozs7O09B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aW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBDbGFzc0Z1bmN0aW9uS2V5UGFyYW0xT2JqS2V5RXh0ZW5kc09mVGFyZ2V0VHlwZSxcbiAgICBDbGFzc0Z1bmN0aW9uS2V5c1dpdGhQYXJhbUFuZFJldHVyblR5cGUsXG4gICAgQ29tbW9uc0ludGVybmFsRXJyb3IsXG4gICAgSURhdGFQcm92aWRlcixcbiAgICBJZFR5cGUsXG4gICAgTnVsbGFibGVcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtBY3Rpb25FZGl0b3JEZXNjcmlwdG9ySW5zdH0gZnJvbSAnLi4vLi4vYWN0aW9uL2Rlc2NyaXB0b3JzL2FjdGlvbi1lZGl0b3IuZGVzY3JpcHRvcic7XG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JJbnN0fSBmcm9tICcuLi8uLi9hY3Rpb24vZGVzY3JpcHRvcnMvYWN0aW9uLmRlc2NyaXB0b3InO1xuaW1wb3J0IHtBY3Rpb25Qb3NpdGlvbkVudW19IGZyb20gJy4uLy4uL2FjdGlvbi9tb2RlbHMvYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllc30gZnJvbSAnLi4vLi4vYWN0aW9uL21vZGVscy90YWJsZXZpZXctYWN0aW9uLWRlZmF1bHQtY2F0ZWdvcmllcy5tb2RlbCc7XG5pbXBvcnQge0VkaXRvckRhdGFQcm92aWRlckZldGNoTWFwVG9GblR5cGV9IGZyb20gJy4uLy4uL2VkaXRvci9kYXRhLXByb3ZpZGVycy9lZGl0b3IuZGF0YS1wcm92aWRlcic7XG5pbXBvcnQge1RhYmxldmlld0RhdGFQcm92aWRlckluc3R9IGZyb20gJy4uL2RhdGEtcHJvdmlkZXJzL3RhYmxldmlldy5kYXRhLXByb3ZpZGVyJztcbmltcG9ydCB7VGFibGV2aWV3RGVzY3JpcHRvckluc3R9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3RhYmxldmlldy5kZXNjcmlwdG9yJztcbmltcG9ydCB7VGFibGV2aWV3SW5wdXR9IGZyb20gJy4uL21vZGVscy90YWJsZXZpZXctaW5wdXQubW9kZWwnO1xuaW1wb3J0IHtUYWJsZXZpZXdEZWZhdWx0QWN0aW9uc0VudW0sIHRhYmxldmlld0NyZWF0ZURlZmF1bHRBY3Rpb25zLCB0YWJsZXZpZXdHZXREZWZhdWx0QWN0aW9uc30gZnJvbSAnLi90YWJsZXZpZXctZGVmYXVsdC1hY3Rpb25zJztcblxuZXhwb3J0IHR5cGUgVHZCdWlsZGVyU2V0dGVyUGFyYW1zVHlwZTxEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+ID0ge2Rlc2NyaXB0b3I6IERlc2NyaXB0b3I7IGRhdGFQcm92aWRlcjogRGF0YVByb3ZpZGVyOyBpbmplY3RvcjogSW5qZWN0b3J9O1xuZXhwb3J0IHR5cGUgVHZCdWlsZGVyQWN0aW9uU2V0dGVyRm5UeXBlPEFjdGlvbk1vZGVsLCBBY3Rpb25TZXJ2aWNlLCBBY3Rpb25JbnB1dCwgQWN0aW9uUmVzdWx0LCBWYWxpZGF0aW9uSW5wdXQsIERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj4gPSAoXG4gICAgcGFyYW1zOiBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5cbikgPT4gTnVsbGFibGU8XG4gICAgfCBBY3Rpb25EZXNjcmlwdG9ySW5zdDxBY3Rpb25Nb2RlbCwgQWN0aW9uU2VydmljZSwgQWN0aW9uSW5wdXQsIEFjdGlvblJlc3VsdCwgVmFsaWRhdGlvbklucHV0PlxuICAgIHwgQWN0aW9uRWRpdG9yRGVzY3JpcHRvckluc3Q8QWN0aW9uTW9kZWwsIEFjdGlvblNlcnZpY2UsIGFueSwgQWN0aW9uSW5wdXQsIEFjdGlvblJlc3VsdCwgVmFsaWRhdGlvbklucHV0PlxuPjtcbmV4cG9ydCB0eXBlIFR2QnVpbGRlckRlc2NyaXB0b3JTZXR0ZXJGblR5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPiA9IChwYXJhbXM6IFR2QnVpbGRlclNldHRlclBhcmFtc1R5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPikgPT4gRGVzY3JpcHRvcjtcbmV4cG9ydCB0eXBlIFR2QnVpbGRlckRhdGFQcm92aWRlclNldHRlckZuVHlwZTxEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+ID0gKHBhcmFtczogVHZCdWlsZGVyU2V0dGVyUGFyYW1zVHlwZTxEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+KSA9PiBEYXRhUHJvdmlkZXI7XG5cbnR5cGUgRGVmYXVsdEFjdGlvbiA9IHtcbiAgICB0eXBlOiBUYWJsZXZpZXdEZWZhdWx0QWN0aW9uc0VudW07XG4gICAgZGVzY3JpcHRvcjogQWN0aW9uRGVzY3JpcHRvckluc3Q8YW55PiB8IG51bGwgfCB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIFRoZSBgVGFibGV2aWV3QnVpbGRlcmAgY2xhc3MgaXMgdXNlZCB0byBidWlsZCBhIHRhYmxldmlldyBjb25maWd1cmF0aW9uLlxuICogSXQgYWxsb3dzIHlvdSB0byBzZXQgdmFyaW91cyBvcHRpb25zIHN1Y2ggYXMgdGhlIGRlc2NyaXB0b3IsIGRhdGEgcHJvdmlkZXIsXG4gKiBkZWZhdWx0IGFjdGlvbnMsIGFuZCBjdXN0b20gYWN0aW9ucyBmb3IgdGhlIHRhYmxldmlldy5cbiAqXG4gKiBAdHlwZXBhcmFtIE1vZGVsIC0gVGhlIG1haW4gbW9kZWwgdHlwZS5cbiAqIEB0eXBlcGFyYW0gU2VydmljZSAtIFRoZSBBUEkgc2VydmljZSB0eXBlLlxuICogQHR5cGVwYXJhbSBEZXNjcmlwdG9yIC0gVGhlIGRlc2NyaXB0b3IgdHlwZS5cbiAqIEB0eXBlcGFyYW0gRGF0YVByb3ZpZGVyIC0gVGhlIGRhdGEgcHJvdmlkZXIgdHlwZS5cbiAqIEB0eXBlcGFyYW0gU29ydHMgLSBUaGUgc29ydCB0eXBlIHJlcHJlc2VudGluZyBhdmFpbGFibGUgc29ydCBrZXlzLlxuICogQHR5cGVwYXJhbSBGaWx0ZXJzIC0gVGhlIGZpbHRlciB0eXBlIHJlcHJlc2VudGluZyBhdmFpbGFibGUgZmlsdGVyIGtleXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdJbnB1dEJ1aWxkZXI8XG4gICAgTW9kZWwsXG4gICAgU2VydmljZSxcbiAgICBEZXNjcmlwdG9yIGV4dGVuZHMgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIEZpZWxkc01vZGVsPixcbiAgICBEYXRhUHJvdmlkZXIgZXh0ZW5kcyBJRGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlPixcbiAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCxcbiAgICBUYWJsZU1vZGVsID0gTW9kZWwsXG4gICAgQWRkTW9kZWwgPSBNb2RlbCxcbiAgICBFZGl0TW9kZWwgPSBNb2RlbCxcbiAgICBGaWVsZHNNb2RlbCA9IE1vZGVsXG4+IHtcbiAgICBwcml2YXRlIGRlZmF1bHRBY3Rpb25zOiBEZWZhdWx0QWN0aW9uW10gPSB0YWJsZXZpZXdHZXREZWZhdWx0QWN0aW9ucygpLm1hcChhID0+ICh7dHlwZTogYSwgZGVzY3JpcHRvcjogdW5kZWZpbmVkfSkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2N1c3RvbUFjdGlvbnM6IEFjdGlvbkRlc2NyaXB0b3JJbnN0PGFueT5bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2Rlc2NyaXB0b3I6IERlc2NyaXB0b3IsXG4gICAgICAgIHByaXZhdGUgX2RhdGFQcm92aWRlcjogRGF0YVByb3ZpZGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvclxuICAgICkge31cblxuICAgIHByaXZhdGUgcHJlcGFyZVNldHRlclBhcmFtcygpOiBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj4ge1xuICAgICAgICByZXR1cm4ge2Rlc2NyaXB0b3I6IHRoaXMuX2Rlc2NyaXB0b3IsIGRhdGFQcm92aWRlcjogdGhpcy5fZGF0YVByb3ZpZGVyLCBpbmplY3RvcjogdGhpcy5pbmplY3Rvcn07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGRlc2NyaXB0b3IgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBvbmUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1R2QnVpbGRlckRlc2NyaXB0b3JTZXR0ZXJGblR5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPn0gZm4gLSBUaGUgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuZXcgZGVzY3JpcHRvci4gSXQgc2hvdWxkIGFjY2VwdCBhIHNpbmdsZSBwYXJhbWV0ZXIgb2YgdHlwZSBgVHZCdWlsZGVyU2V0dGVyUGFyYW1zVHlwZTxEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+YC5cbiAgICAgKiBAcmV0dXJucyB7dGhpc30gLSBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgICAqL1xuICAgIHdpdGhEZXNjcmlwdG9yKGZuOiBUdkJ1aWxkZXJEZXNjcmlwdG9yU2V0dGVyRm5UeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGVzY3JpcHRvciA9IGZuKHRoaXMucHJlcGFyZVNldHRlclBhcmFtcygpKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRqdXN0cyB0aGUgZGVzY3JpcHRvciB1c2luZyB0aGUgcHJvdmlkZWQgYWRqdXN0IGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHBhcmFtIHsoZGVzY3JpcHRvcjogRGVzY3JpcHRvcikgPT4gdm9pZH0gYWRqdXN0Rm4gLSBUaGUgZnVuY3Rpb24gdXNlZCB0byBhZGp1c3QgdGhlIGRlc2NyaXB0b3IuIEl0IGFjY2VwdHMgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHR5cGUgYERlc2NyaXB0b3JgLlxuICAgICAqIEByZXR1cm5zIHt0aGlzfSAtIFJldHVybnMgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAgICovXG4gICAgd2l0aEFkanVzdERlc2NyaXB0b3IoYWRqdXN0Rm46IChkZXNjcmlwdG9yOiBEZXNjcmlwdG9yKSA9PiB2b2lkKTogdGhpcyB7XG4gICAgICAgIGFkanVzdEZuKHRoaXMuX2Rlc2NyaXB0b3IpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBkYXRhIHByb3ZpZGVyIGZvciB0aGUgVHZCdWlsZGVyIGluc3RhbmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1R2QnVpbGRlckRhdGFQcm92aWRlclNldHRlckZuVHlwZTxEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+fSBmbiAtIFRoZSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIG5ldyBkYXRhIHByb3ZpZGVyLiBJdCBhY2NlcHRzIGEgc2luZ2xlIHBhcmFtZXRlciBvZiB0eXBlIGBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5gLlxuICAgICAqICogQHJldHVybnMge3RoaXN9IC0gUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICAgKi9cbiAgICB3aXRoRGF0YVByb3ZpZGVyKGZuOiBUdkJ1aWxkZXJEYXRhUHJvdmlkZXJTZXR0ZXJGblR5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPik6IHRoaXMge1xuICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIgPSBmbih0aGlzLnByZXBhcmVTZXR0ZXJQYXJhbXMoKSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkanVzdHMgdGhlIGRhdGEgcHJvdmlkZXIgdXNpbmcgdGhlIHByb3ZpZGVkIGFkanVzdCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7KGRhdGFQcm92aWRlcjogRGF0YVByb3ZpZGVyKSA9PiB2b2lkfSBhZGp1c3RGbiAtIFRoZSBmdW5jdGlvbiB1c2VkIHRvIGFkanVzdCB0aGUgZGF0YSBwcm92aWRlci4gSXQgYWNjZXB0cyBhIHNpbmdsZSBwYXJhbWV0ZXIgb2YgdHlwZSBgRGF0YVByb3ZpZGVyYC5cbiAgICAgKiBAcmV0dXJucyB7dGhpc30gLSBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgICAqL1xuICAgIHdpdGhBZGp1c3REYXRhUHJvdmlkZXIoYWRqdXN0Rm46IChkYXRhUHJvdmlkZXI6IERhdGFQcm92aWRlcikgPT4gdm9pZCk6IHRoaXMge1xuICAgICAgICBhZGp1c3RGbih0aGlzLl9kYXRhUHJvdmlkZXIpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGp1c3RzIHRoZSBkYXRhIHByb3ZpZGVyIGFuZC9vciBkZXNjcmlwdG9yIHVzaW5nIHRoZSBwcm92aWRlZCBhZGp1c3QgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0geyhwYXJhbXM6IFR2QnVpbGRlclNldHRlclBhcmFtc1R5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPikgPT4gdm9pZH0gYWRqdXN0Rm4gLSBUaGUgZnVuY3Rpb24gdXNlZCB0byBhZGp1c3QgdGhlIGRhdGEgcHJvdmlkZXIuIEl0IGFjY2VwdHMgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHR5cGUgYFR2QnVpbGRlclNldHRlclBhcmFtc1R5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPmAuXG4gICAgICogQHJldHVybnMge3RoaXN9IC0gUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICAgKi9cbiAgICB3aXRoQWRqdXN0KGFkanVzdEZuOiAocGFyYW1zOiBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj4pID0+IHZvaWQpOiB0aGlzIHtcbiAgICAgICAgYWRqdXN0Rm4odGhpcy5wcmVwYXJlU2V0dGVyUGFyYW1zKCkpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBc3NvY2lhdGVzIGEgZmV0Y2ggZnVuY3Rpb24gZm9yIGEgZGF0YSBwcm92aWRlciBBUEkgc2VydmljZSB3aXRoIHRoZSBzcGVjaWZpZWQgcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7U2VydmljZUZufSBzZXJ2aWNlRm4gVGhlIGZ1bmN0aW9uIGZyb20gdGhlIHNlcnZpY2UgY2xhc3MgdGhhdCBwZXJmb3JtcyB0aGUgZmV0Y2ggQVBJIGNhbGwuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdXN0IGJlIGEga2V5IG9mIHRoZSBzZXJ2aWNlIHdpdGggYSBwYXJhbWV0ZXIgYW5kIHJldHVybiBhbiBPYnNlcnZhYmxlLlxuICAgICAqIEBwYXJhbSB7Q2xhc3NGdW5jdGlvbktleVBhcmFtMU9iaktleUV4dGVuZHNPZlRhcmdldFR5cGU8U2VydmljZSwgU2VydmljZUZuLCBJZFR5cGU+fSBmbkl0ZW1JZFBhcmFtTmFtZSBUaGUgcGFyYW1ldGVyIG5hbWUgZm9yIGl0ZW1JZCB1c2VkIGFzIHRoZSBrZXkgd2l0aGluIHRoZSByZXF1ZXN0IG9iamVjdCBvZiBmZXRjaCBmdW5jdGlvbiBvbiBBUEkgc2VydmljZS5cbiAgICAgKi9cbiAgICB3aXRoRGF0YVNlcnZpY2VGZXRjaEZuPFNlcnZpY2VGbiBleHRlbmRzIENsYXNzRnVuY3Rpb25LZXlzV2l0aFBhcmFtQW5kUmV0dXJuVHlwZTxTZXJ2aWNlLCBhbnksIE9ic2VydmFibGU8TW9kZWw+Pj4oXG4gICAgICAgIHNlcnZpY2VGbjogU2VydmljZUZuLFxuICAgICAgICBpdGVtSWRQYXJhbU5hbWU6IENsYXNzRnVuY3Rpb25LZXlQYXJhbTFPYmpLZXlFeHRlbmRzT2ZUYXJnZXRUeXBlPFNlcnZpY2UsIFNlcnZpY2VGbiwgSWRUeXBlPlxuICAgICk6IHRoaXMge1xuICAgICAgICBpZiAodGhpcy5fZGF0YVByb3ZpZGVyIGluc3RhbmNlb2YgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdCkge1xuICAgICAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyLndpdGhGZXRjaCgoaXRlbUlkLCBzZXJ2aWNlKSA9PiBzZXJ2aWNlW3NlcnZpY2VGbl0oe1tpdGVtSWRQYXJhbU5hbWVdOiBpdGVtSWR9KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXNzb2NpYXRlcyBhIGNyZWF0ZSBmdW5jdGlvbiBmb3IgYSBkYXRhIHByb3ZpZGVyIEFQSSBzZXJ2aWNlIHdpdGggdGhlIHNwZWNpZmllZCBwYXJhbWV0ZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtTZXJ2aWNlRm59IHNlcnZpY2VGbiBUaGUgZnVuY3Rpb24gZnJvbSB0aGUgc2VydmljZSBjbGFzcyB0aGF0IHBlcmZvcm1zIHRoZSBjcmVhdGUgQVBJIGNhbGwuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdXN0IGJlIGEga2V5IG9mIHRoZSBzZXJ2aWNlIHdpdGggYSBwYXJhbWV0ZXIgYW5kIHJldHVybiBhbiBPYnNlcnZhYmxlLlxuICAgICAqIEBwYXJhbSB7Q2xhc3NGdW5jdGlvbktleVBhcmFtMU9iaktleUV4dGVuZHNPZlRhcmdldFR5cGU8U2VydmljZSwgU2VydmljZUZuLCBVbmRlZmluZWQ8RWRpdE1vZGVsPj59IHNlcnZpY2VGbkl0ZW1QYXJhbU5hbWUgVGhlIHBhcmFtZXRlciBuYW1lIGZvciBpdGVtIHVzZWQgYXMgdGhlIGtleSB3aXRoaW4gdGhlIHJlcXVlc3Qgb2JqZWN0IG9mIGNyZWF0ZSBmdW5jdGlvbiBvbiBBUEkgc2VydmljZS5cbiAgICAgKiBAcGFyYW0ge0VkaXRvckRhdGFQcm92aWRlckZldGNoTWFwVG9GblR5cGU8TW9kZWwsIEFkZE1vZGVsPn0gW21hcEZldGNoSXRlbV0gTWFwIGZ1bmN0aW9uIHRvIHRyYW5zZm9ybSBtb2RlbCBmcm9tIGZldGNoIHRvIGZvcm0ncyBhZGQgbW9kZWwuXG4gICAgICovXG4gICAgd2l0aERhdGFTZXJ2aWNlQ3JlYXRlRm48U2VydmljZUZuIGV4dGVuZHMgQ2xhc3NGdW5jdGlvbktleXNXaXRoUGFyYW1BbmRSZXR1cm5UeXBlPFNlcnZpY2UsIGFueSwgT2JzZXJ2YWJsZTxhbnk+Pj4oXG4gICAgICAgIHNlcnZpY2VGbjogU2VydmljZUZuLFxuICAgICAgICBzZXJ2aWNlRm5JdGVtUGFyYW1OYW1lOiBDbGFzc0Z1bmN0aW9uS2V5UGFyYW0xT2JqS2V5RXh0ZW5kc09mVGFyZ2V0VHlwZTxTZXJ2aWNlLCBTZXJ2aWNlRm4sIEFkZE1vZGVsPixcbiAgICAgICAgbWFwRmV0Y2hJdGVtPzogRWRpdG9yRGF0YVByb3ZpZGVyRmV0Y2hNYXBUb0ZuVHlwZTxNb2RlbCwgQWRkTW9kZWw+XG4gICAgKTogdGhpcyB7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhUHJvdmlkZXIgaW5zdGFuY2VvZiBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0KSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIud2l0aENyZWF0ZSgoaXRlbSwgc2VydmljZSkgPT4gc2VydmljZVtzZXJ2aWNlRm5dKHtbc2VydmljZUZuSXRlbVBhcmFtTmFtZV06IGl0ZW19KSk7XG5cbiAgICAgICAgICAgIGlmIChtYXBGZXRjaEl0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIud2l0aE1hcEZldGNoSXRlbVRvQ3JlYXRlSXRlbShtYXBGZXRjaEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc29jaWF0ZXMgYW4gdXBkYXRlIGZ1bmN0aW9uIGZvciBhIGRhdGEgcHJvdmlkZXIgQVBJIHNlcnZpY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIHBhcmFtZXRlcnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1NlcnZpY2VGbn0gc2VydmljZUZuIFRoZSBmdW5jdGlvbiBmcm9tIHRoZSBzZXJ2aWNlIGNsYXNzIHRoYXQgcGVyZm9ybXMgdGhlIHVwZGF0ZSBBUEkgY2FsbC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11c3QgYmUgYSBrZXkgb2YgdGhlIHNlcnZpY2Ugd2l0aCBhIHBhcmFtZXRlciBhbmQgcmV0dXJuIGFuIE9ic2VydmFibGUuXG4gICAgICogQHBhcmFtIHtDbGFzc0Z1bmN0aW9uS2V5UGFyYW0xT2JqS2V5RXh0ZW5kc09mVGFyZ2V0VHlwZTxTZXJ2aWNlLCBTZXJ2aWNlRm4sIFVuZGVmaW5lZDxFZGl0TW9kZWw+Pn0gZm5JdGVtUGFyYW1OYW1lIFRoZSBwYXJhbWV0ZXIgbmFtZSBmb3IgaXRlbSB1c2VkIGFzIHRoZSBrZXkgd2l0aGluIHRoZSByZXF1ZXN0IG9iamVjdCBvZiB1cGRhdGUgZnVuY3Rpb24gb24gQVBJIHNlcnZpY2UuXG4gICAgICogQHBhcmFtIHtDbGFzc0Z1bmN0aW9uS2V5UGFyYW0xT2JqS2V5RXh0ZW5kc09mVGFyZ2V0VHlwZTxTZXJ2aWNlLCBTZXJ2aWNlRm4sIElkVHlwZT59IFtmbkl0ZW1JZFBhcmFtTmFtZV0gVGhlIHBhcmFtZXRlciBuYW1lIGZvciBpdGVtSWQgdXNlZCBhcyB0aGUga2V5IHdpdGhpbiB0aGUgcmVxdWVzdCBvYmplY3Qgb2YgdXBkYXRlIGZ1bmN0aW9uIG9uIEFQSSBzZXJ2aWNlLlxuICAgICAqIEBwYXJhbSB7RWRpdG9yRGF0YVByb3ZpZGVyRmV0Y2hNYXBUb0ZuVHlwZTxNb2RlbCwgRWRpdE1vZGVsPn0gW21hcEZldGNoSXRlbV0gTWFwIGZ1bmN0aW9uIHRvIHRyYW5zZm9ybSBtb2RlbCBmcm9tIGZldGNoIHRvIGZvcm0nIGVkaXQgbW9kZWwuXG4gICAgICovXG4gICAgd2l0aERhdGFTZXJ2aWNlVXBkYXRlRm48U2VydmljZUZuIGV4dGVuZHMgQ2xhc3NGdW5jdGlvbktleXNXaXRoUGFyYW1BbmRSZXR1cm5UeXBlPFNlcnZpY2UsIGFueSwgT2JzZXJ2YWJsZTxhbnk+Pj4oXG4gICAgICAgIHNlcnZpY2VGbjogU2VydmljZUZuLFxuICAgICAgICBmbkl0ZW1QYXJhbU5hbWU6IENsYXNzRnVuY3Rpb25LZXlQYXJhbTFPYmpLZXlFeHRlbmRzT2ZUYXJnZXRUeXBlPFNlcnZpY2UsIFNlcnZpY2VGbiwgRWRpdE1vZGVsPixcbiAgICAgICAgZm5JdGVtSWRQYXJhbU5hbWU/OiBDbGFzc0Z1bmN0aW9uS2V5UGFyYW0xT2JqS2V5RXh0ZW5kc09mVGFyZ2V0VHlwZTxTZXJ2aWNlLCBTZXJ2aWNlRm4sIElkVHlwZT4sXG4gICAgICAgIG1hcEZldGNoSXRlbT86IEVkaXRvckRhdGFQcm92aWRlckZldGNoTWFwVG9GblR5cGU8TW9kZWwsIEVkaXRNb2RlbD5cbiAgICApOiB0aGlzIHtcbiAgICAgICAgaWYgKHRoaXMuX2RhdGFQcm92aWRlciBpbnN0YW5jZW9mIFRhYmxldmlld0RhdGFQcm92aWRlckluc3QpIHtcbiAgICAgICAgICAgIHRoaXMuX2RhdGFQcm92aWRlci53aXRoVXBkYXRlKChpZCwgaXRlbSwgc2VydmljZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtczogYW55ID0ge1tmbkl0ZW1QYXJhbU5hbWVdOiBpdGVtfTtcbiAgICAgICAgICAgICAgICBpZiAoZm5JdGVtSWRQYXJhbU5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zW2ZuSXRlbUlkUGFyYW1OYW1lXSA9IGlkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc2VydmljZVtzZXJ2aWNlRm5dKHBhcmFtcyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKG1hcEZldGNoSXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFQcm92aWRlci53aXRoTWFwRmV0Y2hJdGVtVG9VcGRhdGVJdGVtKG1hcEZldGNoSXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXNzb2NpYXRlcyBhIGRlbGV0ZSBmdW5jdGlvbiBmb3IgYSBkYXRhIHByb3ZpZGVyIEFQSSBzZXJ2aWNlIHdpdGggdGhlIHNwZWNpZmllZCBwYXJhbWV0ZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtTZXJ2aWNlRm59IHNlcnZpY2VGbiBUaGUgZnVuY3Rpb24gZnJvbSB0aGUgc2VydmljZSBjbGFzcyB0aGF0IHBlcmZvcm1zIHRoZSBkZWxldGUgQVBJIGNhbGwuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdXN0IGJlIGEga2V5IG9mIHRoZSBzZXJ2aWNlIHdpdGggYSBwYXJhbWV0ZXIgYW5kIHJldHVybiBhbiBPYnNlcnZhYmxlLlxuICAgICAqIEBwYXJhbSB7Q2xhc3NGdW5jdGlvbktleVBhcmFtMU9iaktleUV4dGVuZHNPZlRhcmdldFR5cGU8U2VydmljZSwgU2VydmljZUZuLCBJZFR5cGU+fSBmbkl0ZW1JZFBhcmFtTmFtZSBUaGUgcGFyYW1ldGVyIG5hbWUgZm9yIGl0ZW1JZCB1c2VkIGFzIHRoZSBrZXkgd2l0aGluIHRoZSByZXF1ZXN0IG9iamVjdCBvZiBkZWxldGUgZnVuY3Rpb24gb24gQVBJIHNlcnZpY2UuXG4gICAgICovXG4gICAgd2l0aERhdGFTZXJ2aWNlRGVsZXRlRm48U2VydmljZUZuIGV4dGVuZHMgQ2xhc3NGdW5jdGlvbktleXNXaXRoUGFyYW1BbmRSZXR1cm5UeXBlPFNlcnZpY2UsIGFueSwgT2JzZXJ2YWJsZTxhbnk+Pj4oXG4gICAgICAgIHNlcnZpY2VGbjogU2VydmljZUZuLFxuICAgICAgICBmbkl0ZW1JZFBhcmFtTmFtZTogQ2xhc3NGdW5jdGlvbktleVBhcmFtMU9iaktleUV4dGVuZHNPZlRhcmdldFR5cGU8U2VydmljZSwgU2VydmljZUZuLCBJZFR5cGU+XG4gICAgKTogdGhpcyB7XG4gICAgICAgIGlmICh0aGlzLl9kYXRhUHJvdmlkZXIgaW5zdGFuY2VvZiBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0KSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIud2l0aERlbGV0ZSgoaXRlbUlkLCBzZXJ2aWNlKSA9PiBzZXJ2aWNlW3NlcnZpY2VGbl0oe1tmbkl0ZW1JZFBhcmFtTmFtZV06IGl0ZW1JZH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCB0aGUgZGVmYXVsdCB0YWJsZXZpZXcgYWN0aW9ucy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt0aGlzfSAtIFJldHVybnMgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAgICovXG4gICAgd2l0aE5vRGVmYXVsdEFjdGlvbnMoKTogdGhpcyB7XG4gICAgICAgIHRoaXMuZGVmYXVsdEFjdGlvbnMuZm9yRWFjaChhID0+IChhLmRlc2NyaXB0b3IgPSBudWxsKSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgdGhlIGRlZmF1bHQgYWN0aW9ucyBzcGVjaWZpZWQgaW4gcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VGFibGV2aWV3RGVmYXVsdEFjdGlvbnNFbnVtW119IHR5cGVzIC0gVGhlIGRlZmF1bHQgYWN0aW9ucyB0byBhZGQuXG4gICAgICogQHJldHVybnMge3RoaXN9IC0gUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICAgKi9cbiAgICB3aXRoRGVmYXVsdEFjdGlvbnMoLi4udHlwZXM6IFRhYmxldmlld0RlZmF1bHRBY3Rpb25zRW51bVtdKTogdGhpcyB7XG4gICAgICAgIHR5cGVzLmZvckVhY2godHlwZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmRlZmF1bHRBY3Rpb25zLmZpbmQoYSA9PiBhLnR5cGUgPT09IHR5cGUpO1xuICAgICAgICAgICAgaWYgKGFjdGlvbj8uZGVzY3JpcHRvciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGFjdGlvbi5kZXNjcmlwdG9yID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgZGVmYXVsdCBhY3Rpb25zIHNwZWNpZmllZCBpbiBwYXJhbWV0ZXJzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtUYWJsZXZpZXdEZWZhdWx0QWN0aW9uc0VudW1bXX0gdHlwZXMgLSBUaGUgZGVmYXVsdCBhY3Rpb25zIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7dGhpc30gLSBSZXR1cm5zIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBidWlsZGVyLlxuICAgICAqL1xuICAgIHdpdGhvdXREZWZhdWx0QWN0aW9ucyguLi50eXBlczogVGFibGV2aWV3RGVmYXVsdEFjdGlvbnNFbnVtW10pOiB0aGlzIHtcbiAgICAgICAgdHlwZXMuZm9yRWFjaCh0eXBlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZGVmYXVsdEFjdGlvbnMuZmluZChhID0+IGEudHlwZSA9PT0gdHlwZSk7XG4gICAgICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uLmRlc2NyaXB0b3IgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGFjdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VGFibGV2aWV3RGVmYXVsdEFjdGlvbnNFbnVtfSB0eXBlIC0gVGhlIGRlZmF1bHQgYWN0aW9ucyB0byBvdmVycmlkZS5cbiAgICAgKiBAcGFyYW0ge1R2QnVpbGRlckFjdGlvblNldHRlckZuVHlwZTxNb2RlbCwgQWN0aW9uU2VydmljZSAsIEFjdGlvblJ1bklucHV0LCBBY3Rpb25SdW5SZXN1bHQsIERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj59IGZuIC0gVGhlIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbmV3IGFjdGlvbiBkZXNjcmlwdG9yLiBJdCBhY2NlcHRzIGEgc2luZ2xlIHBhcmFtZXRlciBvZiB0eXBlIGBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5gLlxuICAgICAqIEB0eXBlUGFyYW0gQWN0aW9uU2VydmljZSAtIFRoZSBzZXJ2aWNlIHR5cGUgKHNhbWUgYXMgYnVpbGQgYFNlcnZpY2VgIGJ5IGRlZmF1bHQpLlxuICAgICAqIEByZXR1cm5zIHt0aGlzfSAtIFJldHVybnMgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAgICovXG4gICAgd2l0aERlZmF1bHRBY3Rpb25PdmVycmlkZTxBY3Rpb25TZXJ2aWNlID0gU2VydmljZSwgQWN0aW9uUnVuSW5wdXQgPSBNb2RlbCwgQWN0aW9uUnVuUmVzdWx0ID0gTW9kZWwsIFZhbGlkYXRpb25JbnB1dCA9IE1vZGVsPihcbiAgICAgICAgdHlwZTogVGFibGV2aWV3RGVmYXVsdEFjdGlvbnNFbnVtLFxuICAgICAgICBmbjogVHZCdWlsZGVyQWN0aW9uU2V0dGVyRm5UeXBlPE1vZGVsLCBBY3Rpb25TZXJ2aWNlLCBBY3Rpb25SdW5JbnB1dCwgQWN0aW9uUnVuUmVzdWx0LCBWYWxpZGF0aW9uSW5wdXQsIERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5cbiAgICApOiB0aGlzIHtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5kZWZhdWx0QWN0aW9ucy5maW5kKGEgPT4gYS50eXBlID09PSB0eXBlKTtcbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgYWN0aW9uLmRlc2NyaXB0b3IgPSBmbih0aGlzLnByZXBhcmVTZXR0ZXJQYXJhbXMoKSkgPz8gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGEgY3VzdG9tIGFjdGlvbi5cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSBvbiBvZiB7d2l0aEFjdGlvbk9uVGFibGV9LCB7d2l0aEFjdGlvbk9uRGV0YWlsc0VkaXRvcn0sIHt3aXRoQWN0aW9uT25FZGl0RWRpdG9yfSBvciB7d2l0aEFjdGlvbk9uQWRkRWRpdG9yfSBpbnN0ZWFkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtUdkJ1aWxkZXJBY3Rpb25TZXR0ZXJGblR5cGU8TW9kZWwsIEFjdGlvblNlcnZpY2UsIEFjdGlvblJ1bklucHV0LCBBY3Rpb25SdW5SZXN1bHQsIERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj59IGZuIC0gVGhlIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbmV3IGFjdGlvbiBkZXNjcmlwdG9yLiBJdCBhY2NlcHRzIGEgc2luZ2xlIHBhcmFtZXRlciBvZiB0eXBlIGBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5gLlxuICAgICAqIEB0eXBlUGFyYW0gQWN0aW9uU2VydmljZSAtIFRoZSBzZXJ2aWNlIHR5cGUgKHNhbWUgYXMgYnVpbGQgYFNlcnZpY2VgIGJ5IGRlZmF1bHQpLlxuICAgICAqIEByZXR1cm5zIHt0aGlzfSAtIFJldHVybnMgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAgICovXG4gICAgd2l0aEFjdGlvbjxBY3Rpb25Nb2RlbCA9IE1vZGVsLCBBY3Rpb25TZXJ2aWNlID0gU2VydmljZSwgQWN0aW9uUnVuSW5wdXQgPSBNb2RlbCwgQWN0aW9uUnVuUmVzdWx0ID0gTW9kZWwsIFZhbGlkYXRpb25JbnB1dCA9IE1vZGVsPihcbiAgICAgICAgZm46IFR2QnVpbGRlckFjdGlvblNldHRlckZuVHlwZTxBY3Rpb25Nb2RlbCwgQWN0aW9uU2VydmljZSwgQWN0aW9uUnVuSW5wdXQsIEFjdGlvblJ1blJlc3VsdCwgVmFsaWRhdGlvbklucHV0LCBEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+XG4gICAgKTogdGhpcyB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IGZuKHRoaXMucHJlcGFyZVNldHRlclBhcmFtcygpKTtcbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fY3VzdG9tQWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIGN1c3RvbSBhY3Rpb24gb24gdGFibGUgcm93IG9yIHRvcCAoaGVhZGVyIG9yIHRvb2xiYXIpLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtUdkJ1aWxkZXJBY3Rpb25TZXR0ZXJGblR5cGU8TW9kZWwsIEFjdGlvblNlcnZpY2UsIEFjdGlvblJ1blJlc3VsdCwgRGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPn0gZm4gLSBUaGUgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuZXcgYWN0aW9uIGRlc2NyaXB0b3IuIEl0IGFjY2VwdHMgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHR5cGUgYFR2QnVpbGRlclNldHRlclBhcmFtc1R5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPmAuXG4gICAgICogQHBhcmFtIHtBY3Rpb25Qb3NpdGlvbkVudW19IGZuIC0gVGhlIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbmV3IGFjdGlvbiBkZXNjcmlwdG9yLiBJdCBhY2NlcHRzIGEgc2luZ2xlIHBhcmFtZXRlciBvZiB0eXBlIGBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5gLlxuICAgICAqIEB0eXBlUGFyYW0gQWN0aW9uU2VydmljZSAtIFRoZSBzZXJ2aWNlIHR5cGUgKHNhbWUgYXMgYnVpbGQgYFNlcnZpY2VgIGJ5IGRlZmF1bHQpLlxuICAgICAqIEByZXR1cm5zIHt0aGlzfSAtIFJldHVybnMgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAgICovXG4gICAgd2l0aEFjdGlvbk9uVGFibGU8QWN0aW9uTW9kZWwgPSBNb2RlbCwgQWN0aW9uU2VydmljZSA9IFNlcnZpY2UsIEFjdGlvbklucHV0IGV4dGVuZHMgVGFibGVNb2RlbCB8IHVuZGVmaW5lZCA9IFRhYmxlTW9kZWwsIEFjdGlvblJ1blJlc3VsdCA9IE1vZGVsPihcbiAgICAgICAgZm46IFR2QnVpbGRlckFjdGlvblNldHRlckZuVHlwZTxBY3Rpb25Nb2RlbCwgQWN0aW9uU2VydmljZSwgQWN0aW9uSW5wdXQsIEFjdGlvblJ1blJlc3VsdCwgQWN0aW9uSW5wdXQsIERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5cbiAgICApOiB0aGlzIHtcbiAgICAgICAgY29uc3QgYWN0aW9uID0gZm4odGhpcy5wcmVwYXJlU2V0dGVyUGFyYW1zKCkpO1xuICAgICAgICBpZiAoYWN0aW9uKSB7XG4gICAgICAgICAgICBhY3Rpb24ud2l0aFBvc2l0aW9uVGFibGV2aWV3Q2F0ZWdvcmllcyhbVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRF0pO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICFbXG4gICAgICAgICAgICAgICAgICAgIEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyTGVmdCxcbiAgICAgICAgICAgICAgICAgICAgQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodCxcbiAgICAgICAgICAgICAgICAgICAgQWN0aW9uUG9zaXRpb25FbnVtLlRhYmxlSGVhZGVyLFxuICAgICAgICAgICAgICAgICAgICBBY3Rpb25Qb3NpdGlvbkVudW0uUm93SW5saW5lLFxuICAgICAgICAgICAgICAgICAgICBBY3Rpb25Qb3NpdGlvbkVudW0uUm93Q2xpY2tcbiAgICAgICAgICAgICAgICBdLmluY2x1ZGVzKGFjdGlvbi5wb3NpdGlvbilcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgQWN0aW9uICR7YWN0aW9uLmFjdGlvbk5hbWVMb25nfSBjYW4gbm90IGJlIHBvc2l0aW9uZWQgb24gdGFibGUgKCR7YWN0aW9uLnBvc2l0aW9ufSksIGRlZmluZSB2YWxpZCBwb3NpdGlvbi5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2N1c3RvbUFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBjdXN0b20gYWN0aW9uIG9uIGRldGFpbHMgZWRpdG9yLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtUdkJ1aWxkZXJBY3Rpb25TZXR0ZXJGblR5cGU8TW9kZWwsIEFjdGlvblNlcnZpY2UsIEFjdGlvblJ1blJlc3VsdCwgRGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPn0gZm4gLSBUaGUgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuZXcgYWN0aW9uIGRlc2NyaXB0b3IuIEl0IGFjY2VwdHMgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHR5cGUgYFR2QnVpbGRlclNldHRlclBhcmFtc1R5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPmAuXG4gICAgICogQHBhcmFtIHtBY3Rpb25Qb3NpdGlvbkVudW19IGZuIC0gVGhlIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgbmV3IGFjdGlvbiBkZXNjcmlwdG9yLiBJdCBhY2NlcHRzIGEgc2luZ2xlIHBhcmFtZXRlciBvZiB0eXBlIGBUdkJ1aWxkZXJTZXR0ZXJQYXJhbXNUeXBlPERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj5gLlxuICAgICAqIEB0eXBlUGFyYW0gQWN0aW9uU2VydmljZSAtIFRoZSBzZXJ2aWNlIHR5cGUgKHNhbWUgYXMgYnVpbGQgYFNlcnZpY2VgIGJ5IGRlZmF1bHQpLlxuICAgICAqIEByZXR1cm5zIHt0aGlzfSAtIFJldHVybnMgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAgICovXG4gICAgd2l0aEFjdGlvbk9uRGV0YWlsc0VkaXRvcjxBY3Rpb25Nb2RlbCA9IE1vZGVsLCBBY3Rpb25TZXJ2aWNlID0gU2VydmljZSwgQWN0aW9uSW5wdXQgZXh0ZW5kcyBNb2RlbCA9IE1vZGVsLCBBY3Rpb25SZXN1bHQgPSBNb2RlbD4oXG4gICAgICAgIGZuOiBUdkJ1aWxkZXJBY3Rpb25TZXR0ZXJGblR5cGU8QWN0aW9uTW9kZWwsIEFjdGlvblNlcnZpY2UsIEFjdGlvbklucHV0LCBBY3Rpb25SZXN1bHQsIEFjdGlvbklucHV0LCBEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+XG4gICAgKTogdGhpcyB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IGZuKHRoaXMucHJlcGFyZVNldHRlclBhcmFtcygpKTtcbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgYWN0aW9uLndpdGhQb3NpdGlvblRhYmxldmlld0NhdGVnb3JpZXMoW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkRFVEFJTFNdKTtcbiAgICAgICAgICAgIGlmICghW0FjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyTGVmdCwgQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodCwgQWN0aW9uUG9zaXRpb25FbnVtLkZvb3RlckxlZnQsIEFjdGlvblBvc2l0aW9uRW51bS5Gb290ZXJSaWdodF0uaW5jbHVkZXMoYWN0aW9uLnBvc2l0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgQWN0aW9uICR7YWN0aW9uLmFjdGlvbk5hbWVMb25nfSBjYW4gbm90IGJlIHBvc2l0aW9uZWQgb24gZGV0YWlscyAoJHthY3Rpb24ucG9zaXRpb259KSwgZGVmaW5lIHZhbGlkIHBvc2l0aW9uLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fY3VzdG9tQWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIGN1c3RvbSBhY3Rpb24gb24gZWRpdCBlZGl0b3IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1R2QnVpbGRlckFjdGlvblNldHRlckZuVHlwZTxNb2RlbCwgQWN0aW9uU2VydmljZSwgQWN0aW9uUnVuUmVzdWx0LCBEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+fSBmbiAtIFRoZSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIG5ldyBhY3Rpb24gZGVzY3JpcHRvci4gSXQgYWNjZXB0cyBhIHNpbmdsZSBwYXJhbWV0ZXIgb2YgdHlwZSBgVHZCdWlsZGVyU2V0dGVyUGFyYW1zVHlwZTxEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+YC5cbiAgICAgKiBAcGFyYW0ge0FjdGlvblBvc2l0aW9uRW51bX0gZm4gLSBUaGUgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuZXcgYWN0aW9uIGRlc2NyaXB0b3IuIEl0IGFjY2VwdHMgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHR5cGUgYFR2QnVpbGRlclNldHRlclBhcmFtc1R5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPmAuXG4gICAgICogQHR5cGVQYXJhbSBBY3Rpb25TZXJ2aWNlIC0gVGhlIHNlcnZpY2UgdHlwZSAoc2FtZSBhcyBidWlsZCBgU2VydmljZWAgYnkgZGVmYXVsdCkuXG4gICAgICogQHJldHVybnMge3RoaXN9IC0gUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICAgKi9cbiAgICB3aXRoQWN0aW9uT25FZGl0RWRpdG9yPEFjdGlvbk1vZGVsID0gTW9kZWwsIEFjdGlvblNlcnZpY2UgPSBTZXJ2aWNlLCBBY3Rpb25JbnB1dCBleHRlbmRzIEVkaXRNb2RlbCA9IEVkaXRNb2RlbCwgQWN0aW9uUmVzdWx0ID0gTW9kZWw+KFxuICAgICAgICBmbjogVHZCdWlsZGVyQWN0aW9uU2V0dGVyRm5UeXBlPEFjdGlvbk1vZGVsLCBBY3Rpb25TZXJ2aWNlLCBBY3Rpb25JbnB1dCwgQWN0aW9uUmVzdWx0LCBBY3Rpb25JbnB1dCwgRGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPlxuICAgICk6IHRoaXMge1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBmbih0aGlzLnByZXBhcmVTZXR0ZXJQYXJhbXMoKSk7XG4gICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgIGFjdGlvbi53aXRoUG9zaXRpb25UYWJsZXZpZXdDYXRlZ29yaWVzKFtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5FRElUXSk7XG4gICAgICAgICAgICBpZiAoIVtBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhckxlZnQsIEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyUmlnaHQsIEFjdGlvblBvc2l0aW9uRW51bS5Gb290ZXJMZWZ0LCBBY3Rpb25Qb3NpdGlvbkVudW0uRm9vdGVyUmlnaHRdLmluY2x1ZGVzKGFjdGlvbi5wb3NpdGlvbikpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEFjdGlvbiAke2FjdGlvbi5hY3Rpb25OYW1lTG9uZ30gY2FuIG5vdCBiZSBwb3NpdGlvbmVkIG9uIGVkaXQgKCR7YWN0aW9uLnBvc2l0aW9ufSksIGRlZmluZSB2YWxpZCBwb3NpdGlvbi5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX2N1c3RvbUFjdGlvbnMucHVzaChhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBjdXN0b20gYWN0aW9uIG9uIGFkZCBlZGl0b3IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1R2QnVpbGRlckFjdGlvblNldHRlckZuVHlwZTxNb2RlbCwgQWN0aW9uU2VydmljZSwgQWN0aW9uUnVuUmVzdWx0LCBEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+fSBmbiAtIFRoZSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIG5ldyBhY3Rpb24gZGVzY3JpcHRvci4gSXQgYWNjZXB0cyBhIHNpbmdsZSBwYXJhbWV0ZXIgb2YgdHlwZSBgVHZCdWlsZGVyU2V0dGVyUGFyYW1zVHlwZTxEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+YC5cbiAgICAgKiBAcGFyYW0ge0FjdGlvblBvc2l0aW9uRW51bX0gZm4gLSBUaGUgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBuZXcgYWN0aW9uIGRlc2NyaXB0b3IuIEl0IGFjY2VwdHMgYSBzaW5nbGUgcGFyYW1ldGVyIG9mIHR5cGUgYFR2QnVpbGRlclNldHRlclBhcmFtc1R5cGU8RGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPmAuXG4gICAgICogQHR5cGVQYXJhbSBBY3Rpb25TZXJ2aWNlIC0gVGhlIHNlcnZpY2UgdHlwZSAoc2FtZSBhcyBidWlsZCBgU2VydmljZWAgYnkgZGVmYXVsdCkuXG4gICAgICogQHJldHVybnMge3RoaXN9IC0gUmV0dXJucyB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICAgKi9cbiAgICB3aXRoQWN0aW9uT25BZGRFZGl0b3I8QWN0aW9uTW9kZWwgPSBNb2RlbCwgQWN0aW9uU2VydmljZSA9IFNlcnZpY2UsIEFjdGlvbklucHV0IGV4dGVuZHMgQWRkTW9kZWwgPSBBZGRNb2RlbCwgQWN0aW9uUmVzdWx0ID0gTW9kZWw+KFxuICAgICAgICBmbjogVHZCdWlsZGVyQWN0aW9uU2V0dGVyRm5UeXBlPEFjdGlvbk1vZGVsLCBBY3Rpb25TZXJ2aWNlLCBBY3Rpb25JbnB1dCwgQWN0aW9uUmVzdWx0LCBBY3Rpb25JbnB1dCwgRGVzY3JpcHRvciwgRGF0YVByb3ZpZGVyPlxuICAgICk6IHRoaXMge1xuICAgICAgICBjb25zdCBhY3Rpb24gPSBmbih0aGlzLnByZXBhcmVTZXR0ZXJQYXJhbXMoKSk7XG4gICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgIGFjdGlvbi53aXRoUG9zaXRpb25UYWJsZXZpZXdDYXRlZ29yaWVzKFtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5BRERdKTtcbiAgICAgICAgICAgIGlmICghW0FjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyTGVmdCwgQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodCwgQWN0aW9uUG9zaXRpb25FbnVtLkZvb3RlckxlZnQsIEFjdGlvblBvc2l0aW9uRW51bS5Gb290ZXJSaWdodF0uaW5jbHVkZXMoYWN0aW9uLnBvc2l0aW9uKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgQWN0aW9uICR7YWN0aW9uLmFjdGlvbk5hbWVMb25nfSBjYW4gbm90IGJlIHBvc2l0aW9uZWQgb24gYWRkICgke2FjdGlvbi5wb3NpdGlvbn0pLCBkZWZpbmUgdmFsaWQgcG9zaXRpb24uYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jdXN0b21BY3Rpb25zLnB1c2goYWN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKlxuICAgICAqIEJ1aWxkcyBhbmQgcmV0dXJucyBhbiBpbnN0YW5jZSBvZiBJVGFibGV2aWV3LlxuICAgICAqIERPIE5PVCBDQUxMIHRoaXMgd2l0aGluIHRhYmxldmlldyBjcmVhdGUgY2FsbGJhY2sgZnVuY3Rpb24hXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtUYWJsZXZpZXdJbnB1dDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIERlc2NyaXB0b3IsIERhdGFQcm92aWRlcj59IC0gVGhlIGJ1aWx0IElUYWJsZXZpZXcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgYnVpbGQoKSB7XG4gICAgICAgIHJldHVybiA8VGFibGV2aWV3SW5wdXQ8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBUYWJsZU1vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsLCBEZXNjcmlwdG9yLCBEYXRhUHJvdmlkZXI+PntcbiAgICAgICAgICAgIGFjdGlvbnM6IHRhYmxldmlld0NyZWF0ZURlZmF1bHRBY3Rpb25zKFxuICAgICAgICAgICAgICAgIHRoaXMuX2Rlc2NyaXB0b3IgYXMgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8YW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnk+LFxuICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdEFjdGlvbnMuZmlsdGVyKGEgPT4gYS5kZXNjcmlwdG9yICE9PSBudWxsKS5tYXAoYSA9PiBhLnR5cGUpLFxuICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdEFjdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihhID0+IGEuZGVzY3JpcHRvciAhPSBudWxsKVxuICAgICAgICAgICAgICAgICAgICAucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGFjYywgYSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2EudHlwZV06IGEuZGVzY3JpcHRvciFcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgPFJlY29yZDxudW1iZXIsIEFjdGlvbkRlc2NyaXB0b3JJbnN0PGFueT4+Pnt9XG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdGhpcy5pbmplY3RvclxuICAgICAgICAgICAgKS5jb25jYXQodGhpcy5fY3VzdG9tQWN0aW9ucyksXG4gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IHRoaXMuX2RhdGFQcm92aWRlcixcbiAgICAgICAgICAgIGRlc2NyaXB0b3I6IHRoaXMuX2Rlc2NyaXB0b3JcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWRlc2NyaXB0b3ItZmllbGRzLW1hbmFnZS1oZWxwZXIudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9hcGkvc3JjL3RhYmxldmlldy9tb2RlbHMvdGFibGV2aWV3LWRlc2NyaXB0b3ItZmllbGRzLW1hbmFnZS1oZWxwZXIudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Qcm9wc09ialR5cGUzfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG4vKipcbiAqIEhlbHBlciB0eXBlIGZvciBjYXNlcyB3aGVuIHlvdSBuZWVkIHRvIGN1c3RvbSBkZWZpbmUgRmllbGRzTWFuYWdlTW9kZWwgb24gVGFibGV2aWV3RGVzY3JpcHRvckluc3QgZnJvbSBvbmx5IG9uZSBtb2RlbCAoc2luZ2xlIG1vZGVsKS5cbiAqL1xuZXhwb3J0IHR5cGUgVGFibGV2aWV3RGVzY3JpcHRvckZpZWxkc01hbmFnZVNpbmdsZVR5cGU8VGFibGV2aWV3TW9kZWw+ID0gQ29tbW9uUHJvcHNPYmpUeXBlMzxUYWJsZXZpZXdNb2RlbCwgVGFibGV2aWV3TW9kZWwsIFRhYmxldmlld01vZGVsPjtcblxuLyoqXG4gKiBIZWxwZXIgdHlwZSBmb3IgY2FzZXMgd2hlbiB5b3UgbmVlZCB0byBjdXN0b20gZGVmaW5lIEZpZWxkc01hbmFnZU1vZGVsIG9uIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0IGZyb20gb25seSAzIG1vZGVscyAobXVsdGkgbW9kZWwpLlxuICovXG5leHBvcnQgdHlwZSBUYWJsZXZpZXdEZXNjcmlwdG9yRmllbGRzTWFuYWdlTXVsdGlUeXBlPFRhYmxldmlld01vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsPiA9IENvbW1vblByb3BzT2JqVHlwZTM8VGFibGV2aWV3TW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWw+O1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWRlc2NyaXB0b3ItaGVscGVyLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvYXBpL3NyYy90YWJsZXZpZXcvbW9kZWxzL3RhYmxldmlldy1kZXNjcmlwdG9yLWhlbHBlci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RhYmxldmlld0Rlc2NyaXB0b3JJbnN0fSBmcm9tICcuLi9kZXNjcmlwdG9ycy90YWJsZXZpZXcuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCB0eXBlIFRhYmxldmlld0Rlc2NyaXB0b3JUeXBlPFRhYmxldmlld01vZGVsLCBTb3J0cyA9IGtleW9mIFRhYmxldmlld01vZGVsLCBGaWx0ZXJzID0ga2V5b2YgVGFibGV2aWV3TW9kZWwsIFBhcmVudEVkaXRvck1vZGVsID0gdW5kZWZpbmVkPiA9IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PFxuICAgIFRhYmxldmlld01vZGVsLFxuICAgIFNvcnRzLFxuICAgIEZpbHRlcnMsXG4gICAgUGFyZW50RWRpdG9yTW9kZWwsXG4gICAgVGFibGV2aWV3TW9kZWwsXG4gICAgVGFibGV2aWV3TW9kZWwsXG4gICAgVGFibGV2aWV3TW9kZWwsXG4gICAgVGFibGV2aWV3TW9kZWxcbj47XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWlucHV0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L2FwaS9zcmMvdGFibGV2aWV3L21vZGVscy90YWJsZXZpZXctaW5wdXQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWN0aW9uRGVzY3JpcHRvckluc3R9IGZyb20gJy4uLy4uL2FjdGlvbi9kZXNjcmlwdG9ycy9hY3Rpb24uZGVzY3JpcHRvcic7XG5pbXBvcnQge0lUYWJsZXZpZXdEYXRhUHJvdmlkZXJ9IGZyb20gJy4uL2RhdGEtcHJvdmlkZXJzL3RhYmxldmlldy5kYXRhLXByb3ZpZGVyJztcbmltcG9ydCB7VGFibGV2aWV3RGVzY3JpcHRvckluc3R9IGZyb20gJy4uL2Rlc2NyaXB0b3JzL3RhYmxldmlldy5kZXNjcmlwdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZXZpZXdJbnB1dDxcbiAgICBNb2RlbCxcbiAgICBTZXJ2aWNlLFxuICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsLFxuICAgIFRhYmxlTW9kZWwgPSBNb2RlbCxcbiAgICBBZGRNb2RlbCA9IE1vZGVsLFxuICAgIEVkaXRNb2RlbCA9IE1vZGVsLFxuICAgIERlc2NyaXB0b3IgPSBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxNb2RlbCwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgVGFibGVNb2RlbCwgQWRkTW9kZWwsIEVkaXRNb2RlbD4sXG4gICAgRGF0YVByb3ZpZGVyID0gSVRhYmxldmlld0RhdGFQcm92aWRlcjxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIGFueSwgVGFibGVNb2RlbCwgQWRkTW9kZWwsIEVkaXRNb2RlbD5cbj4ge1xuICAgIGRlc2NyaXB0b3I6IERlc2NyaXB0b3I7XG4gICAgZGF0YVByb3ZpZGVyOiBEYXRhUHJvdmlkZXI7XG4gICAgYWN0aW9uczogQWN0aW9uRGVzY3JpcHRvckluc3Q8TW9kZWw+W107XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdGFibGV2aWV3L2FwaS9zcmMvdGFibGV2aWV3L21vZGVscy90YWJsZXZpZXctcm91dGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVBlcm1pc3Npb25zLCBDb21tb25zUm91dGVEYXRhfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0FjdGlvbkRlc2NyaXB0b3JJbnN0fSBmcm9tICcuLi8uLi9hY3Rpb24vZGVzY3JpcHRvcnMvYWN0aW9uLmRlc2NyaXB0b3InO1xuaW1wb3J0IHtJVGFibGV2aWV3RGF0YVByb3ZpZGVyfSBmcm9tICcuLi9kYXRhLXByb3ZpZGVycy90YWJsZXZpZXcuZGF0YS1wcm92aWRlcic7XG5pbXBvcnQge1RhYmxldmlld0Rlc2NyaXB0b3JJbnN0fSBmcm9tICcuLi9kZXNjcmlwdG9ycy90YWJsZXZpZXcuZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGV2aWV3Um91dGVEYXRhIGV4dGVuZHMgQ29tbW9uc1JvdXRlRGF0YSB7XG4gICAgdGFibGV2aWV3Pzoge1xuICAgICAgICBkZXNjcmlwdG9yOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxhbnksIGFueSwgYW55LCBhbnk+O1xuICAgICAgICBkYXRhUHJvdmlkZXI6IElUYWJsZXZpZXdEYXRhUHJvdmlkZXI7XG4gICAgICAgIGFjdGlvbnM/OiBBcnJheTxBY3Rpb25EZXNjcmlwdG9ySW5zdDxhbnk+PjtcbiAgICB9O1xuICAgIHRhYmxldmlld1Blcm1pc3Npb25zPzoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBBUGVybWlzc2lvbnM7XG4gICAgfTtcbiAgICAvLyB0YWJsZXZpZXcgYWN0aW9ucyBkZWZpbmVkIHZpYSByb3V0ZSBidWlsZGVyXG4gICAgdGFibGV2aWV3QWN0aW9ucz86IHtcbiAgICAgICAgaGFzQWRkPzogYm9vbGVhbjtcbiAgICAgICAgaGFzRWRpdD86IGJvb2xlYW47XG4gICAgICAgIGhhc0RldGFpbHM/OiBib29sZWFuO1xuICAgICAgICBoYXNEZWxldGU/OiBib29sZWFuO1xuICAgIH07XG59XG4iXX0=
|
package/esm2022/tableview/editor/components/editor/auto-save-status/auto-save-status.component.mjs
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
|
3
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@ngx-translate/core";
|
|
6
|
-
export class EditorAutoSaveStatusComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.status = input();
|
|
9
|
-
this.label = computed(() => {
|
|
10
|
-
switch (this.status()?.state) {
|
|
11
|
-
case 'saving':
|
|
12
|
-
case 'saved':
|
|
13
|
-
return 'mngEditor.autoSave.autosavedAt';
|
|
14
|
-
case 'preview':
|
|
15
|
-
return 'mngEditor.autoSave.preview';
|
|
16
|
-
case 'previewCurrent':
|
|
17
|
-
return 'mngEditor.autoSave.previewCurrent';
|
|
18
|
-
case 'restored':
|
|
19
|
-
return 'mngEditor.autoSave.restored';
|
|
20
|
-
default:
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
this.timestampDateFormat = computed(() => {
|
|
25
|
-
switch (this.status()?.state) {
|
|
26
|
-
case 'saving':
|
|
27
|
-
case 'saved':
|
|
28
|
-
return 'HH:mm:ss';
|
|
29
|
-
default:
|
|
30
|
-
return 'dd. MM. yyyy HH:mm:ss';
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
this.icon = computed(() => {
|
|
34
|
-
switch (this.status()?.state) {
|
|
35
|
-
case 'saved':
|
|
36
|
-
return 'pi pi-save';
|
|
37
|
-
case 'saving':
|
|
38
|
-
return 'pi pi-hourglass pi-spin';
|
|
39
|
-
case 'preview':
|
|
40
|
-
case 'previewCurrent':
|
|
41
|
-
return 'pi pi-eye';
|
|
42
|
-
case 'restored':
|
|
43
|
-
return 'pi pi-sync';
|
|
44
|
-
default:
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EditorAutoSaveStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: EditorAutoSaveStatusComponent, isStandalone: true, selector: "mng-editor-auto-save-status", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
51
|
-
<span>
|
|
52
|
-
@if (icon(); as icon) {
|
|
53
|
-
<i [class]="icon"></i>
|
|
54
|
-
}
|
|
55
|
-
@if (label(); as label) {
|
|
56
|
-
|
|
57
|
-
<span [innerHTML]="label | translate: {timestamp: status()?.timestamp | date: timestampDateFormat()}"></span>
|
|
58
|
-
}
|
|
59
|
-
</span>
|
|
60
|
-
`, isInline: true, dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: EditorAutoSaveStatusComponent, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{
|
|
65
|
-
standalone: true,
|
|
66
|
-
selector: 'mng-editor-auto-save-status',
|
|
67
|
-
imports: [DatePipe, TranslateModule],
|
|
68
|
-
template: `
|
|
69
|
-
<span>
|
|
70
|
-
@if (icon(); as icon) {
|
|
71
|
-
<i [class]="icon"></i>
|
|
72
|
-
}
|
|
73
|
-
@if (label(); as label) {
|
|
74
|
-
|
|
75
|
-
<span [innerHTML]="label | translate: {timestamp: status()?.timestamp | date: timestampDateFormat()}"></span>
|
|
76
|
-
}
|
|
77
|
-
</span>
|
|
78
|
-
`,
|
|
79
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
80
|
-
}]
|
|
81
|
-
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1zYXZlLXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90YWJsZXZpZXcvc3JjL2VkaXRvci9jb21wb25lbnRzL2VkaXRvci9hdXRvLXNhdmUtc3RhdHVzL2F1dG8tc2F2ZS1zdGF0dXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFxQnBELE1BQU0sT0FBTyw2QkFBNkI7SUFqQjFDO1FBa0JJLFdBQU0sR0FBRyxLQUFLLEVBQXdCLENBQUM7UUFFdkMsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbEIsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLEtBQUssUUFBUSxDQUFDO2dCQUNkLEtBQUssT0FBTztvQkFDUixPQUFPLGdDQUFnQyxDQUFDO2dCQUM1QyxLQUFLLFNBQVM7b0JBQ1YsT0FBTyw0QkFBNEIsQ0FBQztnQkFDeEMsS0FBSyxnQkFBZ0I7b0JBQ2pCLE9BQU8sbUNBQW1DLENBQUM7Z0JBQy9DLEtBQUssVUFBVTtvQkFDWCxPQUFPLDZCQUE2QixDQUFDO2dCQUN6QztvQkFDSSxPQUFPLFNBQVMsQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCx3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2hDLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDO2dCQUMzQixLQUFLLFFBQVEsQ0FBQztnQkFDZCxLQUFLLE9BQU87b0JBQ1IsT0FBTyxVQUFVLENBQUM7Z0JBQ3RCO29CQUNJLE9BQU8sdUJBQXVCLENBQUM7WUFDdkMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakIsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQzNCLEtBQUssT0FBTztvQkFDUixPQUFPLFlBQVksQ0FBQztnQkFDeEIsS0FBSyxRQUFRO29CQUNULE9BQU8seUJBQXlCLENBQUM7Z0JBQ3JDLEtBQUssU0FBUyxDQUFDO2dCQUNmLEtBQUssZ0JBQWdCO29CQUNqQixPQUFPLFdBQVcsQ0FBQztnQkFDdkIsS0FBSyxVQUFVO29CQUNYLE9BQU8sWUFBWSxDQUFDO2dCQUN4QjtvQkFDSSxPQUFPLFNBQVMsQ0FBQztZQUN6QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7S0FDTjsrR0ExQ1ksNkJBQTZCO21HQUE3Qiw2QkFBNkIsOE5BYjVCOzs7Ozs7Ozs7O0tBVVQsdURBWFMsUUFBUSw0Q0FBRSxlQUFlOzs0RkFjMUIsNkJBQTZCO2tCQWpCekMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQztvQkFDcEMsUUFBUSxFQUFFOzs7Ozs7Ozs7O0tBVVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge0VkaXRvckF1dG9TYXZlU3RhdHVzfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZWRpdG9yLWF1dG8tc2F2ZS1wcmV2aWV3Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1lZGl0b3ItYXV0by1zYXZlLXN0YXR1cycsXG4gICAgaW1wb3J0czogW0RhdGVQaXBlLCBUcmFuc2xhdGVNb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgQGlmIChpY29uKCk7IGFzIGljb24pIHtcbiAgICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiaWNvblwiPjwvaT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAobGFiZWwoKTsgYXMgbGFiZWwpIHtcbiAgICAgICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsIHwgdHJhbnNsYXRlOiB7dGltZXN0YW1wOiBzdGF0dXMoKT8udGltZXN0YW1wIHwgZGF0ZTogdGltZXN0YW1wRGF0ZUZvcm1hdCgpfVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9zcGFuPlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9yQXV0b1NhdmVTdGF0dXNDb21wb25lbnQge1xuICAgIHN0YXR1cyA9IGlucHV0PEVkaXRvckF1dG9TYXZlU3RhdHVzPigpO1xuXG4gICAgbGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0dXMoKT8uc3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NhdmluZyc6XG4gICAgICAgICAgICBjYXNlICdzYXZlZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtbmdFZGl0b3IuYXV0b1NhdmUuYXV0b3NhdmVkQXQnO1xuICAgICAgICAgICAgY2FzZSAncHJldmlldyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtbmdFZGl0b3IuYXV0b1NhdmUucHJldmlldyc7XG4gICAgICAgICAgICBjYXNlICdwcmV2aWV3Q3VycmVudCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdtbmdFZGl0b3IuYXV0b1NhdmUucHJldmlld0N1cnJlbnQnO1xuICAgICAgICAgICAgY2FzZSAncmVzdG9yZWQnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnbW5nRWRpdG9yLmF1dG9TYXZlLnJlc3RvcmVkJztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHRpbWVzdGFtcERhdGVGb3JtYXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0dXMoKT8uc3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NhdmluZyc6XG4gICAgICAgICAgICBjYXNlICdzYXZlZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdISDptbTpzcyc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnZGQuIE1NLiB5eXl5IEhIOm1tOnNzJztcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGljb24gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5zdGF0dXMoKT8uc3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NhdmVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3BpIHBpLXNhdmUnO1xuICAgICAgICAgICAgY2FzZSAnc2F2aW5nJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3BpIHBpLWhvdXJnbGFzcyBwaS1zcGluJztcbiAgICAgICAgICAgIGNhc2UgJ3ByZXZpZXcnOlxuICAgICAgICAgICAgY2FzZSAncHJldmlld0N1cnJlbnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiAncGkgcGktZXllJztcbiAgICAgICAgICAgIGNhc2UgJ3Jlc3RvcmVkJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3BpIHBpLXN5bmMnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfSk7XG59XG4iXX0=
|