@deenruv/admin-ui 1.0.0
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/LICENSE +23 -0
- package/catalog/catalog.module.d.ts +43 -0
- package/catalog/catalog.routes.d.ts +4 -0
- package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +16 -0
- package/catalog/components/asset-detail/asset-detail.component.d.ts +28 -0
- package/catalog/components/asset-list/asset-list.component.d.ts +23 -0
- package/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +35 -0
- package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +40 -0
- package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
- package/catalog/components/collection-contents/collection-contents.component.d.ts +39 -0
- package/catalog/components/collection-data-table/collection-data-table.component.d.ts +80 -0
- package/catalog/components/collection-detail/collection-detail.component.d.ts +71 -0
- package/catalog/components/collection-list/collection-breadcrumb.pipe.d.ts +11 -0
- package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +8 -0
- package/catalog/components/collection-list/collection-list.component.d.ts +25 -0
- package/catalog/components/collection-tree/array-to-tree.d.ts +19 -0
- package/catalog/components/collection-tree/collection-tree-node.component.d.ts +44 -0
- package/catalog/components/collection-tree/collection-tree.component.d.ts +22 -0
- package/catalog/components/collection-tree/collection-tree.service.d.ts +33 -0
- package/catalog/components/collection-tree/collection-tree.types.d.ts +7 -0
- package/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +10 -0
- package/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.d.ts +19 -0
- package/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.d.ts +18 -0
- package/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.d.ts +27 -0
- package/catalog/components/facet-detail/facet-detail.component.d.ts +76 -0
- package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +7 -0
- package/catalog/components/facet-list/facet-list.component.d.ts +19 -0
- package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +65 -0
- package/catalog/components/move-collections-dialog/move-collections-dialog.component.d.ts +23 -0
- package/catalog/components/option-value-input/option-value-input.component.d.ts +48 -0
- package/catalog/components/product-detail/product-detail.component.d.ts +75 -0
- package/catalog/components/product-list/product-list-bulk-actions.d.ts +7 -0
- package/catalog/components/product-list/product-list.component.d.ts +18 -0
- package/catalog/components/product-list/product-list.graphql.d.ts +1 -0
- package/catalog/components/product-options-editor/product-options-editor.component.d.ts +47 -0
- package/catalog/components/product-variant-detail/product-variant-detail.component.d.ts +79 -0
- package/catalog/components/product-variant-detail/product-variant-detail.graphql.d.ts +3 -0
- package/catalog/components/product-variant-list/product-variant-list-bulk-actions.d.ts +6 -0
- package/catalog/components/product-variant-list/product-variant-list.component.d.ts +14 -0
- package/catalog/components/product-variant-list/product-variant-list.graphql.d.ts +1 -0
- package/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.d.ts +18 -0
- package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +88 -0
- package/catalog/components/product-variants-table/product-variants-table.component.d.ts +55 -0
- package/catalog/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +25 -0
- package/catalog/components/variant-price-detail/variant-price-detail.component.d.ts +20 -0
- package/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.d.ts +10 -0
- package/catalog/index.d.ts +5 -0
- package/catalog/providers/product-detail/product-detail.service.d.ts +286 -0
- package/catalog/providers/product-detail/replace-last.d.ts +6 -0
- package/catalog/providers/routing/product-variants-resolver.d.ts +8 -0
- package/catalog/public_api.d.ts +48 -0
- package/core/app.component.d.ts +19 -0
- package/core/app.component.module.d.ts +9 -0
- package/core/app.config.d.ts +3 -0
- package/core/common/base-detail.component.d.ts +146 -0
- package/core/common/base-entity-resolver.d.ts +45 -0
- package/core/common/base-list.component.d.ts +138 -0
- package/core/common/component-registry-types.d.ts +65 -0
- package/core/common/deactivate-aware.d.ts +8 -0
- package/core/common/detail-breadcrumb.d.ts +12 -0
- package/core/common/generated-types.d.ts +20279 -0
- package/core/common/introspection-result-wrapper.d.ts +1 -0
- package/core/common/introspection-result.d.ts +7 -0
- package/core/common/single-search-selection-model.d.ts +16 -0
- package/core/common/title-setter.d.ts +4 -0
- package/core/common/utilities/bulk-action-utils.d.ts +49 -0
- package/core/common/utilities/configurable-operation-utils.d.ts +48 -0
- package/core/common/utilities/create-updated-translatable.d.ts +25 -0
- package/core/common/utilities/custom-field-default-value.d.ts +6 -0
- package/core/common/utilities/find-translation.d.ts +14 -0
- package/core/common/utilities/get-default-ui-language.d.ts +3 -0
- package/core/common/utilities/interpolate-description.d.ts +7 -0
- package/core/common/utilities/selection-manager.d.ts +30 -0
- package/core/common/utilities/string-to-color.d.ts +4 -0
- package/core/common/version.d.ts +1 -0
- package/core/components/alerts/alerts.component.d.ts +11 -0
- package/core/components/app-shell/app-shell.component.d.ts +41 -0
- package/core/components/base-nav/base-nav.component.d.ts +30 -0
- package/core/components/breadcrumb/breadcrumb.component.d.ts +27 -0
- package/core/components/channel-switcher/channel-switcher.component.d.ts +21 -0
- package/core/components/main-nav/main-nav.component.d.ts +22 -0
- package/core/components/notification/notification.component.d.ts +37 -0
- package/core/components/overlay-host/overlay-host.component.d.ts +12 -0
- package/core/components/settings-nav/settings-nav.component.d.ts +11 -0
- package/core/components/theme-switcher/theme-switcher.component.d.ts +16 -0
- package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +30 -0
- package/core/components/user-menu/user-menu.component.d.ts +12 -0
- package/core/core.module.d.ts +39 -0
- package/core/data/check-jobs-link.d.ts +19 -0
- package/core/data/client-state/client-defaults.d.ts +32 -0
- package/core/data/client-state/client-resolvers.d.ts +12 -0
- package/core/data/data.module.d.ts +17 -0
- package/core/data/definitions/administrator-definitions.d.ts +14 -0
- package/core/data/definitions/auth-definitions.d.ts +4 -0
- package/core/data/definitions/client-definitions.d.ts +17 -0
- package/core/data/definitions/collection-definitions.d.ts +13 -0
- package/core/data/definitions/customer-definitions.d.ts +23 -0
- package/core/data/definitions/facet-definitions.d.ts +13 -0
- package/core/data/definitions/order-definitions.d.ts +39 -0
- package/core/data/definitions/product-definitions.d.ts +49 -0
- package/core/data/definitions/promotion-definitions.d.ts +6 -0
- package/core/data/definitions/settings-definitions.d.ts +69 -0
- package/core/data/definitions/shared-definitions.d.ts +3 -0
- package/core/data/definitions/shipping-definitions.d.ts +8 -0
- package/core/data/omit-typename-link.d.ts +11 -0
- package/core/data/providers/administrator-data.service.d.ts +19 -0
- package/core/data/providers/auth-data.service.d.ts +9 -0
- package/core/data/providers/base-data.service.d.ts +26 -0
- package/core/data/providers/client-data.service.d.ts +26 -0
- package/core/data/providers/collection-data.service.d.ts +25 -0
- package/core/data/providers/customer-data.service.d.ts +36 -0
- package/core/data/providers/data.service.d.ts +86 -0
- package/core/data/providers/facet-data.service.d.ts +19 -0
- package/core/data/providers/fetch-adapter.d.ts +14 -0
- package/core/data/providers/interceptor.d.ts +49 -0
- package/core/data/providers/order-data.service.d.ts +48 -0
- package/core/data/providers/product-data.service.d.ts +86 -0
- package/core/data/providers/promotion-data.service.d.ts +11 -0
- package/core/data/providers/settings-data.service.d.ts +74 -0
- package/core/data/providers/shipping-method-data.service.d.ts +17 -0
- package/core/data/query-result.d.ts +43 -0
- package/core/data/server-config.d.ts +39 -0
- package/core/data/utils/add-custom-fields.d.ts +7 -0
- package/core/data/utils/get-server-location.d.ts +4 -0
- package/core/data/utils/is-entity-create-or-update-mutation.d.ts +6 -0
- package/core/data/utils/remove-readonly-custom-fields.d.ts +17 -0
- package/core/data/utils/transform-relation-custom-field-inputs.d.ts +8 -0
- package/core/extension/add-action-bar-dropdown-menu-item.d.ts +25 -0
- package/core/extension/add-action-bar-item.d.ts +21 -0
- package/core/extension/add-nav-menu-item.d.ts +56 -0
- package/core/extension/components/angular-route.component.d.ts +26 -0
- package/core/extension/components/route.component.d.ts +20 -0
- package/core/extension/providers/page-metadata.service.d.ts +9 -0
- package/core/extension/register-alert.d.ts +11 -0
- package/core/extension/register-bulk-action.d.ts +49 -0
- package/core/extension/register-custom-detail-component.d.ts +55 -0
- package/core/extension/register-dashboard-widget.d.ts +17 -0
- package/core/extension/register-data-table-component.d.ts +45 -0
- package/core/extension/register-form-input-component.d.ts +51 -0
- package/core/extension/register-history-entry-component.d.ts +66 -0
- package/core/extension/register-page-tab.d.ts +23 -0
- package/core/extension/register-route-component.d.ts +109 -0
- package/core/extension/types.d.ts +11 -0
- package/core/index.d.ts +5 -0
- package/core/providers/alerts/alerts.service.d.ts +150 -0
- package/core/providers/auth/auth.service.d.ts +40 -0
- package/core/providers/breadcrumb/breadcrumb.service.d.ts +39 -0
- package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +9 -0
- package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
- package/core/providers/channel/channel.service.d.ts +16 -0
- package/core/providers/component-registry/component-registry.service.d.ts +13 -0
- package/core/providers/currency/currency.service.d.ts +10 -0
- package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +26 -0
- package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +9 -0
- package/core/providers/custom-field-component/custom-field-component.service.d.ts +25 -0
- package/core/providers/custom-history-entry-component/history-entry-component-types.d.ts +81 -0
- package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +10 -0
- package/core/providers/dashboard-widget/dashboard-widget-types.d.ts +56 -0
- package/core/providers/dashboard-widget/dashboard-widget.service.d.ts +24 -0
- package/core/providers/data-table/data-table-filter-collection.d.ts +48 -0
- package/core/providers/data-table/data-table-filter.d.ts +108 -0
- package/core/providers/data-table/data-table-sort-collection.d.ts +24 -0
- package/core/providers/data-table/data-table-sort.d.ts +14 -0
- package/core/providers/guard/auth.guard.d.ts +17 -0
- package/core/providers/health-check/health-check.service.d.ts +40 -0
- package/core/providers/i18n/custom-http-loader.d.ts +21 -0
- package/core/providers/i18n/custom-message-format-compiler.d.ts +15 -0
- package/core/providers/i18n/i18n.service.d.ts +39 -0
- package/core/providers/job-queue/job-queue.service.d.ts +22 -0
- package/core/providers/local-storage/local-storage.service.d.ts +66 -0
- package/core/providers/localization/localization.service.d.ts +21 -0
- package/core/providers/modal/modal.service.d.ts +67 -0
- package/core/providers/modal/modal.types.d.ts +69 -0
- package/core/providers/nav-builder/nav-builder-types.d.ts +279 -0
- package/core/providers/nav-builder/nav-builder.service.d.ts +64 -0
- package/core/providers/notification/notification.service.d.ts +105 -0
- package/core/providers/overlay-host/overlay-host.service.d.ts +25 -0
- package/core/providers/page/page.service.d.ts +61 -0
- package/core/providers/permissions/permissions.service.d.ts +26 -0
- package/core/public_api.d.ts +313 -0
- package/core/shared/components/action-bar/action-bar.component.d.ts +17 -0
- package/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.d.ts +15 -0
- package/core/shared/components/action-bar-items/action-bar-base.component.d.ts +29 -0
- package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +11 -0
- package/core/shared/components/address-form/address-form.component.d.ts +10 -0
- package/core/shared/components/affixed-input/affixed-input.component.d.ts +10 -0
- package/core/shared/components/affixed-input/percentage-suffix-input.component.d.ts +22 -0
- package/core/shared/components/asset-file-input/asset-file-input.component.d.ts +39 -0
- package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +97 -0
- package/core/shared/components/asset-gallery/asset-gallery.types.d.ts +3 -0
- package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +60 -0
- package/core/shared/components/asset-preview/asset-preview.component.d.ts +61 -0
- package/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +22 -0
- package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +8 -0
- package/core/shared/components/asset-search-input/asset-search-input.component.d.ts +26 -0
- package/core/shared/components/assets/assets.component.d.ts +36 -0
- package/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +28 -0
- package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +34 -0
- package/core/shared/components/card/card.component.d.ts +13 -0
- package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +32 -0
- package/core/shared/components/channel-badge/channel-badge.component.d.ts +7 -0
- package/core/shared/components/chart/chart.component.d.ts +28 -0
- package/core/shared/components/chart/tooltip-plugin.d.ts +21 -0
- package/core/shared/components/chip/chip.component.d.ts +38 -0
- package/core/shared/components/configurable-input/configurable-input.component.d.ts +43 -0
- package/core/shared/components/currency-code-selector/currency-code-selector.component.d.ts +21 -0
- package/core/shared/components/currency-input/currency-input.component.d.ts +53 -0
- package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +20 -0
- package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +31 -0
- package/core/shared/components/customer-label/customer-label.component.d.ts +7 -0
- package/core/shared/components/data-table/data-table-column.component.d.ts +11 -0
- package/core/shared/components/data-table/data-table.component.d.ts +107 -0
- package/core/shared/components/data-table-2/data-table-column.component.d.ts +25 -0
- package/core/shared/components/data-table-2/data-table-custom-component.service.d.ts +52 -0
- package/core/shared/components/data-table-2/data-table-custom-field-column.component.d.ts +18 -0
- package/core/shared/components/data-table-2/data-table-search.component.d.ts +10 -0
- package/core/shared/components/data-table-2/data-table2.component.d.ts +134 -0
- package/core/shared/components/data-table-column-picker/data-table-column-picker.component.d.ts +19 -0
- package/core/shared/components/data-table-filter-label/data-table-filter-label.component.d.ts +11 -0
- package/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.d.ts +25 -0
- package/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.d.ts +30 -0
- package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +34 -0
- package/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.d.ts +9 -0
- package/core/shared/components/data-table-filters/custom-filter-component.directive.d.ts +8 -0
- package/core/shared/components/data-table-filters/data-table-filters.component.d.ts +30 -0
- package/core/shared/components/datetime-picker/constants.d.ts +5 -0
- package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +100 -0
- package/core/shared/components/datetime-picker/datetime-picker.service.d.ts +37 -0
- package/core/shared/components/datetime-picker/types.d.ts +11 -0
- package/core/shared/components/dropdown/dropdown-item.directive.d.ts +9 -0
- package/core/shared/components/dropdown/dropdown-menu.component.d.ts +42 -0
- package/core/shared/components/dropdown/dropdown-trigger.directive.d.ts +11 -0
- package/core/shared/components/dropdown/dropdown.component.d.ts +39 -0
- package/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.d.ts +33 -0
- package/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.graphql.d.ts +2 -0
- package/core/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +18 -0
- package/core/shared/components/empty-placeholder/empty-placeholder.component.d.ts +6 -0
- package/core/shared/components/entity-info/entity-info.component.d.ts +11 -0
- package/core/shared/components/extension-host/extension-host-config.d.ts +9 -0
- package/core/shared/components/extension-host/extension-host.component.d.ts +28 -0
- package/core/shared/components/extension-host/extension-host.service.d.ts +23 -0
- package/core/shared/components/extension-host/host-external-frame.d.ts +28 -0
- package/core/shared/components/facet-value-chip/facet-value-chip.component.d.ts +11 -0
- package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +49 -0
- package/core/shared/components/focal-point-control/focal-point-control.component.d.ts +24 -0
- package/core/shared/components/form-field/form-field-control.directive.d.ts +15 -0
- package/core/shared/components/form-field/form-field.component.d.ts +32 -0
- package/core/shared/components/form-item/form-item.component.d.ts +11 -0
- package/core/shared/components/formatted-address/formatted-address.component.d.ts +13 -0
- package/core/shared/components/help-tooltip/help-tooltip.component.d.ts +7 -0
- package/core/shared/components/history-entry-detail/history-entry-detail.component.d.ts +5 -0
- package/core/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +11 -0
- package/core/shared/components/labeled-data/labeled-data.component.d.ts +6 -0
- package/core/shared/components/language-code-selector/language-code-selector.component.d.ts +20 -0
- package/core/shared/components/language-selector/language-selector.component.d.ts +11 -0
- package/core/shared/components/localized-text/localized-text.component.d.ts +13 -0
- package/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +24 -0
- package/core/shared/components/modal-dialog/dialog-buttons.directive.d.ts +14 -0
- package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +14 -0
- package/core/shared/components/modal-dialog/dialog-title.directive.d.ts +14 -0
- package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +44 -0
- package/core/shared/components/object-tree/object-tree.component.d.ts +32 -0
- package/core/shared/components/order-state-label/order-state-label.component.d.ts +17 -0
- package/core/shared/components/page/page.component.d.ts +21 -0
- package/core/shared/components/page-block/page-block.component.d.ts +5 -0
- package/core/shared/components/page-body/page-body.component.d.ts +5 -0
- package/core/shared/components/page-detail-layout/page-detail-layout.component.d.ts +5 -0
- package/core/shared/components/page-detail-layout/page-detail-sidebar.component.d.ts +5 -0
- package/core/shared/components/page-entity-info/page-entity-info.component.d.ts +10 -0
- package/core/shared/components/page-header/page-header.component.d.ts +5 -0
- package/core/shared/components/page-header-description/page-header-description.component.d.ts +5 -0
- package/core/shared/components/page-header-tabs/page-header-tabs.component.d.ts +14 -0
- package/core/shared/components/page-title/page-title.component.d.ts +16 -0
- package/core/shared/components/pagination-controls/pagination-controls.component.d.ts +11 -0
- package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +38 -0
- package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.graphql.d.ts +1 -0
- package/core/shared/components/product-search-input/product-search-input.component.d.ts +28 -0
- package/core/shared/components/product-variant-selector/product-variant-selector.component.d.ts +58 -0
- package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +24 -0
- package/core/shared/components/radio-card/radio-card.component.d.ts +22 -0
- package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +21 -0
- package/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +19 -0
- package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
- package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
- package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +5 -0
- package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +8 -0
- package/core/shared/components/rich-text-editor/prosemirror/keymap.d.ts +3 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +4 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +16 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu.d.ts +3 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +5 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
- package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +34 -0
- package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +9 -0
- package/core/shared/components/rich-text-editor/prosemirror/utils.d.ts +9 -0
- package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
- package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +42 -0
- package/core/shared/components/select-toggle/select-toggle.component.d.ts +15 -0
- package/core/shared/components/simple-dialog/simple-dialog.component.d.ts +14 -0
- package/core/shared/components/split-view/split-view.component.d.ts +23 -0
- package/core/shared/components/split-view/split-view.directive.d.ts +13 -0
- package/core/shared/components/status-badge/status-badge.component.d.ts +6 -0
- package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +25 -0
- package/core/shared/components/table-row-action/table-row-action.component.d.ts +12 -0
- package/core/shared/components/tag-selector/tag-selector.component.d.ts +24 -0
- package/core/shared/components/timeline-entry/timeline-entry.component.d.ts +19 -0
- package/core/shared/components/title-input/title-input.component.d.ts +6 -0
- package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +27 -0
- package/core/shared/components/zone-selector/zone-selector.component.d.ts +51 -0
- package/core/shared/directives/disabled.directive.d.ts +14 -0
- package/core/shared/directives/if-default-channel-active.directive.d.ts +16 -0
- package/core/shared/directives/if-directive-base.d.ts +27 -0
- package/core/shared/directives/if-multichannel.directive.d.ts +28 -0
- package/core/shared/directives/if-permissions.directive.d.ts +37 -0
- package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +19 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +23 -0
- package/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +28 -0
- package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +25 -0
- package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +33 -0
- package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +22 -0
- package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +19 -0
- package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +58 -0
- package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +23 -0
- package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +24 -0
- package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +19 -0
- package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +25 -0
- package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +34 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +23 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +25 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +18 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +26 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +26 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +23 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +22 -0
- package/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +10 -0
- package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +19 -0
- package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +30 -0
- package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +21 -0
- package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +20 -0
- package/core/shared/pipes/asset-preview.pipe.d.ts +22 -0
- package/core/shared/pipes/channel-label.pipe.d.ts +7 -0
- package/core/shared/pipes/custom-field-description.pipe.d.ts +11 -0
- package/core/shared/pipes/custom-field-label.pipe.d.ts +13 -0
- package/core/shared/pipes/duration.pipe.d.ts +22 -0
- package/core/shared/pipes/file-size.pipe.d.ts +18 -0
- package/core/shared/pipes/has-permission.pipe.d.ts +27 -0
- package/core/shared/pipes/locale-base.pipe.d.ts +21 -0
- package/core/shared/pipes/locale-currency-name.pipe.d.ts +21 -0
- package/core/shared/pipes/locale-currency.pipe.d.ts +25 -0
- package/core/shared/pipes/locale-date.pipe.d.ts +23 -0
- package/core/shared/pipes/locale-language-name.pipe.d.ts +21 -0
- package/core/shared/pipes/locale-region-name.pipe.d.ts +21 -0
- package/core/shared/pipes/sentence-case.pipe.d.ts +10 -0
- package/core/shared/pipes/sort.pipe.d.ts +12 -0
- package/core/shared/pipes/state-i18n-token.pipe.d.ts +9 -0
- package/core/shared/pipes/string-to-color.pipe.d.ts +7 -0
- package/core/shared/pipes/time-ago.pipe.d.ts +21 -0
- package/core/shared/providers/routing/can-deactivate-detail-guard.d.ts +11 -0
- package/core/shared/shared.module.d.ts +168 -0
- package/core/validators/unicode-pattern.validator.d.ts +2 -0
- package/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +22 -0
- package/customer/components/address-card/address-card.component.d.ts +28 -0
- package/customer/components/address-detail-dialog/address-detail-dialog.component.d.ts +17 -0
- package/customer/components/customer-detail/customer-detail.component.d.ts +70 -0
- package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +26 -0
- package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +24 -0
- package/customer/components/customer-group-list/customer-group-list-bulk-actions.d.ts +1 -0
- package/customer/components/customer-group-list/customer-group-list.component.d.ts +29 -0
- package/customer/components/customer-group-member-list/customer-group-member-list-bulk-actions.d.ts +3 -0
- package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +39 -0
- package/customer/components/customer-history/customer-history-entry-host.component.d.ts +18 -0
- package/customer/components/customer-history/customer-history.component.d.ts +51 -0
- package/customer/components/customer-list/customer-list-bulk-actions.d.ts +1 -0
- package/customer/components/customer-list/customer-list.component.d.ts +12 -0
- package/customer/components/customer-status-label/customer-status-label.component.d.ts +7 -0
- package/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +16 -0
- package/customer/customer.module.d.ts +24 -0
- package/customer/customer.routes.d.ts +4 -0
- package/customer/index.d.ts +5 -0
- package/customer/public_api.d.ts +18 -0
- package/dashboard/components/dashboard/dashboard.component.d.ts +34 -0
- package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +13 -0
- package/dashboard/dashboard.module.d.ts +13 -0
- package/dashboard/dashboard.routes.d.ts +2 -0
- package/dashboard/default-widgets.d.ts +5 -0
- package/dashboard/index.d.ts +5 -0
- package/dashboard/public_api.d.ts +10 -0
- package/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +18 -0
- package/dashboard/widgets/order-chart-widget/order-chart-widget.component.d.ts +17 -0
- package/dashboard/widgets/order-summary-widget/order-summary-widget.component.d.ts +32 -0
- package/dashboard/widgets/test-widget/test-widget.component.d.ts +10 -0
- package/dashboard/widgets/welcome-widget/welcome-widget.component.d.ts +22 -0
- package/esm2022/catalog/catalog.module.mjs +331 -0
- package/esm2022/catalog/catalog.routes.mjs +144 -0
- package/esm2022/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +30 -0
- package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +77 -0
- package/esm2022/catalog/components/asset-list/asset-list.component.mjs +120 -0
- package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +102 -0
- package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +83 -0
- package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.mjs +69 -0
- package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +124 -0
- package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +95 -0
- package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +263 -0
- package/esm2022/catalog/components/collection-list/collection-breadcrumb.pipe.mjs +19 -0
- package/esm2022/catalog/components/collection-list/collection-list-bulk-actions.mjs +97 -0
- package/esm2022/catalog/components/collection-list/collection-list.component.mjs +157 -0
- package/esm2022/catalog/components/collection-tree/array-to-tree.mjs +56 -0
- package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +125 -0
- package/esm2022/catalog/components/collection-tree/collection-tree.component.mjs +49 -0
- package/esm2022/catalog/components/collection-tree/collection-tree.service.mjs +68 -0
- package/esm2022/catalog/components/collection-tree/collection-tree.types.mjs +2 -0
- package/esm2022/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +23 -0
- package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +44 -0
- package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +44 -0
- package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +80 -0
- package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +338 -0
- package/esm2022/catalog/components/facet-list/facet-list-bulk-actions.mjs +148 -0
- package/esm2022/catalog/components/facet-list/facet-list.component.mjs +91 -0
- package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +133 -0
- package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +100 -0
- package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +156 -0
- package/esm2022/catalog/components/product-detail/product-detail.component.mjs +321 -0
- package/esm2022/catalog/components/product-list/product-list-bulk-actions.mjs +144 -0
- package/esm2022/catalog/components/product-list/product-list.component.mjs +159 -0
- package/esm2022/catalog/components/product-list/product-list.graphql.mjs +37 -0
- package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +207 -0
- package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +266 -0
- package/esm2022/catalog/components/product-variant-detail/product-variant-detail.graphql.mjs +129 -0
- package/esm2022/catalog/components/product-variant-list/product-variant-list-bulk-actions.mjs +123 -0
- package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +118 -0
- package/esm2022/catalog/components/product-variant-list/product-variant-list.graphql.mjs +51 -0
- package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +53 -0
- package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +292 -0
- package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +72 -0
- package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +64 -0
- package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +59 -0
- package/esm2022/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.mjs +33 -0
- package/esm2022/catalog/deenruv-admin-ui-catalog.mjs +5 -0
- package/esm2022/catalog/providers/product-detail/product-detail.service.mjs +236 -0
- package/esm2022/catalog/providers/product-detail/replace-last.mjs +18 -0
- package/esm2022/catalog/providers/routing/product-variants-resolver.mjs +28 -0
- package/esm2022/catalog/public_api.mjs +50 -0
- package/esm2022/core/app.component.mjs +94 -0
- package/esm2022/core/app.component.module.mjs +19 -0
- package/esm2022/core/app.config.mjs +11 -0
- package/esm2022/core/common/base-detail.component.mjs +208 -0
- package/esm2022/core/common/base-entity-resolver.mjs +60 -0
- package/esm2022/core/common/base-list.component.mjs +186 -0
- package/esm2022/core/common/component-registry-types.mjs +2 -0
- package/esm2022/core/common/deactivate-aware.mjs +2 -0
- package/esm2022/core/common/detail-breadcrumb.mjs +26 -0
- package/esm2022/core/common/generated-types.mjs +1371 -0
- package/esm2022/core/common/introspection-result-wrapper.mjs +3 -0
- package/esm2022/core/common/introspection-result.mjs +329 -0
- package/esm2022/core/common/single-search-selection-model.mjs +51 -0
- package/esm2022/core/common/title-setter.mjs +14 -0
- package/esm2022/core/common/utilities/bulk-action-utils.mjs +271 -0
- package/esm2022/core/common/utilities/configurable-operation-utils.mjs +116 -0
- package/esm2022/core/common/utilities/create-updated-translatable.mjs +58 -0
- package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
- package/esm2022/core/common/utilities/find-translation.mjs +9 -0
- package/esm2022/core/common/utilities/get-default-ui-language.mjs +12 -0
- package/esm2022/core/common/utilities/interpolate-description.mjs +27 -0
- package/esm2022/core/common/utilities/selection-manager.mjs +96 -0
- package/esm2022/core/common/utilities/string-to-color.mjs +36 -0
- package/esm2022/core/common/version.mjs +3 -0
- package/esm2022/core/components/alerts/alerts.component.mjs +26 -0
- package/esm2022/core/components/app-shell/app-shell.component.mjs +104 -0
- package/esm2022/core/components/base-nav/base-nav.component.mjs +298 -0
- package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +33 -0
- package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +50 -0
- package/esm2022/core/components/main-nav/main-nav.component.mjs +62 -0
- package/esm2022/core/components/notification/notification.component.mjs +85 -0
- package/esm2022/core/components/overlay-host/overlay-host.component.mjs +22 -0
- package/esm2022/core/components/settings-nav/settings-nav.component.mjs +27 -0
- package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +39 -0
- package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +75 -0
- package/esm2022/core/components/user-menu/user-menu.component.mjs +37 -0
- package/esm2022/core/core.module.mjs +165 -0
- package/esm2022/core/data/check-jobs-link.mjs +32 -0
- package/esm2022/core/data/client-state/client-defaults.mjs +33 -0
- package/esm2022/core/data/client-state/client-resolvers.mjs +136 -0
- package/esm2022/core/data/data.module.mjs +135 -0
- package/esm2022/core/data/definitions/administrator-definitions.mjs +135 -0
- package/esm2022/core/data/definitions/auth-definitions.mjs +40 -0
- package/esm2022/core/data/definitions/client-definitions.mjs +137 -0
- package/esm2022/core/data/definitions/collection-definitions.mjs +184 -0
- package/esm2022/core/data/definitions/customer-definitions.mjs +261 -0
- package/esm2022/core/data/definitions/facet-definitions.mjs +155 -0
- package/esm2022/core/data/definitions/order-definitions.mjs +594 -0
- package/esm2022/core/data/definitions/product-definitions.mjs +828 -0
- package/esm2022/core/data/definitions/promotion-definitions.mjs +76 -0
- package/esm2022/core/data/definitions/settings-definitions.mjs +735 -0
- package/esm2022/core/data/definitions/shared-definitions.mjs +33 -0
- package/esm2022/core/data/definitions/shipping-definitions.mjs +98 -0
- package/esm2022/core/data/omit-typename-link.mjs +20 -0
- package/esm2022/core/data/providers/administrator-data.service.mjs +53 -0
- package/esm2022/core/data/providers/auth-data.service.mjs +20 -0
- package/esm2022/core/data/providers/base-data.service.mjs +66 -0
- package/esm2022/core/data/providers/client-data.service.mjs +82 -0
- package/esm2022/core/data/providers/collection-data.service.mjs +84 -0
- package/esm2022/core/data/providers/customer-data.service.mjs +125 -0
- package/esm2022/core/data/providers/data.service.mjs +90 -0
- package/esm2022/core/data/providers/facet-data.service.mjs +63 -0
- package/esm2022/core/data/providers/fetch-adapter.mjs +34 -0
- package/esm2022/core/data/providers/interceptor.mjs +162 -0
- package/esm2022/core/data/providers/order-data.service.mjs +135 -0
- package/esm2022/core/data/providers/product-data.service.mjs +257 -0
- package/esm2022/core/data/providers/promotion-data.service.mjs +50 -0
- package/esm2022/core/data/providers/settings-data.service.mjs +246 -0
- package/esm2022/core/data/providers/shipping-method-data.service.mjs +58 -0
- package/esm2022/core/data/query-result.mjs +77 -0
- package/esm2022/core/data/server-config.mjs +78 -0
- package/esm2022/core/data/utils/add-custom-fields.mjs +84 -0
- package/esm2022/core/data/utils/get-server-location.mjs +17 -0
- package/esm2022/core/data/utils/is-entity-create-or-update-mutation.mjs +45 -0
- package/esm2022/core/data/utils/remove-readonly-custom-fields.mjs +30 -0
- package/esm2022/core/data/utils/transform-relation-custom-field-inputs.mjs +46 -0
- package/esm2022/core/deenruv-admin-ui-core.mjs +5 -0
- package/esm2022/core/extension/add-action-bar-dropdown-menu-item.mjs +35 -0
- package/esm2022/core/extension/add-action-bar-item.mjs +31 -0
- package/esm2022/core/extension/add-nav-menu-item.mjs +75 -0
- package/esm2022/core/extension/components/angular-route.component.mjs +67 -0
- package/esm2022/core/extension/components/route.component.mjs +80 -0
- package/esm2022/core/extension/providers/page-metadata.service.mjs +20 -0
- package/esm2022/core/extension/register-alert.mjs +22 -0
- package/esm2022/core/extension/register-bulk-action.mjs +59 -0
- package/esm2022/core/extension/register-custom-detail-component.mjs +65 -0
- package/esm2022/core/extension/register-dashboard-widget.mjs +36 -0
- package/esm2022/core/extension/register-data-table-component.mjs +51 -0
- package/esm2022/core/extension/register-form-input-component.mjs +61 -0
- package/esm2022/core/extension/register-history-entry-component.mjs +76 -0
- package/esm2022/core/extension/register-page-tab.mjs +36 -0
- package/esm2022/core/extension/register-route-component.mjs +95 -0
- package/esm2022/core/extension/types.mjs +2 -0
- package/esm2022/core/providers/alerts/alerts.service.mjs +114 -0
- package/esm2022/core/providers/auth/auth.service.mjs +124 -0
- package/esm2022/core/providers/breadcrumb/breadcrumb.service.mjs +109 -0
- package/esm2022/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +28 -0
- package/esm2022/core/providers/bulk-action-registry/bulk-action-types.mjs +2 -0
- package/esm2022/core/providers/channel/channel.service.mjs +39 -0
- package/esm2022/core/providers/component-registry/component-registry.service.mjs +25 -0
- package/esm2022/core/providers/currency/currency.service.mjs +21 -0
- package/esm2022/core/providers/custom-detail-component/custom-detail-component-types.mjs +2 -0
- package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +27 -0
- package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +38 -0
- package/esm2022/core/providers/custom-history-entry-component/history-entry-component-types.mjs +2 -0
- package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +22 -0
- package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +2 -0
- package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +91 -0
- package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +295 -0
- package/esm2022/core/providers/data-table/data-table-filter.mjs +114 -0
- package/esm2022/core/providers/data-table/data-table-sort-collection.mjs +115 -0
- package/esm2022/core/providers/data-table/data-table-sort.mjs +34 -0
- package/esm2022/core/providers/guard/auth.guard.mjs +38 -0
- package/esm2022/core/providers/health-check/health-check.service.mjs +34 -0
- package/esm2022/core/providers/i18n/custom-http-loader.mjs +39 -0
- package/esm2022/core/providers/i18n/custom-message-format-compiler.mjs +31 -0
- package/esm2022/core/providers/i18n/i18n.service.mjs +78 -0
- package/esm2022/core/providers/job-queue/job-queue.service.mjs +91 -0
- package/esm2022/core/providers/local-storage/local-storage.service.mjs +97 -0
- package/esm2022/core/providers/localization/localization.service.mjs +31 -0
- package/esm2022/core/providers/modal/modal.service.mjs +96 -0
- package/esm2022/core/providers/modal/modal.types.mjs +2 -0
- package/esm2022/core/providers/nav-builder/nav-builder-types.mjs +2 -0
- package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +174 -0
- package/esm2022/core/providers/notification/notification.service.mjs +157 -0
- package/esm2022/core/providers/overlay-host/overlay-host.service.mjs +48 -0
- package/esm2022/core/providers/page/page.service.mjs +63 -0
- package/esm2022/core/providers/permissions/permissions.service.mjs +46 -0
- package/esm2022/core/public_api.mjs +315 -0
- package/esm2022/core/shared/components/action-bar/action-bar.component.mjs +54 -0
- package/esm2022/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.mjs +69 -0
- package/esm2022/core/shared/components/action-bar-items/action-bar-base.component.mjs +72 -0
- package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +50 -0
- package/esm2022/core/shared/components/address-form/address-form.component.mjs +24 -0
- package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +19 -0
- package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +86 -0
- package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +97 -0
- package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +96 -0
- package/esm2022/core/shared/components/asset-gallery/asset-gallery.types.mjs +2 -0
- package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +144 -0
- package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +229 -0
- package/esm2022/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +49 -0
- package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +25 -0
- package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +102 -0
- package/esm2022/core/shared/components/assets/assets.component.mjs +109 -0
- package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +56 -0
- package/esm2022/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +100 -0
- package/esm2022/core/shared/components/card/card.component.mjs +32 -0
- package/esm2022/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +116 -0
- package/esm2022/core/shared/components/channel-badge/channel-badge.component.mjs +19 -0
- package/esm2022/core/shared/components/chart/chart.component.mjs +100 -0
- package/esm2022/core/shared/components/chart/tooltip-plugin.mjs +143 -0
- package/esm2022/core/shared/components/chip/chip.component.mjs +47 -0
- package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +161 -0
- package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +64 -0
- package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +155 -0
- package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +44 -0
- package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +88 -0
- package/esm2022/core/shared/components/customer-label/customer-label.component.mjs +17 -0
- package/esm2022/core/shared/components/data-table/data-table-column.component.mjs +29 -0
- package/esm2022/core/shared/components/data-table/data-table.component.mjs +177 -0
- package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +64 -0
- package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +26 -0
- package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +52 -0
- package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +21 -0
- package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +308 -0
- package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +44 -0
- package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +32 -0
- package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +69 -0
- package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +80 -0
- package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +79 -0
- package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +20 -0
- package/esm2022/core/shared/components/data-table-filters/custom-filter-component.directive.mjs +16 -0
- package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +220 -0
- package/esm2022/core/shared/components/datetime-picker/constants.mjs +20 -0
- package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +226 -0
- package/esm2022/core/shared/components/datetime-picker/datetime-picker.service.mjs +201 -0
- package/esm2022/core/shared/components/datetime-picker/types.mjs +2 -0
- package/esm2022/core/shared/components/dropdown/dropdown-item.directive.mjs +28 -0
- package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +202 -0
- package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +25 -0
- package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +58 -0
- package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.mjs +111 -0
- package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.graphql.mjs +38 -0
- package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +32 -0
- package/esm2022/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +16 -0
- package/esm2022/core/shared/components/entity-info/entity-info.component.mjs +26 -0
- package/esm2022/core/shared/components/extension-host/extension-host-config.mjs +7 -0
- package/esm2022/core/shared/components/extension-host/extension-host.component.mjs +81 -0
- package/esm2022/core/shared/components/extension-host/extension-host.service.mjs +99 -0
- package/esm2022/core/shared/components/extension-host/host-external-frame.mjs +41 -0
- package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +26 -0
- package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +150 -0
- package/esm2022/core/shared/components/focal-point-control/focal-point-control.component.mjs +71 -0
- package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +37 -0
- package/esm2022/core/shared/components/form-field/form-field.component.mjs +73 -0
- package/esm2022/core/shared/components/form-item/form-item.component.mjs +21 -0
- package/esm2022/core/shared/components/formatted-address/formatted-address.component.mjs +38 -0
- package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +16 -0
- package/esm2022/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +16 -0
- package/esm2022/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +28 -0
- package/esm2022/core/shared/components/labeled-data/labeled-data.component.mjs +13 -0
- package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +72 -0
- package/esm2022/core/shared/components/language-selector/language-selector.component.mjs +30 -0
- package/esm2022/core/shared/components/localized-text/localized-text.component.mjs +24 -0
- package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +61 -0
- package/esm2022/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +23 -0
- package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +29 -0
- package/esm2022/core/shared/components/modal-dialog/dialog-title.directive.mjs +23 -0
- package/esm2022/core/shared/components/modal-dialog/modal-dialog.component.mjs +69 -0
- package/esm2022/core/shared/components/object-tree/object-tree.component.mjs +56 -0
- package/esm2022/core/shared/components/order-state-label/order-state-label.component.mjs +47 -0
- package/esm2022/core/shared/components/page/page.component.mjs +38 -0
- package/esm2022/core/shared/components/page-block/page-block.component.mjs +11 -0
- package/esm2022/core/shared/components/page-body/page-body.component.mjs +11 -0
- package/esm2022/core/shared/components/page-detail-layout/page-detail-layout.component.mjs +11 -0
- package/esm2022/core/shared/components/page-detail-layout/page-detail-sidebar.component.mjs +15 -0
- package/esm2022/core/shared/components/page-entity-info/page-entity-info.component.mjs +16 -0
- package/esm2022/core/shared/components/page-header/page-header.component.mjs +11 -0
- package/esm2022/core/shared/components/page-header-description/page-header-description.component.mjs +11 -0
- package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +26 -0
- package/esm2022/core/shared/components/page-title/page-title.component.mjs +40 -0
- package/esm2022/core/shared/components/pagination-controls/pagination-controls.component.mjs +26 -0
- package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +138 -0
- package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.graphql.mjs +44 -0
- package/esm2022/core/shared/components/product-search-input/product-search-input.component.mjs +104 -0
- package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +62 -0
- package/esm2022/core/shared/components/radio-card/radio-card-fieldset.component.mjs +54 -0
- package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +53 -0
- package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +37 -0
- package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +35 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +44 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +97 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/inputrules.mjs +61 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/keymap.mjs +118 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +69 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +41 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +247 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +98 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.mjs +22 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +164 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +155 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/types.mjs +2 -0
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/utils.mjs +26 -0
- package/esm2022/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
- package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +106 -0
- package/esm2022/core/shared/components/select-toggle/select-toggle.component.mjs +35 -0
- package/esm2022/core/shared/components/simple-dialog/simple-dialog.component.mjs +24 -0
- package/esm2022/core/shared/components/split-view/split-view.component.mjs +62 -0
- package/esm2022/core/shared/components/split-view/split-view.directive.mjs +28 -0
- package/esm2022/core/shared/components/status-badge/status-badge.component.mjs +16 -0
- package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +70 -0
- package/esm2022/core/shared/components/table-row-action/table-row-action.component.mjs +28 -0
- package/esm2022/core/shared/components/tag-selector/tag-selector.component.mjs +60 -0
- package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +54 -0
- package/esm2022/core/shared/components/title-input/title-input.component.mjs +21 -0
- package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +142 -0
- package/esm2022/core/shared/components/zone-selector/zone-selector.component.mjs +99 -0
- package/esm2022/core/shared/directives/disabled.directive.mjs +41 -0
- package/esm2022/core/shared/directives/if-default-channel-active.directive.mjs +37 -0
- package/esm2022/core/shared/directives/if-directive-base.mjs +73 -0
- package/esm2022/core/shared/directives/if-multichannel.directive.mjs +43 -0
- package/esm2022/core/shared/directives/if-permissions.directive.mjs +66 -0
- package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +23 -0
- package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +62 -0
- package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +59 -0
- package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +85 -0
- package/esm2022/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +45 -0
- package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +32 -0
- package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +47 -0
- package/esm2022/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +32 -0
- package/esm2022/core/shared/dynamic-form-inputs/default-form-inputs.mjs +44 -0
- package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +271 -0
- package/esm2022/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +34 -0
- package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +39 -0
- package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +21 -0
- package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +49 -0
- package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +66 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +84 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +66 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +54 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +87 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +87 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +60 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +29 -0
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +14 -0
- package/esm2022/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +21 -0
- package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +40 -0
- package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +28 -0
- package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +24 -0
- package/esm2022/core/shared/pipes/asset-preview.pipe.mjs +42 -0
- package/esm2022/core/shared/pipes/channel-label.pipe.mjs +23 -0
- package/esm2022/core/shared/pipes/custom-field-description.pipe.mjs +30 -0
- package/esm2022/core/shared/pipes/custom-field-label.pipe.mjs +39 -0
- package/esm2022/core/shared/pipes/duration.pipe.mjs +49 -0
- package/esm2022/core/shared/pipes/file-size.pipe.mjs +47 -0
- package/esm2022/core/shared/pipes/has-permission.pipe.mjs +54 -0
- package/esm2022/core/shared/pipes/locale-base.pipe.mjs +55 -0
- package/esm2022/core/shared/pipes/locale-currency-name.pipe.mjs +60 -0
- package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +56 -0
- package/esm2022/core/shared/pipes/locale-date.pipe.mjs +90 -0
- package/esm2022/core/shared/pipes/locale-language-name.pipe.mjs +51 -0
- package/esm2022/core/shared/pipes/locale-region-name.pipe.mjs +51 -0
- package/esm2022/core/shared/pipes/sentence-case.pipe.mjs +30 -0
- package/esm2022/core/shared/pipes/sort.pipe.mjs +34 -0
- package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +54 -0
- package/esm2022/core/shared/pipes/string-to-color.pipe.mjs +18 -0
- package/esm2022/core/shared/pipes/time-ago.pipe.mjs +52 -0
- package/esm2022/core/shared/providers/routing/can-deactivate-detail-guard.mjs +33 -0
- package/esm2022/core/shared/shared.module.mjs +707 -0
- package/esm2022/core/validators/unicode-pattern.validator.mjs +8 -0
- package/esm2022/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +39 -0
- package/esm2022/customer/components/address-card/address-card.component.mjs +97 -0
- package/esm2022/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +28 -0
- package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +441 -0
- package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +90 -0
- package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +46 -0
- package/esm2022/customer/components/customer-group-list/customer-group-list-bulk-actions.mjs +9 -0
- package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +148 -0
- package/esm2022/customer/components/customer-group-member-list/customer-group-member-list-bulk-actions.mjs +27 -0
- package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +91 -0
- package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +62 -0
- package/esm2022/customer/components/customer-history/customer-history.component.mjs +89 -0
- package/esm2022/customer/components/customer-list/customer-list-bulk-actions.mjs +9 -0
- package/esm2022/customer/components/customer-list/customer-list.component.mjs +108 -0
- package/esm2022/customer/components/customer-status-label/customer-status-label.component.mjs +17 -0
- package/esm2022/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +31 -0
- package/esm2022/customer/customer.module.mjs +146 -0
- package/esm2022/customer/customer.routes.mjs +50 -0
- package/esm2022/customer/deenruv-admin-ui-customer.mjs +5 -0
- package/esm2022/customer/public_api.mjs +20 -0
- package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +124 -0
- package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +32 -0
- package/esm2022/dashboard/dashboard.module.mjs +34 -0
- package/esm2022/dashboard/dashboard.routes.mjs +9 -0
- package/esm2022/dashboard/deenruv-admin-ui-dashboard.mjs +5 -0
- package/esm2022/dashboard/default-widgets.mjs +31 -0
- package/esm2022/dashboard/public_api.mjs +12 -0
- package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +73 -0
- package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +66 -0
- package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +68 -0
- package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +22 -0
- package/esm2022/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +39 -0
- package/esm2022/deenruv-admin-ui.mjs +5 -0
- package/esm2022/login/components/login/login.component.mjs +97 -0
- package/esm2022/login/deenruv-admin-ui-login.mjs +5 -0
- package/esm2022/login/login.module.mjs +21 -0
- package/esm2022/login/login.routes.mjs +11 -0
- package/esm2022/login/providers/login.guard.mjs +31 -0
- package/esm2022/login/public_api.mjs +6 -0
- package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +269 -0
- package/esm2022/marketing/components/promotion-list/promotion-list-bulk-actions.mjs +78 -0
- package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +128 -0
- package/esm2022/marketing/deenruv-admin-ui-marketing.mjs +5 -0
- package/esm2022/marketing/marketing.module.mjs +75 -0
- package/esm2022/marketing/marketing.routes.mjs +32 -0
- package/esm2022/marketing/public_api.mjs +7 -0
- package/esm2022/order/common/get-refundable-payments.mjs +19 -0
- package/esm2022/order/common/modify-order-types.mjs +2 -0
- package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +61 -0
- package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +80 -0
- package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +62 -0
- package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +183 -0
- package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +59 -0
- package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +79 -0
- package/esm2022/order/components/fulfillment-card/fulfillment-card.component.mjs +48 -0
- package/esm2022/order/components/fulfillment-detail/fulfillment-detail.component.mjs +50 -0
- package/esm2022/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +28 -0
- package/esm2022/order/components/line-fulfillment/line-fulfillment.component.mjs +62 -0
- package/esm2022/order/components/line-refunds/line-refunds.component.mjs +28 -0
- package/esm2022/order/components/modification-detail/modification-detail.component.mjs +71 -0
- package/esm2022/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +64 -0
- package/esm2022/order/components/order-data-table/order-data-table.component.mjs +59 -0
- package/esm2022/order/components/order-data-table/order-total-column.component.mjs +20 -0
- package/esm2022/order/components/order-detail/order-detail.component.mjs +602 -0
- package/esm2022/order/components/order-editor/order-editor.component.mjs +485 -0
- package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +93 -0
- package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +62 -0
- package/esm2022/order/components/order-history/order-history.component.mjs +184 -0
- package/esm2022/order/components/order-list/order-list.component.mjs +154 -0
- package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +76 -0
- package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +43 -0
- package/esm2022/order/components/order-process-graph/constants.mjs +2 -0
- package/esm2022/order/components/order-process-graph/order-process-edge.component.mjs +45 -0
- package/esm2022/order/components/order-process-graph/order-process-graph.component.mjs +96 -0
- package/esm2022/order/components/order-process-graph/order-process-node.component.mjs +53 -0
- package/esm2022/order/components/order-process-graph/types.mjs +2 -0
- package/esm2022/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +21 -0
- package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +28 -0
- package/esm2022/order/components/order-table/order-table.component.mjs +96 -0
- package/esm2022/order/components/payment-detail/payment-detail.component.mjs +18 -0
- package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +24 -0
- package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +28 -0
- package/esm2022/order/components/refund-detail/refund-detail.component.mjs +18 -0
- package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +173 -0
- package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +27 -0
- package/esm2022/order/components/select-address-dialog/select-address-dialog.component.mjs +89 -0
- package/esm2022/order/components/select-address-dialog/select-address-dialog.graphql.mjs +14 -0
- package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +65 -0
- package/esm2022/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +30 -0
- package/esm2022/order/components/seller-orders-card/seller-orders-card.component.mjs +39 -0
- package/esm2022/order/components/seller-orders-card/seller-orders-card.graphql.mjs +25 -0
- package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +24 -0
- package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +15 -0
- package/esm2022/order/deenruv-admin-ui-order.mjs +5 -0
- package/esm2022/order/order.module.mjs +244 -0
- package/esm2022/order/order.routes.mjs +56 -0
- package/esm2022/order/providers/order-transition.service.mjs +112 -0
- package/esm2022/order/providers/routing/order.guard.mjs +57 -0
- package/esm2022/order/public_api.mjs +53 -0
- package/esm2022/public_api.mjs +5 -0
- package/esm2022/react/components/react-custom-column.component.mjs +25 -0
- package/esm2022/react/components/react-custom-detail.component.mjs +23 -0
- package/esm2022/react/components/react-form-input.component.mjs +24 -0
- package/esm2022/react/components/react-route.component.mjs +26 -0
- package/esm2022/react/deenruv-admin-ui-react.mjs +5 -0
- package/esm2022/react/directives/react-component-host.directive.mjs +54 -0
- package/esm2022/react/public_api.mjs +27 -0
- package/esm2022/react/react-components/ActionBar.mjs +26 -0
- package/esm2022/react/react-components/Card.mjs +28 -0
- package/esm2022/react/react-components/CdsIcon.mjs +30 -0
- package/esm2022/react/react-components/FormField.mjs +28 -0
- package/esm2022/react/react-components/Link.mjs +30 -0
- package/esm2022/react/react-components/PageBlock.mjs +24 -0
- package/esm2022/react/react-components/PageDetailLayout.mjs +26 -0
- package/esm2022/react/react-components/RichTextEditor.mjs +73 -0
- package/esm2022/react/react-hooks/use-detail-component-data.mjs +48 -0
- package/esm2022/react/react-hooks/use-form-control.mjs +66 -0
- package/esm2022/react/react-hooks/use-injector.mjs +33 -0
- package/esm2022/react/react-hooks/use-page-metadata.mjs +41 -0
- package/esm2022/react/react-hooks/use-query.mjs +198 -0
- package/esm2022/react/react-hooks/use-rich-text-editor.mjs +50 -0
- package/esm2022/react/react-hooks/use-route-params.mjs +39 -0
- package/esm2022/react/register-react-custom-detail-component.mjs +33 -0
- package/esm2022/react/register-react-data-table-component.mjs +64 -0
- package/esm2022/react/register-react-form-input-component.mjs +27 -0
- package/esm2022/react/register-react-route-component.mjs +25 -0
- package/esm2022/react/types.mjs +2 -0
- package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +57 -0
- package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +205 -0
- package/esm2022/settings/components/administrator-list/administrator-list-bulk-actions.mjs +9 -0
- package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +120 -0
- package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +202 -0
- package/esm2022/settings/components/channel-list/channel-list-bulk-actions.mjs +16 -0
- package/esm2022/settings/components/channel-list/channel-list.component.mjs +81 -0
- package/esm2022/settings/components/country-detail/country-detail.component.mjs +126 -0
- package/esm2022/settings/components/country-list/country-list-bulk-actions.mjs +10 -0
- package/esm2022/settings/components/country-list/country-list.component.mjs +91 -0
- package/esm2022/settings/components/global-settings/global-settings.component.mjs +102 -0
- package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +206 -0
- package/esm2022/settings/components/payment-method-list/payment-method-list-bulk-actions.mjs +56 -0
- package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +99 -0
- package/esm2022/settings/components/permission-grid/permission-grid.component.mjs +81 -0
- package/esm2022/settings/components/profile/profile.component.mjs +96 -0
- package/esm2022/settings/components/role-detail/role-detail.component.mjs +119 -0
- package/esm2022/settings/components/role-list/role-list-bulk-actions.mjs +9 -0
- package/esm2022/settings/components/role-list/role-list.component.mjs +82 -0
- package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +119 -0
- package/esm2022/settings/components/seller-list/seller-list-bulk-actions.mjs +9 -0
- package/esm2022/settings/components/seller-list/seller-list.component.mjs +75 -0
- package/esm2022/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +30 -0
- package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +256 -0
- package/esm2022/settings/components/shipping-method-list/shipping-method-list-bulk-actions.mjs +54 -0
- package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +99 -0
- package/esm2022/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +30 -0
- package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +137 -0
- package/esm2022/settings/components/stock-location-list/stock-location-list-bulk-actions.mjs +68 -0
- package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +87 -0
- package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +114 -0
- package/esm2022/settings/components/tax-category-list/tax-category-list-bulk-actions.mjs +10 -0
- package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +69 -0
- package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +137 -0
- package/esm2022/settings/components/tax-rate-list/tax-rate-list-bulk-actions.mjs +10 -0
- package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +83 -0
- package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +48 -0
- package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +71 -0
- package/esm2022/settings/components/test-shipping-methods/test-shipping-methods.component.mjs +52 -0
- package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +117 -0
- package/esm2022/settings/components/zone-list/zone-list-bulk-actions.mjs +10 -0
- package/esm2022/settings/components/zone-list/zone-list.component.mjs +143 -0
- package/esm2022/settings/components/zone-member-list/zone-member-controls.directive.mjs +16 -0
- package/esm2022/settings/components/zone-member-list/zone-member-list-bulk-actions.mjs +26 -0
- package/esm2022/settings/components/zone-member-list/zone-member-list-header.directive.mjs +16 -0
- package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +95 -0
- package/esm2022/settings/deenruv-admin-ui-settings.mjs +5 -0
- package/esm2022/settings/providers/routing/profile-resolver.mjs +30 -0
- package/esm2022/settings/public_api.mjs +51 -0
- package/esm2022/settings/settings.module.mjs +467 -0
- package/esm2022/settings/settings.routes.mjs +232 -0
- package/esm2022/system/components/health-check/health-check.component.mjs +18 -0
- package/esm2022/system/components/job-list/job-list.component.mjs +72 -0
- package/esm2022/system/components/job-state-label/job-state-label.component.mjs +46 -0
- package/esm2022/system/deenruv-admin-ui-system.mjs +5 -0
- package/esm2022/system/public_api.mjs +7 -0
- package/esm2022/system/system.module.mjs +22 -0
- package/esm2022/system/system.routes.mjs +20 -0
- package/fesm2022/deenruv-admin-ui-catalog.mjs +5171 -0
- package/fesm2022/deenruv-admin-ui-catalog.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-core.mjs +22758 -0
- package/fesm2022/deenruv-admin-ui-core.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-customer.mjs +1400 -0
- package/fesm2022/deenruv-admin-ui-customer.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-dashboard.mjs +454 -0
- package/fesm2022/deenruv-admin-ui-dashboard.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-login.mjs +157 -0
- package/fesm2022/deenruv-admin-ui-login.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-marketing.mjs +566 -0
- package/fesm2022/deenruv-admin-ui-marketing.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-order.mjs +3664 -0
- package/fesm2022/deenruv-admin-ui-order.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-react.mjs +999 -0
- package/fesm2022/deenruv-admin-ui-react.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-settings.mjs +4067 -0
- package/fesm2022/deenruv-admin-ui-settings.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui-system.mjs +164 -0
- package/fesm2022/deenruv-admin-ui-system.mjs.map +1 -0
- package/fesm2022/deenruv-admin-ui.mjs +11 -0
- package/fesm2022/deenruv-admin-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/login/components/login/login.component.d.ts +37 -0
- package/login/index.d.ts +5 -0
- package/login/login.module.d.ts +9 -0
- package/login/login.routes.d.ts +2 -0
- package/login/providers/login.guard.d.ts +15 -0
- package/login/public_api.d.ts +4 -0
- package/marketing/components/promotion-detail/promotion-detail.component.d.ts +70 -0
- package/marketing/components/promotion-list/promotion-list-bulk-actions.d.ts +6 -0
- package/marketing/components/promotion-list/promotion-list.component.d.ts +13 -0
- package/marketing/index.d.ts +5 -0
- package/marketing/marketing.module.d.ts +14 -0
- package/marketing/marketing.routes.d.ts +4 -0
- package/marketing/public_api.d.ts +5 -0
- package/order/common/get-refundable-payments.d.ts +9 -0
- package/order/common/modify-order-types.d.ts +29 -0
- package/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +19 -0
- package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +24 -0
- package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +22 -0
- package/order/components/draft-order-detail/draft-order-detail.component.d.ts +51 -0
- package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +24 -0
- package/order/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +28 -0
- package/order/components/fulfillment-card/fulfillment-card.component.d.ts +12 -0
- package/order/components/fulfillment-detail/fulfillment-detail.component.d.ts +23 -0
- package/order/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +7 -0
- package/order/components/line-fulfillment/line-fulfillment.component.d.ts +26 -0
- package/order/components/line-refunds/line-refunds.component.d.ts +9 -0
- package/order/components/modification-detail/modification-detail.component.d.ts +34 -0
- package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +21 -0
- package/order/components/order-data-table/order-data-table.component.d.ts +15 -0
- package/order/components/order-data-table/order-total-column.component.d.ts +7 -0
- package/order/components/order-detail/order-detail.component.d.ts +68 -0
- package/order/components/order-editor/order-editor.component.d.ts +99 -0
- package/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +51 -0
- package/order/components/order-history/order-history-entry-host.component.d.ts +18 -0
- package/order/components/order-history/order-history.component.d.ts +92 -0
- package/order/components/order-list/order-list.component.d.ts +21 -0
- package/order/components/order-modification-summary/order-modification-summary.component.d.ts +19 -0
- package/order/components/order-payment-card/order-payment-card.component.d.ts +67 -0
- package/order/components/order-process-graph/constants.d.ts +1 -0
- package/order/components/order-process-graph/order-process-edge.component.d.ts +21 -0
- package/order/components/order-process-graph/order-process-graph.component.d.ts +32 -0
- package/order/components/order-process-graph/order-process-node.component.d.ts +26 -0
- package/order/components/order-process-graph/types.d.ts +4 -0
- package/order/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +13 -0
- package/order/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +13 -0
- package/order/components/order-table/order-table.component.d.ts +43 -0
- package/order/components/payment-detail/payment-detail.component.d.ts +8 -0
- package/order/components/payment-for-refund-selector/payment-for-refund-selector.component.d.ts +14 -0
- package/order/components/payment-state-label/payment-state-label.component.d.ts +7 -0
- package/order/components/refund-detail/refund-detail.component.d.ts +8 -0
- package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +46 -0
- package/order/components/refund-state-label/refund-state-label.component.d.ts +7 -0
- package/order/components/select-address-dialog/select-address-dialog.component.d.ts +27 -0
- package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
- package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +32 -0
- package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +18 -0
- package/order/components/seller-orders-card/seller-orders-card.component.d.ts +24 -0
- package/order/components/seller-orders-card/seller-orders-card.graphql.d.ts +1 -0
- package/order/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +11 -0
- package/order/components/simple-item-list/simple-item-list.component.d.ts +9 -0
- package/order/index.d.ts +5 -0
- package/order/order.module.d.ts +52 -0
- package/order/order.routes.d.ts +3 -0
- package/order/providers/order-transition.service.d.ts +32 -0
- package/order/providers/routing/order.guard.d.ts +13 -0
- package/order/public_api.d.ts +51 -0
- package/package.json +133 -0
- package/public_api.d.ts +4 -0
- package/react/components/react-custom-column.component.d.ts +17 -0
- package/react/components/react-custom-detail.component.d.ts +24 -0
- package/react/components/react-form-input.component.d.ts +20 -0
- package/react/components/react-route.component.d.ts +10 -0
- package/react/directives/react-component-host.directive.d.ts +23 -0
- package/react/index.d.ts +5 -0
- package/react/public_api.d.ts +25 -0
- package/react/react-components/ActionBar.d.ts +23 -0
- package/react/react-components/Card.d.ts +24 -0
- package/react/react-components/CdsIcon.d.ts +45 -0
- package/react/react-components/FormField.d.ts +27 -0
- package/react/react-components/Link.d.ts +22 -0
- package/react/react-components/PageBlock.d.ts +21 -0
- package/react/react-components/PageDetailLayout.d.ts +23 -0
- package/react/react-components/RichTextEditor.d.ts +62 -0
- package/react/react-hooks/use-detail-component-data.d.ts +32 -0
- package/react/react-hooks/use-form-control.d.ts +29 -0
- package/react/react-hooks/use-injector.d.ts +24 -0
- package/react/react-hooks/use-page-metadata.d.ts +30 -0
- package/react/react-hooks/use-query.d.ts +163 -0
- package/react/react-hooks/use-rich-text-editor.d.ts +37 -0
- package/react/react-hooks/use-route-params.d.ts +22 -0
- package/react/register-react-custom-detail-component.d.ts +38 -0
- package/react/register-react-data-table-component.d.ts +83 -0
- package/react/register-react-form-input-component.d.ts +9 -0
- package/react/register-react-route-component.d.ts +32 -0
- package/react/types.d.ts +17 -0
- package/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +20 -0
- package/settings/components/admin-detail/admin-detail.component.d.ts +64 -0
- package/settings/components/administrator-list/administrator-list-bulk-actions.d.ts +1 -0
- package/settings/components/administrator-list/administrator-list.component.d.ts +29 -0
- package/settings/components/channel-detail/channel-detail.component.d.ts +46 -0
- package/settings/components/channel-list/channel-list-bulk-actions.d.ts +1 -0
- package/settings/components/channel-list/channel-list.component.d.ts +13 -0
- package/settings/components/country-detail/country-detail.component.d.ts +29 -0
- package/settings/components/country-list/country-list-bulk-actions.d.ts +1 -0
- package/settings/components/country-list/country-list.component.d.ts +11 -0
- package/settings/components/global-settings/global-settings.component.d.ts +29 -0
- package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +64 -0
- package/settings/components/payment-method-list/payment-method-list-bulk-actions.d.ts +3 -0
- package/settings/components/payment-method-list/payment-method-list.component.d.ts +11 -0
- package/settings/components/permission-grid/permission-grid.component.d.ts +28 -0
- package/settings/components/profile/profile.component.d.ts +28 -0
- package/settings/components/role-detail/role-detail.component.d.ts +31 -0
- package/settings/components/role-list/role-list-bulk-actions.d.ts +1 -0
- package/settings/components/role-list/role-list.component.d.ts +17 -0
- package/settings/components/seller-detail/seller-detail.component.d.ts +31 -0
- package/settings/components/seller-list/seller-list-bulk-actions.d.ts +1 -0
- package/settings/components/seller-list/seller-list.component.d.ts +11 -0
- package/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +12 -0
- package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +76 -0
- package/settings/components/shipping-method-list/shipping-method-list-bulk-actions.d.ts +3 -0
- package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +12 -0
- package/settings/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +12 -0
- package/settings/components/stock-location-detail/stock-location-detail.component.d.ts +32 -0
- package/settings/components/stock-location-list/stock-location-list-bulk-actions.d.ts +3 -0
- package/settings/components/stock-location-list/stock-location-list.component.d.ts +12 -0
- package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +32 -0
- package/settings/components/tax-category-list/tax-category-list-bulk-actions.d.ts +1 -0
- package/settings/components/tax-category-list/tax-category-list.component.d.ts +11 -0
- package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +39 -0
- package/settings/components/tax-rate-list/tax-rate-list-bulk-actions.d.ts +1 -0
- package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +11 -0
- package/settings/components/test-address-form/test-address-form.component.d.ts +25 -0
- package/settings/components/test-order-builder/test-order-builder.component.d.ts +31 -0
- package/settings/components/test-shipping-methods/test-shipping-methods.component.d.ts +23 -0
- package/settings/components/zone-detail/zone-detail.component.d.ts +31 -0
- package/settings/components/zone-list/zone-list-bulk-actions.d.ts +1 -0
- package/settings/components/zone-list/zone-list.component.d.ts +26 -0
- package/settings/components/zone-member-list/zone-member-controls.directive.d.ts +8 -0
- package/settings/components/zone-member-list/zone-member-list-bulk-actions.d.ts +3 -0
- package/settings/components/zone-member-list/zone-member-list-header.directive.d.ts +8 -0
- package/settings/components/zone-member-list/zone-member-list.component.d.ts +40 -0
- package/settings/index.d.ts +5 -0
- package/settings/providers/routing/profile-resolver.d.ts +8 -0
- package/settings/public_api.d.ts +49 -0
- package/settings/settings.module.d.ts +45 -0
- package/settings/settings.routes.d.ts +3 -0
- package/static/assets/.gitkeep +0 -0
- package/static/assets/logo-login.webp +0 -0
- package/static/assets/logo-top.webp +0 -0
- package/static/deenruv-ui-config.json +290 -0
- package/static/favicon.ico +0 -0
- package/static/fonts/fonts.scss +253 -0
- package/static/fonts/inter-cyrillic-ext.woff2 +0 -0
- package/static/fonts/inter-cyrillic.woff2 +0 -0
- package/static/fonts/inter-greek-ext.woff2 +0 -0
- package/static/fonts/inter-greek.woff2 +0 -0
- package/static/fonts/inter-latin-ext.woff2 +0 -0
- package/static/fonts/inter-latin.woff2 +0 -0
- package/static/fonts/inter-vietnamese.woff2 +0 -0
- package/static/i18n-messages/ar.json +814 -0
- package/static/i18n-messages/cs.json +814 -0
- package/static/i18n-messages/de.json +814 -0
- package/static/i18n-messages/en.json +814 -0
- package/static/i18n-messages/es.json +814 -0
- package/static/i18n-messages/fa.json +814 -0
- package/static/i18n-messages/fr.json +814 -0
- package/static/i18n-messages/he.json +814 -0
- package/static/i18n-messages/hr.json +814 -0
- package/static/i18n-messages/it.json +814 -0
- package/static/i18n-messages/nb.json +812 -0
- package/static/i18n-messages/ne.json +814 -0
- package/static/i18n-messages/pl.json +814 -0
- package/static/i18n-messages/pt_BR.json +814 -0
- package/static/i18n-messages/pt_PT.json +814 -0
- package/static/i18n-messages/ru.json +814 -0
- package/static/i18n-messages/sv.json +807 -0
- package/static/i18n-messages/uk.json +814 -0
- package/static/i18n-messages/zh_Hans.json +814 -0
- package/static/i18n-messages/zh_Hant.json +814 -0
- package/static/index.html +14 -0
- package/static/polyfills.ts +66 -0
- package/static/styles/_mixins.scss +60 -0
- package/static/styles/_variables.scss +11 -0
- package/static/styles/component/prosemirror.scss +511 -0
- package/static/styles/global/_buttons.scss +147 -0
- package/static/styles/global/_clarity.scss +140 -0
- package/static/styles/global/_forms.scss +187 -0
- package/static/styles/global/_global.scss +41 -0
- package/static/styles/global/_overrides.scss +165 -0
- package/static/styles/global/_sass-overrides.scss +8 -0
- package/static/styles/global/_utilities.scss +155 -0
- package/static/styles/rtl.scss +143 -0
- package/static/styles/styles.scss +19 -0
- package/static/styles/theme/dark.scss +591 -0
- package/static/styles/theme/default.scss +254 -0
- package/static/styles/ui-extension-theme.scss +13 -0
- package/static/theme.min.css +1 -0
- package/system/components/health-check/health-check.component.d.ts +8 -0
- package/system/components/job-list/job-list.component.d.ts +19 -0
- package/system/components/job-state-label/job-state-label.component.d.ts +9 -0
- package/system/index.d.ts +5 -0
- package/system/public_api.d.ts +5 -0
- package/system/system.module.d.ts +11 -0
- package/system/system.routes.d.ts +2 -0
package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
|
4
|
+
import { configurableDefinitionToInstance, createUpdatedTranslatable, findTranslation, getConfigArgValue, getCustomFieldsDefaults, Permission, SHIPPING_METHOD_FRAGMENT, toConfigurableOperationInput, TypedBaseDetailComponent, } from '@deenruv/admin-ui/core';
|
|
5
|
+
import { normalizeString } from '@deenruv/common/lib/normalize-string';
|
|
6
|
+
import { gql } from 'apollo-angular';
|
|
7
|
+
import { combineLatest, merge, of, Subject } from 'rxjs';
|
|
8
|
+
import { mergeMap, switchMap, take, takeUntil } from 'rxjs/operators';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@deenruv/admin-ui/core";
|
|
11
|
+
import * as i2 from "@angular/forms";
|
|
12
|
+
import * as i3 from "@clr/angular";
|
|
13
|
+
import * as i4 from "@angular/common";
|
|
14
|
+
import * as i5 from "../test-order-builder/test-order-builder.component";
|
|
15
|
+
import * as i6 from "../test-address-form/test-address-form.component";
|
|
16
|
+
import * as i7 from "../shipping-method-test-result/shipping-method-test-result.component";
|
|
17
|
+
import * as i8 from "@ngx-translate/core";
|
|
18
|
+
export const GET_SHIPPING_METHOD_DETAIL = gql `
|
|
19
|
+
query GetShippingMethodDetail($id: ID!) {
|
|
20
|
+
shippingMethod(id: $id) {
|
|
21
|
+
...ShippingMethod
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
${SHIPPING_METHOD_FRAGMENT}
|
|
25
|
+
`;
|
|
26
|
+
export class ShippingMethodDetailComponent extends TypedBaseDetailComponent {
|
|
27
|
+
constructor(changeDetector, dataService, formBuilder, notificationService) {
|
|
28
|
+
super();
|
|
29
|
+
this.changeDetector = changeDetector;
|
|
30
|
+
this.dataService = dataService;
|
|
31
|
+
this.formBuilder = formBuilder;
|
|
32
|
+
this.notificationService = notificationService;
|
|
33
|
+
this.customFields = this.getCustomFieldConfig('ShippingMethod');
|
|
34
|
+
this.detailForm = this.formBuilder.group({
|
|
35
|
+
code: ['', Validators.required],
|
|
36
|
+
name: ['', Validators.required],
|
|
37
|
+
description: '',
|
|
38
|
+
fulfillmentHandler: ['', Validators.required],
|
|
39
|
+
checker: {},
|
|
40
|
+
calculator: {},
|
|
41
|
+
customFields: this.formBuilder.group(getCustomFieldsDefaults(this.customFields)),
|
|
42
|
+
});
|
|
43
|
+
this.checkers = [];
|
|
44
|
+
this.calculators = [];
|
|
45
|
+
this.fulfillmentHandlers = [];
|
|
46
|
+
this.testDataUpdated = false;
|
|
47
|
+
this.updatePermission = [Permission.UpdateSettings, Permission.UpdateShippingMethod];
|
|
48
|
+
this.fetchTestResult$ = new Subject();
|
|
49
|
+
}
|
|
50
|
+
ngOnInit() {
|
|
51
|
+
this.init();
|
|
52
|
+
this.dataService.shippingMethod.getShippingMethodOperations().single$.subscribe(data => {
|
|
53
|
+
this.checkers = data.shippingEligibilityCheckers;
|
|
54
|
+
this.calculators = data.shippingCalculators;
|
|
55
|
+
this.fulfillmentHandlers = data.fulfillmentHandlers;
|
|
56
|
+
this.changeDetector.markForCheck();
|
|
57
|
+
this.selectedCheckerDefinition = data.shippingEligibilityCheckers.find(c => c.code === this.entity?.checker?.code);
|
|
58
|
+
this.selectedCalculatorDefinition = data.shippingCalculators.find(c => c.code === this.entity?.calculator?.code);
|
|
59
|
+
});
|
|
60
|
+
this.activeChannel$ = this.dataService.settings
|
|
61
|
+
.getActiveChannel()
|
|
62
|
+
.mapStream(data => data.activeChannel);
|
|
63
|
+
this.testResult$ = this.fetchTestResult$.pipe(switchMap(([address, lines]) => {
|
|
64
|
+
const { checker, calculator } = this.detailForm.value;
|
|
65
|
+
if (!this.selectedChecker || !this.selectedCalculator || !checker || !calculator) {
|
|
66
|
+
return of(undefined);
|
|
67
|
+
}
|
|
68
|
+
const input = {
|
|
69
|
+
shippingAddress: { ...address, streetLine1: 'test' },
|
|
70
|
+
lines: lines.map(l => ({ productVariantId: l.id, quantity: l.quantity })),
|
|
71
|
+
checker: toConfigurableOperationInput(this.selectedChecker, checker),
|
|
72
|
+
calculator: toConfigurableOperationInput(this.selectedCalculator, calculator),
|
|
73
|
+
};
|
|
74
|
+
return this.dataService.shippingMethod
|
|
75
|
+
.testShippingMethod(input)
|
|
76
|
+
.mapSingle(result => result.testShippingMethod);
|
|
77
|
+
}));
|
|
78
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
79
|
+
merge(this.detailForm.get(['checker']).valueChanges, this.detailForm.get(['calculator']).valueChanges)
|
|
80
|
+
.pipe(takeUntil(this.destroy$))
|
|
81
|
+
.subscribe(() => (this.testDataUpdated = true));
|
|
82
|
+
/* eslint-enable @typescript-eslint/no-non-null-assertion */
|
|
83
|
+
}
|
|
84
|
+
ngOnDestroy() {
|
|
85
|
+
this.destroy();
|
|
86
|
+
}
|
|
87
|
+
updateCode(currentCode, nameValue) {
|
|
88
|
+
if (!currentCode) {
|
|
89
|
+
const codeControl = this.detailForm.get(['code']);
|
|
90
|
+
if (codeControl && codeControl.pristine) {
|
|
91
|
+
codeControl.setValue(normalizeString(nameValue, '-'));
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
selectChecker(checker) {
|
|
96
|
+
this.selectedCheckerDefinition = checker;
|
|
97
|
+
this.selectedChecker = configurableDefinitionToInstance(checker);
|
|
98
|
+
const formControl = this.detailForm.get('checker');
|
|
99
|
+
if (formControl) {
|
|
100
|
+
formControl.clearValidators();
|
|
101
|
+
formControl.updateValueAndValidity({ onlySelf: true });
|
|
102
|
+
formControl.patchValue(this.selectedChecker);
|
|
103
|
+
}
|
|
104
|
+
this.detailForm.markAsDirty();
|
|
105
|
+
}
|
|
106
|
+
selectCalculator(calculator) {
|
|
107
|
+
this.selectedCalculatorDefinition = calculator;
|
|
108
|
+
this.selectedCalculator = configurableDefinitionToInstance(calculator);
|
|
109
|
+
const formControl = this.detailForm.get('calculator');
|
|
110
|
+
if (formControl) {
|
|
111
|
+
formControl.clearValidators();
|
|
112
|
+
formControl.updateValueAndValidity({ onlySelf: true });
|
|
113
|
+
formControl.patchValue(this.selectedCalculator);
|
|
114
|
+
}
|
|
115
|
+
this.detailForm.markAsDirty();
|
|
116
|
+
}
|
|
117
|
+
create() {
|
|
118
|
+
const selectedChecker = this.selectedChecker;
|
|
119
|
+
const selectedCalculator = this.selectedCalculator;
|
|
120
|
+
const { checker, calculator } = this.detailForm.value;
|
|
121
|
+
if (!selectedChecker || !selectedCalculator || !checker || !calculator) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const formValue = this.detailForm.value;
|
|
125
|
+
const input = {
|
|
126
|
+
...this.getUpdatedShippingMethod({
|
|
127
|
+
createdAt: '',
|
|
128
|
+
updatedAt: '',
|
|
129
|
+
id: '',
|
|
130
|
+
code: '',
|
|
131
|
+
name: '',
|
|
132
|
+
description: '',
|
|
133
|
+
fulfillmentHandlerCode: '',
|
|
134
|
+
checker: undefined,
|
|
135
|
+
calculator: undefined,
|
|
136
|
+
translations: [],
|
|
137
|
+
}, this.detailForm, this.languageCode),
|
|
138
|
+
checker: toConfigurableOperationInput(selectedChecker, checker),
|
|
139
|
+
calculator: toConfigurableOperationInput(selectedCalculator, calculator),
|
|
140
|
+
};
|
|
141
|
+
this.dataService.shippingMethod.createShippingMethod(input).subscribe(data => {
|
|
142
|
+
this.notificationService.success(_('common.notify-create-success'), {
|
|
143
|
+
entity: 'ShippingMethod',
|
|
144
|
+
});
|
|
145
|
+
this.detailForm.markAsPristine();
|
|
146
|
+
this.changeDetector.markForCheck();
|
|
147
|
+
this.router.navigate(['../', data.createShippingMethod.id], { relativeTo: this.route });
|
|
148
|
+
}, err => {
|
|
149
|
+
this.notificationService.error(_('common.notify-create-error'), {
|
|
150
|
+
entity: 'ShippingMethod',
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
save() {
|
|
155
|
+
const selectedChecker = this.selectedChecker;
|
|
156
|
+
const selectedCalculator = this.selectedCalculator;
|
|
157
|
+
const { checker, calculator } = this.detailForm.value;
|
|
158
|
+
if (!selectedChecker || !selectedCalculator || !checker || !calculator) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
combineLatest([this.entity$, this.languageCode$])
|
|
162
|
+
.pipe(take(1), mergeMap(([shippingMethod, languageCode]) => {
|
|
163
|
+
const formValue = this.detailForm.value;
|
|
164
|
+
const input = {
|
|
165
|
+
...this.getUpdatedShippingMethod(shippingMethod, this.detailForm, languageCode),
|
|
166
|
+
checker: toConfigurableOperationInput(selectedChecker, checker),
|
|
167
|
+
calculator: toConfigurableOperationInput(selectedCalculator, calculator),
|
|
168
|
+
};
|
|
169
|
+
return this.dataService.shippingMethod.updateShippingMethod(input);
|
|
170
|
+
}))
|
|
171
|
+
.subscribe(data => {
|
|
172
|
+
this.notificationService.success(_('common.notify-update-success'), {
|
|
173
|
+
entity: 'ShippingMethod',
|
|
174
|
+
});
|
|
175
|
+
this.detailForm.markAsPristine();
|
|
176
|
+
this.changeDetector.markForCheck();
|
|
177
|
+
}, err => {
|
|
178
|
+
// eslint-disable-next-line no-console
|
|
179
|
+
console.error(err);
|
|
180
|
+
this.notificationService.error(_('common.notify-update-error'), {
|
|
181
|
+
entity: 'ShippingMethod',
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
setTestOrderLines(event) {
|
|
186
|
+
this.testOrderLines = event;
|
|
187
|
+
this.testDataUpdated = true;
|
|
188
|
+
}
|
|
189
|
+
setTestAddress(event) {
|
|
190
|
+
this.testAddress = event;
|
|
191
|
+
this.testDataUpdated = true;
|
|
192
|
+
}
|
|
193
|
+
allTestDataPresent() {
|
|
194
|
+
return !!(this.testAddress &&
|
|
195
|
+
this.testOrderLines &&
|
|
196
|
+
this.testOrderLines.length &&
|
|
197
|
+
this.selectedChecker &&
|
|
198
|
+
this.selectedCalculator);
|
|
199
|
+
}
|
|
200
|
+
runTest() {
|
|
201
|
+
this.fetchTestResult$.next([this.testAddress, this.testOrderLines]);
|
|
202
|
+
this.testDataUpdated = false;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Given a ShippingMethod and the value of the detailForm, this method creates an updated copy which
|
|
206
|
+
* can then be persisted to the API.
|
|
207
|
+
*/
|
|
208
|
+
getUpdatedShippingMethod(shippingMethod, formGroup, languageCode) {
|
|
209
|
+
const formValue = formGroup.value;
|
|
210
|
+
const input = createUpdatedTranslatable({
|
|
211
|
+
translatable: shippingMethod,
|
|
212
|
+
updatedFields: formValue,
|
|
213
|
+
customFieldConfig: this.customFields,
|
|
214
|
+
languageCode,
|
|
215
|
+
defaultTranslation: {
|
|
216
|
+
languageCode,
|
|
217
|
+
name: shippingMethod.name || '',
|
|
218
|
+
description: shippingMethod.description || '',
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
return { ...input, fulfillmentHandler: formValue.fulfillmentHandler };
|
|
222
|
+
}
|
|
223
|
+
setFormValues(shippingMethod, languageCode) {
|
|
224
|
+
const currentTranslation = findTranslation(shippingMethod, languageCode);
|
|
225
|
+
this.detailForm.patchValue({
|
|
226
|
+
name: currentTranslation?.name ?? '',
|
|
227
|
+
description: currentTranslation?.description ?? '',
|
|
228
|
+
code: shippingMethod.code,
|
|
229
|
+
fulfillmentHandler: shippingMethod.fulfillmentHandlerCode,
|
|
230
|
+
checker: shippingMethod.checker || {},
|
|
231
|
+
calculator: shippingMethod.calculator || {},
|
|
232
|
+
});
|
|
233
|
+
if (!this.selectedChecker) {
|
|
234
|
+
this.selectedChecker = shippingMethod.checker && {
|
|
235
|
+
code: shippingMethod.checker.code,
|
|
236
|
+
args: shippingMethod.checker.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
if (!this.selectedCalculator) {
|
|
240
|
+
this.selectedCalculator = shippingMethod.calculator && {
|
|
241
|
+
code: shippingMethod.calculator?.code,
|
|
242
|
+
args: shippingMethod.calculator?.args.map(a => ({ ...a, value: getConfigArgValue(a.value) })),
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
if (this.customFields.length) {
|
|
246
|
+
this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), shippingMethod, currentTranslation);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ShippingMethodDetailComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DataService }, { token: i2.FormBuilder }, { token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
250
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ShippingMethodDetailComponent, selector: "vdr-shipping-method-detail", usesInheritance: true, ngImport: i0, template: "<vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <vdr-language-selector\n [disabled]=\"isNew$ | async\"\n [availableLanguageCodes]=\"availableLanguages$ | async\"\n [currentLanguageCode]=\"languageCode$ | async\"\n (languageCodeChange)=\"setLanguage($event)\"\n />\n </vdr-ab-left>\n\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"shipping-method-detail\" />\n <button\n class=\"btn btn-primary\"\n *ngIf=\"isNew$ | async; else updateButton\"\n (click)=\"create()\"\n [disabled]=\"\n detailForm.pristine || detailForm.invalid || !selectedChecker || !selectedCalculator\n \"\n >\n {{ 'common.create' | translate }}\n </button>\n <ng-template #updateButton>\n <button\n class=\"btn btn-primary\"\n (click)=\"save()\"\n *vdrIfPermissions=\"updatePermission\"\n [disabled]=\"\n detailForm.pristine || detailForm.invalid || !selectedChecker || !selectedCalculator\n \"\n >\n {{ 'common.update' | translate }}\n </button>\n </ng-template>\n <vdr-action-bar-dropdown-menu locationId=\"shipping-method-detail\" />\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<form class=\"form\" [formGroup]=\"detailForm\">\n <vdr-page-detail-layout>\n <vdr-page-detail-sidebar>\n <vdr-card *ngIf=\"entity$ | async as entity\">\n <vdr-page-entity-info [entity]=\"entity\" />\n </vdr-card>\n </vdr-page-detail-sidebar>\n <vdr-page-block>\n <vdr-card>\n <div class=\"form-grid\">\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\n <input\n id=\"name\"\n type=\"text\"\n formControlName=\"name\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n (input)=\"updateCode(entity?.code, $event.target.value)\"\n />\n </vdr-form-field>\n <vdr-form-field\n [label]=\"'common.code' | translate\"\n for=\"code\"\n [readOnlyToggle]=\"updatePermission | hasPermission\"\n >\n <input\n id=\"code\"\n type=\"text\"\n formControlName=\"code\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n />\n </vdr-form-field>\n <vdr-rich-text-editor\n class=\"form-grid-span\"\n formControlName=\"description\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n [label]=\"'common.description' | translate\"\n ></vdr-rich-text-editor>\n <vdr-form-field\n [label]=\"'settings.fulfillment-handler' | translate\"\n for=\"fulfillmentHandler\"\n >\n <select\n name=\"fulfillmentHandler\"\n formControlName=\"fulfillmentHandler\"\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\n >\n <option *ngFor=\"let handler of fulfillmentHandlers\" [value]=\"handler.code\">\n {{ handler.code }}: {{ handler.description }}\n </option>\n </select>\n </vdr-form-field>\n </div>\n </vdr-card>\n\n <vdr-card\n formGroupName=\"customFields\"\n *ngIf=\"customFields.length\"\n [title]=\"'common.custom-fields' | translate\"\n >\n <vdr-tabbed-custom-fields\n entityName=\"ShippingMethod\"\n [customFields]=\"customFields\"\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\n ></vdr-tabbed-custom-fields>\n </vdr-card>\n\n <vdr-custom-detail-component-host\n locationId=\"shipping-method-detail\"\n [entity$]=\"entity$\"\n [detailForm]=\"detailForm\"\n ></vdr-custom-detail-component-host>\n\n <vdr-card [title]=\"'settings.shipping-eligibility-checker' | translate\">\n <vdr-configurable-input\n class=\"card-span\"\n *ngIf=\"selectedChecker && selectedCheckerDefinition\"\n [operation]=\"selectedChecker\"\n [operationDefinition]=\"selectedCheckerDefinition\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n (remove)=\"selectedChecker = null\"\n formControlName=\"checker\"\n ></vdr-configurable-input>\n <div *ngIf=\"!selectedChecker || !selectedCheckerDefinition\" class=\"card-span\">\n <vdr-dropdown>\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\n <clr-icon shape=\"plus\"></clr-icon>\n {{ 'common.select' | translate }}\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\n <button\n *ngFor=\"let checker of checkers\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"selectChecker(checker)\"\n >\n {{ checker.description }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'settings.shipping-calculator' | translate\">\n <vdr-configurable-input\n class=\"card-span\"\n *ngIf=\"selectedCalculator && selectedCalculatorDefinition\"\n [operation]=\"selectedCalculator\"\n [operationDefinition]=\"selectedCalculatorDefinition\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n (remove)=\"selectedCalculator = null\"\n formControlName=\"calculator\"\n ></vdr-configurable-input>\n <div *ngIf=\"!selectedCalculator || !selectedCalculatorDefinition\" class=\"card-span\">\n <vdr-dropdown>\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\n <clr-icon shape=\"plus\"></clr-icon>\n {{ 'common.select' | translate }}\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\n <button\n *ngFor=\"let calculator of calculators\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"selectCalculator(calculator)\"\n >\n {{ calculator.description }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'settings.test-shipping-method' | translate\">\n <vdr-test-order-builder\n class=\"card-span\"\n (orderLinesChange)=\"setTestOrderLines($event)\"\n ></vdr-test-order-builder>\n <vdr-test-address-form\n (addressChange)=\"setTestAddress($event)\"\n class=\"mt-2\"\n ></vdr-test-address-form>\n <vdr-shipping-method-test-result\n class=\"mt-2\"\n [currencyCode]=\"(activeChannel$ | async)?.currencyCode\"\n [okToRun]=\"allTestDataPresent() && testDataUpdated && detailForm.valid\"\n [testDataUpdated]=\"testDataUpdated\"\n [testResult]=\"testResult$ | async\"\n (runTest)=\"runTest()\"\n ></vdr-shipping-method-test-result>\n </vdr-card>\n </vdr-page-block>\n </vdr-page-detail-layout>\n</form>\n", styles: [""], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarDropdownMenuComponent, selector: "vdr-action-bar-dropdown-menu", inputs: ["alwaysShow"] }, { kind: "component", type: i1.ConfigurableInputComponent, selector: "vdr-configurable-input", inputs: ["operation", "operationDefinition", "readonly", "removable", "position", "hideDescription"], outputs: ["remove"] }, { kind: "component", type: i1.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"], outputs: ["readOnlyToggleChange"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i1.LanguageSelectorComponent, selector: "vdr-language-selector", inputs: ["currentLanguageCode", "availableLanguageCodes", "disabled"], outputs: ["languageCodeChange"] }, { kind: "component", type: i1.RichTextEditorComponent, selector: "vdr-rich-text-editor", inputs: ["label", "readonly"] }, { kind: "component", type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "directive", type: i1.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "directive", type: i1.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { kind: "component", type: i1.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { kind: "component", type: i1.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: i1.PageEntityInfoComponent, selector: "vdr-page-entity-info", inputs: ["entity"] }, { kind: "component", type: i1.PageDetailLayoutComponent, selector: "vdr-page-detail-layout" }, { kind: "component", type: i1.PageDetailSidebarComponent, selector: "vdr-page-detail-sidebar" }, { kind: "component", type: i1.CardComponent, selector: "vdr-card", inputs: ["title", "paddingX"] }, { kind: "component", type: i5.TestOrderBuilderComponent, selector: "vdr-test-order-builder", outputs: ["orderLinesChange"] }, { kind: "component", type: i6.TestAddressFormComponent, selector: "vdr-test-address-form", outputs: ["addressChange"] }, { kind: "component", type: i7.ShippingMethodTestResultComponent, selector: "vdr-shipping-method-test-result", inputs: ["testResult", "okToRun", "testDataUpdated", "currencyCode"], outputs: ["runTest"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HasPermissionPipe, name: "hasPermission" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
251
|
+
}
|
|
252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ShippingMethodDetailComponent, decorators: [{
|
|
253
|
+
type: Component,
|
|
254
|
+
args: [{ selector: 'vdr-shipping-method-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-block>\n <vdr-action-bar>\n <vdr-ab-left>\n <vdr-language-selector\n [disabled]=\"isNew$ | async\"\n [availableLanguageCodes]=\"availableLanguages$ | async\"\n [currentLanguageCode]=\"languageCode$ | async\"\n (languageCodeChange)=\"setLanguage($event)\"\n />\n </vdr-ab-left>\n\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"shipping-method-detail\" />\n <button\n class=\"btn btn-primary\"\n *ngIf=\"isNew$ | async; else updateButton\"\n (click)=\"create()\"\n [disabled]=\"\n detailForm.pristine || detailForm.invalid || !selectedChecker || !selectedCalculator\n \"\n >\n {{ 'common.create' | translate }}\n </button>\n <ng-template #updateButton>\n <button\n class=\"btn btn-primary\"\n (click)=\"save()\"\n *vdrIfPermissions=\"updatePermission\"\n [disabled]=\"\n detailForm.pristine || detailForm.invalid || !selectedChecker || !selectedCalculator\n \"\n >\n {{ 'common.update' | translate }}\n </button>\n </ng-template>\n <vdr-action-bar-dropdown-menu locationId=\"shipping-method-detail\" />\n </vdr-ab-right>\n </vdr-action-bar>\n</vdr-page-block>\n\n<form class=\"form\" [formGroup]=\"detailForm\">\n <vdr-page-detail-layout>\n <vdr-page-detail-sidebar>\n <vdr-card *ngIf=\"entity$ | async as entity\">\n <vdr-page-entity-info [entity]=\"entity\" />\n </vdr-card>\n </vdr-page-detail-sidebar>\n <vdr-page-block>\n <vdr-card>\n <div class=\"form-grid\">\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\n <input\n id=\"name\"\n type=\"text\"\n formControlName=\"name\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n (input)=\"updateCode(entity?.code, $event.target.value)\"\n />\n </vdr-form-field>\n <vdr-form-field\n [label]=\"'common.code' | translate\"\n for=\"code\"\n [readOnlyToggle]=\"updatePermission | hasPermission\"\n >\n <input\n id=\"code\"\n type=\"text\"\n formControlName=\"code\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n />\n </vdr-form-field>\n <vdr-rich-text-editor\n class=\"form-grid-span\"\n formControlName=\"description\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n [label]=\"'common.description' | translate\"\n ></vdr-rich-text-editor>\n <vdr-form-field\n [label]=\"'settings.fulfillment-handler' | translate\"\n for=\"fulfillmentHandler\"\n >\n <select\n name=\"fulfillmentHandler\"\n formControlName=\"fulfillmentHandler\"\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\n >\n <option *ngFor=\"let handler of fulfillmentHandlers\" [value]=\"handler.code\">\n {{ handler.code }}: {{ handler.description }}\n </option>\n </select>\n </vdr-form-field>\n </div>\n </vdr-card>\n\n <vdr-card\n formGroupName=\"customFields\"\n *ngIf=\"customFields.length\"\n [title]=\"'common.custom-fields' | translate\"\n >\n <vdr-tabbed-custom-fields\n entityName=\"ShippingMethod\"\n [customFields]=\"customFields\"\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\n ></vdr-tabbed-custom-fields>\n </vdr-card>\n\n <vdr-custom-detail-component-host\n locationId=\"shipping-method-detail\"\n [entity$]=\"entity$\"\n [detailForm]=\"detailForm\"\n ></vdr-custom-detail-component-host>\n\n <vdr-card [title]=\"'settings.shipping-eligibility-checker' | translate\">\n <vdr-configurable-input\n class=\"card-span\"\n *ngIf=\"selectedChecker && selectedCheckerDefinition\"\n [operation]=\"selectedChecker\"\n [operationDefinition]=\"selectedCheckerDefinition\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n (remove)=\"selectedChecker = null\"\n formControlName=\"checker\"\n ></vdr-configurable-input>\n <div *ngIf=\"!selectedChecker || !selectedCheckerDefinition\" class=\"card-span\">\n <vdr-dropdown>\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\n <clr-icon shape=\"plus\"></clr-icon>\n {{ 'common.select' | translate }}\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\n <button\n *ngFor=\"let checker of checkers\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"selectChecker(checker)\"\n >\n {{ checker.description }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'settings.shipping-calculator' | translate\">\n <vdr-configurable-input\n class=\"card-span\"\n *ngIf=\"selectedCalculator && selectedCalculatorDefinition\"\n [operation]=\"selectedCalculator\"\n [operationDefinition]=\"selectedCalculatorDefinition\"\n [readonly]=\"!(updatePermission | hasPermission)\"\n (remove)=\"selectedCalculator = null\"\n formControlName=\"calculator\"\n ></vdr-configurable-input>\n <div *ngIf=\"!selectedCalculator || !selectedCalculatorDefinition\" class=\"card-span\">\n <vdr-dropdown>\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\n <clr-icon shape=\"plus\"></clr-icon>\n {{ 'common.select' | translate }}\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\n <button\n *ngFor=\"let calculator of calculators\"\n type=\"button\"\n vdrDropdownItem\n (click)=\"selectCalculator(calculator)\"\n >\n {{ calculator.description }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </div>\n </vdr-card>\n <vdr-card [title]=\"'settings.test-shipping-method' | translate\">\n <vdr-test-order-builder\n class=\"card-span\"\n (orderLinesChange)=\"setTestOrderLines($event)\"\n ></vdr-test-order-builder>\n <vdr-test-address-form\n (addressChange)=\"setTestAddress($event)\"\n class=\"mt-2\"\n ></vdr-test-address-form>\n <vdr-shipping-method-test-result\n class=\"mt-2\"\n [currencyCode]=\"(activeChannel$ | async)?.currencyCode\"\n [okToRun]=\"allTestDataPresent() && testDataUpdated && detailForm.valid\"\n [testDataUpdated]=\"testDataUpdated\"\n [testResult]=\"testResult$ | async\"\n (runTest)=\"runTest()\"\n ></vdr-shipping-method-test-result>\n </vdr-card>\n </vdr-page-block>\n </vdr-page-detail-layout>\n</form>\n" }]
|
|
255
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DataService }, { type: i2.FormBuilder }, { type: i1.NotificationService }] });
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwvc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NldHRpbmdzL3NyYy9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwvc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUNILGdDQUFnQyxFQUloQyx5QkFBeUIsRUFFekIsZUFBZSxFQUVmLGlCQUFpQixFQUNqQix1QkFBdUIsRUFLdkIsVUFBVSxFQUNWLHdCQUF3QixFQUl4Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEdBRTNCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQUt0RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENB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QzVGLENBQUM7UUFDTixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUMsVUFBVSxJQUFJO2dCQUNuRCxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJO2dCQUNyQyxJQUFJLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hHLENBQUM7UUFDTixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyx3QkFBd0IsQ0FDekIsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUNyQyxjQUFjLEVBQ2Qsa0JBQWtCLENBQ3JCLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQzsrR0FoU1EsNkJBQTZCO21HQUE3Qiw2QkFBNkIseUZDbEQxQyxrNVJBK0xBOzs0RkQ3SWEsNkJBQTZCO2tCQU56QyxTQUFTOytCQUNJLDRCQUE0QixtQkFHckIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XG5pbXBvcnQge1xuICAgIGNvbmZpZ3VyYWJsZURlZmluaXRpb25Ub0luc3RhbmNlLFxuICAgIENvbmZpZ3VyYWJsZU9wZXJhdGlvbixcbiAgICBDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uLFxuICAgIENyZWF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQsXG4gICAgY3JlYXRlVXBkYXRlZFRyYW5zbGF0YWJsZSxcbiAgICBEYXRhU2VydmljZSxcbiAgICBmaW5kVHJhbnNsYXRpb24sXG4gICAgR2V0QWN0aXZlQ2hhbm5lbFF1ZXJ5LFxuICAgIGdldENvbmZpZ0FyZ1ZhbHVlLFxuICAgIGdldEN1c3RvbUZpZWxkc0RlZmF1bHRzLFxuICAgIEdldFNoaXBwaW5nTWV0aG9kRGV0YWlsRG9jdW1lbnQsXG4gICAgR2V0U2hpcHBpbmdNZXRob2REZXRhaWxRdWVyeSxcbiAgICBMYW5ndWFnZUNvZGUsXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBQZXJtaXNzaW9uLFxuICAgIFNISVBQSU5HX01FVEhPRF9GUkFHTUVOVCxcbiAgICBTaGlwcGluZ01ldGhvZEZyYWdtZW50LFxuICAgIFRlc3RTaGlwcGluZ01ldGhvZElucHV0LFxuICAgIFRlc3RTaGlwcGluZ01ldGhvZFJlc3VsdCxcbiAgICB0b0NvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0LFxuICAgIFR5cGVkQmFzZURldGFpbENvbXBvbmVudCxcbiAgICBVcGRhdGVTaGlwcGluZ01ldGhvZElucHV0LFxufSBmcm9tICdAZGVlbnJ1di9hZG1pbi11aS9jb3JlJztcbmltcG9ydCB7IG5vcm1hbGl6ZVN0cmluZyB9IGZyb20gJ0BkZWVucnV2L2NvbW1vbi9saWIvbm9ybWFsaXplLXN0cmluZyc7XG5pbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1lcmdlTWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgVGVzdEFkZHJlc3MgfSBmcm9tICcuLi90ZXN0LWFkZHJlc3MtZm9ybS90ZXN0LWFkZHJlc3MtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGVzdE9yZGVyTGluZSB9IGZyb20gJy4uL3Rlc3Qtb3JkZXItYnVpbGRlci90ZXN0LW9yZGVyLWJ1aWxkZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEdFVF9TSElQUElOR19NRVRIT0RfREVUQUlMID0gZ3FsYFxuICAgIHF1ZXJ5IEdldFNoaXBwaW5nTWV0aG9kRGV0YWlsKCRpZDogSUQhKSB7XG4gICAgICAgIHNoaXBwaW5nTWV0aG9kKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIC4uLlNoaXBwaW5nTWV0aG9kXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtTSElQUElOR19NRVRIT0RfRlJBR01FTlR9XG5gO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1zaGlwcGluZy1tZXRob2QtZGV0YWlsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTaGlwcGluZ01ldGhvZERldGFpbENvbXBvbmVudFxuICAgIGV4dGVuZHMgVHlwZWRCYXNlRGV0YWlsQ29tcG9uZW50PHR5cGVvZiBHZXRTaGlwcGluZ01ldGhvZERldGFpbERvY3VtZW50LCAnc2hpcHBpbmdNZXRob2QnPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgICBjdXN0b21GaWVsZHMgPSB0aGlzLmdldEN1c3RvbUZpZWxkQ29uZmlnKCdTaGlwcGluZ01ldGhvZCcpO1xuICAgIGRldGFpbEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgY29kZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgbmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgICBmdWxmaWxsbWVudEhhbmRsZXI6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAgIGNoZWNrZXI6IHt9IGFzIE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kRGV0YWlsUXVlcnlbJ3NoaXBwaW5nTWV0aG9kJ10+WydjaGVja2VyJ10sXG4gICAgICAgIGNhbGN1bGF0b3I6IHt9IGFzIE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kRGV0YWlsUXVlcnlbJ3NoaXBwaW5nTWV0aG9kJ10+WydjYWxjdWxhdG9yJ10sXG4gICAgICAgIGN1c3RvbUZpZWxkczogdGhpcy5mb3JtQnVpbGRlci5ncm91cChnZXRDdXN0b21GaWVsZHNEZWZhdWx0cyh0aGlzLmN1c3RvbUZpZWxkcykpLFxuICAgIH0pO1xuICAgIGNoZWNrZXJzOiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uW10gPSBbXTtcbiAgICBjYWxjdWxhdG9yczogQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbltdID0gW107XG4gICAgZnVsZmlsbG1lbnRIYW5kbGVyczogQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbltdID0gW107XG4gICAgc2VsZWN0ZWRDaGVja2VyPzogQ29uZmlndXJhYmxlT3BlcmF0aW9uIHwgbnVsbDtcbiAgICBzZWxlY3RlZENoZWNrZXJEZWZpbml0aW9uPzogQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbjtcbiAgICBzZWxlY3RlZENhbGN1bGF0b3I/OiBDb25maWd1cmFibGVPcGVyYXRpb24gfCBudWxsO1xuICAgIHNlbGVjdGVkQ2FsY3VsYXRvckRlZmluaXRpb24/OiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uO1xuICAgIGFjdGl2ZUNoYW5uZWwkOiBPYnNlcnZhYmxlPEdldEFjdGl2ZUNoYW5uZWxRdWVyeVsnYWN0aXZlQ2hhbm5lbCddPjtcbiAgICB0ZXN0QWRkcmVzczogVGVzdEFkZHJlc3M7XG4gICAgdGVzdE9yZGVyTGluZXM6IFRlc3RPcmRlckxpbmVbXTtcbiAgICB0ZXN0RGF0YVVwZGF0ZWQgPSBmYWxzZTtcbiAgICB0ZXN0UmVzdWx0JDogT2JzZXJ2YWJsZTxUZXN0U2hpcHBpbmdNZXRob2RSZXN1bHQgfCB1bmRlZmluZWQ+O1xuICAgIHJlYWRvbmx5IHVwZGF0ZVBlcm1pc3Npb24gPSBbUGVybWlzc2lvbi5VcGRhdGVTZXR0aW5ncywgUGVybWlzc2lvbi5VcGRhdGVTaGlwcGluZ01ldGhvZF07XG4gICAgcHJpdmF0ZSBmZXRjaFRlc3RSZXN1bHQkID0gbmV3IFN1YmplY3Q8W1Rlc3RBZGRyZXNzLCBUZXN0T3JkZXJMaW5lW11dPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXQoKTtcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5zaGlwcGluZ01ldGhvZC5nZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnMoKS5zaW5nbGUkLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlcnMgPSBkYXRhLnNoaXBwaW5nRWxpZ2liaWxpdHlDaGVja2VycztcbiAgICAgICAgICAgIHRoaXMuY2FsY3VsYXRvcnMgPSBkYXRhLnNoaXBwaW5nQ2FsY3VsYXRvcnM7XG4gICAgICAgICAgICB0aGlzLmZ1bGZpbGxtZW50SGFuZGxlcnMgPSBkYXRhLmZ1bGZpbGxtZW50SGFuZGxlcnM7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoZWNrZXJEZWZpbml0aW9uID0gZGF0YS5zaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnMuZmluZChcbiAgICAgICAgICAgICAgICBjID0+IGMuY29kZSA9PT0gdGhpcy5lbnRpdHk/LmNoZWNrZXI/LmNvZGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhbGN1bGF0b3JEZWZpbml0aW9uID0gZGF0YS5zaGlwcGluZ0NhbGN1bGF0b3JzLmZpbmQoXG4gICAgICAgICAgICAgICAgYyA9PiBjLmNvZGUgPT09IHRoaXMuZW50aXR5Py5jYWxjdWxhdG9yPy5jb2RlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hY3RpdmVDaGFubmVsJCA9IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3NcbiAgICAgICAgICAgIC5nZXRBY3RpdmVDaGFubmVsKClcbiAgICAgICAgICAgIC5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLmFjdGl2ZUNoYW5uZWwpO1xuXG4gICAgICAgIHRoaXMudGVzdFJlc3VsdCQgPSB0aGlzLmZldGNoVGVzdFJlc3VsdCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2FkZHJlc3MsIGxpbmVzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgY2hlY2tlciwgY2FsY3VsYXRvciB9ID0gdGhpcy5kZXRhaWxGb3JtLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZENoZWNrZXIgfHwgIXRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yIHx8ICFjaGVja2VyIHx8ICFjYWxjdWxhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dDogVGVzdFNoaXBwaW5nTWV0aG9kSW5wdXQgPSB7XG4gICAgICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzczogeyAuLi5hZGRyZXNzLCBzdHJlZXRMaW5lMTogJ3Rlc3QnIH0sXG4gICAgICAgICAgICAgICAgICAgIGxpbmVzOiBsaW5lcy5tYXAobCA9PiAoeyBwcm9kdWN0VmFyaWFudElkOiBsLmlkLCBxdWFudGl0eTogbC5xdWFudGl0eSB9KSksXG4gICAgICAgICAgICAgICAgICAgIGNoZWNrZXI6IHRvQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQodGhpcy5zZWxlY3RlZENoZWNrZXIsIGNoZWNrZXIpLFxuICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdG9yOiB0b0NvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0KHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yLCBjYWxjdWxhdG9yKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnNoaXBwaW5nTWV0aG9kXG4gICAgICAgICAgICAgICAgICAgIC50ZXN0U2hpcHBpbmdNZXRob2QoaW5wdXQpXG4gICAgICAgICAgICAgICAgICAgIC5tYXBTaW5nbGUocmVzdWx0ID0+IHJlc3VsdC50ZXN0U2hpcHBpbmdNZXRob2QpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvbiAqL1xuICAgICAgICBtZXJnZShcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsRm9ybS5nZXQoWydjaGVja2VyJ10pIS52YWx1ZUNoYW5nZXMsXG4gICAgICAgICAgICB0aGlzLmRldGFpbEZvcm0uZ2V0KFsnY2FsY3VsYXRvciddKSEudmFsdWVDaGFuZ2VzLFxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+ICh0aGlzLnRlc3REYXRhVXBkYXRlZCA9IHRydWUpKTtcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uICovXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNvZGUoY3VycmVudENvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCwgbmFtZVZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFjdXJyZW50Q29kZSkge1xuICAgICAgICAgICAgY29uc3QgY29kZUNvbnRyb2wgPSB0aGlzLmRldGFpbEZvcm0uZ2V0KFsnY29kZSddKTtcbiAgICAgICAgICAgIGlmIChjb2RlQ29udHJvbCAmJiBjb2RlQ29udHJvbC5wcmlzdGluZSkge1xuICAgICAgICAgICAgICAgIGNvZGVDb250cm9sLnNldFZhbHVlKG5vcm1hbGl6ZVN0cmluZyhuYW1lVmFsdWUsICctJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0Q2hlY2tlcihjaGVja2VyOiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGVja2VyRGVmaW5pdGlvbiA9IGNoZWNrZXI7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGVja2VyID0gY29uZmlndXJhYmxlRGVmaW5pdGlvblRvSW5zdGFuY2UoY2hlY2tlcik7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5kZXRhaWxGb3JtLmdldCgnY2hlY2tlcicpO1xuICAgICAgICBpZiAoZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIGZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnNlbGVjdGVkQ2hlY2tlcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXRhaWxGb3JtLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuXG4gICAgc2VsZWN0Q2FsY3VsYXRvcihjYWxjdWxhdG9yOiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yRGVmaW5pdGlvbiA9IGNhbGN1bGF0b3I7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yID0gY29uZmlndXJhYmxlRGVmaW5pdGlvblRvSW5zdGFuY2UoY2FsY3VsYXRvcik7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5kZXRhaWxGb3JtLmdldCgnY2FsY3VsYXRvcicpO1xuICAgICAgICBpZiAoZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgIGZvcm1Db250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLnNlbGVjdGVkQ2FsY3VsYXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXRhaWxGb3JtLm1hcmtBc0RpcnR5KCk7XG4gICAgfVxuXG4gICAgY3JlYXRlKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZENoZWNrZXIgPSB0aGlzLnNlbGVjdGVkQ2hlY2tlcjtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDYWxjdWxhdG9yID0gdGhpcy5zZWxlY3RlZENhbGN1bGF0b3I7XG4gICAgICAgIGNvbnN0IHsgY2hlY2tlciwgY2FsY3VsYXRvciB9ID0gdGhpcy5kZXRhaWxGb3JtLnZhbHVlO1xuICAgICAgICBpZiAoIXNlbGVjdGVkQ2hlY2tlciB8fCAhc2VsZWN0ZWRDYWxjdWxhdG9yIHx8ICFjaGVja2VyIHx8ICFjYWxjdWxhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5kZXRhaWxGb3JtLnZhbHVlO1xuICAgICAgICBjb25zdCBpbnB1dCA9IHtcbiAgICAgICAgICAgIC4uLih0aGlzLmdldFVwZGF0ZWRTaGlwcGluZ01ldGhvZChcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogJycsXG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRBdDogJycsXG4gICAgICAgICAgICAgICAgICAgIGlkOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgY29kZTogJycsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgICAgICAgICAgICAgICAgIGZ1bGZpbGxtZW50SGFuZGxlckNvZGU6ICcnLFxuICAgICAgICAgICAgICAgICAgICBjaGVja2VyOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdG9yOiB1bmRlZmluZWQgYXMgYW55LFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnM6IFtdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxGb3JtLFxuICAgICAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlLFxuICAgICAgICAgICAgKSBhcyBDcmVhdGVTaGlwcGluZ01ldGhvZElucHV0KSxcbiAgICAgICAgICAgIGNoZWNrZXI6IHRvQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQoc2VsZWN0ZWRDaGVja2VyLCBjaGVja2VyKSxcbiAgICAgICAgICAgIGNhbGN1bGF0b3I6IHRvQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQoc2VsZWN0ZWRDYWxjdWxhdG9yLCBjYWxjdWxhdG9yKSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5zaGlwcGluZ01ldGhvZC5jcmVhdGVTaGlwcGluZ01ldGhvZChpbnB1dCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgZGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3MoXygnY29tbW9uLm5vdGlmeS1jcmVhdGUtc3VjY2VzcycpLCB7XG4gICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ1NoaXBwaW5nTWV0aG9kJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRldGFpbEZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLi4vJywgZGF0YS5jcmVhdGVTaGlwcGluZ01ldGhvZC5pZF0sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5lcnJvcihfKCdjb21tb24ubm90aWZ5LWNyZWF0ZS1lcnJvcicpLCB7XG4gICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ1NoaXBwaW5nTWV0aG9kJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2F2ZSgpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDaGVja2VyID0gdGhpcy5zZWxlY3RlZENoZWNrZXI7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ2FsY3VsYXRvciA9IHRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yO1xuICAgICAgICBjb25zdCB7IGNoZWNrZXIsIGNhbGN1bGF0b3IgfSA9IHRoaXMuZGV0YWlsRm9ybS52YWx1ZTtcbiAgICAgICAgaWYgKCFzZWxlY3RlZENoZWNrZXIgfHwgIXNlbGVjdGVkQ2FsY3VsYXRvciB8fCAhY2hlY2tlciB8fCAhY2FsY3VsYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuZW50aXR5JCwgdGhpcy5sYW5ndWFnZUNvZGUkXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgbWVyZ2VNYXAoKFtzaGlwcGluZ01ldGhvZCwgbGFuZ3VhZ2VDb2RlXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmRldGFpbEZvcm0udmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uKHRoaXMuZ2V0VXBkYXRlZFNoaXBwaW5nTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaXBwaW5nTWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGV0YWlsRm9ybSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZUNvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICApIGFzIFVwZGF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tlcjogdG9Db25maWd1cmFibGVPcGVyYXRpb25JbnB1dChzZWxlY3RlZENoZWNrZXIsIGNoZWNrZXIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2FsY3VsYXRvcjogdG9Db25maWd1cmFibGVPcGVyYXRpb25JbnB1dChzZWxlY3RlZENhbGN1bGF0b3IsIGNhbGN1bGF0b3IpLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5zaGlwcGluZ01ldGhvZC51cGRhdGVTaGlwcGluZ01ldGhvZChpbnB1dCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc3VjY2VzcyhfKCdjb21tb24ubm90aWZ5LXVwZGF0ZS1zdWNjZXNzJyksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eTogJ1NoaXBwaW5nTWV0aG9kJyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGV0YWlsRm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoXygnY29tbW9uLm5vdGlmeS11cGRhdGUtZXJyb3InKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5OiAnU2hpcHBpbmdNZXRob2QnLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZXRUZXN0T3JkZXJMaW5lcyhldmVudDogVGVzdE9yZGVyTGluZVtdKSB7XG4gICAgICAgIHRoaXMudGVzdE9yZGVyTGluZXMgPSBldmVudDtcbiAgICAgICAgdGhpcy50ZXN0RGF0YVVwZGF0ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHNldFRlc3RBZGRyZXNzKGV2ZW50OiBUZXN0QWRkcmVzcykge1xuICAgICAgICB0aGlzLnRlc3RBZGRyZXNzID0gZXZlbnQ7XG4gICAgICAgIHRoaXMudGVzdERhdGFVcGRhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBhbGxUZXN0RGF0YVByZXNlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIShcbiAgICAgICAgICAgIHRoaXMudGVzdEFkZHJlc3MgJiZcbiAgICAgICAgICAgIHRoaXMudGVzdE9yZGVyTGluZXMgJiZcbiAgICAgICAgICAgIHRoaXMudGVzdE9yZGVyTGluZXMubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hlY2tlciAmJlxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhbGN1bGF0b3JcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBydW5UZXN0KCkge1xuICAgICAgICB0aGlzLmZldGNoVGVzdFJlc3VsdCQubmV4dChbdGhpcy50ZXN0QWRkcmVzcywgdGhpcy50ZXN0T3JkZXJMaW5lc10pO1xuICAgICAgICB0aGlzLnRlc3REYXRhVXBkYXRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpdmVuIGEgU2hpcHBpbmdNZXRob2QgYW5kIHRoZSB2YWx1ZSBvZiB0aGUgZGV0YWlsRm9ybSwgdGhpcyBtZXRob2QgY3JlYXRlcyBhbiB1cGRhdGVkIGNvcHkgd2hpY2hcbiAgICAgKiBjYW4gdGhlbiBiZSBwZXJzaXN0ZWQgdG8gdGhlIEFQSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldFVwZGF0ZWRTaGlwcGluZ01ldGhvZChcbiAgICAgICAgc2hpcHBpbmdNZXRob2Q6IE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kRGV0YWlsUXVlcnlbJ3NoaXBwaW5nTWV0aG9kJ10+LFxuICAgICAgICBmb3JtR3JvdXA6IHR5cGVvZiB0aGlzLmRldGFpbEZvcm0sXG4gICAgICAgIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlLFxuICAgICk6IE9taXQ8Q3JlYXRlU2hpcHBpbmdNZXRob2RJbnB1dCB8IFVwZGF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQsICdjaGVja2VyJyB8ICdjYWxjdWxhdG9yJz4ge1xuICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSBmb3JtR3JvdXAudmFsdWU7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gY3JlYXRlVXBkYXRlZFRyYW5zbGF0YWJsZSh7XG4gICAgICAgICAgICB0cmFuc2xhdGFibGU6IHNoaXBwaW5nTWV0aG9kLFxuICAgICAgICAgICAgdXBkYXRlZEZpZWxkczogZm9ybVZhbHVlLFxuICAgICAgICAgICAgY3VzdG9tRmllbGRDb25maWc6IHRoaXMuY3VzdG9tRmllbGRzLFxuICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlLFxuICAgICAgICAgICAgZGVmYXVsdFRyYW5zbGF0aW9uOiB7XG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2VDb2RlLFxuICAgICAgICAgICAgICAgIG5hbWU6IHNoaXBwaW5nTWV0aG9kLm5hbWUgfHwgJycsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHNoaXBwaW5nTWV0aG9kLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IC4uLmlucHV0LCBmdWxmaWxsbWVudEhhbmRsZXI6IGZvcm1WYWx1ZS5mdWxmaWxsbWVudEhhbmRsZXIgfTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0Rm9ybVZhbHVlcyhzaGlwcGluZ01ldGhvZDogU2hpcHBpbmdNZXRob2RGcmFnbWVudCwgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFRyYW5zbGF0aW9uID0gZmluZFRyYW5zbGF0aW9uKHNoaXBwaW5nTWV0aG9kLCBsYW5ndWFnZUNvZGUpO1xuICAgICAgICB0aGlzLmRldGFpbEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBuYW1lOiBjdXJyZW50VHJhbnNsYXRpb24/Lm5hbWUgPz8gJycsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogY3VycmVudFRyYW5zbGF0aW9uPy5kZXNjcmlwdGlvbiA/PyAnJyxcbiAgICAgICAgICAgIGNvZGU6IHNoaXBwaW5nTWV0aG9kLmNvZGUsXG4gICAgICAgICAgICBmdWxmaWxsbWVudEhhbmRsZXI6IHNoaXBwaW5nTWV0aG9kLmZ1bGZpbGxtZW50SGFuZGxlckNvZGUsXG4gICAgICAgICAgICBjaGVja2VyOiBzaGlwcGluZ01ldGhvZC5jaGVja2VyIHx8IHt9LFxuICAgICAgICAgICAgY2FsY3VsYXRvcjogc2hpcHBpbmdNZXRob2QuY2FsY3VsYXRvciB8fCB7fSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZENoZWNrZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDaGVja2VyID0gc2hpcHBpbmdNZXRob2QuY2hlY2tlciAmJiB7XG4gICAgICAgICAgICAgICAgY29kZTogc2hpcHBpbmdNZXRob2QuY2hlY2tlci5jb2RlLFxuICAgICAgICAgICAgICAgIGFyZ3M6IHNoaXBwaW5nTWV0aG9kLmNoZWNrZXIuYXJncy5tYXAoYSA9PiAoeyAuLi5hLCB2YWx1ZTogZ2V0Q29uZmlnQXJnVmFsdWUoYS52YWx1ZSkgfSkpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRDYWxjdWxhdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FsY3VsYXRvciA9IHNoaXBwaW5nTWV0aG9kLmNhbGN1bGF0b3IgJiYge1xuICAgICAgICAgICAgICAgIGNvZGU6IHNoaXBwaW5nTWV0aG9kLmNhbGN1bGF0b3I/LmNvZGUsXG4gICAgICAgICAgICAgICAgYXJnczogc2hpcHBpbmdNZXRob2QuY2FsY3VsYXRvcj8uYXJncy5tYXAoYSA9PiAoeyAuLi5hLCB2YWx1ZTogZ2V0Q29uZmlnQXJnVmFsdWUoYS52YWx1ZSkgfSkpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jdXN0b21GaWVsZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNldEN1c3RvbUZpZWxkRm9ybVZhbHVlcyhcbiAgICAgICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkcyxcbiAgICAgICAgICAgICAgICB0aGlzLmRldGFpbEZvcm0uZ2V0KFsnY3VzdG9tRmllbGRzJ10pLFxuICAgICAgICAgICAgICAgIHNoaXBwaW5nTWV0aG9kLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRUcmFuc2xhdGlvbixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dmRyLXBhZ2UtYmxvY2s+XG4gICAgPHZkci1hY3Rpb24tYmFyPlxuICAgICAgICA8dmRyLWFiLWxlZnQ+XG4gICAgICAgICAgICA8dmRyLWxhbmd1YWdlLXNlbGVjdG9yXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTmV3JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICBbYXZhaWxhYmxlTGFuZ3VhZ2VDb2Rlc109XCJhdmFpbGFibGVMYW5ndWFnZXMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFtjdXJyZW50TGFuZ3VhZ2VDb2RlXT1cImxhbmd1YWdlQ29kZSQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgKGxhbmd1YWdlQ29kZUNoYW5nZSk9XCJzZXRMYW5ndWFnZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvdmRyLWFiLWxlZnQ+XG5cbiAgICAgICAgPHZkci1hYi1yaWdodD5cbiAgICAgICAgICAgIDx2ZHItYWN0aW9uLWJhci1pdGVtcyBsb2NhdGlvbklkPVwic2hpcHBpbmctbWV0aG9kLWRldGFpbFwiIC8+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXNOZXckIHwgYXN5bmM7IGVsc2UgdXBkYXRlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlKClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcbiAgICAgICAgICAgICAgICAgICAgZGV0YWlsRm9ybS5wcmlzdGluZSB8fCBkZXRhaWxGb3JtLmludmFsaWQgfHwgIXNlbGVjdGVkQ2hlY2tlciB8fCAhc2VsZWN0ZWRDYWxjdWxhdG9yXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyAnY29tbW9uLmNyZWF0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN1cGRhdGVCdXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzYXZlKClcIlxuICAgICAgICAgICAgICAgICAgICAqdmRySWZQZXJtaXNzaW9ucz1cInVwZGF0ZVBlcm1pc3Npb25cIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxGb3JtLnByaXN0aW5lIHx8IGRldGFpbEZvcm0uaW52YWxpZCB8fCAhc2VsZWN0ZWRDaGVja2VyIHx8ICFzZWxlY3RlZENhbGN1bGF0b3JcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdjb21tb24udXBkYXRlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDx2ZHItYWN0aW9uLWJhci1kcm9wZG93bi1tZW51IGxvY2F0aW9uSWQ9XCJzaGlwcGluZy1tZXRob2QtZGV0YWlsXCIgLz5cbiAgICAgICAgPC92ZHItYWItcmlnaHQ+XG4gICAgPC92ZHItYWN0aW9uLWJhcj5cbjwvdmRyLXBhZ2UtYmxvY2s+XG5cbjxmb3JtIGNsYXNzPVwiZm9ybVwiIFtmb3JtR3JvdXBdPVwiZGV0YWlsRm9ybVwiPlxuICAgIDx2ZHItcGFnZS1kZXRhaWwtbGF5b3V0PlxuICAgICAgICA8dmRyLXBhZ2UtZGV0YWlsLXNpZGViYXI+XG4gICAgICAgICAgICA8dmRyLWNhcmQgKm5nSWY9XCJlbnRpdHkkIHwgYXN5bmMgYXMgZW50aXR5XCI+XG4gICAgICAgICAgICAgICAgPHZkci1wYWdlLWVudGl0eS1pbmZvIFtlbnRpdHldPVwiZW50aXR5XCIgLz5cbiAgICAgICAgICAgIDwvdmRyLWNhcmQ+XG4gICAgICAgIDwvdmRyLXBhZ2UtZGV0YWlsLXNpZGViYXI+XG4gICAgICAgIDx2ZHItcGFnZS1ibG9jaz5cbiAgICAgICAgICAgIDx2ZHItY2FyZD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncmlkXCI+XG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZm9ybS1maWVsZCBbbGFiZWxdPVwiJ2NvbW1vbi5uYW1lJyB8IHRyYW5zbGF0ZVwiIGZvcj1cIm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIhKHVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cInVwZGF0ZUNvZGUoZW50aXR5Py5jb2RlLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L3Zkci1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICA8dmRyLWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInY29tbW9uLmNvZGUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5VG9nZ2xlXT1cInVwZGF0ZVBlcm1pc3Npb24gfCBoYXNQZXJtaXNzaW9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIiEodXBkYXRlUGVybWlzc2lvbiB8IGhhc1Blcm1pc3Npb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDx2ZHItcmljaC10ZXh0LWVkaXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWdyaWQtc3BhblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiISh1cGRhdGVQZXJtaXNzaW9uIHwgaGFzUGVybWlzc2lvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidjb21tb24uZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdmRyLXJpY2gtdGV4dC1lZGl0b3I+XG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZm9ybS1maWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidzZXR0aW5ncy5mdWxmaWxsbWVudC1oYW5kbGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJmdWxmaWxsbWVudEhhbmRsZXJcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImZ1bGZpbGxtZW50SGFuZGxlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZnVsZmlsbG1lbnRIYW5kbGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmRyRGlzYWJsZWRdPVwiISh1cGRhdGVQZXJtaXNzaW9uIHwgaGFzUGVybWlzc2lvbilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGhhbmRsZXIgb2YgZnVsZmlsbG1lbnRIYW5kbGVyc1wiIFt2YWx1ZV09XCJoYW5kbGVyLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaGFuZGxlci5jb2RlIH19OiB7eyBoYW5kbGVyLmRlc2NyaXB0aW9uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPC92ZHItZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvdmRyLWNhcmQ+XG5cbiAgICAgICAgICAgIDx2ZHItY2FyZFxuICAgICAgICAgICAgICAgIGZvcm1Hcm91cE5hbWU9XCJjdXN0b21GaWVsZHNcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tRmllbGRzLmxlbmd0aFwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidjb21tb24uY3VzdG9tLWZpZWxkcycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx2ZHItdGFiYmVkLWN1c3RvbS1maWVsZHNcbiAgICAgICAgICAgICAgICAgICAgZW50aXR5TmFtZT1cIlNoaXBwaW5nTWV0aG9kXCJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUZpZWxkc109XCJjdXN0b21GaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tRmllbGRzRm9ybUdyb3VwXT1cImRldGFpbEZvcm0uZ2V0KCdjdXN0b21GaWVsZHMnKVwiXG4gICAgICAgICAgICAgICAgPjwvdmRyLXRhYmJlZC1jdXN0b20tZmllbGRzPlxuICAgICAgICAgICAgPC92ZHItY2FyZD5cblxuICAgICAgICAgICAgPHZkci1jdXN0b20tZGV0YWlsLWNvbXBvbmVudC1ob3N0XG4gICAgICAgICAgICAgICAgbG9jYXRpb25JZD1cInNoaXBwaW5nLW1ldGhvZC1kZXRhaWxcIlxuICAgICAgICAgICAgICAgIFtlbnRpdHkkXT1cImVudGl0eSRcIlxuICAgICAgICAgICAgICAgIFtkZXRhaWxGb3JtXT1cImRldGFpbEZvcm1cIlxuICAgICAgICAgICAgPjwvdmRyLWN1c3RvbS1kZXRhaWwtY29tcG9uZW50LWhvc3Q+XG5cbiAgICAgICAgICAgIDx2ZHItY2FyZCBbdGl0bGVdPVwiJ3NldHRpbmdzLnNoaXBwaW5nLWVsaWdpYmlsaXR5LWNoZWNrZXInIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgPHZkci1jb25maWd1cmFibGUtaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLXNwYW5cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkQ2hlY2tlciAmJiBzZWxlY3RlZENoZWNrZXJEZWZpbml0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW29wZXJhdGlvbl09XCJzZWxlY3RlZENoZWNrZXJcIlxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uRGVmaW5pdGlvbl09XCJzZWxlY3RlZENoZWNrZXJEZWZpbml0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIiEodXBkYXRlUGVybWlzc2lvbiB8IGhhc1Blcm1pc3Npb24pXCJcbiAgICAgICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJzZWxlY3RlZENoZWNrZXIgPSBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2hlY2tlclwiXG4gICAgICAgICAgICAgICAgPjwvdmRyLWNvbmZpZ3VyYWJsZS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNlbGVjdGVkQ2hlY2tlciB8fCAhc2VsZWN0ZWRDaGVja2VyRGVmaW5pdGlvblwiIGNsYXNzPVwiY2FyZC1zcGFuXCI+XG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdjb21tb24uc2VsZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWRyb3Bkb3duLW1lbnUgdmRyUG9zaXRpb249XCJib3R0b20tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoZWNrZXIgb2YgY2hlY2tlcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmRyRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RDaGVja2VyKGNoZWNrZXIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNoZWNrZXIuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC92ZHItY2FyZD5cbiAgICAgICAgICAgIDx2ZHItY2FyZCBbdGl0bGVdPVwiJ3NldHRpbmdzLnNoaXBwaW5nLWNhbGN1bGF0b3InIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgPHZkci1jb25maWd1cmFibGUtaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkLXNwYW5cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkQ2FsY3VsYXRvciAmJiBzZWxlY3RlZENhbGN1bGF0b3JEZWZpbml0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW29wZXJhdGlvbl09XCJzZWxlY3RlZENhbGN1bGF0b3JcIlxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uRGVmaW5pdGlvbl09XCJzZWxlY3RlZENhbGN1bGF0b3JEZWZpbml0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIiEodXBkYXRlUGVybWlzc2lvbiB8IGhhc1Blcm1pc3Npb24pXCJcbiAgICAgICAgICAgICAgICAgICAgKHJlbW92ZSk9XCJzZWxlY3RlZENhbGN1bGF0b3IgPSBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2FsY3VsYXRvclwiXG4gICAgICAgICAgICAgICAgPjwvdmRyLWNvbmZpZ3VyYWJsZS1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNlbGVjdGVkQ2FsY3VsYXRvciB8fCAhc2VsZWN0ZWRDYWxjdWxhdG9yRGVmaW5pdGlvblwiIGNsYXNzPVwiY2FyZC1zcGFuXCI+XG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInBsdXNcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdjb21tb24uc2VsZWN0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWRyb3Bkb3duLW1lbnUgdmRyUG9zaXRpb249XCJib3R0b20tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNhbGN1bGF0b3Igb2YgY2FsY3VsYXRvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmRyRHJvcGRvd25JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RDYWxjdWxhdG9yKGNhbGN1bGF0b3IpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGNhbGN1bGF0b3IuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC92ZHItY2FyZD5cbiAgICAgICAgICAgIDx2ZHItY2FyZCBbdGl0bGVdPVwiJ3NldHRpbmdzLnRlc3Qtc2hpcHBpbmctbWV0aG9kJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDx2ZHItdGVzdC1vcmRlci1idWlsZGVyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2FyZC1zcGFuXCJcbiAgICAgICAgICAgICAgICAgICAgKG9yZGVyTGluZXNDaGFuZ2UpPVwic2V0VGVzdE9yZGVyTGluZXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvdmRyLXRlc3Qtb3JkZXItYnVpbGRlcj5cbiAgICAgICAgICAgICAgICA8dmRyLXRlc3QtYWRkcmVzcy1mb3JtXG4gICAgICAgICAgICAgICAgICAgIChhZGRyZXNzQ2hhbmdlKT1cInNldFRlc3RBZGRyZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTJcIlxuICAgICAgICAgICAgICAgID48L3Zkci10ZXN0LWFkZHJlc3MtZm9ybT5cbiAgICAgICAgICAgICAgICA8dmRyLXNoaXBwaW5nLW1ldGhvZC10ZXN0LXJlc3VsdFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTJcIlxuICAgICAgICAgICAgICAgICAgICBbY3VycmVuY3lDb2RlXT1cIihhY3RpdmVDaGFubmVsJCB8IGFzeW5jKT8uY3VycmVuY3lDb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgW29rVG9SdW5dPVwiYWxsVGVzdERhdGFQcmVzZW50KCkgJiYgdGVzdERhdGFVcGRhdGVkICYmIGRldGFpbEZvcm0udmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICBbdGVzdERhdGFVcGRhdGVkXT1cInRlc3REYXRhVXBkYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgIFt0ZXN0UmVzdWx0XT1cInRlc3RSZXN1bHQkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgICAgICAocnVuVGVzdCk9XCJydW5UZXN0KClcIlxuICAgICAgICAgICAgICAgID48L3Zkci1zaGlwcGluZy1tZXRob2QtdGVzdC1yZXN1bHQ+XG4gICAgICAgICAgICA8L3Zkci1jYXJkPlxuICAgICAgICA8L3Zkci1wYWdlLWJsb2NrPlxuICAgIDwvdmRyLXBhZ2UtZGV0YWlsLWxheW91dD5cbjwvZm9ybT5cbiJdfQ==
|
package/esm2022/settings/components/shipping-method-list/shipping-method-list-bulk-actions.mjs
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createBulkAssignToChannelAction, createBulkDeleteAction, createBulkRemoveFromChannelAction, Permission, AssignShippingMethodsToChannelDocument, RemoveShippingMethodsFromChannelDocument, } from '@deenruv/admin-ui/core';
|
|
2
|
+
import { gql } from 'apollo-angular';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
export const deleteShippingMethodsBulkAction = createBulkDeleteAction({
|
|
5
|
+
location: 'shipping-method-list',
|
|
6
|
+
requiresPermission: userPermissions => userPermissions.includes(Permission.DeleteShippingMethod),
|
|
7
|
+
getItemName: item => item.name,
|
|
8
|
+
bulkDelete: (dataService, ids) => dataService.shippingMethod.deleteShippingMethods(ids).pipe(map(res => res.deleteShippingMethods)),
|
|
9
|
+
});
|
|
10
|
+
const ASSIGN_SHIPPING_METHODS_TO_CHANNEL = gql `
|
|
11
|
+
mutation AssignShippingMethodsToChannel($input: AssignShippingMethodsToChannelInput!) {
|
|
12
|
+
assignShippingMethodsToChannel(input: $input) {
|
|
13
|
+
id
|
|
14
|
+
name
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
`;
|
|
18
|
+
const REMOVE_SHIPPING_METHODS_FROM_CHANNEL = gql `
|
|
19
|
+
mutation RemoveShippingMethodsFromChannel($input: RemoveShippingMethodsFromChannelInput!) {
|
|
20
|
+
removeShippingMethodsFromChannel(input: $input) {
|
|
21
|
+
id
|
|
22
|
+
name
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
`;
|
|
26
|
+
export const assignShippingMethodsToChannelBulkAction = createBulkAssignToChannelAction({
|
|
27
|
+
location: 'shipping-method-list',
|
|
28
|
+
requiresPermission: userPermissions => userPermissions.includes(Permission.UpdateShippingMethod) ||
|
|
29
|
+
userPermissions.includes(Permission.UpdateSettings),
|
|
30
|
+
getItemName: item => item.name,
|
|
31
|
+
bulkAssignToChannel: (dataService, shippingMethodIds, channelIds) => channelIds.map(channelId => dataService
|
|
32
|
+
.mutate(AssignShippingMethodsToChannelDocument, {
|
|
33
|
+
input: {
|
|
34
|
+
channelId,
|
|
35
|
+
shippingMethodIds,
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
.pipe(map(res => res.assignShippingMethodsToChannel))),
|
|
39
|
+
});
|
|
40
|
+
export const removeShippingMethodsFromChannelBulkAction = createBulkRemoveFromChannelAction({
|
|
41
|
+
location: 'shipping-method-list',
|
|
42
|
+
requiresPermission: userPermissions => userPermissions.includes(Permission.DeleteShippingMethod) ||
|
|
43
|
+
userPermissions.includes(Permission.DeleteSettings),
|
|
44
|
+
getItemName: item => item.name,
|
|
45
|
+
bulkRemoveFromChannel: (dataService, shippingMethodIds, channelId) => dataService
|
|
46
|
+
.mutate(RemoveShippingMethodsFromChannelDocument, {
|
|
47
|
+
input: {
|
|
48
|
+
channelId,
|
|
49
|
+
shippingMethodIds,
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
.pipe(map(res => res.removeShippingMethodsFromChannel)),
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpcHBpbmctbWV0aG9kLWxpc3QtYnVsay1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvY29tcG9uZW50cy9zaGlwcGluZy1tZXRob2QtbGlzdC9zaGlwcGluZy1tZXRob2QtbGlzdC1idWxrLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILCtCQUErQixFQUMvQixzQkFBc0IsRUFDdEIsaUNBQWlDLEVBSWpDLFVBQVUsRUFDVixzQ0FBc0MsRUFDdEMsd0NBQXdDLEdBQzNDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxzQkFBc0IsQ0FFbkU7SUFDRSxRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7SUFDaEcsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDOUIsVUFBVSxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQzdCLFdBQVcsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0NBQ3hHLENBQUMsQ0FBQztBQUVILE1BQU0sa0NBQWtDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O0NBTzdDLENBQUM7QUFFRixNQUFNLG9DQUFvQyxHQUFHLEdBQUcsQ0FBQTs7Ozs7OztDQU8vQyxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsK0JBQStCLENBRXJGO0lBQ0UsUUFBUSxFQUFFLHNCQUFzQjtJQUNoQyxrQkFBa0IsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUNsQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RCxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7SUFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDOUIsbUJBQW1CLEVBQUUsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FDaEUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUN2QixXQUFXO1NBQ04sTUFBTSxDQUFDLHNDQUFzQyxFQUFFO1FBQzVDLEtBQUssRUFBRTtZQUNILFNBQVM7WUFDVCxpQkFBaUI7U0FDcEI7S0FDSixDQUFDO1NBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQzVEO0NBQ1IsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsaUNBQWlDLENBRXpGO0lBQ0UsUUFBUSxFQUFFLHNCQUFzQjtJQUNoQyxrQkFBa0IsRUFBRSxlQUFlLENBQUMsRUFBRSxDQUNsQyxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RCxlQUFlLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7SUFDdkQsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUk7SUFDOUIscUJBQXFCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDakUsV0FBVztTQUNOLE1BQU0sQ0FBQyx3Q0FBd0MsRUFBRTtRQUM5QyxLQUFLLEVBQUU7WUFDSCxTQUFTO1lBQ1QsaUJBQWlCO1NBQ3BCO0tBQ0osQ0FBQztTQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztDQUNsRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGNyZWF0ZUJ1bGtBc3NpZ25Ub0NoYW5uZWxBY3Rpb24sXG4gICAgY3JlYXRlQnVsa0RlbGV0ZUFjdGlvbixcbiAgICBjcmVhdGVCdWxrUmVtb3ZlRnJvbUNoYW5uZWxBY3Rpb24sXG4gICAgR2V0U2hpcHBpbmdNZXRob2RMaXN0UXVlcnksXG4gICAgR2V0Um9sZXNRdWVyeSxcbiAgICBJdGVtT2YsXG4gICAgUGVybWlzc2lvbixcbiAgICBBc3NpZ25TaGlwcGluZ01ldGhvZHNUb0NoYW5uZWxEb2N1bWVudCxcbiAgICBSZW1vdmVTaGlwcGluZ01ldGhvZHNGcm9tQ2hhbm5lbERvY3VtZW50LFxufSBmcm9tICdAZGVlbnJ1di9hZG1pbi11aS9jb3JlJztcbmltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVNoaXBwaW5nTWV0aG9kc0J1bGtBY3Rpb24gPSBjcmVhdGVCdWxrRGVsZXRlQWN0aW9uPFxuICAgIEl0ZW1PZjxHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeSwgJ3NoaXBwaW5nTWV0aG9kcyc+XG4+KHtcbiAgICBsb2NhdGlvbjogJ3NoaXBwaW5nLW1ldGhvZC1saXN0JyxcbiAgICByZXF1aXJlc1Blcm1pc3Npb246IHVzZXJQZXJtaXNzaW9ucyA9PiB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5EZWxldGVTaGlwcGluZ01ldGhvZCksXG4gICAgZ2V0SXRlbU5hbWU6IGl0ZW0gPT4gaXRlbS5uYW1lLFxuICAgIGJ1bGtEZWxldGU6IChkYXRhU2VydmljZSwgaWRzKSA9PlxuICAgICAgICBkYXRhU2VydmljZS5zaGlwcGluZ01ldGhvZC5kZWxldGVTaGlwcGluZ01ldGhvZHMoaWRzKS5waXBlKG1hcChyZXMgPT4gcmVzLmRlbGV0ZVNoaXBwaW5nTWV0aG9kcykpLFxufSk7XG5cbmNvbnN0IEFTU0lHTl9TSElQUElOR19NRVRIT0RTX1RPX0NIQU5ORUwgPSBncWxgXG4gICAgbXV0YXRpb24gQXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsKCRpbnB1dDogQXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsSW5wdXQhKSB7XG4gICAgICAgIGFzc2lnblNoaXBwaW5nTWV0aG9kc1RvQ2hhbm5lbChpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgUkVNT1ZFX1NISVBQSU5HX01FVEhPRFNfRlJPTV9DSEFOTkVMID0gZ3FsYFxuICAgIG11dGF0aW9uIFJlbW92ZVNoaXBwaW5nTWV0aG9kc0Zyb21DaGFubmVsKCRpbnB1dDogUmVtb3ZlU2hpcHBpbmdNZXRob2RzRnJvbUNoYW5uZWxJbnB1dCEpIHtcbiAgICAgICAgcmVtb3ZlU2hpcHBpbmdNZXRob2RzRnJvbUNoYW5uZWwoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgfVxuICAgIH1cbmA7XG5leHBvcnQgY29uc3QgYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbiA9IGNyZWF0ZUJ1bGtBc3NpZ25Ub0NoYW5uZWxBY3Rpb248XG4gICAgSXRlbU9mPEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5LCAnc2hpcHBpbmdNZXRob2RzJz5cbj4oe1xuICAgIGxvY2F0aW9uOiAnc2hpcHBpbmctbWV0aG9kLWxpc3QnLFxuICAgIHJlcXVpcmVzUGVybWlzc2lvbjogdXNlclBlcm1pc3Npb25zID0+XG4gICAgICAgIHVzZXJQZXJtaXNzaW9ucy5pbmNsdWRlcyhQZXJtaXNzaW9uLlVwZGF0ZVNoaXBwaW5nTWV0aG9kKSB8fFxuICAgICAgICB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5VcGRhdGVTZXR0aW5ncyksXG4gICAgZ2V0SXRlbU5hbWU6IGl0ZW0gPT4gaXRlbS5uYW1lLFxuICAgIGJ1bGtBc3NpZ25Ub0NoYW5uZWw6IChkYXRhU2VydmljZSwgc2hpcHBpbmdNZXRob2RJZHMsIGNoYW5uZWxJZHMpID0+XG4gICAgICAgIGNoYW5uZWxJZHMubWFwKGNoYW5uZWxJZCA9PlxuICAgICAgICAgICAgZGF0YVNlcnZpY2VcbiAgICAgICAgICAgICAgICAubXV0YXRlKEFzc2lnblNoaXBwaW5nTWV0aG9kc1RvQ2hhbm5lbERvY3VtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ01ldGhvZElkcyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLmFzc2lnblNoaXBwaW5nTWV0aG9kc1RvQ2hhbm5lbCkpLFxuICAgICAgICApLFxufSk7XG5cbmV4cG9ydCBjb25zdCByZW1vdmVTaGlwcGluZ01ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24gPSBjcmVhdGVCdWxrUmVtb3ZlRnJvbUNoYW5uZWxBY3Rpb248XG4gICAgSXRlbU9mPEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5LCAnc2hpcHBpbmdNZXRob2RzJz5cbj4oe1xuICAgIGxvY2F0aW9uOiAnc2hpcHBpbmctbWV0aG9kLWxpc3QnLFxuICAgIHJlcXVpcmVzUGVybWlzc2lvbjogdXNlclBlcm1pc3Npb25zID0+XG4gICAgICAgIHVzZXJQZXJtaXNzaW9ucy5pbmNsdWRlcyhQZXJtaXNzaW9uLkRlbGV0ZVNoaXBwaW5nTWV0aG9kKSB8fFxuICAgICAgICB1c2VyUGVybWlzc2lvbnMuaW5jbHVkZXMoUGVybWlzc2lvbi5EZWxldGVTZXR0aW5ncyksXG4gICAgZ2V0SXRlbU5hbWU6IGl0ZW0gPT4gaXRlbS5uYW1lLFxuICAgIGJ1bGtSZW1vdmVGcm9tQ2hhbm5lbDogKGRhdGFTZXJ2aWNlLCBzaGlwcGluZ01ldGhvZElkcywgY2hhbm5lbElkKSA9PlxuICAgICAgICBkYXRhU2VydmljZVxuICAgICAgICAgICAgLm11dGF0ZShSZW1vdmVTaGlwcGluZ01ldGhvZHNGcm9tQ2hhbm5lbERvY3VtZW50LCB7XG4gICAgICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgY2hhbm5lbElkLFxuICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ01ldGhvZElkcyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyZXMgPT4gcmVzLnJlbW92ZVNoaXBwaW5nTWV0aG9kc0Zyb21DaGFubmVsKSksXG59KTtcbiJdfQ==
|