@vendure/admin-ui 2.1.0-next.1 → 2.1.0-next.3
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/catalog/components/collection-detail/collection-detail.component.d.ts +3 -1
- package/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.d.ts +6 -4
- package/catalog/components/facet-detail/facet-detail.component.d.ts +3 -1
- package/catalog/components/product-detail/product-detail.component.d.ts +3 -1
- package/catalog/components/stock-location-detail/stock-location-detail.component.d.ts +3 -1
- package/core/common/base-detail.component.d.ts +11 -1
- package/core/common/component-registry-types.d.ts +2 -1
- package/core/common/utilities/custom-field-default-value.d.ts +6 -0
- package/core/common/version.d.ts +1 -1
- package/core/components/app-shell/app-shell.component.d.ts +2 -0
- package/core/extension/add-action-bar-item.d.ts +28 -0
- package/core/extension/add-nav-menu-item.d.ts +60 -0
- package/core/extension/components/angular-route.component.d.ts +6 -0
- package/core/extension/components/route.component.d.ts +13 -0
- package/core/extension/providers/page-metadata.service.d.ts +9 -0
- package/core/{providers/bulk-action-registry → extension}/register-bulk-action.d.ts +1 -1
- package/core/extension/register-custom-detail-component.d.ts +10 -0
- package/core/{providers/dashboard-widget → extension}/register-dashboard-widget.d.ts +5 -1
- package/core/extension/register-data-table-component.d.ts +44 -0
- package/core/extension/register-form-input-component.d.ts +50 -0
- package/core/extension/register-history-entry-component.d.ts +11 -0
- package/core/extension/register-route-component.d.ts +59 -0
- package/core/extension/types.d.ts +11 -0
- package/core/providers/component-registry/component-registry.service.d.ts +6 -3
- package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +2 -1
- package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +0 -9
- package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +1 -10
- package/core/providers/dashboard-widget/dashboard-widget-types.d.ts +17 -1
- package/core/providers/modal/modal.service.d.ts +1 -3
- package/core/providers/nav-builder/nav-builder.service.d.ts +0 -85
- package/core/public_api.d.ts +16 -3
- package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +3 -3
- package/core/shared/components/data-table-2/data-table-column.component.d.ts +2 -2
- 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 +0 -1
- package/core/shared/components/data-table-2/data-table2.component.d.ts +9 -2
- package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +2 -3
- package/core/shared/components/order-state-label/order-state-label.component.d.ts +1 -1
- package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +13 -4
- package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +15 -0
- package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +3 -3
- package/core/shared/shared.module.d.ts +25 -25
- package/customer/components/customer-detail/customer-detail.component.d.ts +3 -1
- package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +3 -1
- package/customer/components/customer-history/customer-history-entry-host.component.d.ts +2 -3
- package/customer/components/customer-list/customer-list.component.d.ts +1 -0
- package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +1 -3
- package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +3 -3
- package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +3 -3
- package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +3 -3
- package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +3 -3
- package/esm2022/catalog/components/collection-list/collection-list.component.mjs +3 -3
- package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +8 -5
- package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +3 -3
- package/esm2022/catalog/components/facet-list/facet-list.component.mjs +3 -3
- package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +3 -3
- package/esm2022/catalog/components/product-detail/product-detail.component.mjs +3 -3
- package/esm2022/catalog/components/product-list/product-list.component.mjs +3 -3
- package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +3 -3
- package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +3 -3
- package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +3 -3
- package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +3 -3
- package/esm2022/catalog/components/stock-location-detail/stock-location-detail.component.mjs +3 -3
- package/esm2022/catalog/components/stock-location-list/stock-location-list.component.mjs +3 -3
- package/esm2022/core/common/base-detail.component.mjs +9 -7
- package/esm2022/core/common/component-registry-types.mjs +1 -1
- package/esm2022/core/common/utilities/create-updated-translatable.mjs +5 -23
- package/esm2022/core/common/utilities/custom-field-default-value.mjs +28 -0
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/core/components/app-shell/app-shell.component.mjs +16 -10
- package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +3 -3
- package/esm2022/core/components/main-nav/main-nav.component.mjs +3 -3
- package/esm2022/core/components/settings-nav/settings-nav.component.mjs +1 -1
- package/esm2022/core/core.module.mjs +2 -2
- package/esm2022/core/extension/add-action-bar-item.mjs +38 -0
- package/esm2022/core/extension/add-nav-menu-item.mjs +79 -0
- package/esm2022/core/extension/components/angular-route.component.mjs +22 -0
- package/esm2022/core/extension/components/route.component.mjs +59 -0
- package/esm2022/core/extension/providers/page-metadata.service.mjs +20 -0
- package/esm2022/core/extension/register-bulk-action.mjs +63 -0
- package/esm2022/core/extension/register-custom-detail-component.mjs +20 -0
- package/esm2022/core/extension/register-dashboard-widget.mjs +36 -0
- package/esm2022/core/extension/register-data-table-component.mjs +50 -0
- package/esm2022/core/extension/register-form-input-component.mjs +60 -0
- package/esm2022/core/extension/register-history-entry-component.mjs +21 -0
- package/esm2022/core/extension/register-route-component.mjs +44 -0
- package/esm2022/core/extension/types.mjs +2 -0
- package/esm2022/core/providers/component-registry/component-registry.service.mjs +3 -3
- package/esm2022/core/providers/custom-detail-component/custom-detail-component-types.mjs +1 -1
- package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +2 -19
- package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +2 -20
- package/esm2022/core/providers/dashboard-widget/dashboard-widget-types.mjs +1 -1
- package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +1 -8
- package/esm2022/core/providers/data-table/data-table-filter.mjs +1 -1
- package/esm2022/core/providers/modal/modal.service.mjs +5 -7
- package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +2 -113
- package/esm2022/core/public_api.mjs +17 -4
- package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +3 -3
- package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +3 -3
- package/esm2022/core/shared/components/card/card.component.mjs +3 -3
- package/esm2022/core/shared/components/chip/chip.component.mjs +2 -2
- package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +13 -9
- package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +5 -6
- 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 +2 -4
- package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +23 -10
- package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +3 -3
- package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +2 -2
- package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +3 -3
- package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +1 -1
- package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +3 -3
- package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +6 -4
- package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +2 -2
- package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +6 -8
- package/esm2022/core/shared/components/page-title/page-title.component.mjs +3 -3
- package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +2 -2
- package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +2 -2
- package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +97 -5
- 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 +20 -16
- package/esm2022/core/shared/shared.module.mjs +14 -13
- package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +5 -5
- package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +3 -3
- package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +3 -2
- package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +3 -3
- package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +3 -3
- package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +5 -7
- package/esm2022/customer/components/customer-list/customer-list.component.mjs +10 -7
- package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -7
- package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +3 -3
- package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
- package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +3 -3
- package/esm2022/order/components/order-data-table/order-data-table.component.mjs +2 -2
- package/esm2022/order/components/order-detail/order-detail.component.mjs +3 -3
- package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +7 -9
- package/esm2022/order/components/order-list/order-list.component.mjs +3 -3
- package/esm2022/order/components/order-table/order-table.component.mjs +3 -3
- 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/directives/react-component-host.directive.mjs +54 -0
- package/esm2022/react/public_api.mjs +19 -0
- package/esm2022/react/react-components/Card.mjs +28 -0
- package/esm2022/react/react-components/Link.mjs +30 -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 +124 -0
- package/esm2022/react/register-react-custom-detail-component.mjs +33 -0
- package/esm2022/react/register-react-data-table-component.mjs +62 -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/react/vendure-admin-ui-react.mjs +5 -0
- package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +3 -3
- package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +3 -3
- package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +10 -10
- package/esm2022/settings/components/channel-list/channel-list.component.mjs +3 -3
- package/esm2022/settings/components/country-detail/country-detail.component.mjs +3 -3
- package/esm2022/settings/components/country-list/country-list.component.mjs +3 -3
- package/esm2022/settings/components/global-settings/global-settings.component.mjs +3 -3
- package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +3 -3
- package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +3 -3
- package/esm2022/settings/components/profile/profile.component.mjs +3 -3
- package/esm2022/settings/components/role-list/role-list.component.mjs +3 -3
- package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +3 -3
- package/esm2022/settings/components/seller-list/seller-list.component.mjs +3 -3
- package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +3 -3
- package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +3 -3
- package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +3 -3
- package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +3 -3
- package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +3 -3
- package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +3 -3
- package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +3 -3
- package/esm2022/settings/components/zone-list/zone-list.component.mjs +3 -3
- package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +3 -3
- package/esm2022/settings/settings.routes.mjs +1 -1
- package/esm2022/system/components/job-list/job-list.component.mjs +3 -3
- package/fesm2022/vendure-admin-ui-catalog.mjs +34 -31
- package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-core.mjs +659 -346
- package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-customer.mjs +19 -18
- package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-dashboard.mjs +5 -8
- package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-marketing.mjs +4 -4
- package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-order.mjs +14 -16
- package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-react.mjs +641 -0
- package/fesm2022/vendure-admin-ui-react.mjs.map +1 -0
- package/fesm2022/vendure-admin-ui-settings.mjs +41 -41
- package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-system.mjs +2 -2
- package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
- package/marketing/components/promotion-detail/promotion-detail.component.d.ts +3 -1
- package/order/components/order-detail/order-detail.component.d.ts +3 -1
- package/order/components/order-history/order-history-entry-host.component.d.ts +2 -3
- package/package.json +22 -14
- 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 +17 -0
- package/react/react-components/Card.d.ts +24 -0
- package/react/react-components/Link.d.ts +22 -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 +92 -0
- package/react/register-react-custom-detail-component.d.ts +38 -0
- package/react/register-react-data-table-component.d.ts +81 -0
- package/react/register-react-form-input-component.d.ts +9 -0
- package/react/register-react-route-component.d.ts +26 -0
- package/react/types.d.ts +17 -0
- package/settings/components/admin-detail/admin-detail.component.d.ts +3 -1
- package/settings/components/channel-detail/channel-detail.component.d.ts +5 -3
- package/settings/components/country-detail/country-detail.component.d.ts +3 -1
- package/settings/components/global-settings/global-settings.component.d.ts +3 -1
- package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +3 -1
- package/settings/components/profile/profile.component.d.ts +3 -1
- package/settings/components/seller-detail/seller-detail.component.d.ts +3 -1
- package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +3 -1
- package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +3 -1
- package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +3 -1
- package/settings/components/zone-detail/zone-detail.component.d.ts +3 -1
- package/static/i18n-messages/cs.json +789 -789
- package/static/i18n-messages/de.json +789 -789
- package/static/i18n-messages/en.json +789 -789
- package/static/i18n-messages/es.json +789 -789
- package/static/i18n-messages/fr.json +789 -789
- package/static/i18n-messages/he.json +789 -789
- package/static/i18n-messages/it.json +789 -789
- package/static/i18n-messages/pl.json +789 -789
- package/static/i18n-messages/pt_BR.json +789 -789
- package/static/i18n-messages/pt_PT.json +789 -789
- package/static/i18n-messages/ru.json +789 -789
- package/static/i18n-messages/uk.json +789 -789
- package/static/i18n-messages/zh_Hans.json +789 -789
- package/static/i18n-messages/zh_Hant.json +789 -789
- package/static/styles/_mixins.scss +4 -4
- package/static/styles/global/_forms.scss +2 -2
- package/static/styles/rtl.scss +1 -1
- package/static/styles/theme/dark.scss +1 -16
- package/static/styles/theme/default.scss +1 -0
- package/static/theme.min.css +1 -1
- package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +0 -64
- package/esm2022/core/providers/bulk-action-registry/register-bulk-action.mjs +0 -63
- package/esm2022/core/providers/dashboard-widget/register-dashboard-widget.mjs +0 -32
- package/esm2022/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +0 -102
|
@@ -165,7 +165,14 @@ export class TypedBaseDetailComponent extends BaseDetailComponent {
|
|
|
165
165
|
* @docsCategory list-detail-views
|
|
166
166
|
*/
|
|
167
167
|
export function detailComponentWithResolver(config) {
|
|
168
|
-
|
|
168
|
+
return {
|
|
169
|
+
resolveFn: createBaseDetailResolveFn(config),
|
|
170
|
+
breadcrumbFn: (result) => config.getBreadcrumbs?.(result) ?? [],
|
|
171
|
+
component: config.component,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
export function createBaseDetailResolveFn(config) {
|
|
175
|
+
return route => {
|
|
169
176
|
const router = inject(Router);
|
|
170
177
|
const dataService = inject(DataService);
|
|
171
178
|
const id = route.paramMap.get('id');
|
|
@@ -190,10 +197,5 @@ export function detailComponentWithResolver(config) {
|
|
|
190
197
|
})));
|
|
191
198
|
}
|
|
192
199
|
};
|
|
193
|
-
return {
|
|
194
|
-
resolveFn,
|
|
195
|
-
breadcrumbFn: (result) => config.getBreadcrumbs?.(result) ?? [],
|
|
196
|
-
component: config.component,
|
|
197
|
-
};
|
|
198
200
|
}
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vYmFzZS1kZXRhaWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQWEsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU81RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ0c7QUFDSCxNQUFNLE9BQWdCLG1CQUFtQjtJQVlyQyxZQUNjLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxtQkFBd0MsRUFDeEMsV0FBd0I7UUFIeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFONUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFPdEMsQ0FBQztJQUVKLElBQUk7UUFDQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMs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Qy9ELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FDZixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNYLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNO2FBQ1QsQ0FBQyxDQUFDLENBQ04sQ0FBQztTQUNMO0lBQ0wsQ0FBQyxDQUFDO0lBQ0YsT0FBTztRQUNILFNBQVM7UUFDVCxZQUFZLEVBQUUsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSyxFQUF3QjtRQUMzRixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7S0FDOUIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGlvblN0YXJ0LCBSZXNvbHZlRm4sIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlc3VsdE9mLCBUeXBlZERvY3VtZW50Tm9kZSB9IGZyb20gJ0BncmFwaHFsLXR5cGVkLWRvY3VtZW50LW5vZGUvY29yZSc7XHJcbmltcG9ydCB7IG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VydmVyQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2RhdGEvc2VydmVyLWNvbmZpZyc7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWJWYWx1ZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9icmVhZGNydW1iL2JyZWFkY3J1bWIuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBEZWFjdGl2YXRlQXdhcmUgfSBmcm9tICcuL2RlYWN0aXZhdGUtYXdhcmUnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgQ3VzdG9tRmllbGRzLCBMYW5ndWFnZUNvZGUgfSBmcm9tICcuL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uT2YgfSBmcm9tICcuL3V0aWxpdGllcy9maW5kLXRyYW5zbGF0aW9uJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSBiYXNlIGNsYXNzIGZvciBlbnRpdHkgZGV0YWlsIHZpZXdzLiBJdCBzaG91bGQgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZVxyXG4gKiB7QGxpbmsgQmFzZUVudGl0eVJlc29sdmVyfS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgVHlwZVNjcmlwdFxyXG4gKiBcXEBDb21wb25lbnQoe1xyXG4gKiAgIHNlbGVjdG9yOiAnYXBwLW15LWVudGl0eScsXHJcbiAqICAgdGVtcGxhdGVVcmw6ICcuL215LWVudGl0eS5jb21wb25lbnQuaHRtbCcsXHJcbiAqICAgc3R5bGVVcmxzOiBbJy4vbXktZW50aXR5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAqICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBHbG9iYWxTZXR0aW5nc0NvbXBvbmVudCBleHRlbmRzIEJhc2VEZXRhaWxDb21wb25lbnQ8TXlFbnRpdHlGcmFnbWVudD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gKiAgIGRldGFpbEZvcm06IEZvcm1Hcm91cDtcclxuICpcclxuICogICBjb25zdHJ1Y3RvcihcclxuICogICAgIHJvdXRlcjogUm91dGVyLFxyXG4gKiAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gKiAgICAgc2VydmVyQ29uZmlnU2VydmljZTogU2VydmVyQ29uZmlnU2VydmljZSxcclxuICogICAgIHByb3RlY3RlZCBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAqICAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICogICApIHtcclxuICogICAgIHN1cGVyKHJvdXRlLCByb3V0ZXIsIHNlcnZlckNvbmZpZ1NlcnZpY2UsIGRhdGFTZXJ2aWNlKTtcclxuICogICAgIHRoaXMuZGV0YWlsRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gKiAgICAgICBuYW1lOiBbJyddLFxyXG4gKiAgICAgfSk7XHJcbiAqICAgfVxyXG4gKlxyXG4gKiAgIHByb3RlY3RlZCBzZXRGb3JtVmFsdWVzKGVudGl0eTogTXlFbnRpdHlGcmFnbWVudCwgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGUpOiB2b2lkIHtcclxuICogICAgIHRoaXMuZGV0YWlsRm9ybS5wYXRjaFZhbHVlKHtcclxuICogICAgICAgbmFtZTogZW50aXR5Lm5hbWUsXHJcbiAqICAgICB9KTtcclxuICogICB9XHJcbiAqIH1cclxuICogYGBgXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgbGlzdC1kZXRhaWwtdmlld3NcclxuICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRGV0YWlsQ29tcG9uZW50PEVudGl0eSBleHRlbmRzIHsgaWQ6IHN0cmluZzsgdXBkYXRlZEF0Pzogc3RyaW5nIH0+XHJcbiAgICBpbXBsZW1lbnRzIERlYWN0aXZhdGVBd2FyZVxyXG57XHJcbiAgICBlbnRpdHkkOiBPYnNlcnZhYmxlPEVudGl0eT47XHJcbiAgICBhdmFpbGFibGVMYW5ndWFnZXMkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZVtdPjtcclxuICAgIGxhbmd1YWdlQ29kZSQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VDb2RlPjtcclxuICAgIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gICAgaXNOZXckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIGFic3RyYWN0IGRldGFpbEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgICBwcm90ZWN0ZWQgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcm90ZWN0ZWQgc2VydmVyQ29uZmlnU2VydmljZTogU2VydmVyQ29uZmlnU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIGluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5lbnRpdHkkID0gdGhpcy5yb3V0ZS5kYXRhLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChkYXRhID0+IChkYXRhLmVudGl0eSBhcyBPYnNlcnZhYmxlPEVudGl0eT4pLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKSksXHJcbiAgICAgICAgICAgIGZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpLFxyXG4gICAgICAgICAgICB0YXAoZW50aXR5ID0+ICh0aGlzLmlkID0gZW50aXR5LmlkKSksXHJcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5pc05ldyQgPSB0aGlzLmVudGl0eSQucGlwZShcclxuICAgICAgICAgICAgbWFwKGVudGl0eSA9PiAhZW50aXR5Py5pZCksXHJcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zZXRVcFN0cmVhbXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0VXBTdHJlYW1zKCkge1xyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VDb2RlJCA9IHRoaXMucm91dGUucGFyYW1NYXAucGlwZShcclxuICAgICAgICAgICAgbWFwKHBhcmFtTWFwID0+IHBhcmFtTWFwLmdldCgnbGFuZycpKSxcclxuICAgICAgICAgICAgc3dpdGNoTWFwKGxhbmcgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGxhbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobGFuZyBhcyBMYW5ndWFnZUNvZGUpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5jbGllbnQudWlTdGF0ZSgpLm1hcFNpbmdsZShkYXRhID0+IGRhdGEudWlTdGF0ZS5jb250ZW50TGFuZ3VhZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgdGFwKHZhbCA9PiAodGhpcy5sYW5ndWFnZUNvZGUgPSB2YWwpKSxcclxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSksXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMkID0gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEF2YWlsYWJsZUxhbmd1YWdlcygpO1xyXG5cclxuICAgICAgICBjb21iaW5lTGF0ZXN0KHRoaXMuZW50aXR5JCwgdGhpcy5sYW5ndWFnZUNvZGUkKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtlbnRpdHksIGxhbmd1YWdlQ29kZV0pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChlbnRpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZvcm1WYWx1ZXMoZW50aXR5LCBsYW5ndWFnZUNvZGUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kZXRhaWxGb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldExhbmd1YWdlKGNvZGU6IExhbmd1YWdlQ29kZSkge1xyXG4gICAgICAgIHRoaXMuc2V0UXVlcnlQYXJhbSgnbGFuZycsIGNvZGUpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnNldENvbnRlbnRMYW5ndWFnZShjb2RlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5EZWFjdGl2YXRlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRldGFpbEZvcm0gJiYgdGhpcy5kZXRhaWxGb3JtLnByaXN0aW5lO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBzZXRGb3JtVmFsdWVzKGVudGl0eTogRW50aXR5LCBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZSk6IHZvaWQ7XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldEN1c3RvbUZpZWxkRm9ybVZhbHVlczxUID0gRW50aXR5PihcclxuICAgICAgICBjdXN0b21GaWVsZHM6IEN1c3RvbUZpZWxkQ29uZmlnW10sXHJcbiAgICAgICAgZm9ybUdyb3VwOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsLFxyXG4gICAgICAgIGVudGl0eTogVCxcclxuICAgICAgICBjdXJyZW50VHJhbnNsYXRpb24/OiBUcmFuc2xhdGlvbk9mPFQ+LFxyXG4gICAgKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZERlZiBvZiBjdXN0b21GaWVsZHMpIHtcclxuICAgICAgICAgICAgY29uc3Qga2V5ID0gZmllbGREZWYubmFtZTtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPVxyXG4gICAgICAgICAgICAgICAgZmllbGREZWYudHlwZSA9PT0gJ2xvY2FsZVN0cmluZycgfHwgZmllbGREZWYudHlwZSA9PT0gJ2xvY2FsZVRleHQnXHJcbiAgICAgICAgICAgICAgICAgICAgPyAoY3VycmVudFRyYW5zbGF0aW9uIGFzIGFueSk/LmN1c3RvbUZpZWxkcz8uW2tleV1cclxuICAgICAgICAgICAgICAgICAgICA6IChlbnRpdHkgYXMgYW55KS5jdXN0b21GaWVsZHM/LltrZXldO1xyXG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwPy5nZXQoa2V5KTtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEN1c3RvbUZpZWxkQ29uZmlnKGtleTogRXhjbHVkZTxrZXlvZiBDdXN0b21GaWVsZHMsICdfX3R5cGVuYW1lJz4pOiBDdXN0b21GaWVsZENvbmZpZ1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJDb25maWdTZXJ2aWNlLmdldEN1c3RvbUZpZWxkc0ZvcihrZXkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBzZXRRdWVyeVBhcmFtKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoXHJcbiAgICAgICAgICAgIFtcclxuICAgICAgICAgICAgICAgICcuLycsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMsXHJcbiAgICAgICAgICAgICAgICAgICAgW2tleV06IHZhbHVlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIHZlcnNpb24gb2YgdGhlIHtAbGluayBCYXNlRGV0YWlsQ29tcG9uZW50fSB3aGljaCBpcyBkZXNpZ25lZCB0byBiZSB1c2VkIHdpdGggYVxyXG4gKiBbVHlwZWREb2N1bWVudE5vZGVdKGh0dHBzOi8vdGhlLWd1aWxkLmRldi9ncmFwaHFsL2NvZGVnZW4vcGx1Z2lucy90eXBlc2NyaXB0L3R5cGVkLWRvY3VtZW50LW5vZGUpLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGxpc3QtZGV0YWlsLXZpZXdzXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHlwZWRCYXNlRGV0YWlsQ29tcG9uZW50PFxyXG4gICAgVCBleHRlbmRzIFR5cGVkRG9jdW1lbnROb2RlPGFueSwgYW55PixcclxuICAgIEZpZWxkIGV4dGVuZHMga2V5b2YgUmVzdWx0T2Y8VD4sXHJcbj4gZXh0ZW5kcyBCYXNlRGV0YWlsQ29tcG9uZW50PE5vbk51bGxhYmxlPFJlc3VsdE9mPFQ+W0ZpZWxkXT4+IHtcclxuICAgIHByb3RlY3RlZCByZXN1bHQkOiBPYnNlcnZhYmxlPFJlc3VsdE9mPFQ+PjtcclxuICAgIHByb3RlY3RlZCBlbnRpdHk6IFJlc3VsdE9mPFQ+W0ZpZWxkXTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0KEFjdGl2YXRlZFJvdXRlKSwgaW5qZWN0KFJvdXRlciksIGluamVjdChTZXJ2ZXJDb25maWdTZXJ2aWNlKSwgaW5qZWN0KERhdGFTZXJ2aWNlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgb3ZlcnJpZGUgaW5pdCgpIHtcclxuICAgICAgICB0aGlzLmVudGl0eSQgPSB0aGlzLnJvdXRlLmRhdGEucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKGRhdGEgPT5cclxuICAgICAgICAgICAgICAgIChkYXRhLmRldGFpbC5lbnRpdHkgYXMgT2JzZXJ2YWJsZTxSZXN1bHRPZjxUPltGaWVsZF0+KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIGZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpLFxyXG4gICAgICAgICAgICB0YXAoZW50aXR5ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaWQgPSBlbnRpdHkuaWQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVudGl0eSA9IGVudGl0eTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5yZXN1bHQkID0gdGhpcy5yb3V0ZS5kYXRhLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChkYXRhID0+IGRhdGEuZGV0YWlsLnJlc3VsdCksXHJcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5pc05ldyQgPSB0aGlzLnJvdXRlLmRhdGEucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKGRhdGEgPT4gZGF0YS5kZXRhaWwuZW50aXR5KSxcclxuICAgICAgICAgICAgbWFwKGVudGl0eSA9PiAhZW50aXR5KSxcclxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnNldFVwU3RyZWFtcygpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgaGVscGVyIGZ1bmN0aW9uIGZvciBjcmVhdGluZyB0YWJzIHRoYXQgcG9pbnQgdG8gYSB7QGxpbmsgVHlwZWRCYXNlRGV0YWlsQ29tcG9uZW50fS4gVGhpcyB0YWtlc1xyXG4gKiBjYXJlIG9mIHRoZSByb3V0ZSByZXNvbHZlciBwYXJ0cyBzbyB0aGF0IHRoZSBkZXRhaWwgY29tcG9uZW50IGF1dG9tYXRpY2FsbHkgaGFzIGFjY2VzcyB0byB0aGVcclxuICogY29ycmVjdCByZXNvbHZlZCBkZXRhaWwgZGF0YS5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgVHlwZVNjcmlwdFxyXG4gKiBcXEBOZ01vZHVsZSh7XHJcbiAqICAgaW1wb3J0czogW1Jldmlld3NTaGFyZWRNb2R1bGVdLFxyXG4gKiAgIGRlY2xhcmF0aW9uczogWy8qIC4uLiAqXFwvXSxcclxuICogICBwcm92aWRlcnM6IFtcclxuICogICAgIHJlZ2lzdGVyUGFnZVRhYih7XHJcbiAqICAgICAgIGxvY2F0aW9uOiAncHJvZHVjdC1kZXRhaWwnLFxyXG4gKiAgICAgICB0YWI6ICdTcGVjcycsXHJcbiAqICAgICAgIHJvdXRlOiAnc3BlY3MnLFxyXG4gKiAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAqICAgICAgICAgY29tcG9uZW50OiBQcm9kdWN0U3BlY0RldGFpbENvbXBvbmVudCxcclxuICogICAgICAgICBxdWVyeTogR2V0UHJvZHVjdFNwZWNzRG9jdW1lbnQsXHJcbiAqICAgICAgICAgZW50aXR5S2V5OiAnc3BlYycsXHJcbiAqICAgICAgIH0pLFxyXG4gKiAgICAgfSksXHJcbiAqICAgXSxcclxuICogfSlcclxuICogZXhwb3J0IGNsYXNzIFByb2R1Y3RTcGVjc1VpRXh0ZW5zaW9uTW9kdWxlIHt9XHJcbiAqIGBgYFxyXG4gKiBAZG9jc0NhdGVnb3J5IGxpc3QtZGV0YWlsLXZpZXdzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyPFxyXG4gICAgVCBleHRlbmRzIFR5cGVkRG9jdW1lbnROb2RlPGFueSwgeyBpZDogc3RyaW5nIH0+LFxyXG4gICAgRmllbGQgZXh0ZW5kcyBrZXlvZiBSZXN1bHRPZjxUPixcclxuICAgIFIgZXh0ZW5kcyBGaWVsZCxcclxuPihjb25maWc6IHtcclxuICAgIGNvbXBvbmVudDogVHlwZTxUeXBlZEJhc2VEZXRhaWxDb21wb25lbnQ8VCwgRmllbGQ+PjtcclxuICAgIHF1ZXJ5OiBUO1xyXG4gICAgZW50aXR5S2V5OiBSO1xyXG4gICAgZ2V0QnJlYWRjcnVtYnM/OiAoZW50aXR5OiBSZXN1bHRPZjxUPltSXSkgPT4gQnJlYWRjcnVtYlZhbHVlO1xyXG4gICAgdmFyaWFibGVzPzogVCBleHRlbmRzIFR5cGVkRG9jdW1lbnROb2RlPGFueSwgaW5mZXIgVj4gPyBPbWl0PFYsICdpZCc+IDogbmV2ZXI7XHJcbn0pIHtcclxuICAgIGNvbnN0IHJlc29sdmVGbjogUmVzb2x2ZUZuPHtcclxuICAgICAgICBlbnRpdHk6IE9ic2VydmFibGU8UmVzdWx0T2Y8VD5bRmllbGRdIHwgbnVsbD47XHJcbiAgICAgICAgcmVzdWx0PzogUmVzdWx0T2Y8VD47XHJcbiAgICB9PiA9IHJvdXRlID0+IHtcclxuICAgICAgICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICAgICAgICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdChEYXRhU2VydmljZSk7XHJcbiAgICAgICAgY29uc3QgaWQgPSByb3V0ZS5wYXJhbU1hcC5nZXQoJ2lkJyk7XHJcblxyXG4gICAgICAgIC8vIENvbXBsZXRlIHRoZSBlbnRpdHkgc3RyZWFtIHVwb24gbmF2aWdhdGluZyBhd2F5XHJcbiAgICAgICAgY29uc3QgbmF2aWdhdGVBd2F5JCA9IHJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBBY3RpdmF0aW9uU3RhcnQpKTtcclxuXHJcbiAgICAgICAgaWYgKGlkID09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpZCBmb3VuZCBpbiByb3V0ZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWQgPT09ICdjcmVhdGUnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih7IGVudGl0eTogb2YobnVsbCkgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0JCA9IGRhdGFTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAucXVlcnkoY29uZmlnLnF1ZXJ5LCB7IGlkLCAuLi4oY29uZmlnLnZhcmlhYmxlcyA/PyB7fSkgfSlcclxuICAgICAgICAgICAgICAgIC5yZWZldGNoT25DaGFubmVsQ2hhbmdlKClcclxuICAgICAgICAgICAgICAgIC5zdHJlYW0kLnBpcGUodGFrZVVudGlsKG5hdmlnYXRlQXdheSQpLCBzaGFyZVJlcGxheSgxKSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eSQgPSByZXN1bHQkLnBpcGUobWFwKHJlc3VsdCA9PiByZXN1bHRbY29uZmlnLmVudGl0eUtleV0pKTtcclxuICAgICAgICAgICAgY29uc3QgZW50aXR5U3RyZWFtJCA9IGVudGl0eSQucGlwZShmaWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKSk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQkLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHlTdHJlYW0kLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCxcclxuICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICByZXNvbHZlRm4sXHJcbiAgICAgICAgYnJlYWRjcnVtYkZuOiAocmVzdWx0OiBhbnkpID0+IGNvbmZpZy5nZXRCcmVhZGNydW1icz8uKHJlc3VsdCkgPz8gKFtdIGFzIEJyZWFkY3J1bWJWYWx1ZVtdKSxcclxuICAgICAgICBjb21wb25lbnQ6IGNvbmZpZy5jb21wb25lbnQsXHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kZXRhaWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vYmFzZS1kZXRhaWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQWEsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU81RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ0c7QUFDSCxNQUFNLE9BQWdCLG1CQUFtQjtJQVlyQyxZQUNjLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxtQkFBd0MsRUFDeEMsV0FBd0I7UUFIeEIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFONUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFPdEMsQ0FBQztJQUVKLElBQUk7UUFDQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMs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QUMsQ0FBQyxDQUFDLENBQUM7WUFDNUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7WUFDL0QsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUNmLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ1gsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU07YUFDVCxDQUFDLENBQUMsQ0FDTixDQUFDO1NBQ0w7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRpb25TdGFydCwgUmVzb2x2ZUZuLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSZXN1bHRPZiwgVHlwZWREb2N1bWVudE5vZGUgfSBmcm9tICdAZ3JhcGhxbC10eXBlZC1kb2N1bWVudC1ub2RlL2NvcmUnO1xyXG5pbXBvcnQgeyBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlcnZlckNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9kYXRhL3NlcnZlci1jb25maWcnO1xyXG5pbXBvcnQgeyBCcmVhZGNydW1iVmFsdWUgfSBmcm9tICcuLi9wcm92aWRlcnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgRGVhY3RpdmF0ZUF3YXJlIH0gZnJvbSAnLi9kZWFjdGl2YXRlLWF3YXJlJztcclxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcsIEN1c3RvbUZpZWxkcywgTGFuZ3VhZ2VDb2RlIH0gZnJvbSAnLi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbk9mIH0gZnJvbSAnLi91dGlsaXRpZXMvZmluZC10cmFuc2xhdGlvbic7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgYmFzZSBjbGFzcyBmb3IgZW50aXR5IGRldGFpbCB2aWV3cy4gSXQgc2hvdWxkIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGVcclxuICoge0BsaW5rIEJhc2VFbnRpdHlSZXNvbHZlcn0uXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogXFxAQ29tcG9uZW50KHtcclxuICogICBzZWxlY3RvcjogJ2FwcC1teS1lbnRpdHknLFxyXG4gKiAgIHRlbXBsYXRlVXJsOiAnLi9teS1lbnRpdHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gKiAgIHN0eWxlVXJsczogWycuL215LWVudGl0eS5jb21wb25lbnQuc2NzcyddLFxyXG4gKiAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gKiB9KVxyXG4gKiBleHBvcnQgY2xhc3MgR2xvYmFsU2V0dGluZ3NDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGV0YWlsQ29tcG9uZW50PE15RW50aXR5RnJhZ21lbnQ+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICogICBkZXRhaWxGb3JtOiBGb3JtR3JvdXA7XHJcbiAqXHJcbiAqICAgY29uc3RydWN0b3IoXHJcbiAqICAgICByb3V0ZXI6IFJvdXRlcixcclxuICogICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICogICAgIHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UsXHJcbiAqICAgICBwcm90ZWN0ZWQgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gKiAgICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAqICAgKSB7XHJcbiAqICAgICBzdXBlcihyb3V0ZSwgcm91dGVyLCBzZXJ2ZXJDb25maWdTZXJ2aWNlLCBkYXRhU2VydmljZSk7XHJcbiAqICAgICB0aGlzLmRldGFpbEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICogICAgICAgbmFtZTogWycnXSxcclxuICogICAgIH0pO1xyXG4gKiAgIH1cclxuICpcclxuICogICBwcm90ZWN0ZWQgc2V0Rm9ybVZhbHVlcyhlbnRpdHk6IE15RW50aXR5RnJhZ21lbnQsIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlKTogdm9pZCB7XHJcbiAqICAgICB0aGlzLmRldGFpbEZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAqICAgICAgIG5hbWU6IGVudGl0eS5uYW1lLFxyXG4gKiAgICAgfSk7XHJcbiAqICAgfVxyXG4gKiB9XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGxpc3QtZGV0YWlsLXZpZXdzXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZURldGFpbENvbXBvbmVudDxFbnRpdHkgZXh0ZW5kcyB7IGlkOiBzdHJpbmc7IHVwZGF0ZWRBdD86IHN0cmluZyB9PlxyXG4gICAgaW1wbGVtZW50cyBEZWFjdGl2YXRlQXdhcmVcclxue1xyXG4gICAgZW50aXR5JDogT2JzZXJ2YWJsZTxFbnRpdHk+O1xyXG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUNvZGVbXT47XHJcbiAgICBsYW5ndWFnZUNvZGUkOiBPYnNlcnZhYmxlPExhbmd1YWdlQ29kZT47XHJcbiAgICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICAgIGlzTmV3JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBhYnN0cmFjdCBkZXRhaWxGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gICAgcHJvdGVjdGVkIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJvdGVjdGVkIHNlcnZlckNvbmZpZ1NlcnZpY2U6IFNlcnZlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIHRoaXMuZW50aXR5JCA9IHRoaXMucm91dGUuZGF0YS5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoZGF0YSA9PiAoZGF0YS5lbnRpdHkgYXMgT2JzZXJ2YWJsZTxFbnRpdHk+KS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkpLFxyXG4gICAgICAgICAgICBmaWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKSxcclxuICAgICAgICAgICAgdGFwKGVudGl0eSA9PiAodGhpcy5pZCA9IGVudGl0eS5pZCkpLFxyXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaXNOZXckID0gdGhpcy5lbnRpdHkkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChlbnRpdHkgPT4gIWVudGl0eT8uaWQpLFxyXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuc2V0VXBTdHJlYW1zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHNldFVwU3RyZWFtcygpIHtcclxuICAgICAgICB0aGlzLmxhbmd1YWdlQ29kZSQgPSB0aGlzLnJvdXRlLnBhcmFtTWFwLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChwYXJhbU1hcCA9PiBwYXJhbU1hcC5nZXQoJ2xhbmcnKSksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChsYW5nID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChsYW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGxhbmcgYXMgTGFuZ3VhZ2VDb2RlKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVpU3RhdGUoKS5tYXBTaW5nbGUoZGF0YSA9PiBkYXRhLnVpU3RhdGUuY29udGVudExhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIHRhcCh2YWwgPT4gKHRoaXMubGFuZ3VhZ2VDb2RlID0gdmFsKSksXHJcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzJCA9IHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRBdmFpbGFibGVMYW5ndWFnZXMoKTtcclxuXHJcbiAgICAgICAgY29tYmluZUxhdGVzdCh0aGlzLmVudGl0eSQsIHRoaXMubGFuZ3VhZ2VDb2RlJClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbZW50aXR5LCBsYW5ndWFnZUNvZGVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZW50aXR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRGb3JtVmFsdWVzKGVudGl0eSwgbGFuZ3VhZ2VDb2RlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRoaXMuZGV0YWlsRm9ybS5tYXJrQXNQcmlzdGluZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBkZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRMYW5ndWFnZShjb2RlOiBMYW5ndWFnZUNvZGUpIHtcclxuICAgICAgICB0aGlzLnNldFF1ZXJ5UGFyYW0oJ2xhbmcnLCBjb2RlKTtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRDb250ZW50TGFuZ3VhZ2UoY29kZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuRGVhY3RpdmF0ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZXRhaWxGb3JtICYmIHRoaXMuZGV0YWlsRm9ybS5wcmlzdGluZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0Rm9ybVZhbHVlcyhlbnRpdHk6IEVudGl0eSwgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGUpOiB2b2lkO1xyXG5cclxuICAgIHByb3RlY3RlZCBzZXRDdXN0b21GaWVsZEZvcm1WYWx1ZXM8VCA9IEVudGl0eT4oXHJcbiAgICAgICAgY3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZENvbmZpZ1tdLFxyXG4gICAgICAgIGZvcm1Hcm91cDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCxcclxuICAgICAgICBlbnRpdHk6IFQsXHJcbiAgICAgICAgY3VycmVudFRyYW5zbGF0aW9uPzogVHJhbnNsYXRpb25PZjxUPixcclxuICAgICkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZmllbGREZWYgb2YgY3VzdG9tRmllbGRzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGZpZWxkRGVmLm5hbWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID1cclxuICAgICAgICAgICAgICAgIGZpZWxkRGVmLnR5cGUgPT09ICdsb2NhbGVTdHJpbmcnIHx8IGZpZWxkRGVmLnR5cGUgPT09ICdsb2NhbGVUZXh0J1xyXG4gICAgICAgICAgICAgICAgICAgID8gKGN1cnJlbnRUcmFuc2xhdGlvbiBhcyBhbnkpPy5jdXN0b21GaWVsZHM/LltrZXldXHJcbiAgICAgICAgICAgICAgICAgICAgOiAoZW50aXR5IGFzIGFueSkuY3VzdG9tRmllbGRzPy5ba2V5XTtcclxuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cD8uZ2V0KGtleSk7XHJcbiAgICAgICAgICAgIGlmIChjb250cm9sKSB7XHJcbiAgICAgICAgICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRDdXN0b21GaWVsZENvbmZpZyhrZXk6IEV4Y2x1ZGU8a2V5b2YgQ3VzdG9tRmllbGRzLCAnX190eXBlbmFtZSc+KTogQ3VzdG9tRmllbGRDb25maWdbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVyQ29uZmlnU2VydmljZS5nZXRDdXN0b21GaWVsZHNGb3Ioa2V5KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgc2V0UXVlcnlQYXJhbShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFxyXG4gICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAgICAnLi8nLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFtrZXldOiB2YWx1ZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQSB2ZXJzaW9uIG9mIHRoZSB7QGxpbmsgQmFzZURldGFpbENvbXBvbmVudH0gd2hpY2ggaXMgZGVzaWduZWQgdG8gYmUgdXNlZCB3aXRoIGFcclxuICogW1R5cGVkRG9jdW1lbnROb2RlXShodHRwczovL3RoZS1ndWlsZC5kZXYvZ3JhcGhxbC9jb2RlZ2VuL3BsdWdpbnMvdHlwZXNjcmlwdC90eXBlZC1kb2N1bWVudC1ub2RlKS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xyXG4gKi9cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR5cGVkQmFzZURldGFpbENvbXBvbmVudDxcclxuICAgIFQgZXh0ZW5kcyBUeXBlZERvY3VtZW50Tm9kZTxhbnksIGFueT4sXHJcbiAgICBGaWVsZCBleHRlbmRzIGtleW9mIFJlc3VsdE9mPFQ+LFxyXG4+IGV4dGVuZHMgQmFzZURldGFpbENvbXBvbmVudDxOb25OdWxsYWJsZTxSZXN1bHRPZjxUPltGaWVsZF0+PiB7XHJcbiAgICBwcm90ZWN0ZWQgcmVzdWx0JDogT2JzZXJ2YWJsZTxSZXN1bHRPZjxUPj47XHJcbiAgICBwcm90ZWN0ZWQgZW50aXR5OiBSZXN1bHRPZjxUPltGaWVsZF07XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKGluamVjdChBY3RpdmF0ZWRSb3V0ZSksIGluamVjdChSb3V0ZXIpLCBpbmplY3QoU2VydmVyQ29uZmlnU2VydmljZSksIGluamVjdChEYXRhU2VydmljZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIG92ZXJyaWRlIGluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5lbnRpdHkkID0gdGhpcy5yb3V0ZS5kYXRhLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChkYXRhID0+XHJcbiAgICAgICAgICAgICAgICAoZGF0YS5kZXRhaWwuZW50aXR5IGFzIE9ic2VydmFibGU8UmVzdWx0T2Y8VD5bRmllbGRdPikucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLFxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBmaWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKSxcclxuICAgICAgICAgICAgdGFwKGVudGl0eSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlkID0gZW50aXR5LmlkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbnRpdHkgPSBlbnRpdHk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMucmVzdWx0JCA9IHRoaXMucm91dGUuZGF0YS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiBkYXRhLmRldGFpbC5yZXN1bHQpLFxyXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaXNOZXckID0gdGhpcy5yb3V0ZS5kYXRhLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChkYXRhID0+IGRhdGEuZGV0YWlsLmVudGl0eSksXHJcbiAgICAgICAgICAgIG1hcChlbnRpdHkgPT4gIWVudGl0eSksXHJcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5zZXRVcFN0cmVhbXMoKTtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgdGFicyB0aGF0IHBvaW50IHRvIGEge0BsaW5rIFR5cGVkQmFzZURldGFpbENvbXBvbmVudH0uIFRoaXMgdGFrZXNcclxuICogY2FyZSBvZiB0aGUgcm91dGUgcmVzb2x2ZXIgcGFydHMgc28gdGhhdCB0aGUgZGV0YWlsIGNvbXBvbmVudCBhdXRvbWF0aWNhbGx5IGhhcyBhY2Nlc3MgdG8gdGhlXHJcbiAqIGNvcnJlY3QgcmVzb2x2ZWQgZGV0YWlsIGRhdGEuXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYFR5cGVTY3JpcHRcclxuICogXFxATmdNb2R1bGUoe1xyXG4gKiAgIGltcG9ydHM6IFtSZXZpZXdzU2hhcmVkTW9kdWxlXSxcclxuICogICBkZWNsYXJhdGlvbnM6IFsvKiAuLi4gKlxcL10sXHJcbiAqICAgcHJvdmlkZXJzOiBbXHJcbiAqICAgICByZWdpc3RlclBhZ2VUYWIoe1xyXG4gKiAgICAgICBsb2NhdGlvbjogJ3Byb2R1Y3QtZGV0YWlsJyxcclxuICogICAgICAgdGFiOiAnU3BlY3MnLFxyXG4gKiAgICAgICByb3V0ZTogJ3NwZWNzJyxcclxuICogICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gKiAgICAgICAgIGNvbXBvbmVudDogUHJvZHVjdFNwZWNEZXRhaWxDb21wb25lbnQsXHJcbiAqICAgICAgICAgcXVlcnk6IEdldFByb2R1Y3RTcGVjc0RvY3VtZW50LFxyXG4gKiAgICAgICAgIGVudGl0eUtleTogJ3NwZWMnLFxyXG4gKiAgICAgICB9KSxcclxuICogICAgIH0pLFxyXG4gKiAgIF0sXHJcbiAqIH0pXHJcbiAqIGV4cG9ydCBjbGFzcyBQcm9kdWN0U3BlY3NVaUV4dGVuc2lvbk1vZHVsZSB7fVxyXG4gKiBgYGBcclxuICogQGRvY3NDYXRlZ29yeSBsaXN0LWRldGFpbC12aWV3c1xyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcjxcclxuICAgIFQgZXh0ZW5kcyBUeXBlZERvY3VtZW50Tm9kZTxhbnksIHsgaWQ6IHN0cmluZyB9PixcclxuICAgIEZpZWxkIGV4dGVuZHMga2V5b2YgUmVzdWx0T2Y8VD4sXHJcbiAgICBSIGV4dGVuZHMgRmllbGQsXHJcbj4oY29uZmlnOiB7XHJcbiAgICBjb21wb25lbnQ6IFR5cGU8VHlwZWRCYXNlRGV0YWlsQ29tcG9uZW50PFQsIEZpZWxkPj47XHJcbiAgICBxdWVyeTogVDtcclxuICAgIGVudGl0eUtleTogUjtcclxuICAgIGdldEJyZWFkY3J1bWJzPzogKGVudGl0eTogUmVzdWx0T2Y8VD5bUl0pID0+IEJyZWFkY3J1bWJWYWx1ZTtcclxuICAgIHZhcmlhYmxlcz86IFQgZXh0ZW5kcyBUeXBlZERvY3VtZW50Tm9kZTxhbnksIGluZmVyIFY+ID8gT21pdDxWLCAnaWQnPiA6IG5ldmVyO1xyXG59KSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIHJlc29sdmVGbjogY3JlYXRlQmFzZURldGFpbFJlc29sdmVGbihjb25maWcpLFxyXG4gICAgICAgIGJyZWFkY3J1bWJGbjogKHJlc3VsdDogYW55KSA9PiBjb25maWcuZ2V0QnJlYWRjcnVtYnM/LihyZXN1bHQpID8/IChbXSBhcyBCcmVhZGNydW1iVmFsdWVbXSksXHJcbiAgICAgICAgY29tcG9uZW50OiBjb25maWcuY29tcG9uZW50LFxyXG4gICAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJhc2VEZXRhaWxSZXNvbHZlRm48XHJcbiAgICBUIGV4dGVuZHMgVHlwZWREb2N1bWVudE5vZGU8YW55LCB7IGlkOiBzdHJpbmcgfT4sXHJcbiAgICBGaWVsZCBleHRlbmRzIGtleW9mIFJlc3VsdE9mPFQ+LFxyXG4gICAgUiBleHRlbmRzIEZpZWxkLFxyXG4+KGNvbmZpZzoge1xyXG4gICAgcXVlcnk6IFQ7XHJcbiAgICBlbnRpdHlLZXk6IFI7XHJcbiAgICB2YXJpYWJsZXM/OiBUIGV4dGVuZHMgVHlwZWREb2N1bWVudE5vZGU8YW55LCBpbmZlciBWPiA/IE9taXQ8ViwgJ2lkJz4gOiBuZXZlcjtcclxufSk6IFJlc29sdmVGbjx7XHJcbiAgICBlbnRpdHk6IE9ic2VydmFibGU8UmVzdWx0T2Y8VD5bRmllbGRdIHwgbnVsbD47XHJcbiAgICByZXN1bHQ/OiBSZXN1bHRPZjxUPjtcclxufT4ge1xyXG4gICAgcmV0dXJuIHJvdXRlID0+IHtcclxuICAgICAgICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICAgICAgICBjb25zdCBkYXRhU2VydmljZSA9IGluamVjdChEYXRhU2VydmljZSk7XHJcbiAgICAgICAgY29uc3QgaWQgPSByb3V0ZS5wYXJhbU1hcC5nZXQoJ2lkJyk7XHJcblxyXG4gICAgICAgIC8vIENvbXBsZXRlIHRoZSBlbnRpdHkgc3RyZWFtIHVwb24gbmF2aWdhdGluZyBhd2F5XHJcbiAgICAgICAgY29uc3QgbmF2aWdhdGVBd2F5JCA9IHJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBBY3RpdmF0aW9uU3RhcnQpKTtcclxuXHJcbiAgICAgICAgaWYgKGlkID09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpZCBmb3VuZCBpbiByb3V0ZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaWQgPT09ICdjcmVhdGUnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih7IGVudGl0eTogb2YobnVsbCkgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0JCA9IGRhdGFTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAucXVlcnkoY29uZmlnLnF1ZXJ5LCB7IGlkLCAuLi4oY29uZmlnLnZhcmlhYmxlcyA/PyB7fSkgfSlcclxuICAgICAgICAgICAgICAgIC5yZWZldGNoT25DaGFubmVsQ2hhbmdlKClcclxuICAgICAgICAgICAgICAgIC5zdHJlYW0kLnBpcGUodGFrZVVudGlsKG5hdmlnYXRlQXdheSQpLCBzaGFyZVJlcGxheSgxKSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGVudGl0eSQgPSByZXN1bHQkLnBpcGUobWFwKHJlc3VsdCA9PiByZXN1bHRbY29uZmlnLmVudGl0eUtleV0pKTtcclxuICAgICAgICAgICAgY29uc3QgZW50aXR5U3RyZWFtJCA9IGVudGl0eSQucGlwZShmaWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKSk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQkLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBtYXAocmVzdWx0ID0+ICh7XHJcbiAgICAgICAgICAgICAgICAgICAgZW50aXR5OiBlbnRpdHlTdHJlYW0kLFxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCxcclxuICAgICAgICAgICAgICAgIH0pKSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlTG9jYXRpb25JZCB9IGZyb20gJy4uL3NoYXJlZC9jb21wb25lbnRzL2RhdGEtdGFibGUtMi9kYXRhLXRhYmxlLWN1c3RvbS1jb21wb25lbnQuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoaXMgaW50ZXJmYWNlIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBhbnkgY29tcG9uZW50IGJlaW5nIHVzZWQgYXMgYSBjdXN0b20gaW5wdXQuIEZvciBleGFtcGxlLFxyXG4gKiBpbnB1dHMgZm9yIGN1c3RvbSBmaWVsZHMsIG9yIGZvciBjb25maWd1cmFibGUgYXJndW1lbnRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1JbnB1dENvbXBvbmVudDxDID0gSW5wdXRDb21wb25lbnRDb25maWc+IHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTaG91bGQgYmUgc2V0IHRvIGB0cnVlYCBpZiB0aGlzIGNvbXBvbmVudCBpcyBkZXNpZ25lZCB0byBoYW5kbGUgbGlzdHMuXHJcbiAgICAgKiBJZiBgdHJ1ZWAgdGhlbiB0aGUgZm9ybUNvbnRyb2wgdmFsdWUgd2lsbCBiZSBhbiBhcnJheSBvZiBhbGwgdGhlXHJcbiAgICAgKiB2YWx1ZXMgaW4gdGhlIGxpc3QuXHJcbiAgICAgKi9cclxuICAgIGlzTGlzdElucHV0PzogYm9vbGVhbjtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaGlzIGlzIHNldCBieSB0aGUgQWRtaW4gVUkgd2hlbiBjb25zdW1pbmcgdGhpcyBjb21wb25lbnQsIGluZGljYXRpbmcgdGhhdCB0aGVcclxuICAgICAqIGNvbXBvbmVudCBzaG91bGQgYmUgcmVuZGVyZWQgaW4gYSByZWFkLW9ubHkgc3RhdGUuXHJcbiAgICAgKi9cclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoaXMgY29udHJvbHMgdGhlIGFjdHVhbCB2YWx1ZSBvZiB0aGUgZm9ybSBpdGVtLiBUaGUgY3VycmVudCB2YWx1ZSBpcyBhdmFpbGFibGVcclxuICAgICAqIGFzIGB0aGlzLmZvcm1Db250cm9sLnZhbHVlYCwgYW5kIGFuIE9ic2VydmFibGUgc3RyZWFtIG9mIHZhbHVlIGNoYW5nZXMgaXMgYXZhaWxhYmxlXHJcbiAgICAgKiBhcyBgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNgLiBUbyB1cGRhdGUgdGhlIHZhbHVlLCB1c2UgYC5zZXRWYWx1ZSh2YWwpYCBhbmQgdGhlblxyXG4gICAgICogYC5tYXJrQXNEaXJ0eSgpYC5cclxuICAgICAqXHJcbiAgICAgKiBGdWxsIGRvY3VtZW50YXRpb24gY2FuIGJlIGZvdW5kIGluIHRoZSBbQW5ndWxhciBkb2NzXShodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL0Zvcm1Db250cm9sKS5cclxuICAgICAqL1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRoZSBgY29uZmlnYCBwcm9wZXJ0eSBjb250YWlucyB0aGUgZnVsbCBjb25maWd1cmF0aW9uIG9iamVjdCBvZiB0aGUgY3VzdG9tIGZpZWxkIG9yIGNvbmZpZ3VyYWJsZSBhcmd1bWVudC5cclxuICAgICAqL1xyXG4gICAgY29uZmlnOiBDO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJbnB1dENvbXBvbmVudENvbmZpZyA9IHtcclxuICAgIFtwcm9wOiBzdHJpbmddOiBhbnk7XHJcbn07XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSB2YWxpZCBsb2NhdGlvbklkcyBmb3IgcmVnaXN0ZXJpbmcgYWN0aW9uIGJhciBpdGVtcyBvciB0YWJzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGFjdGlvbi1iYXJcclxuICovXHJcbmV4cG9ydCB0eXBlIFBhZ2VMb2NhdGlvbklkID1cclxuICAgIHwgJ2FkbWluaXN0cmF0b3ItZGV0YWlsJ1xyXG4gICAgfCAnYWRtaW5pc3RyYXRvci1saXN0J1xyXG4gICAgfCAnYXNzZXQtZGV0YWlsJ1xyXG4gICAgfCAnYXNzZXQtbGlzdCdcclxuICAgIHwgJ2NoYW5uZWwtZGV0YWlsJ1xyXG4gICAgfCAnY2hhbm5lbC1saXN0J1xyXG4gICAgfCAnY29sbGVjdGlvbi1kZXRhaWwnXHJcbiAgICB8ICdjb2xsZWN0aW9uLWxpc3QnXHJcbiAgICB8ICdjb3VudHJ5LWRldGFpbCdcclxuICAgIHwgJ2NvdW50cnktbGlzdCdcclxuICAgIHwgJ2N1c3RvbWVyLWRldGFpbCdcclxuICAgIHwgJ2N1c3RvbWVyLWxpc3QnXHJcbiAgICB8ICdjdXN0b21lci1ncm91cC1saXN0J1xyXG4gICAgfCAnY3VzdG9tZXItZ3JvdXAtZGV0YWlsJ1xyXG4gICAgfCAnZHJhZnQtb3JkZXItZGV0YWlsJ1xyXG4gICAgfCAnZmFjZXQtZGV0YWlsJ1xyXG4gICAgfCAnZmFjZXQtbGlzdCdcclxuICAgIHwgJ2dsb2JhbC1zZXR0aW5nLWRldGFpbCdcclxuICAgIHwgJ3N5c3RlbS1zdGF0dXMnXHJcbiAgICB8ICdqb2ItbGlzdCdcclxuICAgIHwgJ29yZGVyLWRldGFpbCdcclxuICAgIHwgJ29yZGVyLWxpc3QnXHJcbiAgICB8ICdwYXltZW50LW1ldGhvZC1kZXRhaWwnXHJcbiAgICB8ICdwYXltZW50LW1ldGhvZC1saXN0J1xyXG4gICAgfCAncHJvZHVjdC1kZXRhaWwnXHJcbiAgICB8ICdwcm9kdWN0LWxpc3QnXHJcbiAgICB8ICdwcm9kdWN0LXZhcmlhbnQtZGV0YWlsJ1xyXG4gICAgfCAncHJvZmlsZSdcclxuICAgIHwgJ3Byb21vdGlvbi1kZXRhaWwnXHJcbiAgICB8ICdwcm9tb3Rpb24tbGlzdCdcclxuICAgIHwgJ3JvbGUtZGV0YWlsJ1xyXG4gICAgfCAncm9sZS1saXN0J1xyXG4gICAgfCAnc2VsbGVyLWRldGFpbCdcclxuICAgIHwgJ3NlbGxlci1saXN0J1xyXG4gICAgfCAnc2hpcHBpbmctbWV0aG9kLWRldGFpbCdcclxuICAgIHwgJ3NoaXBwaW5nLW1ldGhvZC1saXN0J1xyXG4gICAgfCAnc3RvY2stbG9jYXRpb24tZGV0YWlsJ1xyXG4gICAgfCAnc3RvY2stbG9jYXRpb24tbGlzdCdcclxuICAgIHwgJ3RheC1jYXRlZ29yeS1kZXRhaWwnXHJcbiAgICB8ICd0YXgtY2F0ZWdvcnktbGlzdCdcclxuICAgIHwgJ3RheC1yYXRlLWRldGFpbCdcclxuICAgIHwgJ3RheC1yYXRlLWxpc3QnXHJcbiAgICB8ICd6b25lLWRldGFpbCdcclxuICAgIHwgJ3pvbmUtbGlzdCc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSB2YWxpZCBsb2NhdGlvbklkcyBmb3IgcmVnaXN0ZXJpbmcgYWN0aW9uIGJhciBpdGVtcy5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBhY3Rpb24tYmFyXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBY3Rpb25CYXJMb2NhdGlvbklkID0gUGFnZUxvY2F0aW9uSWQ7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSB2YWxpZCBsb2NhdGlvbnMgZm9yIGVtYmVkZGluZyBhIHtAbGluayBDdXN0b21EZXRhaWxDb21wb25lbnR9LlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1kZXRhaWwtY29tcG9uZW50c1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ3VzdG9tRGV0YWlsQ29tcG9uZW50TG9jYXRpb25JZCA9XHJcbiAgICB8ICdhZG1pbmlzdHJhdG9yLXByb2ZpbGUnXHJcbiAgICB8ICdhZG1pbmlzdHJhdG9yLWRldGFpbCdcclxuICAgIHwgJ2NoYW5uZWwtZGV0YWlsJ1xyXG4gICAgfCAnY29sbGVjdGlvbi1kZXRhaWwnXHJcbiAgICB8ICdjb3VudHJ5LWRldGFpbCdcclxuICAgIHwgJ2N1c3RvbWVyLWRldGFpbCdcclxuICAgIHwgJ2N1c3RvbWVyLWdyb3VwLWRldGFpbCdcclxuICAgIHwgJ2RyYWZ0LW9yZGVyLWRldGFpbCdcclxuICAgIHwgJ2ZhY2V0LWRldGFpbCdcclxuICAgIHwgJ2dsb2JhbC1zZXR0aW5ncy1kZXRhaWwnXHJcbiAgICB8ICdvcmRlci1kZXRhaWwnXHJcbiAgICB8ICdwYXltZW50LW1ldGhvZC1kZXRhaWwnXHJcbiAgICB8ICdwcm9kdWN0LWRldGFpbCdcclxuICAgIHwgJ3Byb2R1Y3QtdmFyaWFudC1kZXRhaWwnXHJcbiAgICB8ICdwcm9tb3Rpb24tZGV0YWlsJ1xyXG4gICAgfCAnc2VsbGVyLWRldGFpbCdcclxuICAgIHwgJ3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwnXHJcbiAgICB8ICdzdG9jay1sb2NhdGlvbi1kZXRhaWwnXHJcbiAgICB8ICd0YXgtY2F0ZWdvcnktZGV0YWlsJ1xyXG4gICAgfCAndGF4LXJhdGUtZGV0YWlsJ1xyXG4gICAgfCAnem9uZS1kZXRhaWwnO1xyXG5cclxuZXhwb3J0IHR5cGUgVUlFeHRlbnNpb25Mb2NhdGlvbklkID1cclxuICAgIHwgQWN0aW9uQmFyTG9jYXRpb25JZFxyXG4gICAgfCBDdXN0b21EZXRhaWxDb21wb25lbnRMb2NhdGlvbklkXHJcbiAgICB8IERhdGFUYWJsZUxvY2F0aW9uSWQ7XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assertNever } from '@vendure/common/lib/shared-utils';
|
|
2
1
|
import { findTranslation } from './find-translation';
|
|
2
|
+
import { getDefaultValue } from './custom-field-default-value';
|
|
3
3
|
/**
|
|
4
4
|
* When updating an entity which has translations, the value from the form will pertain to the current
|
|
5
5
|
* languageCode. This function ensures that the "translations" array is correctly set based on the
|
|
@@ -20,7 +20,9 @@ export function createUpdatedTranslatable(options) {
|
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
22
|
newCustomFields[field.name] =
|
|
23
|
-
value === ''
|
|
23
|
+
value === ''
|
|
24
|
+
? getDefaultValue(field.type, field.nullable ?? true)
|
|
25
|
+
: value;
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
newTranslation.customFields = newTranslatedCustomFields;
|
|
@@ -40,26 +42,6 @@ export function createUpdatedTranslatable(options) {
|
|
|
40
42
|
}
|
|
41
43
|
return newTranslatable;
|
|
42
44
|
}
|
|
43
|
-
function getDefaultValue(type) {
|
|
44
|
-
switch (type) {
|
|
45
|
-
case 'localeString':
|
|
46
|
-
case 'string':
|
|
47
|
-
case 'text':
|
|
48
|
-
case 'localeText':
|
|
49
|
-
return '';
|
|
50
|
-
case 'boolean':
|
|
51
|
-
return false;
|
|
52
|
-
case 'float':
|
|
53
|
-
case 'int':
|
|
54
|
-
return 0;
|
|
55
|
-
case 'datetime':
|
|
56
|
-
return new Date();
|
|
57
|
-
case 'relation':
|
|
58
|
-
return null;
|
|
59
|
-
default:
|
|
60
|
-
assertNever(type);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
45
|
/**
|
|
64
46
|
* Returns a shallow clone of `obj` with any properties contained in `patch` overwriting
|
|
65
47
|
* those of `obj`.
|
|
@@ -73,4 +55,4 @@ function patchObject(obj, patch) {
|
|
|
73
55
|
});
|
|
74
56
|
return clone;
|
|
75
57
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVwZGF0ZWQtdHJhbnNsYXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vdXRpbGl0aWVzL2NyZWF0ZS11cGRhdGVkLXRyYW5zbGF0YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBYy9EOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQ3JDLE9BQXFDO0lBRXJDLE1BQU0sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNyRyxNQUFNLGtCQUFrQixHQUNwQixlQUFlLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxJQUFJLGtCQUFrQixJQUFLLEVBQVUsQ0FBQztJQUNyRixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RSxNQUFNLGVBQWUsR0FBdUIsRUFBRSxDQUFDO0lBQy9DLE1BQU0seUJBQXlCLEdBQXVCLEVBQUUsQ0FBQztJQUN6RCxJQUFJLGlCQUFpQixJQUFJLGFBQWEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDbkUsS0FBSyxNQUFNLEtBQUssSUFBSSxpQkFBaUIsRUFBRTtZQUNuQyxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssY0FBYyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO2dCQUM5RCx5QkFBeUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQ2pEO2lCQUFNO2dCQUNILGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUN2QixLQUFLLEtBQUssRUFBRTt3QkFDUixDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUF1QixFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDO3dCQUN4RSxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ25CO1NBQ0o7UUFDRCxjQUFjLENBQUMsWUFBWSxHQUFHLHlCQUF5QixDQUFDO0tBQzNEO0lBQ0QsTUFBTSxlQUFlLEdBQUc7UUFDcEIsR0FBSSxXQUFXLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBUztRQUNwRCxHQUFHLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO0tBQ2hFLENBQUM7SUFDRixJQUFJLGlCQUFpQixFQUFFO1FBQ25CLGVBQWUsQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDO0tBQ2xEO0lBQ0QsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDZCxlQUFlLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0tBQ2pFO1NBQU07UUFDSCxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNyRDtJQUNELE9BQU8sZUFBZSxDQUFDO0FBQzNCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLFdBQVcsQ0FBbUMsR0FBTSxFQUFFLEtBQTZCO0lBQ3hGLE1BQU0sS0FBSyxHQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzdCLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRmllbGRzT2JqZWN0LCBDdXN0b21GaWVsZFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgTGFuZ3VhZ2VDb2RlIH0gZnJvbSAnLi4vZ2VuZXJhdGVkLXR5cGVzJztcclxuXHJcbmltcG9ydCB7IGZpbmRUcmFuc2xhdGlvbiB9IGZyb20gJy4vZmluZC10cmFuc2xhdGlvbic7XHJcbmltcG9ydCB7IGdldERlZmF1bHRWYWx1ZSB9IGZyb20gJy4vY3VzdG9tLWZpZWxkLWRlZmF1bHQtdmFsdWUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGFibGVVcGRhdGVPcHRpb25zPFQgZXh0ZW5kcyB7IHRyYW5zbGF0aW9uczogYW55W10gfSAmIE1heUhhdmVDdXN0b21GaWVsZHM+IHtcclxuICAgIHRyYW5zbGF0YWJsZTogVDtcclxuICAgIHVwZGF0ZWRGaWVsZHM6IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICAgIGN1c3RvbUZpZWxkQ29uZmlnPzogQ3VzdG9tRmllbGRDb25maWdbXTtcclxuICAgIGRlZmF1bHRUcmFuc2xhdGlvbj86IFBhcnRpYWw8VFsndHJhbnNsYXRpb25zJ11bbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIE1heUhhdmVDdXN0b21GaWVsZHMgPSB7XHJcbiAgICBjdXN0b21GaWVsZHM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFdoZW4gdXBkYXRpbmcgYW4gZW50aXR5IHdoaWNoIGhhcyB0cmFuc2xhdGlvbnMsIHRoZSB2YWx1ZSBmcm9tIHRoZSBmb3JtIHdpbGwgcGVydGFpbiB0byB0aGUgY3VycmVudFxyXG4gKiBsYW5ndWFnZUNvZGUuIFRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZSBcInRyYW5zbGF0aW9uc1wiIGFycmF5IGlzIGNvcnJlY3RseSBzZXQgYmFzZWQgb24gdGhlXHJcbiAqIGV4aXN0aW5nIGxhbmd1YWdlcyBhbmQgdGhlIHVwZGF0ZWQgdmFsdWVzIGluIHRoZSBzcGVjaWZpZWQgbGFuZ3VhZ2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVXBkYXRlZFRyYW5zbGF0YWJsZTxUIGV4dGVuZHMgeyB0cmFuc2xhdGlvbnM6IGFueVtdIH0gJiBNYXlIYXZlQ3VzdG9tRmllbGRzPihcclxuICAgIG9wdGlvbnM6IFRyYW5zbGF0YWJsZVVwZGF0ZU9wdGlvbnM8VD4sXHJcbik6IFQge1xyXG4gICAgY29uc3QgeyB0cmFuc2xhdGFibGUsIHVwZGF0ZWRGaWVsZHMsIGxhbmd1YWdlQ29kZSwgY3VzdG9tRmllbGRDb25maWcsIGRlZmF1bHRUcmFuc2xhdGlvbiB9ID0gb3B0aW9ucztcclxuICAgIGNvbnN0IGN1cnJlbnRUcmFuc2xhdGlvbiA9XHJcbiAgICAgICAgZmluZFRyYW5zbGF0aW9uKHRyYW5zbGF0YWJsZSwgbGFuZ3VhZ2VDb2RlKSB8fCBkZWZhdWx0VHJhbnNsYXRpb24gfHwgKHt9IGFzIGFueSk7XHJcbiAgICBjb25zdCBpbmRleCA9IHRyYW5zbGF0YWJsZS50cmFuc2xhdGlvbnM/LmluZGV4T2YoY3VycmVudFRyYW5zbGF0aW9uKTtcclxuICAgIGNvbnN0IG5ld1RyYW5zbGF0aW9uID0gcGF0Y2hPYmplY3QoY3VycmVudFRyYW5zbGF0aW9uLCB1cGRhdGVkRmllbGRzKTtcclxuICAgIGNvbnN0IG5ld0N1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRzT2JqZWN0ID0ge307XHJcbiAgICBjb25zdCBuZXdUcmFuc2xhdGVkQ3VzdG9tRmllbGRzOiBDdXN0b21GaWVsZHNPYmplY3QgPSB7fTtcclxuICAgIGlmIChjdXN0b21GaWVsZENvbmZpZyAmJiB1cGRhdGVkRmllbGRzLmhhc093blByb3BlcnR5KCdjdXN0b21GaWVsZHMnKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgY3VzdG9tRmllbGRDb25maWcpIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB1cGRhdGVkRmllbGRzLmN1c3RvbUZpZWxkc1tmaWVsZC5uYW1lXTtcclxuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdsb2NhbGVTdHJpbmcnIHx8IGZpZWxkLnR5cGUgPT09ICdsb2NhbGVUZXh0Jykge1xyXG4gICAgICAgICAgICAgICAgbmV3VHJhbnNsYXRlZEN1c3RvbUZpZWxkc1tmaWVsZC5uYW1lXSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbmV3Q3VzdG9tRmllbGRzW2ZpZWxkLm5hbWVdID1cclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gJydcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBnZXREZWZhdWx0VmFsdWUoZmllbGQudHlwZSBhcyBDdXN0b21GaWVsZFR5cGUsIGZpZWxkLm51bGxhYmxlID8/IHRydWUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdmFsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3VHJhbnNsYXRpb24uY3VzdG9tRmllbGRzID0gbmV3VHJhbnNsYXRlZEN1c3RvbUZpZWxkcztcclxuICAgIH1cclxuICAgIGNvbnN0IG5ld1RyYW5zbGF0YWJsZSA9IHtcclxuICAgICAgICAuLi4ocGF0Y2hPYmplY3QodHJhbnNsYXRhYmxlLCB1cGRhdGVkRmllbGRzKSBhcyBhbnkpLFxyXG4gICAgICAgIC4uLnsgdHJhbnNsYXRpb25zOiB0cmFuc2xhdGFibGUudHJhbnNsYXRpb25zPy5zbGljZSgpID8/IFtdIH0sXHJcbiAgICB9O1xyXG4gICAgaWYgKGN1c3RvbUZpZWxkQ29uZmlnKSB7XHJcbiAgICAgICAgbmV3VHJhbnNsYXRhYmxlLmN1c3RvbUZpZWxkcyA9IG5ld0N1c3RvbUZpZWxkcztcclxuICAgIH1cclxuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcclxuICAgICAgICBuZXdUcmFuc2xhdGFibGUudHJhbnNsYXRpb25zLnNwbGljZShpbmRleCwgMSwgbmV3VHJhbnNsYXRpb24pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdUcmFuc2xhdGFibGUudHJhbnNsYXRpb25zLnB1c2gobmV3VHJhbnNsYXRpb24pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld1RyYW5zbGF0YWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgYSBzaGFsbG93IGNsb25lIG9mIGBvYmpgIHdpdGggYW55IHByb3BlcnRpZXMgY29udGFpbmVkIGluIGBwYXRjaGAgb3ZlcndyaXRpbmdcclxuICogdGhvc2Ugb2YgYG9iamAuXHJcbiAqL1xyXG5mdW5jdGlvbiBwYXRjaE9iamVjdDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfT4ob2JqOiBULCBwYXRjaDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IFQge1xyXG4gICAgY29uc3QgY2xvbmU6IGFueSA9IE9iamVjdC5hc3NpZ24oe30sIG9iaik7XHJcbiAgICBPYmplY3Qua2V5cyhjbG9uZSkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIGlmIChwYXRjaC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgIGNsb25lW2tleV0gPSBwYXRjaFtrZXldO1xyXG4gICAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNsb25lO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { assertNever } from '@vendure/common/lib/shared-utils';
|
|
2
|
+
export function getCustomFieldsDefaults(customFieldConfig) {
|
|
3
|
+
return customFieldConfig.reduce((hash, field) => ({
|
|
4
|
+
...hash,
|
|
5
|
+
[field.name]: getDefaultValue(field.type, field.nullable ?? undefined),
|
|
6
|
+
}), {});
|
|
7
|
+
}
|
|
8
|
+
export function getDefaultValue(type, isNullable) {
|
|
9
|
+
switch (type) {
|
|
10
|
+
case 'localeString':
|
|
11
|
+
case 'string':
|
|
12
|
+
case 'text':
|
|
13
|
+
case 'localeText':
|
|
14
|
+
return '';
|
|
15
|
+
case 'boolean':
|
|
16
|
+
return false;
|
|
17
|
+
case 'float':
|
|
18
|
+
case 'int':
|
|
19
|
+
return isNullable ? null : 0;
|
|
20
|
+
case 'datetime':
|
|
21
|
+
return isNullable ? null : new Date();
|
|
22
|
+
case 'relation':
|
|
23
|
+
return null;
|
|
24
|
+
default:
|
|
25
|
+
assertNever(type);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZpZWxkLWRlZmF1bHQtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2NvbW1vbi91dGlsaXRpZXMvY3VzdG9tLWZpZWxkLWRlZmF1bHQtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRy9ELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxpQkFBc0M7SUFHMUUsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLENBQzNCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNkLEdBQUcsSUFBSTtRQUNQLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBdUIsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQztLQUM1RixDQUFDLEVBQ0YsRUFBRSxDQUNMLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFxQixFQUFFLFVBQW9CO0lBQ3ZFLFFBQVEsSUFBSSxFQUFFO1FBQ1YsS0FBSyxjQUFjLENBQUM7UUFDcEIsS0FBSyxRQUFRLENBQUM7UUFDZCxLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssWUFBWTtZQUNiLE9BQU8sRUFBRSxDQUFDO1FBQ2QsS0FBSyxTQUFTO1lBQ1YsT0FBTyxLQUFLLENBQUM7UUFDakIsS0FBSyxPQUFPLENBQUM7UUFDYixLQUFLLEtBQUs7WUFDTixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsS0FBSyxVQUFVO1lBQ1gsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMxQyxLQUFLLFVBQVU7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNoQjtZQUNJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN6QjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21GaWVsZFR5cGUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q3VzdG9tRmllbGRzRGVmYXVsdHMoY3VzdG9tRmllbGRDb25maWc6IEN1c3RvbUZpZWxkQ29uZmlnW10pOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXREZWZhdWx0VmFsdWU+O1xyXG59IHtcclxuICAgIHJldHVybiBjdXN0b21GaWVsZENvbmZpZy5yZWR1Y2UoXHJcbiAgICAgICAgKGhhc2gsIGZpZWxkKSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5oYXNoLFxyXG4gICAgICAgICAgICBbZmllbGQubmFtZV06IGdldERlZmF1bHRWYWx1ZShmaWVsZC50eXBlIGFzIEN1c3RvbUZpZWxkVHlwZSwgZmllbGQubnVsbGFibGUgPz8gdW5kZWZpbmVkKSxcclxuICAgICAgICB9KSxcclxuICAgICAgICB7fSxcclxuICAgICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0VmFsdWUodHlwZTogQ3VzdG9tRmllbGRUeXBlLCBpc051bGxhYmxlPzogYm9vbGVhbikge1xyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnbG9jYWxlU3RyaW5nJzpcclxuICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgIGNhc2UgJ3RleHQnOlxyXG4gICAgICAgIGNhc2UgJ2xvY2FsZVRleHQnOlxyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjYXNlICdmbG9hdCc6XHJcbiAgICAgICAgY2FzZSAnaW50JzpcclxuICAgICAgICAgICAgcmV0dXJuIGlzTnVsbGFibGUgPyBudWxsIDogMDtcclxuICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgIHJldHVybiBpc051bGxhYmxlID8gbnVsbCA6IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgY2FzZSAncmVsYXRpb24nOlxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBhc3NlcnROZXZlcih0eXBlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Auto-generated by the set-version.js script.
|
|
2
|
-
export const ADMIN_UI_VERSION = '2.1.0-next.
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const ADMIN_UI_VERSION = '2.1.0-next.3';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICcyLjEuMC1uZXh0LjMnO1xuIl19
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { Component, isDevMode } from '@angular/core';
|
|
2
2
|
import { EMPTY } from 'rxjs';
|
|
3
3
|
import { map, switchMap, take } from 'rxjs/operators';
|
|
4
4
|
import { getAppConfig } from '../../app.config';
|
|
5
|
+
import { ADMIN_UI_VERSION } from '../../common/version';
|
|
5
6
|
import { UiLanguageSwitcherDialogComponent } from '../ui-language-switcher-dialog/ui-language-switcher-dialog.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../../providers/auth/auth.service";
|
|
@@ -14,12 +15,15 @@ import * as i7 from "../../providers/breadcrumb/breadcrumb.service";
|
|
|
14
15
|
import * as i8 from "@angular/common";
|
|
15
16
|
import * as i9 from "@clr/angular";
|
|
16
17
|
import * as i10 from "@angular/cdk/bidi";
|
|
17
|
-
import * as i11 from "../../shared/
|
|
18
|
-
import * as i12 from "
|
|
19
|
-
import * as i13 from "
|
|
20
|
-
import * as i14 from "
|
|
21
|
-
import * as i15 from "../
|
|
22
|
-
import * as i16 from "../
|
|
18
|
+
import * as i11 from "../../shared/components/dropdown/dropdown.component";
|
|
19
|
+
import * as i12 from "../../shared/components/dropdown/dropdown-menu.component";
|
|
20
|
+
import * as i13 from "../../shared/components/dropdown/dropdown-trigger.directive";
|
|
21
|
+
import * as i14 from "../../shared/directives/if-multichannel.directive";
|
|
22
|
+
import * as i15 from "../user-menu/user-menu.component";
|
|
23
|
+
import * as i16 from "../main-nav/main-nav.component";
|
|
24
|
+
import * as i17 from "../breadcrumb/breadcrumb.component";
|
|
25
|
+
import * as i18 from "../channel-switcher/channel-switcher.component";
|
|
26
|
+
import * as i19 from "../alerts/alerts.component";
|
|
23
27
|
export class AppShellComponent {
|
|
24
28
|
constructor(authService, dataService, router, i18nService, modalService, localStorageService, breadcrumbService) {
|
|
25
29
|
this.authService = authService;
|
|
@@ -29,8 +33,10 @@ export class AppShellComponent {
|
|
|
29
33
|
this.modalService = modalService;
|
|
30
34
|
this.localStorageService = localStorageService;
|
|
31
35
|
this.breadcrumbService = breadcrumbService;
|
|
36
|
+
this.version = ADMIN_UI_VERSION;
|
|
32
37
|
this.availableLanguages = [];
|
|
33
38
|
this.hideVendureBranding = getAppConfig().hideVendureBranding;
|
|
39
|
+
this.devMode = isDevMode();
|
|
34
40
|
}
|
|
35
41
|
ngOnInit() {
|
|
36
42
|
this.userName$ = this.dataService.client
|
|
@@ -83,10 +89,10 @@ export class AppShellComponent {
|
|
|
83
89
|
});
|
|
84
90
|
}
|
|
85
91
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AppShellComponent, deps: [{ token: i1.AuthService }, { token: i2.DataService }, { token: i3.Router }, { token: i4.I18nService }, { token: i5.ModalService }, { token: i6.LocalStorageService }, { token: i7.BreadcrumbService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: AppShellComponent, selector: "vdr-app-shell", ngImport: i0, template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: AppShellComponent, selector: "vdr-app-shell", ngImport: i0, template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"\r\n ><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"\r\n /></a>\r\n <div class=\"collapse-menu\">\r\n <button class=\"\" (click)=\"collapseNav()\">\r\n <clr-icon shape=\"window-close\" size=\"24\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mx-4\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"main-nav-container\">\r\n <vdr-main-nav (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"settings-nav-container\">\r\n <hr />\r\n <vdr-main-nav displayMode=\"settings\" (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div *ngIf=\"devMode\" class=\"flex center mb-2\">\r\n <vdr-dropdown>\r\n <button class=\"icon-button dev-mode-button\" vdrDropdownTrigger title=\"DEV MODE\">\r\n <clr-icon shape=\"code\" size=\"24\"></clr-icon> DEV MODE\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"px-2 py-1\">\r\n <div>Version: {{ version }}</div>\r\n <div>View UI extension points: <kbd>CTRL + U</kbd></div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div class=\"expand-menu mr-1\">\r\n <button class=\"\" (click)=\"expandNav()\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"1.5\"\r\n stroke=\"currentColor\"\r\n class=\"bars\"\r\n >\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div class=\"mx-1\">\r\n <vdr-alerts></vdr-alerts>\r\n </div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;overflow:hidden;height:100%;border-inline-end:1px solid var(--color-weight-150);z-index:2;width:var(--left-nav-width);max-width:var(--left-nav-width)}@media screen and (max-width: 992px){.left-nav.expanded{position:fixed;inset:0;width:100%;max-width:100%;animation:fade-in .2s ease-in-out forwards}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (min-width: 992px){.expand-menu,.collapse-menu{display:none}}.expand-menu button,.collapse-menu button{border:none;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg);color:var(--color-text-100);display:flex;align-items:center;justify-content:center}.expand-menu .bars,.collapse-menu .bars{width:24px;height:24px}.collapse-menu button{height:40px;background-color:var(--color-weight-200)}.main-nav-container{overflow:auto;flex:1}.settings-nav-container{margin:calc(var(--space-unit) * 3) 0}.settings-nav-container hr{margin:0 calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4);border:1px solid var(--color-weight-150);box-shadow:0 1px 0 var(--color-weight-100)}.logo{max-width:100%}.wordmark{font-weight:700;margin-inline-start:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-surface-bg)}.content-container{overflow:auto;min-height:100vh;display:flex;flex-direction:column}.branding{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);padding-inline-end:calc(var(--space-unit) * 1.5)}@media screen and (min-width: 992px){.branding{padding:calc(var(--space-unit) * 4)}}.top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 1);background-color:var(--color-page-header)}@media screen and (min-width: 992px){.top-bar{padding:calc(var(--space-unit) * 4);padding-inline-start:var(--surface-margin-left)}}.header-actions{align-items:center}.content-area{position:relative;margin-inline-end:auto;flex:1;display:block;width:100%}.dev-mode-button{opacity:.7;font-size:12px}\n"], dependencies: [{ kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i10.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i11.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i12.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i13.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i14.IfMultichannelDirective, selector: "[vdrIfMultichannel]", inputs: ["vdrIfMultichannelElse"] }, { kind: "component", type: i15.UserMenuComponent, selector: "vdr-user-menu", inputs: ["userName", "availableLanguages", "uiLanguageAndLocale"], outputs: ["logOut", "selectUiLanguage"] }, { kind: "component", type: i16.MainNavComponent, selector: "vdr-main-nav", inputs: ["displayMode"], outputs: ["itemClick"] }, { kind: "component", type: i17.BreadcrumbComponent, selector: "vdr-breadcrumb" }, { kind: "component", type: i18.ChannelSwitcherComponent, selector: "vdr-channel-switcher" }, { kind: "component", type: i19.AlertsComponent, selector: "vdr-alerts" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }] }); }
|
|
87
93
|
}
|
|
88
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: AppShellComponent, decorators: [{
|
|
89
95
|
type: Component,
|
|
90
|
-
args: [{ selector: 'vdr-app-shell', template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"
|
|
96
|
+
args: [{ selector: 'vdr-app-shell', template: "<div class=\"app-container\" [dir]=\"direction$ | async\">\r\n <div class=\"left-nav\" [class.expanded]=\"mainNavExpanded$ | async\">\r\n <div class=\"branding\">\r\n <a [routerLink]=\"['/']\" *ngIf=\"!hideVendureBranding\"\r\n ><img src=\"assets/logo-top.webp\" class=\"logo\" style=\"max-width: 100px\"\r\n /></a>\r\n <div class=\"collapse-menu\">\r\n <button class=\"\" (click)=\"collapseNav()\">\r\n <clr-icon shape=\"window-close\" size=\"24\"></clr-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"mx-4\">\r\n <vdr-channel-switcher *vdrIfMultichannel></vdr-channel-switcher>\r\n </div>\r\n <div class=\"main-nav-container\">\r\n <vdr-main-nav (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"settings-nav-container\">\r\n <hr />\r\n <vdr-main-nav displayMode=\"settings\" (itemClick)=\"collapseNav()\"></vdr-main-nav>\r\n </div>\r\n <div class=\"mx-2\">\r\n <div *ngIf=\"devMode\" class=\"flex center mb-2\">\r\n <vdr-dropdown>\r\n <button class=\"icon-button dev-mode-button\" vdrDropdownTrigger title=\"DEV MODE\">\r\n <clr-icon shape=\"code\" size=\"24\"></clr-icon> DEV MODE\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"px-2 py-1\">\r\n <div>Version: {{ version }}</div>\r\n <div>View UI extension points: <kbd>CTRL + U</kbd></div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"surface\">\r\n <div class=\"content-container\">\r\n <div class=\"top-bar\">\r\n <div class=\"expand-menu mr-1\">\r\n <button class=\"\" (click)=\"expandNav()\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n fill=\"none\"\r\n viewBox=\"0 0 24 24\"\r\n stroke-width=\"1.5\"\r\n stroke=\"currentColor\"\r\n class=\"bars\"\r\n >\r\n <path\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\"\r\n />\r\n </svg>\r\n </button>\r\n </div>\r\n <div>\r\n <vdr-breadcrumb></vdr-breadcrumb>\r\n </div>\r\n <div class=\"universal-search flex-spacer\"></div>\r\n <div class=\"mx-1\">\r\n <vdr-alerts></vdr-alerts>\r\n </div>\r\n <div>\r\n <vdr-user-menu\r\n [userName]=\"userName$ | async\"\r\n [uiLanguageAndLocale]=\"uiLanguageAndLocale$ | async\"\r\n [availableLanguages]=\"availableLanguages\"\r\n (selectUiLanguage)=\"selectUiLanguage()\"\r\n (logOut)=\"logOut()\"\r\n ></vdr-user-menu>\r\n </div>\r\n </div>\r\n <div class=\"content-area\"><router-outlet></router-outlet></div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-container{display:flex;height:100vh;overflow:hidden}.left-nav{background-color:var(--color-left-nav-bg);color:var(--color-left-nav-text);display:flex;flex-direction:column;overflow:hidden;height:100%;border-inline-end:1px solid var(--color-weight-150);z-index:2;width:var(--left-nav-width);max-width:var(--left-nav-width)}@media screen and (max-width: 992px){.left-nav.expanded{position:fixed;inset:0;width:100%;max-width:100%;animation:fade-in .2s ease-in-out forwards}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (min-width: 992px){.expand-menu,.collapse-menu{display:none}}.expand-menu button,.collapse-menu button{border:none;padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);background-color:var(--color-page-header-item-bg);border-radius:var(--border-radius-lg);color:var(--color-text-100);display:flex;align-items:center;justify-content:center}.expand-menu .bars,.collapse-menu .bars{width:24px;height:24px}.collapse-menu button{height:40px;background-color:var(--color-weight-200)}.main-nav-container{overflow:auto;flex:1}.settings-nav-container{margin:calc(var(--space-unit) * 3) 0}.settings-nav-container hr{margin:0 calc(var(--space-unit) * 4);margin-bottom:calc(var(--space-unit) * 4);border:1px solid var(--color-weight-150);box-shadow:0 1px 0 var(--color-weight-100)}.logo{max-width:100%}.wordmark{font-weight:700;margin-inline-start:12px;font-size:24px;color:var(--color-primary-500)}@media screen and (max-width: 992px){.wordmark{display:none}}.surface{display:flex;flex-direction:column;flex:1;background-color:var(--color-surface-bg)}.content-container{overflow:auto;min-height:100vh;display:flex;flex-direction:column}.branding{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 4);padding-inline-end:calc(var(--space-unit) * 1.5)}@media screen and (min-width: 992px){.branding{padding:calc(var(--space-unit) * 4)}}.top-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--space-unit) * 2) calc(var(--space-unit) * 1);background-color:var(--color-page-header)}@media screen and (min-width: 992px){.top-bar{padding:calc(var(--space-unit) * 4);padding-inline-start:var(--surface-margin-left)}}.header-actions{align-items:center}.content-area{position:relative;margin-inline-end:auto;flex:1;display:block;width:100%}.dev-mode-button{opacity:.7;font-size:12px}\n"] }]
|
|
91
97
|
}], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.DataService }, { type: i3.Router }, { type: i4.I18nService }, { type: i5.ModalService }, { type: i6.LocalStorageService }, { type: i7.BreadcrumbService }]; } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNoZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFRaEQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU96SCxNQUFNLE9BQU8saUJBQWlCO0lBUzFCLFlBQ1ksV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLG1CQUF3QyxFQUN4QyxpQkFBb0M7UUFOcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVpoRCx1QkFBa0IsR0FBbUIsRUFBRSxDQUFDO1FBQ3hDLHdCQUFtQixHQUFHLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBWXRELENBQUM7SUFF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QVM7UUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUNwQyxJQUFJLFFBQVEsRUFBRTtnQkFDVixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7YUFDbkM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQW5GUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixxRENwQjlCLCtrRkFzREE7OzJGRGxDYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0ksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vYXBwLmNvbmZpZyc7XHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2F1dGgvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9pMThuL2kxOG4uc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbG9jYWwtc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpTGFuZ3VhZ2VTd2l0Y2hlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3VpLWxhbmd1YWdlLXN3aXRjaGVyLWRpYWxvZy91aS1sYW5ndWFnZS1zd2l0Y2hlci1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItYXBwLXNoZWxsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtc2hlbGwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBTaGVsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICB1c2VyTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcclxuICAgIHVpTGFuZ3VhZ2VBbmRMb2NhbGUkOiBPYnNlcnZhYmxlPFtMYW5ndWFnZUNvZGUsIHN0cmluZyB8IHVuZGVmaW5lZF0+O1xyXG4gICAgZGlyZWN0aW9uJDogT2JzZXJ2YWJsZTwnbHRyJyB8ICdydGwnPjtcclxuICAgIGF2YWlsYWJsZUxhbmd1YWdlczogTGFuZ3VhZ2VDb2RlW10gPSBbXTtcclxuICAgIGhpZGVWZW5kdXJlQnJhbmRpbmcgPSBnZXRBcHBDb25maWcoKS5oaWRlVmVuZHVyZUJyYW5kaW5nO1xyXG4gICAgcGFnZVRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgbWFpbk5hdkV4cGFuZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBsb2NhbFN0b3JhZ2VTZXJ2aWNlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudXNlck5hbWUkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgLnVzZXJTdGF0dXMoKVxyXG4gICAgICAgICAgICAuc2luZ2xlJC5waXBlKG1hcChkYXRhID0+IGRhdGEudXNlclN0YXR1cy51c2VybmFtZSkpO1xyXG4gICAgICAgIHRoaXMudWlMYW5ndWFnZUFuZExvY2FsZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudWlTdGF0ZSgpXHJcbiAgICAgICAgICAgIC5zdHJlYW0kLnBpcGUobWFwKCh7IHVpU3RhdGUgfSkgPT4gW3VpU3RhdGUubGFuZ3VhZ2UsIHVpU3RhdGUubG9jYWxlID8/IHVuZGVmaW5lZF0pKTtcclxuICAgICAgICB0aGlzLmF2YWlsYWJsZUxhbmd1YWdlcyA9IHRoaXMuaTE4blNlcnZpY2UuYXZhaWxhYmxlTGFuZ3VhZ2VzO1xyXG4gICAgICAgIHRoaXMucGFnZVRpdGxlJCA9IHRoaXMuYnJlYWRjcnVtYlNlcnZpY2UuYnJlYWRjcnVtYnMkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChicmVhZGNydW1icyA9PiBicmVhZGNydW1ic1ticmVhZGNydW1icy5sZW5ndGggLSAxXS5sYWJlbCksXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLm1haW5OYXZFeHBhbmRlZCQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudWlTdGF0ZSgpXHJcbiAgICAgICAgICAgIC5zdHJlYW0kLnBpcGUobWFwKCh7IHVpU3RhdGUgfSkgPT4gdWlTdGF0ZS5tYWluTmF2RXhwYW5kZWQpKTtcclxuICAgICAgICB0aGlzLmRpcmVjdGlvbiQgPSB0aGlzLnVpTGFuZ3VhZ2VBbmRMb2NhbGUkLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW2xhbmd1YWdlQ29kZV0pID0+ICh0aGlzLmkxOG5TZXJ2aWNlLmlzUlRMKGxhbmd1YWdlQ29kZSkgPyAncnRsJyA6ICdsdHInKSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RVaUxhbmd1YWdlKCkge1xyXG4gICAgICAgIHRoaXMudWlMYW5ndWFnZUFuZExvY2FsZSRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChbY3VycmVudExhbmd1YWdlLCBjdXJyZW50TG9jYWxlXSkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5mcm9tQ29tcG9uZW50KFVpTGFuZ3VhZ2VTd2l0Y2hlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogJ2xnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVMYW5ndWFnZXM6IHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudExvY2FsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocmVzdWx0ID0+XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID8gdGhpcy5kYXRhU2VydmljZS5jbGllbnQuc2V0VWlMYW5ndWFnZShyZXN1bHRbMF0sIHJlc3VsdFsxXSkgOiBFTVBUWSxcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5zZXRVaUxhbmd1YWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pMThuU2VydmljZS5zZXRMYW5ndWFnZShyZXN1bHQuc2V0VWlMYW5ndWFnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldCgndWlMYW5ndWFnZUNvZGUnLCByZXN1bHQuc2V0VWlMYW5ndWFnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldCgndWlMb2NhbGUnLCByZXN1bHQuc2V0VWlMb2NhbGUgPz8gdW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwYW5kTmF2KCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnNldE1haW5OYXZFeHBhbmRlZCh0cnVlKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjb2xsYXBzZU5hdigpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRNYWluTmF2RXhwYW5kZWQoZmFsc2UpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvZ091dCgpIHtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ091dCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgbG9naW5VcmwgfSA9IGdldEFwcENvbmZpZygpO1xyXG4gICAgICAgICAgICBpZiAobG9naW5VcmwpIHtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbG9naW5Vcmw7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhcHAtY29udGFpbmVyXCIgW2Rpcl09XCJkaXJlY3Rpb24kIHwgYXN5bmNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0LW5hdlwiIFtjbGFzcy5leHBhbmRlZF09XCJtYWluTmF2RXhwYW5kZWQkIHwgYXN5bmNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnJhbmRpbmdcIj5cclxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvJ11cIiAqbmdJZj1cIiFoaWRlVmVuZHVyZUJyYW5kaW5nXCI+PGltZyBzcmM9XCJhc3NldHMvbG9nby10b3Aud2VicFwiIGNsYXNzPVwibG9nb1wiIHN0eWxlPVwibWF4LXdpZHRoOiAxMDBweFwiIC8+PC9hPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sbGFwc2UtbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIlwiIChjbGljayk9XCJjb2xsYXBzZU5hdigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwid2luZG93LWNsb3NlXCIgc2l6ZT1cIjI0XCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXgtNFwiPlxyXG4gICAgICAgICAgICA8dmRyLWNoYW5uZWwtc3dpdGNoZXIgKnZkcklmTXVsdGljaGFubmVsPjwvdmRyLWNoYW5uZWwtc3dpdGNoZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tbmF2LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8dmRyLW1haW4tbmF2IChpdGVtQ2xpY2spPVwiY29sbGFwc2VOYXYoKVwiPjwvdmRyLW1haW4tbmF2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5ncy1uYXYtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxociAvPlxyXG4gICAgICAgICAgICA8dmRyLW1haW4tbmF2IGRpc3BsYXlNb2RlPVwic2V0dGluZ3NcIiAoaXRlbUNsaWNrKT1cImNvbGxhcHNlTmF2KClcIj48L3Zkci1tYWluLW5hdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMlwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN1cmZhY2VcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1iYXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleHBhbmQtbWVudSBtci0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIlwiIChjbGljayk9XCJleHBhbmROYXYoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBjbGFzcz1cImJhcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTMuNzUgNi43NWgxNi41TTMuNzUgMTJoMTYuNW0tMTYuNSA1LjI1aDE2LjVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLWJyZWFkY3J1bWI+PC92ZHItYnJlYWRjcnVtYj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVuaXZlcnNhbC1zZWFyY2ggZmxleC1zcGFjZXJcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJteC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHZkci1hbGVydHM+PC92ZHItYWxlcnRzPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItdXNlci1tZW51XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt1c2VyTmFtZV09XCJ1c2VyTmFtZSQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt1aUxhbmd1YWdlQW5kTG9jYWxlXT1cInVpTGFuZ3VhZ2VBbmRMb2NhbGUkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXZhaWxhYmxlTGFuZ3VhZ2VzXT1cImF2YWlsYWJsZUxhbmd1YWdlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RVaUxhbmd1YWdlKT1cInNlbGVjdFVpTGFuZ3VhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChsb2dPdXQpPVwibG9nT3V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L3Zkci11c2VyLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWFyZWFcIj48cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNoZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9hcHAtc2hlbGwvYXBwLXNoZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3hELE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNFQUFzRSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPekgsTUFBTSxPQUFPLGlCQUFpQjtJQVcxQixZQUNZLFdBQXdCLEVBQ3hCLFdBQXdCLEVBQ3hCLE1BQWMsRUFDZCxXQUF3QixFQUN4QixZQUEwQixFQUMxQixtQkFBd0MsRUFDeEMsaUJBQW9DO1FBTnBDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFqQmhELFlBQU8sR0FBRyxnQkFBZ0IsQ0FBQztR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QUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLENBQUM7YUFDN0U7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsRSxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDcEMsSUFBSSxRQUFRLEVBQUU7Z0JBQ1YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO2FBQ25DO2lCQUFNO2dCQUNILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNwQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FyRlEsaUJBQWlCO2tHQUFqQixpQkFBaUIscURDckI5QixvcUhBaUZBOzsyRkQ1RGEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNJLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlzRGV2TW9kZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEVNUFRZLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vYXBwLmNvbmZpZyc7XHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBBRE1JTl9VSV9WRVJTSU9OIH0gZnJvbSAnLi4vLi4vY29tbW9uL3ZlcnNpb24nO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL2F1dGgvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYlNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9pMThuL2kxOG4uc2VydmljZSc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbG9jYWwtc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbmltcG9ydCB7IFVpTGFuZ3VhZ2VTd2l0Y2hlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3VpLWxhbmd1YWdlLXN3aXRjaGVyLWRpYWxvZy91aS1sYW5ndWFnZS1zd2l0Y2hlci1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItYXBwLXNoZWxsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtc2hlbGwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYXBwLXNoZWxsLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBTaGVsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICB2ZXJzaW9uID0gQURNSU5fVUlfVkVSU0lPTjtcclxuICAgIHVzZXJOYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgdWlMYW5ndWFnZUFuZExvY2FsZSQ6IE9ic2VydmFibGU8W0xhbmd1YWdlQ29kZSwgc3RyaW5nIHwgdW5kZWZpbmVkXT47XHJcbiAgICBkaXJlY3Rpb24kOiBPYnNlcnZhYmxlPCdsdHInIHwgJ3J0bCc+O1xyXG4gICAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBMYW5ndWFnZUNvZGVbXSA9IFtdO1xyXG4gICAgaGlkZVZlbmR1cmVCcmFuZGluZyA9IGdldEFwcENvbmZpZygpLmhpZGVWZW5kdXJlQnJhbmRpbmc7XHJcbiAgICBwYWdlVGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XHJcbiAgICBtYWluTmF2RXhwYW5kZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZGV2TW9kZSA9IGlzRGV2TW9kZSgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBpMThuU2VydmljZTogSTE4blNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxvY2FsU3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy51c2VyTmFtZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudXNlclN0YXR1cygpXHJcbiAgICAgICAgICAgIC5zaW5nbGUkLnBpcGUobWFwKGRhdGEgPT4gZGF0YS51c2VyU3RhdHVzLnVzZXJuYW1lKSk7XHJcbiAgICAgICAgdGhpcy51aUxhbmd1YWdlQW5kTG9jYWxlJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLnN0cmVhbSQucGlwZShtYXAoKHsgdWlTdGF0ZSB9KSA9PiBbdWlTdGF0ZS5sYW5ndWFnZSwgdWlTdGF0ZS5sb2NhbGUgPz8gdW5kZWZpbmVkXSkpO1xyXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzID0gdGhpcy5pMThuU2VydmljZS5hdmFpbGFibGVMYW5ndWFnZXM7XHJcbiAgICAgICAgdGhpcy5wYWdlVGl0bGUkID0gdGhpcy5icmVhZGNydW1iU2VydmljZS5icmVhZGNydW1icyQucGlwZShcclxuICAgICAgICAgICAgbWFwKGJyZWFkY3J1bWJzID0+IGJyZWFkY3J1bWJzW2JyZWFkY3J1bWJzLmxlbmd0aCAtIDFdLmxhYmVsKSxcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMubWFpbk5hdkV4cGFuZGVkJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgLnN0cmVhbSQucGlwZShtYXAoKHsgdWlTdGF0ZSB9KSA9PiB1aVN0YXRlLm1haW5OYXZFeHBhbmRlZCkpO1xyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uJCA9IHRoaXMudWlMYW5ndWFnZUFuZExvY2FsZSQucGlwZShcclxuICAgICAgICAgICAgbWFwKChbbGFuZ3VhZ2VDb2RlXSkgPT4gKHRoaXMuaTE4blNlcnZpY2UuaXNSVEwobGFuZ3VhZ2VDb2RlKSA/ICdydGwnIDogJ2x0cicpKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFVpTGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgdGhpcy51aUxhbmd1YWdlQW5kTG9jYWxlJFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKFtjdXJyZW50TGFuZ3VhZ2UsIGN1cnJlbnRMb2NhbGVdKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmZyb21Db21wb25lbnQoVWlMYW5ndWFnZVN3aXRjaGVyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnbGcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF2YWlsYWJsZUxhbmd1YWdlczogdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50TG9jYWxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT5cclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPyB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC5zZXRVaUxhbmd1YWdlKHJlc3VsdFswXSwgcmVzdWx0WzFdKSA6IEVNUFRZLFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LnNldFVpTGFuZ3VhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlLnNldExhbmd1YWdlKHJlc3VsdC5zZXRVaUxhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCd1aUxhbmd1YWdlQ29kZScsIHJlc3VsdC5zZXRVaUxhbmd1YWdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0KCd1aUxvY2FsZScsIHJlc3VsdC5zZXRVaUxvY2FsZSA/PyB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBleHBhbmROYXYoKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhU2VydmljZS5jbGllbnQuc2V0TWFpbk5hdkV4cGFuZGVkKHRydWUpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbGxhcHNlTmF2KCkge1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnNldE1haW5OYXZFeHBhbmRlZChmYWxzZSkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9nT3V0KCkge1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nT3V0KCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBsb2dpblVybCB9ID0gZ2V0QXBwQ29uZmlnKCk7XHJcbiAgICAgICAgICAgIGlmIChsb2dpblVybCkge1xyXG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBsb2dpblVybDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFwcC1jb250YWluZXJcIiBbZGlyXT1cImRpcmVjdGlvbiQgfCBhc3luY1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxlZnQtbmF2XCIgW2NsYXNzLmV4cGFuZGVkXT1cIm1haW5OYXZFeHBhbmRlZCQgfCBhc3luY1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJicmFuZGluZ1wiPlxyXG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbJy8nXVwiICpuZ0lmPVwiIWhpZGVWZW5kdXJlQnJhbmRpbmdcIlxyXG4gICAgICAgICAgICAgICAgPjxpbWcgc3JjPVwiYXNzZXRzL2xvZ28tdG9wLndlYnBcIiBjbGFzcz1cImxvZ29cIiBzdHlsZT1cIm1heC13aWR0aDogMTAwcHhcIlxyXG4gICAgICAgICAgICAvPjwvYT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJcIiAoY2xpY2spPVwiY29sbGFwc2VOYXYoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cIndpbmRvdy1jbG9zZVwiIHNpemU9XCIyNFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTRcIj5cclxuICAgICAgICAgICAgPHZkci1jaGFubmVsLXN3aXRjaGVyICp2ZHJJZk11bHRpY2hhbm5lbD48L3Zkci1jaGFubmVsLXN3aXRjaGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLW5hdi1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPHZkci1tYWluLW5hdiAoaXRlbUNsaWNrKT1cImNvbGxhcHNlTmF2KClcIj48L3Zkci1tYWluLW5hdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZ3MtbmF2LWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aHIgLz5cclxuICAgICAgICAgICAgPHZkci1tYWluLW5hdiBkaXNwbGF5TW9kZT1cInNldHRpbmdzXCIgKGl0ZW1DbGljayk9XCJjb2xsYXBzZU5hdigpXCI+PC92ZHItbWFpbi1uYXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm14LTJcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRldk1vZGVcIiBjbGFzcz1cImZsZXggY2VudGVyIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24tYnV0dG9uIGRldi1tb2RlLWJ1dHRvblwiIHZkckRyb3Bkb3duVHJpZ2dlciB0aXRsZT1cIkRFViBNT0RFXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImNvZGVcIiBzaXplPVwiMjRcIj48L2Nsci1pY29uPiBERVYgTU9ERVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInB4LTIgcHktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5WZXJzaW9uOiB7eyB2ZXJzaW9uIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlZpZXcgVUkgZXh0ZW5zaW9uIHBvaW50czogPGtiZD5DVFJMICsgVTwva2JkPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxyXG4gICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN1cmZhY2VcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvcC1iYXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleHBhbmQtbWVudSBtci0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIlwiIChjbGljayk9XCJleHBhbmROYXYoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMS41XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTMuNzUgNi43NWgxNi41TTMuNzUgMTJoMTYuNW0tMTYuNSA1LjI1aDE2LjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHZkci1icmVhZGNydW1iPjwvdmRyLWJyZWFkY3J1bWI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bml2ZXJzYWwtc2VhcmNoIGZsZXgtc3BhY2VyXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXgtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItYWxlcnRzPjwvdmRyLWFsZXJ0cz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8dmRyLXVzZXItbWVudVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdXNlck5hbWVdPVwidXNlck5hbWUkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdWlMYW5ndWFnZUFuZExvY2FsZV09XCJ1aUxhbmd1YWdlQW5kTG9jYWxlJCB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2F2YWlsYWJsZUxhbmd1YWdlc109XCJhdmFpbGFibGVMYW5ndWFnZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoc2VsZWN0VWlMYW5ndWFnZSk9XCJzZWxlY3RVaUxhbmd1YWdlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobG9nT3V0KT1cImxvZ091dCgpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC92ZHItdXNlci1tZW51PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1hcmVhXCI+PHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -41,10 +41,10 @@ export class ChannelSwitcherComponent {
|
|
|
41
41
|
this.channelService.setActiveChannel(channelId).subscribe(() => this.filterControl.patchValue(''));
|
|
42
42
|
}
|
|
43
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ChannelSwitcherComponent, deps: [{ token: i1.DataService }, { token: i2.ChannelService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher", ngImport: i0, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i7.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i8.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i9.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i10.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i11.ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.2", type: ChannelSwitcherComponent, selector: "vdr-channel-switcher", ngImport: i0, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormFieldControlDirective, selector: "input, textarea, select" }, { kind: "component", type: i7.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i8.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i9.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i10.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i11.ChannelBadgeComponent, selector: "vdr-channel-badge", inputs: ["channelCode"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.ChannelLabelPipe, name: "channelCodeToLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
45
45
|
}
|
|
46
46
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: ChannelSwitcherComponent, decorators: [{
|
|
47
47
|
type: Component,
|
|
48
|
-
args: [{ selector: 'vdr-channel-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"] }]
|
|
48
|
+
args: [{ selector: 'vdr-channel-switcher', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\r\n <vdr-dropdown>\r\n <button class=\"active-channel m-auto\" vdrDropdownTrigger>\r\n <vdr-channel-badge [channelCode]=\"activeChannelCode$ | async\"></vdr-channel-badge>\r\n <span class=\"channel-label\">{{\r\n activeChannelCode$ | async | channelCodeToLabel | translate\r\n }}</span>\r\n <span class=\"trigger\"><clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon></span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <input\r\n *ngIf=\"((channelCount$ | async) || 0) >= displayFilterThreshold\"\r\n [formControl]=\"filterControl\"\r\n type=\"text\"\r\n class=\"ml2 mr2\"\r\n [placeholder]=\"'common.filter' | translate\"\r\n />\r\n <button\r\n *ngFor=\"let channel of channels$ | async\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"setActiveChannel(channel.id)\"\r\n >\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [":host{display:block;align-items:center;height:2.5rem}.active-channel{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-xs);color:var(--color-left-nav-text);background-color:var(--color-channel-switcher-bg);border:none;cursor:pointer;width:100%;border-radius:var(--border-radius-lg);padding:var(--space-unit) calc(var(--space-unit) * 2);transition:background-color .1s,color .1s}.active-channel:hover{background-color:var(--color-channel-switcher-hover-bg);color:var(--color-left-nav-text-hover)}.active-channel clr-icon{color:var(--color-left-nav-text)}.channel-label{margin:0 3px;overflow:hidden;flex:1;white-space:nowrap;text-overflow:ellipsis}\n"] }]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.DataService }, { type: i2.ChannelService }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1zd2l0Y2hlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2NvbXBvbmVudHMvY2hhbm5lbC1zd2l0Y2hlci9jaGFubmVsLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tcG9uZW50cy9jaGFubmVsLXN3aXRjaGVyL2NoYW5uZWwtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLHdCQUF3QjtJQU1qQyxZQUFvQixXQUF3QixFQUFVLGNBQThCO1FBQWhFLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBTDNFLDJCQUFzQixHQUFHLEVBQUUsQ0FBQztRQUdyQyxrQkFBYSxHQUFHLElBQUksa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFNEMsQ0FBQztJQUV4RixRQUFRO1FBQ0osTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQVMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FDdkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDaEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUN0RTtZQUNILENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDekMsVUFBVSxFQUFFO2FBQ1osU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQy9GLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7OEdBNUJRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDREQ2hCckMsKzBDQTZCQTs7MkZEYmEsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDdXJyZW50VXNlckNoYW5uZWwgfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGFubmVsU2VydmljZSB9IGZyb20gJy4uLy4uL3Byb3ZpZGVycy9jaGFubmVsL2NoYW5uZWwuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWNoYW5uZWwtc3dpdGNoZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtc3dpdGNoZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hhbm5lbC1zd2l0Y2hlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGFubmVsU3dpdGNoZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcmVhZG9ubHkgZGlzcGxheUZpbHRlclRocmVzaG9sZCA9IDEwO1xyXG4gICAgY2hhbm5lbHMkOiBPYnNlcnZhYmxlPEN1cnJlbnRVc2VyQ2hhbm5lbFtdPjtcclxuICAgIGNoYW5uZWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcclxuICAgIGZpbHRlckNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKTtcclxuICAgIGFjdGl2ZUNoYW5uZWxDb2RlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGNoYW5uZWxzJCA9IHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50LnVzZXJTdGF0dXMoKS5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVzZXJTdGF0dXMuY2hhbm5lbHMpO1xyXG4gICAgICAgIGNvbnN0IGZpbHRlclRlcm0kID0gdGhpcy5maWx0ZXJDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlPHN0cmluZz4oc3RhcnRXaXRoKCcnKSk7XHJcbiAgICAgICAgdGhpcy5jaGFubmVscyQgPSBjb21iaW5lTGF0ZXN0KGNoYW5uZWxzJCwgZmlsdGVyVGVybSQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoW2NoYW5uZWxzLCBmaWx0ZXJUZXJtXSkgPT4gZmlsdGVyVGVybVxyXG4gICAgICAgICAgICAgICAgICAgID8gY2hhbm5lbHMuZmlsdGVyKGMgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJUZXJtLnRvTG9jYWxlTG93ZXJDYXNlKCkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgIDogY2hhbm5lbHMpLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5jaGFubmVsQ291bnQkID0gY2hhbm5lbHMkLnBpcGUobWFwKGNoYW5uZWxzID0+IGNoYW5uZWxzLmxlbmd0aCkpO1xyXG4gICAgICAgIGNvbnN0IGFjdGl2ZUNoYW5uZWwkID0gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgLnVzZXJTdGF0dXMoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS51c2VyU3RhdHVzLmNoYW5uZWxzLmZpbmQoYyA9PiBjLmlkID09PSBkYXRhLnVzZXJTdGF0dXMuYWN0aXZlQ2hhbm5lbElkKSlcclxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKG5vdE51bGxPclVuZGVmaW5lZCkpO1xyXG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbm5lbENvZGUkID0gYWN0aXZlQ2hhbm5lbCQucGlwZShtYXAoY2hhbm5lbCA9PiBjaGFubmVsLmNvZGUpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRBY3RpdmVDaGFubmVsKGNoYW5uZWxJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5zZXRBY3RpdmVDaGFubmVsKGNoYW5uZWxJZCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZmlsdGVyQ29udHJvbC5wYXRjaFZhbHVlKCcnKSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lcj5cclxuICAgIDx2ZHItZHJvcGRvd24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGl2ZS1jaGFubmVsIG0tYXV0b1wiIHZkckRyb3Bkb3duVHJpZ2dlcj5cclxuICAgICAgICAgICAgPHZkci1jaGFubmVsLWJhZGdlIFtjaGFubmVsQ29kZV09XCJhY3RpdmVDaGFubmVsQ29kZSQgfCBhc3luY1wiPjwvdmRyLWNoYW5uZWwtYmFkZ2U+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hhbm5lbC1sYWJlbFwiPnt7XHJcbiAgICAgICAgICAgICAgICBhY3RpdmVDaGFubmVsQ29kZSQgfCBhc3luYyB8IGNoYW5uZWxDb2RlVG9MYWJlbCB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0cmlnZ2VyXCI+PGNsci1pY29uIHNoYXBlPVwiZWxsaXBzaXMtdmVydGljYWxcIiBzaXplPVwiMTJcIj48L2Nsci1pY29uPjwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8dmRyLWRyb3Bkb3duLW1lbnUgdmRyUG9zaXRpb249XCJib3R0b20tcmlnaHRcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIigoY2hhbm5lbENvdW50JCB8IGFzeW5jKSB8fCAwKSA+PSBkaXNwbGF5RmlsdGVyVGhyZXNob2xkXCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmaWx0ZXJDb250cm9sXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWwyIG1yMlwiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ2NvbW1vbi5maWx0ZXInIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNoYW5uZWwgb2YgY2hhbm5lbHMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICB2ZHJEcm9wZG93bkl0ZW1cclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRBY3RpdmVDaGFubmVsKGNoYW5uZWwuaWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHZkci1jaGFubmVsLWJhZGdlIFtjaGFubmVsQ29kZV09XCJjaGFubmVsLmNvZGVcIj48L3Zkci1jaGFubmVsLWJhZGdlPlxyXG4gICAgICAgICAgICAgICAge3sgY2hhbm5lbC5jb2RlIHwgY2hhbm5lbENvZGVUb0xhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICA8L3Zkci1kcm9wZG93bj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|