@vendure/admin-ui 1.3.4 → 1.4.2
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/bundles/vendure-admin-ui-catalog.umd.js +87 -162
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +2022 -404
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-customer.umd.js +79 -57
- package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-marketing.umd.js +11 -1
- package/bundles/vendure-admin-ui-marketing.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-order.umd.js +10 -2
- package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-settings.umd.js +156 -153
- package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
- package/catalog/components/collection-detail/collection-detail.component.d.ts +0 -1
- package/catalog/components/collection-list/collection-list.component.d.ts +3 -0
- package/catalog/components/facet-detail/facet-detail.component.d.ts +0 -1
- package/catalog/components/facet-list/facet-list.component.d.ts +3 -5
- package/catalog/components/product-detail/product-detail.component.d.ts +0 -1
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/app.component.d.ts +1 -0
- package/core/common/base-detail.component.d.ts +42 -1
- package/core/common/base-entity-resolver.d.ts +28 -1
- package/core/common/base-list.component.d.ts +75 -1
- package/core/common/component-registry-types.d.ts +46 -0
- package/core/common/generated-types.d.ts +282 -23
- package/core/common/utilities/get-default-ui-language.d.ts +1 -0
- package/core/common/version.d.ts +1 -1
- package/core/components/app-shell/app-shell.component.d.ts +1 -1
- package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +17 -4
- package/core/components/user-menu/user-menu.component.d.ts +1 -1
- package/core/data/client-state/client-defaults.d.ts +1 -1
- package/core/data/definitions/client-definitions.d.ts +3 -1
- package/core/data/definitions/customer-definitions.d.ts +1 -0
- package/core/data/definitions/settings-definitions.d.ts +1 -0
- package/core/data/providers/client-data.service.d.ts +3 -1
- package/core/data/providers/data.service.d.ts +54 -12
- package/core/data/providers/settings-data.service.d.ts +3 -0
- package/core/data/query-result.d.ts +11 -2
- package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +25 -0
- package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +15 -0
- package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -3
- package/core/providers/local-storage/local-storage.service.d.ts +1 -0
- package/core/providers/modal/modal.service.d.ts +41 -12
- package/core/providers/nav-builder/nav-builder-types.d.ts +19 -1
- package/core/providers/nav-builder/nav-builder.service.d.ts +14 -10
- package/core/providers/notification/notification.service.d.ts +37 -0
- package/core/public_api.d.ts +8 -0
- package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +2 -1
- package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +18 -0
- package/core/shared/components/asset-preview/asset-preview.component.d.ts +0 -1
- package/core/shared/components/chip/chip.component.d.ts +20 -0
- package/core/shared/components/currency-input/currency-input.component.d.ts +11 -0
- package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +17 -0
- package/core/shared/components/data-table/data-table.component.d.ts +59 -0
- package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +17 -0
- package/core/shared/components/dropdown/dropdown.component.d.ts +25 -0
- package/core/shared/components/extension-host/extension-host.service.d.ts +3 -1
- package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +22 -0
- package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +1 -1
- package/core/shared/components/object-tree/object-tree.component.d.ts +8 -0
- package/core/shared/components/order-state-label/order-state-label.component.d.ts +10 -0
- package/core/shared/components/product-selector/product-selector.component.d.ts +12 -0
- package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +12 -1
- package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +21 -0
- package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +15 -0
- package/core/shared/directives/if-multichannel.directive.d.ts +14 -0
- package/core/shared/directives/if-permissions.directive.d.ts +3 -0
- package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +7 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +32 -0
- package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +7 -0
- package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +8 -0
- package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +10 -0
- package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +8 -0
- package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +12 -0
- package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +7 -0
- package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -0
- package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +40 -3
- package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +9 -0
- package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +16 -0
- package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +9 -0
- package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +12 -3
- package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +7 -0
- package/core/shared/pipes/asset-preview.pipe.d.ts +14 -0
- package/core/shared/pipes/duration.pipe.d.ts +8 -0
- package/core/shared/pipes/file-size.pipe.d.ts +8 -0
- package/core/shared/pipes/has-permission.pipe.d.ts +3 -1
- package/core/shared/pipes/locale-currency-name.pipe.d.ts +8 -0
- package/core/shared/pipes/locale-currency.pipe.d.ts +12 -0
- package/core/shared/pipes/locale-date.pipe.d.ts +7 -0
- package/core/shared/pipes/locale-language-name.pipe.d.ts +9 -1
- package/core/shared/pipes/locale-region-name.pipe.d.ts +18 -0
- package/core/shared/pipes/time-ago.pipe.d.ts +8 -0
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/customer/components/customer-detail/customer-detail.component.d.ts +2 -3
- package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +14 -3
- package/customer/vendure-admin-ui-customer.metadata.json +1 -1
- package/esm2015/catalog/catalog.module.js +29 -28
- package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -10
- package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -16
- package/esm2015/catalog/components/collection-list/collection-list.component.js +23 -5
- package/esm2015/catalog/components/facet-detail/facet-detail.component.js +3 -15
- package/esm2015/catalog/components/facet-list/facet-list.component.js +24 -9
- package/esm2015/catalog/components/product-assets/product-assets.component.js +2 -2
- package/esm2015/catalog/components/product-detail/product-detail.component.js +5 -27
- package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +3 -3
- package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
- package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +2 -2
- package/esm2015/core/app.component.js +20 -2
- package/esm2015/core/common/base-detail.component.js +53 -1
- package/esm2015/core/common/base-entity-resolver.js +29 -2
- package/esm2015/core/common/base-list.component.js +76 -2
- package/esm2015/core/common/component-registry-types.js +1 -1
- package/esm2015/core/common/generated-types.js +1 -1
- package/esm2015/core/common/introspection-result.js +249 -183
- package/esm2015/core/common/utilities/get-default-ui-language.js +9 -1
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/components/app-shell/app-shell.component.js +12 -7
- package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
- package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +281 -5
- package/esm2015/core/components/user-menu/user-menu.component.js +3 -3
- package/esm2015/core/data/client-state/client-defaults.js +5 -2
- package/esm2015/core/data/client-state/client-resolvers.js +32 -33
- package/esm2015/core/data/definitions/client-definitions.js +18 -3
- package/esm2015/core/data/definitions/customer-definitions.js +21 -25
- package/esm2015/core/data/definitions/settings-definitions.js +50 -5
- package/esm2015/core/data/providers/client-data.service.js +15 -4
- package/esm2015/core/data/providers/data.service.js +44 -2
- package/esm2015/core/data/providers/settings-data.service.js +12 -4
- package/esm2015/core/data/query-result.js +14 -4
- package/esm2015/core/providers/custom-detail-component/custom-detail-component-types.js +2 -0
- package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +44 -0
- package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +6 -6
- package/esm2015/core/providers/local-storage/local-storage.service.js +1 -1
- package/esm2015/core/providers/modal/modal.service.js +20 -12
- package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
- package/esm2015/core/providers/nav-builder/nav-builder.service.js +15 -11
- package/esm2015/core/providers/notification/notification.service.js +24 -1
- package/esm2015/core/public_api.js +9 -1
- package/esm2015/core/shared/components/action-bar/action-bar.component.js +1 -1
- package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +3 -3
- package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
- package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +19 -1
- package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -6
- package/esm2015/core/shared/components/chip/chip.component.js +12 -1
- package/esm2015/core/shared/components/currency-input/currency-input.component.js +12 -1
- package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +44 -0
- package/esm2015/core/shared/components/data-table/data-table.component.js +60 -1
- package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +17 -1
- package/esm2015/core/shared/components/dropdown/dropdown.component.js +26 -1
- package/esm2015/core/shared/components/extension-host/extension-host.component.js +3 -3
- package/esm2015/core/shared/components/extension-host/extension-host.service.js +16 -2
- package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +23 -1
- package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +2 -2
- package/esm2015/core/shared/components/object-tree/object-tree.component.js +9 -1
- package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +11 -1
- package/esm2015/core/shared/components/product-selector/product-selector.component.js +13 -1
- package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +14 -3
- package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +48 -0
- package/esm2015/core/shared/components/title-input/title-input.component.js +1 -1
- package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +31 -0
- package/esm2015/core/shared/directives/if-multichannel.directive.js +15 -1
- package/esm2015/core/shared/directives/if-permissions.directive.js +4 -1
- package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +8 -1
- package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +125 -0
- package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +8 -1
- package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +9 -1
- package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +21 -2
- package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +4 -3
- package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +9 -1
- package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +29 -2
- package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +8 -1
- package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +9 -1
- package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +42 -2
- package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +10 -1
- package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +20 -0
- package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +14 -2
- package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +17 -2
- package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +8 -1
- package/esm2015/core/shared/pipes/asset-preview.pipe.js +15 -1
- package/esm2015/core/shared/pipes/duration.pipe.js +9 -1
- package/esm2015/core/shared/pipes/file-size.pipe.js +9 -1
- package/esm2015/core/shared/pipes/has-permission.pipe.js +4 -2
- package/esm2015/core/shared/pipes/locale-base.pipe.js +7 -4
- package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +9 -1
- package/esm2015/core/shared/pipes/locale-currency.pipe.js +13 -1
- package/esm2015/core/shared/pipes/locale-date.pipe.js +8 -1
- package/esm2015/core/shared/pipes/locale-language-name.pipe.js +10 -2
- package/esm2015/core/shared/pipes/locale-region-name.pipe.js +48 -0
- package/esm2015/core/shared/pipes/time-ago.pipe.js +9 -1
- package/esm2015/core/shared/shared.module.js +13 -1
- package/esm2015/customer/components/customer-detail/customer-detail.component.js +5 -16
- package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +32 -3
- package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +22 -18
- package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +9 -2
- package/esm2015/order/components/order-detail/order-detail.component.js +11 -3
- package/esm2015/settings/components/admin-detail/admin-detail.component.js +3 -14
- package/esm2015/settings/components/channel-detail/channel-detail.component.js +3 -14
- package/esm2015/settings/components/country-detail/country-detail.component.js +11 -3
- package/esm2015/settings/components/country-list/country-list.component.js +19 -7
- package/esm2015/settings/components/global-settings/global-settings.component.js +3 -14
- package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +9 -2
- package/esm2015/settings/components/profile/profile.component.js +3 -14
- package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +3 -16
- package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +13 -3
- package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +9 -2
- package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +32 -3
- package/esm2015/settings/components/zone-list/zone-list.component.js +19 -8
- package/fesm2015/vendure-admin-ui-catalog.js +83 -102
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +1865 -341
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.js +54 -34
- package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
- package/fesm2015/vendure-admin-ui-marketing.js +8 -1
- package/fesm2015/vendure-admin-ui-marketing.js.map +1 -1
- package/fesm2015/vendure-admin-ui-order.js +10 -2
- package/fesm2015/vendure-admin-ui-order.js.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.js +110 -85
- package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
- package/marketing/components/promotion-detail/promotion-detail.component.d.ts +2 -1
- package/marketing/vendure-admin-ui-marketing.metadata.json +1 -1
- package/order/vendure-admin-ui-order.metadata.json +1 -1
- package/package.json +6 -5
- package/settings/components/admin-detail/admin-detail.component.d.ts +0 -1
- package/settings/components/channel-detail/channel-detail.component.d.ts +0 -1
- package/settings/components/country-detail/country-detail.component.d.ts +2 -1
- package/settings/components/country-list/country-list.component.d.ts +7 -2
- package/settings/components/global-settings/global-settings.component.d.ts +0 -1
- package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -1
- package/settings/components/profile/profile.component.d.ts +0 -1
- package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -1
- package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
- package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
- package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +14 -3
- package/settings/components/zone-list/zone-list.component.d.ts +6 -2
- package/settings/vendure-admin-ui-settings.metadata.json +1 -1
- package/static/i18n-messages/cs.json +7 -0
- package/static/i18n-messages/de.json +7 -0
- package/static/i18n-messages/en.json +7 -0
- package/static/i18n-messages/es.json +8 -1
- package/static/i18n-messages/fr.json +7 -0
- package/static/i18n-messages/it.json +7 -0
- package/static/i18n-messages/pl.json +7 -0
- package/static/i18n-messages/pt_BR.json +7 -0
- package/static/i18n-messages/pt_PT.json +7 -0
- package/static/i18n-messages/ru.json +7 -0
- package/static/i18n-messages/uk.json +7 -0
- package/static/i18n-messages/zh_Hans.json +7 -0
- package/static/i18n-messages/zh_Hant.json +7 -0
- package/static/styles/global/_utilities.scss +3 -1
- package/static/styles/theme/dark.scss +9 -0
- package/static/styles/theme/default.scss +8 -0
- package/static/theme.min.css +1 -1
|
@@ -1,6 +1,20 @@
|
|
|
1
1
|
import { Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { DataService } from '../../data/providers/data.service';
|
|
3
3
|
import { IfDirectiveBase } from './if-directive-base';
|
|
4
|
+
/**
|
|
5
|
+
* @description
|
|
6
|
+
* Structural directive that displays the given element if the Vendure instance has multiple channels
|
|
7
|
+
* configured.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```html
|
|
11
|
+
* <div *vdrIfMultichannel class="channel-selector">
|
|
12
|
+
* <!-- ... -->
|
|
13
|
+
* </ng-container>
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @docsCategory directives
|
|
17
|
+
*/
|
|
4
18
|
export class IfMultichannelDirective extends IfDirectiveBase {
|
|
5
19
|
constructor(_viewContainer, templateRef, dataService) {
|
|
6
20
|
super(_viewContainer, templateRef, () => {
|
|
@@ -30,4 +44,4 @@ IfMultichannelDirective.ctorParameters = () => [
|
|
|
30
44
|
IfMultichannelDirective.propDecorators = {
|
|
31
45
|
vdrIfMultichannelElse: [{ type: Input }]
|
|
32
46
|
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtbXVsdGljaGFubmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2RpcmVjdGl2ZXMvaWYtbXVsdGljaGFubmVsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7Ozs7Ozs7Ozs7OztHQWFHO0FBSUgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQW1CO0lBQzVELFlBQ0ksY0FBZ0MsRUFDaEMsV0FBNkIsRUFDckIsV0FBd0I7UUFFaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO2lCQUN6QixVQUFVLEVBQUU7aUJBQ1osU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7UUFOSyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQU9wQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLHFCQUFxQixDQUFDLFdBQW9DO1FBQzFELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7O1lBdEJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2FBQ2xDOzs7WUF0QnVDLGdCQUFnQjtZQUE3QixXQUFXO1lBRTdCLFdBQVc7OztvQ0FxQ2YsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBJZkRpcmVjdGl2ZUJhc2UgfSBmcm9tICcuL2lmLWRpcmVjdGl2ZS1iYXNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogU3RydWN0dXJhbCBkaXJlY3RpdmUgdGhhdCBkaXNwbGF5cyB0aGUgZ2l2ZW4gZWxlbWVudCBpZiB0aGUgVmVuZHVyZSBpbnN0YW5jZSBoYXMgbXVsdGlwbGUgY2hhbm5lbHNcclxuICogY29uZmlndXJlZC5cclxuICpcclxuICogQGV4YW1wbGVcclxuICogYGBgaHRtbFxyXG4gKiA8ZGl2ICp2ZHJJZk11bHRpY2hhbm5lbCBjbGFzcz1cImNoYW5uZWwtc2VsZWN0b3JcIj5cclxuICogICA8IS0tIC4uLiAtLT5cclxuICogPC9uZy1jb250YWluZXI+XHJcbiAqIGBgYFxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGRpcmVjdGl2ZXNcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbdmRySWZNdWx0aWNoYW5uZWxdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIElmTXVsdGljaGFubmVsRGlyZWN0aXZlIGV4dGVuZHMgSWZEaXJlY3RpdmVCYXNlPFtdPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgICAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF92aWV3Q29udGFpbmVyLCB0ZW1wbGF0ZVJlZiwgKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgICAgIC51c2VyU3RhdHVzKClcclxuICAgICAgICAgICAgICAgIC5tYXBTdHJlYW0oKHsgdXNlclN0YXR1cyB9KSA9PiAxIDwgdXNlclN0YXR1cy5jaGFubmVscy5sZW5ndGgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSB0ZW1wbGF0ZSB0byBzaG93IGlmIHRoZSBjdXJyZW50IHVzZXIgZG9lcyBub3QgaGF2ZSB0aGUgc3BlaWNpZmllZCBwZXJtaXNzaW9uLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHZkcklmTXVsdGljaGFubmVsRWxzZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLnNldEVsc2VUZW1wbGF0ZSh0ZW1wbGF0ZVJlZik7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -4,6 +4,7 @@ import { tap } from 'rxjs/operators';
|
|
|
4
4
|
import { DataService } from '../../data/providers/data.service';
|
|
5
5
|
import { IfDirectiveBase } from './if-directive-base';
|
|
6
6
|
/**
|
|
7
|
+
* @description
|
|
7
8
|
* Conditionally shows/hides templates based on the current active user having the specified permission.
|
|
8
9
|
* Based on the ngIf source. Also support "else" templates:
|
|
9
10
|
*
|
|
@@ -15,6 +16,8 @@ import { IfDirectiveBase } from './if-directive-base';
|
|
|
15
16
|
*
|
|
16
17
|
* The permission can be a single string, or an array. If an array is passed, then _all_ of the permissions
|
|
17
18
|
* must match (logical AND)
|
|
19
|
+
*
|
|
20
|
+
* @docsCategory directives
|
|
18
21
|
*/
|
|
19
22
|
export class IfPermissionsDirective extends IfDirectiveBase {
|
|
20
23
|
constructor(_viewContainer, templateRef, dataService, changeDetectorRef) {
|
|
@@ -72,4 +75,4 @@ IfPermissionsDirective.propDecorators = {
|
|
|
72
75
|
vdrIfPermissions: [{ type: Input }],
|
|
73
76
|
vdrIfPermissionsElse: [{ type: Input }]
|
|
74
77
|
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtcGVybWlzc2lvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZGlyZWN0aXZlcy9pZi1wZXJtaXNzaW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RDs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFJSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsZUFBMkM7SUFHbkYsWUFDSSxjQUFnQyxFQUNoQyxXQUE2QixFQUNyQixXQUF3QixFQUN4QixpQkFBb0M7UUFFNUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDN0MsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtpQkFBTSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNyQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNO2lCQUN6QixVQUFVLEVBQUU7aUJBQ1osU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUMxQixLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtvQkFDbEMsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTt3QkFDN0MsT0FBTyxJQUFJLENBQUM7cUJBQ2Y7aUJBQ0o7Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDakIsQ0FBQyxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztRQXBCSyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBTnhDLHNCQUFpQixHQUFvQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUEwQm5FLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksZ0JBQWdCLENBQUMsVUFBb0M7UUFDckQsSUFBSSxDQUFDLGlCQUFpQjtZQUNsQixDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ3BGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLG9CQUFvQixDQUFDLFdBQW9DO1FBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OztZQWpESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjthQUNqQzs7O1lBNUJHLGdCQUFnQjtZQURoQixXQUFXO1lBT04sV0FBVztZQVhoQixpQkFBaUI7OzsrQkFrRWhCLEtBQUs7bUNBVUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEVtYmVkZGVkVmlld1JlZixcclxuICAgIElucHV0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IElmRGlyZWN0aXZlQmFzZSB9IGZyb20gJy4vaWYtZGlyZWN0aXZlLWJhc2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBDb25kaXRpb25hbGx5IHNob3dzL2hpZGVzIHRlbXBsYXRlcyBiYXNlZCBvbiB0aGUgY3VycmVudCBhY3RpdmUgdXNlciBoYXZpbmcgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uLlxyXG4gKiBCYXNlZCBvbiB0aGUgbmdJZiBzb3VyY2UuIEFsc28gc3VwcG9ydCBcImVsc2VcIiB0ZW1wbGF0ZXM6XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYGh0bWxcclxuICogPGJ1dHRvbiAqdmRySWZQZXJtaXNzaW9ucz1cIidEZWxldGVDYXRhbG9nJzsgZWxzZSB1bmF1dGhvcml6ZWRcIj5EZWxldGUgUHJvZHVjdDwvYnV0dG9uPlxyXG4gKiA8bmctdGVtcGxhdGUgI3VuYXV0aG9yaXplZD5Ob3QgYWxsb3dlZCE8L25nLXRlbXBsYXRlPlxyXG4gKiBgYGBcclxuICpcclxuICogVGhlIHBlcm1pc3Npb24gY2FuIGJlIGEgc2luZ2xlIHN0cmluZywgb3IgYW4gYXJyYXkuIElmIGFuIGFycmF5IGlzIHBhc3NlZCwgdGhlbiBfYWxsXyBvZiB0aGUgcGVybWlzc2lvbnNcclxuICogbXVzdCBtYXRjaCAobG9naWNhbCBBTkQpXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgZGlyZWN0aXZlc1xyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1t2ZHJJZlBlcm1pc3Npb25zXScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZlBlcm1pc3Npb25zRGlyZWN0aXZlIGV4dGVuZHMgSWZEaXJlY3RpdmVCYXNlPEFycmF5PFBlcm1pc3Npb25bXSB8IG51bGw+PiB7XHJcbiAgICBwcml2YXRlIHBlcm1pc3Npb25Ub0NoZWNrOiBzdHJpbmdbXSB8IG51bGwgPSBbJ19faW5pdGlhbF92YWx1ZV9fJ107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihfdmlld0NvbnRhaW5lciwgdGVtcGxhdGVSZWYsIHBlcm1pc3Npb25zID0+IHtcclxuICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25zID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICghcGVybWlzc2lvbnMpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuY2xpZW50XHJcbiAgICAgICAgICAgICAgICAudXNlclN0YXR1cygpXHJcbiAgICAgICAgICAgICAgICAubWFwU3RyZWFtKCh7IHVzZXJTdGF0dXMgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGVybWlzc2lvbiBvZiBwZXJtaXNzaW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodXNlclN0YXR1cy5wZXJtaXNzaW9ucy5pbmNsdWRlcyhwZXJtaXNzaW9uKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5waXBlKHRhcCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcGVybWlzc2lvbiB0byBjaGVjayB0byBkZXRlcm1pbmUgd2hldGhlciB0byBzaG93IHRoZSB0ZW1wbGF0ZS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCB2ZHJJZlBlcm1pc3Npb25zKHBlcm1pc3Npb246IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMucGVybWlzc2lvblRvQ2hlY2sgPVxyXG4gICAgICAgICAgICAocGVybWlzc2lvbiAmJiAoQXJyYXkuaXNBcnJheShwZXJtaXNzaW9uKSA/IHBlcm1pc3Npb24gOiBbcGVybWlzc2lvbl0pKSB8fCBudWxsO1xyXG4gICAgICAgIHRoaXMudXBkYXRlQXJncyQubmV4dChbdGhpcy5wZXJtaXNzaW9uVG9DaGVjayBhcyBQZXJtaXNzaW9uW11dKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEEgdGVtcGxhdGUgdG8gc2hvdyBpZiB0aGUgY3VycmVudCB1c2VyIGRvZXMgbm90IGhhdmUgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9uLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHZkcklmUGVybWlzc2lvbnNFbHNlKHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2V0RWxzZVRlbXBsYXRlKHRlbXBsYXRlUmVmKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUFyZ3MkLm5leHQoW3RoaXMucGVybWlzc2lvblRvQ2hlY2sgYXMgUGVybWlzc2lvbltdXSk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* A checkbox input. The default input component for `boolean` fields.
|
|
5
|
+
*
|
|
6
|
+
* @docsCategory custom-input-components
|
|
7
|
+
* @docsPage default-inputs
|
|
8
|
+
*/
|
|
2
9
|
export class BooleanFormInputComponent {
|
|
3
10
|
}
|
|
4
11
|
BooleanFormInputComponent.id = 'boolean-form-input';
|
|
@@ -10,4 +17,4 @@ BooleanFormInputComponent.decorators = [
|
|
|
10
17
|
styles: [""]
|
|
11
18
|
},] }
|
|
12
19
|
];
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvYm9vbGVhbi1mb3JtLWlucHV0L2Jvb2xlYW4tZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1uRTs7Ozs7O0dBTUc7QUFPSCxNQUFNLE9BQU8seUJBQXlCOztBQUNsQiw0QkFBRSxHQUEyQixvQkFBb0IsQ0FBQzs7WUFQckUsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDhOQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQsIElucHV0Q29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEEgY2hlY2tib3ggaW5wdXQuIFRoZSBkZWZhdWx0IGlucHV0IGNvbXBvbmVudCBmb3IgYGJvb2xlYW5gIGZpZWxkcy5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBjdXN0b20taW5wdXQtY29tcG9uZW50c1xyXG4gKiBAZG9jc1BhZ2UgZGVmYXVsdC1pbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItYm9vbGVhbi1mb3JtLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ib29sZWFuLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYm9vbGVhbi1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJvb2xlYW5Gb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBGb3JtSW5wdXRDb21wb25lbnQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2Jvb2xlYW4tZm9ybS1pbnB1dCc7XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcclxuICAgIGNvbmZpZzogRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWc8J2Jvb2xlYW4tZm9ybS1pbnB1dCc+O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild, } from '@angular/core';
|
|
2
|
+
import { CodeJar } from 'codejar';
|
|
3
|
+
export function jsonValidator() {
|
|
4
|
+
return (control) => {
|
|
5
|
+
const error = { jsonInvalid: true };
|
|
6
|
+
try {
|
|
7
|
+
JSON.parse(control.value);
|
|
8
|
+
}
|
|
9
|
+
catch (e) {
|
|
10
|
+
control.setErrors(error);
|
|
11
|
+
return error;
|
|
12
|
+
}
|
|
13
|
+
control.setErrors(null);
|
|
14
|
+
return null;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @description
|
|
19
|
+
* A JSON editor input with syntax highlighting and error detection. Works well
|
|
20
|
+
* with `text` type fields.
|
|
21
|
+
*
|
|
22
|
+
* @docsCategory custom-input-components
|
|
23
|
+
* @docsPage default-inputs
|
|
24
|
+
*/
|
|
25
|
+
export class JsonEditorFormInputComponent {
|
|
26
|
+
constructor(changeDetector) {
|
|
27
|
+
this.changeDetector = changeDetector;
|
|
28
|
+
this.isValid = true;
|
|
29
|
+
}
|
|
30
|
+
get height() {
|
|
31
|
+
var _a;
|
|
32
|
+
return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.height) || this.config.height;
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this.formControl.addValidators(jsonValidator());
|
|
36
|
+
}
|
|
37
|
+
ngAfterViewInit() {
|
|
38
|
+
let lastVal = '';
|
|
39
|
+
const highlight = (editor) => {
|
|
40
|
+
var _a;
|
|
41
|
+
const code = (_a = editor.textContent) !== null && _a !== void 0 ? _a : '';
|
|
42
|
+
if (code === lastVal) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
lastVal = code;
|
|
46
|
+
this.errorMessage = this.getJsonError(code);
|
|
47
|
+
this.changeDetector.markForCheck();
|
|
48
|
+
editor.innerHTML = this.syntaxHighlight(code, this.getErrorPos(this.errorMessage));
|
|
49
|
+
};
|
|
50
|
+
this.jar = CodeJar(this.editorElementRef.nativeElement, highlight);
|
|
51
|
+
this.jar.onUpdate(value => {
|
|
52
|
+
this.formControl.setValue(value);
|
|
53
|
+
this.formControl.markAsDirty();
|
|
54
|
+
this.isValid = this.formControl.valid;
|
|
55
|
+
});
|
|
56
|
+
this.jar.updateCode(this.formControl.value);
|
|
57
|
+
if (this.readonly) {
|
|
58
|
+
this.editorElementRef.nativeElement.contentEditable = 'false';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
getJsonError(json) {
|
|
62
|
+
try {
|
|
63
|
+
JSON.parse(json);
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
return e.message;
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
getErrorPos(errorMessage) {
|
|
71
|
+
if (!errorMessage) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const matches = errorMessage.match(/at position (\d+)/);
|
|
75
|
+
const pos = matches === null || matches === void 0 ? void 0 : matches[1];
|
|
76
|
+
return pos != null ? +pos : undefined;
|
|
77
|
+
}
|
|
78
|
+
syntaxHighlight(json, errorPos) {
|
|
79
|
+
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
80
|
+
let hasMarkedError = false;
|
|
81
|
+
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, (match, ...args) => {
|
|
82
|
+
let cls = 'number';
|
|
83
|
+
if (/^"/.test(match)) {
|
|
84
|
+
if (/:$/.test(match)) {
|
|
85
|
+
cls = 'key';
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
cls = 'string';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else if (/true|false/.test(match)) {
|
|
92
|
+
cls = 'boolean';
|
|
93
|
+
}
|
|
94
|
+
else if (/null/.test(match)) {
|
|
95
|
+
cls = 'null';
|
|
96
|
+
}
|
|
97
|
+
let errorClass = '';
|
|
98
|
+
if (errorPos && !hasMarkedError) {
|
|
99
|
+
const length = args[0].length;
|
|
100
|
+
const offset = args[4];
|
|
101
|
+
if (errorPos <= length + offset) {
|
|
102
|
+
errorClass = 'je-error';
|
|
103
|
+
hasMarkedError = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return '<span class="je-' + cls + ' ' + errorClass + '">' + match + '</span>';
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
JsonEditorFormInputComponent.id = 'json-editor-form-input';
|
|
111
|
+
JsonEditorFormInputComponent.decorators = [
|
|
112
|
+
{ type: Component, args: [{
|
|
113
|
+
selector: 'vdr-json-editor-form-input',
|
|
114
|
+
template: "<div #editor class=\"json-editor\" [class.invalid]=\"!isValid\" [style.height]=\"height || '300px'\"></div>\r\n<div class=\"error-message\">\r\n <span *ngIf=\"errorMessage\">{{ errorMessage }}</span>\r\n</div>\r\n",
|
|
115
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
116
|
+
styles: [".json-editor{min-height:6rem;background-color:var(--color-json-editor-background-color);color:var(--color-json-editor-text);border:1px solid var(--color-component-border-200);border-radius:3px;padding:6px;-moz-tab-size:4;tab-size:4;font-family:\"Source Code Pro\",\"Lucida Console\",Monaco,monospace;font-size:14px;font-weight:400;height:340px;letter-spacing:normal;line-height:20px;resize:both;text-align:initial;min-width:200px}.json-editor:focus{border-color:var(--color-primary-500)}.json-editor.invalid{border-color:var(--clr-forms-invalid-color)}.json-editor ::ng-deep .je-string{color:var(--color-json-editor-string)}.json-editor ::ng-deep .je-number{color:var(--color-json-editor-number)}.json-editor ::ng-deep .je-boolean{color:var(--color-json-editor-boolean)}.json-editor ::ng-deep .je-null{color:var(--color-json-editor-null)}.json-editor ::ng-deep .je-key{color:var(--color-json-editor-key)}.json-editor ::ng-deep .je-error{-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy;-webkit-text-decoration-color:var(--color-json-editor-error);text-decoration-color:var(--color-json-editor-error)}.error-message{min-height:1rem;color:var(--color-json-editor-error)}\n"]
|
|
117
|
+
},] }
|
|
118
|
+
];
|
|
119
|
+
JsonEditorFormInputComponent.ctorParameters = () => [
|
|
120
|
+
{ type: ChangeDetectorRef }
|
|
121
|
+
];
|
|
122
|
+
JsonEditorFormInputComponent.propDecorators = {
|
|
123
|
+
editorElementRef: [{ type: ViewChild, args: ['editor',] }]
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2NvZGUtZWRpdG9yLWZvcm0taW5wdXQvanNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBSWxDLE1BQU0sVUFBVSxhQUFhO0lBQ3pCLE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQ3pELE1BQU0sS0FBSyxHQUFxQixFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUV0RCxJQUFJO1lBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQVVyQyxZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFMckQsWUFBTyxHQUFHLElBQUksQ0FBQztJQUt5QyxDQUFDO0lBRXpELElBQUksTUFBTTs7UUFDTixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsMENBQUUsTUFBTSxLQUFJLElBQUks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ZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IENvZGVKYXIgfSBmcm9tICdjb2RlamFyJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGpzb25WYWxpZGF0b3IoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XHJcbiAgICAgICAgY29uc3QgZXJyb3I6IFZhbGlkYXRpb25FcnJvcnMgPSB7IGpzb25JbnZhbGlkOiB0cnVlIH07XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIEpTT04ucGFyc2UoY29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcik7XHJcbiAgICAgICAgICAgIHJldHVybiBlcnJvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIEpTT04gZWRpdG9yIGlucHV0IHdpdGggc3ludGF4IGhpZ2hsaWdodGluZyBhbmQgZXJyb3IgZGV0ZWN0aW9uLiBXb3JrcyB3ZWxsXHJcbiAqIHdpdGggYHRleHRgIHR5cGUgZmllbGRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqIEBkb2NzUGFnZSBkZWZhdWx0LWlucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1qc29uLWVkaXRvci1mb3JtLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9qc29uLWVkaXRvci1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2pzb24tZWRpdG9yLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSnNvbkVkaXRvckZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdqc29uLWVkaXRvci1mb3JtLWlucHV0JztcclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZzwnanNvbi1lZGl0b3ItZm9ybS1pbnB1dCc+O1xyXG4gICAgaXNWYWxpZCA9IHRydWU7XHJcbiAgICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIEBWaWV3Q2hpbGQoJ2VkaXRvcicpIHByaXZhdGUgZWRpdG9yRWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgICBqYXI6IENvZGVKYXI7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gICAgZ2V0IGhlaWdodCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudWk/LmhlaWdodCB8fCB0aGlzLmNvbmZpZy5oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5hZGRWYWxpZGF0b3JzKGpzb25WYWxpZGF0b3IoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGxldCBsYXN0VmFsID0gJyc7XHJcbiAgICAgICAgY29uc3QgaGlnaGxpZ2h0ID0gKGVkaXRvcjogSFRNTEVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29kZSA9IGVkaXRvci50ZXh0Q29udGVudCA/PyAnJztcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IGxhc3RWYWwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsYXN0VmFsID0gY29kZTtcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmdldEpzb25FcnJvcihjb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgZWRpdG9yLmlubmVySFRNTCA9IHRoaXMuc3ludGF4SGlnaGxpZ2h0KGNvZGUsIHRoaXMuZ2V0RXJyb3JQb3ModGhpcy5lcnJvck1lc3NhZ2UpKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuamFyID0gQ29kZUphcih0aGlzLmVkaXRvckVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgaGlnaGxpZ2h0KTtcclxuICAgICAgICB0aGlzLmphci5vblVwZGF0ZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNWYWxpZCA9IHRoaXMuZm9ybUNvbnRyb2wudmFsaWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5qYXIudXBkYXRlQ29kZSh0aGlzLmZvcm1Db250cm9sLnZhbHVlKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgdGhpcy5lZGl0b3JFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGVudEVkaXRhYmxlID0gJ2ZhbHNlJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRKc29uRXJyb3IoanNvbjogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBKU09OLnBhcnNlKGpzb24pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGUubWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXJyb3JQb3MoZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICghZXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGVycm9yTWVzc2FnZS5tYXRjaCgvYXQgcG9zaXRpb24gKFxcZCspLyk7XHJcbiAgICAgICAgY29uc3QgcG9zID0gbWF0Y2hlcz8uWzFdO1xyXG4gICAgICAgIHJldHVybiBwb3MgIT0gbnVsbCA/ICtwb3MgOiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzeW50YXhIaWdobGlnaHQoanNvbjogc3RyaW5nLCBlcnJvclBvczogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAganNvbiA9IGpzb24ucmVwbGFjZSgvJi9nLCAnJmFtcDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xyXG4gICAgICAgIGxldCBoYXNNYXJrZWRFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybiBqc29uLnJlcGxhY2UoXHJcbiAgICAgICAgICAgIC8oXCIoXFxcXHVbYS16QS1aMC05XXs0fXxcXFxcW151XXxbXlxcXFxcIl0pKlwiKFxccyo6KT98XFxiKHRydWV8ZmFsc2V8bnVsbClcXGJ8LT9cXGQrKD86XFwuXFxkKik/KD86W2VFXVsrXFwtXT9cXGQrKT8pL2csXHJcbiAgICAgICAgICAgIChtYXRjaCwgLi4uYXJncykgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IGNscyA9ICdudW1iZXInO1xyXG4gICAgICAgICAgICAgICAgaWYgKC9eXCIvLnRlc3QobWF0Y2gpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKC86JC8udGVzdChtYXRjaCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xzID0gJ2tleSc7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xzID0gJ3N0cmluZyc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgvdHJ1ZXxmYWxzZS8udGVzdChtYXRjaCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBjbHMgPSAnYm9vbGVhbic7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKC9udWxsLy50ZXN0KG1hdGNoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNscyA9ICdudWxsJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGxldCBlcnJvckNsYXNzID0gJyc7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JQb3MgJiYgIWhhc01hcmtlZEVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoID0gYXJnc1swXS5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gYXJnc1s0XTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3JQb3MgPD0gbGVuZ3RoICsgb2Zmc2V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yQ2xhc3MgPSAnamUtZXJyb3InO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNNYXJrZWRFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz1cImplLScgKyBjbHMgKyAnICcgKyBlcnJvckNsYXNzICsgJ1wiPicgKyBtYXRjaCArICc8L3NwYW4+JztcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import { DataService } from '../../../data/providers/data.service';
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* An input for monetary values. Should be used with `int` type fields.
|
|
6
|
+
*
|
|
7
|
+
* @docsCategory custom-input-components
|
|
8
|
+
* @docsPage default-inputs
|
|
9
|
+
*/
|
|
3
10
|
export class CurrencyFormInputComponent {
|
|
4
11
|
constructor(dataService) {
|
|
5
12
|
this.dataService = dataService;
|
|
@@ -23,4 +30,4 @@ CurrencyFormInputComponent.ctorParameters = () => [
|
|
|
23
30
|
CurrencyFormInputComponent.propDecorators = {
|
|
24
31
|
readonly: [{ type: Input }]
|
|
25
32
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1cnJlbmN5LWZvcm0taW5wdXQvY3VycmVuY3ktZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRW5FOzs7Ozs7R0FNRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7SUFPbkMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDekMsZ0JBQWdCLEVBQUU7YUFDbEIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDOztBQVZlLDZCQUFFLEdBQTJCLHFCQUFxQixDQUFDOztZQVB0RSxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsaUxBQW1EO2dCQUVuRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQWRRLFdBQVc7Ozt1QkFpQmYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZywgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50LCBJbnB1dENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeUNvZGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBbiBpbnB1dCBmb3IgbW9uZXRhcnkgdmFsdWVzLiBTaG91bGQgYmUgdXNlZCB3aXRoIGBpbnRgIHR5cGUgZmllbGRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqIEBkb2NzUGFnZSBkZWZhdWx0LWlucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jdXJyZW5jeS1mb3JtLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2N1cnJlbmN5LWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBGb3JtSW5wdXRDb21wb25lbnQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2N1cnJlbmN5LWZvcm0taW5wdXQnO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBjdXJyZW5jeUNvZGUkOiBPYnNlcnZhYmxlPEN1cnJlbmN5Q29kZT47XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdjdXJyZW5jeS1mb3JtLWlucHV0Jz47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbmN5Q29kZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzXHJcbiAgICAgICAgICAgIC5nZXRBY3RpdmVDaGFubmVsKClcclxuICAgICAgICAgICAgLm1hcFN0cmVhbShkYXRhID0+IGRhdGEuYWN0aXZlQ2hhbm5lbC5jdXJyZW5jeUNvZGUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import { startWith } from 'rxjs/operators';
|
|
3
3
|
import { DataService } from '../../../data/providers/data.service';
|
|
4
|
+
/**
|
|
5
|
+
* @description
|
|
6
|
+
* Allows the selection of a Customer via an autocomplete select input.
|
|
7
|
+
* Should be used with `ID` type fields which represent Customer IDs.
|
|
8
|
+
*
|
|
9
|
+
* @docsCategory custom-input-components
|
|
10
|
+
* @docsPage default-inputs
|
|
11
|
+
*/
|
|
4
12
|
export class CustomerGroupFormInputComponent {
|
|
5
13
|
constructor(dataService) {
|
|
6
14
|
this.dataService = dataService;
|
|
@@ -32,4 +40,4 @@ CustomerGroupFormInputComponent.ctorParameters = () => [
|
|
|
32
40
|
CustomerGroupFormInputComponent.propDecorators = {
|
|
33
41
|
readonly: [{ type: Input }]
|
|
34
42
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQvY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRTs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLCtCQUErQjtJQU94QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2FBQzNDLG9CQUFvQixDQUFDO1lBQ2xCLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQzthQUNELFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO2FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQThCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQW5CZSxrQ0FBRSxHQUEyQiwyQkFBMkIsQ0FBQzs7WUFQNUUsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSwrQkFBK0I7Z0JBQ3pDLG1vQkFBeUQ7Z0JBRXpELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBZlEsV0FBVzs7O3VCQWtCZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IEdldEN1c3RvbWVyR3JvdXBzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQWxsb3dzIHRoZSBzZWxlY3Rpb24gb2YgYSBDdXN0b21lciB2aWEgYW4gYXV0b2NvbXBsZXRlIHNlbGVjdCBpbnB1dC5cclxuICogU2hvdWxkIGJlIHVzZWQgd2l0aCBgSURgIHR5cGUgZmllbGRzIHdoaWNoIHJlcHJlc2VudCBDdXN0b21lciBJRHMuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWN1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckdyb3VwRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50LCBPbkluaXQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQnO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBjdXN0b21lckdyb3VwcyQ6IE9ic2VydmFibGU8R2V0Q3VzdG9tZXJHcm91cHMuSXRlbXNbXT47XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdjdXN0b21lci1ncm91cC1mb3JtLWlucHV0Jz47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21lckdyb3VwcyQgPSB0aGlzLmRhdGFTZXJ2aWNlLmN1c3RvbWVyXHJcbiAgICAgICAgICAgIC5nZXRDdXN0b21lckdyb3VwTGlzdCh7XHJcbiAgICAgICAgICAgICAgICB0YWtlOiAxMDAwLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAubWFwU2luZ2xlKHJlcyA9PiByZXMuY3VzdG9tZXJHcm91cHMuaXRlbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHN0YXJ0V2l0aChbXSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEdyb3VwKGdyb3VwOiBHZXRDdXN0b21lckdyb3Vwcy5JdGVtcykge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUoZ3JvdXAuaWQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Allows selection of a datetime. Default input for `datetime` type fields.
|
|
5
|
+
*
|
|
6
|
+
* @docsCategory custom-input-components
|
|
7
|
+
* @docsPage default-inputs
|
|
8
|
+
*/
|
|
2
9
|
export class DateFormInputComponent {
|
|
10
|
+
get min() {
|
|
11
|
+
var _a;
|
|
12
|
+
return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.min) || this.config.min;
|
|
13
|
+
}
|
|
14
|
+
get max() {
|
|
15
|
+
var _a;
|
|
16
|
+
return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.max) || this.config.max;
|
|
17
|
+
}
|
|
18
|
+
get yearRange() {
|
|
19
|
+
var _a;
|
|
20
|
+
return ((_a = this.config.ui) === null || _a === void 0 ? void 0 : _a.yearRange) || this.config.yearRange;
|
|
21
|
+
}
|
|
3
22
|
}
|
|
4
23
|
DateFormInputComponent.id = 'date-form-input';
|
|
5
24
|
DateFormInputComponent.decorators = [
|
|
6
25
|
{ type: Component, args: [{
|
|
7
26
|
selector: 'vdr-date-form-input',
|
|
8
|
-
template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"
|
|
27
|
+
template: "<vdr-datetime-picker\r\n [formControl]=\"formControl\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [yearRange]=\"yearRange\"\r\n [readonly]=\"readonly\"\r\n>\r\n</vdr-datetime-picker>\r\n",
|
|
9
28
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10
29
|
styles: [""]
|
|
11
30
|
},] }
|
|
@@ -13,4 +32,4 @@ DateFormInputComponent.decorators = [
|
|
|
13
32
|
DateFormInputComponent.propDecorators = {
|
|
14
33
|
readonly: [{ type: Input }]
|
|
15
34
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZGF0ZS1mb3JtLWlucHV0L2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNMUU7Ozs7OztHQU1HO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQUsvQixJQUFJLEdBQUc7O1FBQ0gsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLDBDQUFFLEdBQUcsS0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUNsRCxDQUFDO0lBQ0QsSUFBSSxHQUFHOztRQUNILE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSwwQ0FBRSxHQUFHLEtBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDbEQsQ0FBQztJQUNELElBQUksU0FBUzs7UUFDVCxPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsMENBQUUsU0FBUyxLQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQzlELENBQUM7O0FBWmUseUJBQUUsR0FBMkIsaUJBQWlCLENBQUM7O1lBUGxFLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixrTkFBK0M7Z0JBRS9DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3VCQUdJLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRDb25maWcsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQWxsb3dzIHNlbGVjdGlvbiBvZiBhIGRhdGV0aW1lLiBEZWZhdWx0IGlucHV0IGZvciBgZGF0ZXRpbWVgIHR5cGUgZmllbGRzLlxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGN1c3RvbS1pbnB1dC1jb21wb25lbnRzXHJcbiAqIEBkb2NzUGFnZSBkZWZhdWx0LWlucHV0c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1kYXRlLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAnZGF0ZS1mb3JtLWlucHV0JztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZzwnZGF0ZS1mb3JtLWlucHV0Jz47XHJcbiAgICBnZXQgbWluKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy51aT8ubWluIHx8IHRoaXMuY29uZmlnLm1pbjtcclxuICAgIH1cclxuICAgIGdldCBtYXgoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnVpPy5tYXggfHwgdGhpcy5jb25maWcubWF4O1xyXG4gICAgfVxyXG4gICAgZ2V0IHllYXJSYW5nZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudWk/LnllYXJSYW5nZSB8fCB0aGlzLmNvbmZpZy55ZWFyUmFuZ2U7XHJcbiAgICB9XHJcbn1cclxuIl19
|
package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js
CHANGED
|
@@ -78,6 +78,7 @@ export class DynamicFormInputComponent {
|
|
|
78
78
|
this.onChange(val);
|
|
79
79
|
this.control.patchValue(val, { emitEvent: false });
|
|
80
80
|
});
|
|
81
|
+
setTimeout(() => this.changeDetectorRef.markForCheck());
|
|
81
82
|
}
|
|
82
83
|
};
|
|
83
84
|
// initial render
|
|
@@ -112,7 +113,7 @@ export class DynamicFormInputComponent {
|
|
|
112
113
|
}
|
|
113
114
|
updateBindings(changes, componentRef) {
|
|
114
115
|
if ('def' in changes) {
|
|
115
|
-
componentRef.instance.config =
|
|
116
|
+
componentRef.instance.config = simpleDeepClone(this.def);
|
|
116
117
|
}
|
|
117
118
|
if ('readonly' in changes) {
|
|
118
119
|
componentRef.instance.readonly = this.readonly;
|
|
@@ -154,7 +155,7 @@ export class DynamicFormInputComponent {
|
|
|
154
155
|
renderInputComponent(factory, viewContainerRef, formControl) {
|
|
155
156
|
const componentRef = viewContainerRef.createComponent(factory);
|
|
156
157
|
const { instance } = componentRef;
|
|
157
|
-
instance.config = simpleDeepClone(this.
|
|
158
|
+
instance.config = simpleDeepClone(this.def);
|
|
158
159
|
instance.formControl = formControl;
|
|
159
160
|
instance.readonly = this.readonly;
|
|
160
161
|
componentRef.injector.get(ChangeDetectorRef).markForCheck();
|
|
@@ -262,4 +263,4 @@ DynamicFormInputComponent.propDecorators = {
|
|
|
262
263
|
singleViewContainer: [{ type: ViewChild, args: ['single', { read: ViewContainerRef },] }],
|
|
263
264
|
listItemContainers: [{ type: ViewChildren, args: ['listItem', { read: ViewContainerRef },] }]
|
|
264
265
|
};
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCx3QkFBd0IsRUFFeEIsUUFBUSxFQUNSLEtBQUssRUFPTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBUTVHOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQWtCbEMsWUFDWSx3QkFBa0QsRUFDbEQsd0JBQWtELEVBQ2xELGlCQUFvQyxFQUNwQyxRQUFrQjtRQUhsQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFD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RUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QyxLQUFLLElBQUk7Z0JBQ0wsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1lBQzVDLEtBQUssVUFBVTtnQkFDWCxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDaEQ7Z0JBQ0ksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUE0Qzs7UUFDL0QsT0FBTyxDQUFBLE1BQUMsR0FBMkIsMENBQUUsVUFBVSxNQUFLLHFCQUFxQixDQUFDO0lBQzlFLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBWTs7UUFDNUIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFBLE1BQUEsTUFBQyxHQUFXLDBDQUFFLEVBQUUsMENBQUUsU0FBUyxDQUFBLEtBQUssUUFBUSxDQUFDO0lBQ3RGLENBQUM7OztZQXpSSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsK21DQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUseUJBQXlCO3dCQUN0QyxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBdkJRLHdCQUF3QjtZQXpCN0Isd0JBQXdCO1lBSHhCLGlCQUFpQjtZQUtqQixRQUFROzs7a0JBaURQLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxLQUFLO2tDQUNMLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7aUNBQzlDLFlBQVksU0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbXBvbmVudEZhY3RvcnksXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFR5cGUsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBDb25maWdBcmdUeXBlLCBDdXN0b21GaWVsZFR5cGUsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IENvbmZpZ0FyZ0RlZmluaXRpb24sIEN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IGdldENvbmZpZ0FyZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxpdGllcy9jb25maWd1cmFibGUtb3BlcmF0aW9uLXV0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbXBvbmVudC1yZWdpc3RyeS9jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZSc7XHJcblxyXG50eXBlIElucHV0TGlzdEl0ZW0gPSB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPEZvcm1JbnB1dENvbXBvbmVudD47XHJcbiAgICBjb250cm9sOiBGb3JtQ29udHJvbDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBIGhvc3QgY29tcG9uZW50IHdoaWNoIGRlbGVnYXRlcyB0byBhbiBpbnN0YW5jZSBvciBsaXN0IG9mIEZvcm1JbnB1dENvbXBvbmVudCBjb21wb25lbnRzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1keW5hbWljLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1JbnB1dENvbXBvbmVudFxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICBASW5wdXQoKSBkZWY6IENvbmZpZ0FyZ0RlZmluaXRpb24gfCBDdXN0b21GaWVsZENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBAVmlld0NoaWxkKCdzaW5nbGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgc2luZ2xlVmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ2xpc3RJdGVtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGxpc3RJdGVtQ29udGFpbmVyczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xyXG4gICAgcmVuZGVyQXNMaXN0ID0gZmFsc2U7XHJcbiAgICBsaXN0SXRlbXM6IElucHV0TGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBzaW5nbGVDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBsaXN0SWQgPSAxO1xyXG4gICAgcHJpdmF0ZSBsaXN0Rm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheShbXSk7XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFR5cGU6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50PjtcclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWw6IGFueSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgcmVuZGVyTGlzdCQgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRSZWdpc3RyeVNlcnZpY2U6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh0aGlzLmRlZikuY29tcG9uZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLmNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZS5nZXRJbnB1dENvbXBvbmVudChjb21wb25lbnRJZCk7XHJcbiAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gY29tcG9uZW50VHlwZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tY29uc29sZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgYE5vIGZvcm0gaW5wdXQgY29tcG9uZW50IHJlZ2lzdGVyZWQgd2l0aCB0aGUgaWQgXCIke2NvbXBvbmVudElkfVwiLiBVc2luZyB0aGUgZGVmYXVsdCBpbnB1dCBpbnN0ZWFkLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb21wb25lbnRUeXBlID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHsgLi4udGhpcy5kZWYsIHVpOiB1bmRlZmluZWQgfSBhcyBhbnkpLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGRlZmF1bHRDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBkZWZhdWx0Q29tcG9uZW50VHlwZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb21wb25lbnRUeXBlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIHRlbXAgaW5zdGFuY2UgdG8gY2hlY2sgdGhlIHZhbHVlIG9mIGBpc0xpc3RJbnB1dGBcclxuICAgICAgICAgICAgY29uc3QgY21wUmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdElucHV0Q29tcG9uZW50ID0gY21wUmVmLmluc3RhbmNlLmlzTGlzdElucHV0ID8/IGZhbHNlO1xyXG4gICAgICAgICAgICBjbXBSZWYuZGVzdHJveSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmLmxpc3QgPT09IGZhbHNlICYmIGlzTGlzdElucHV0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICAgYFRoZSAke3RoaXMuY29tcG9uZW50VHlwZS5uYW1lfSBjb21wb25lbnQgaXMgYSBsaXN0IGlucHV0LCBidXQgdGhlIGRlZmluaXRpb24gZm9yICR7dGhpcy5kZWYubmFtZX0gZG9lcyBub3QgZXhwZWN0IGEgbGlzdGAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyQXNMaXN0ID0gdGhpcy5kZWYubGlzdCAmJiAhaXNMaXN0SW5wdXRDb21wb25lbnQ7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJBc0xpc3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcclxuICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlVmlld0NvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVuZGVyTGlzdElucHV0cyA9ICh2aWV3Q29udGFpbmVyUmVmczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXdDb250YWluZXJSZWZzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUFycmF5U3ViKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkgPSBuZXcgRm9ybUFycmF5KFtdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMuZm9yRWFjaChpID0+IGkuY29tcG9uZW50UmVmPy5kZXN0cm95KCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmcy5mb3JFYWNoKChyZWYsIGkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RJdGVtID0gdGhpcy5saXN0SXRlbXM/LltpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5wdXNoKGxpc3RJdGVtLmNvbnRyb2wpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtLmNvbXBvbmVudFJlZiA9IHRoaXMucmVuZGVySW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY3RvcnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW0uY29udHJvbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1BcnJheVN1YiA9IHRoaXMubGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh2YWwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaW5pdGlhbCByZW5kZXJcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1Db250YWluZXJzLmNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHJlbmRlckxpc3RJbnB1dHModGhpcy5saXN0SXRlbUNvbnRhaW5lcnMpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyByZW5kZXIgb24gY2hhbmdlcyB0byB0aGUgbGlzdFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JFxyXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5saXN0SXRlbUNvbnRhaW5lcnMuY2hhbmdlcy5waXBlKHRha2UoMSkpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGlzdElucHV0cyh0aGlzLmxpc3RJdGVtQ29udGFpbmVycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVCaW5kaW5ncyhjaGFuZ2VzLCBpdGVtLmNvbXBvbmVudFJlZik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQmluZGluZ3MoY2hhbmdlcywgdGhpcy5zaW5nbGVDb21wb25lbnRSZWYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW5kaW5ncyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+KSB7XHJcbiAgICAgICAgaWYgKCdkZWYnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbmZpZyA9IHRoaXMuaXNDb25maWdBcmdEZWYodGhpcy5kZWYpID8gdGhpcy5kZWYudWkgOiB0aGlzLmRlZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCdyZWFkb25seScgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICB0cmFja0J5SWQoaW5kZXg6IG51bWJlciwgaXRlbTogeyBpZDogbnVtYmVyIH0pIHtcclxuICAgICAgICByZXR1cm4gaXRlbS5pZDtcclxuICAgIH1cclxuXHJcbiAgICBhZGRMaXN0SXRlbSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubGlzdEl0ZW1zLnB1c2goe1xyXG4gICAgICAgICAgICBpZDogdGhpcy5saXN0SWQrKyxcclxuICAgICAgICAgICAgY29udHJvbDogbmV3IEZvcm1Db250cm9sKCh0aGlzLmRlZiBhcyBDb25maWdBcmdEZWZpbml0aW9uKS5kZWZhdWx0VmFsdWUgPz8gbnVsbCksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbW92ZUxpc3RJdGVtKGV2ZW50OiBDZGtEcmFnRHJvcDxJbnB1dExpc3RJdGVtPikge1xyXG4gICAgICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saXN0SXRlbXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5yZW1vdmVBdChldmVudC5wcmV2aW91c0luZGV4KTtcclxuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5Lmluc2VydChldmVudC5jdXJyZW50SW5kZXgsIGV2ZW50Lml0ZW0uZGF0YS5jb250cm9sKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUxpc3RJdGVtKGl0ZW06IElucHV0TGlzdEl0ZW0pIHtcclxuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RJdGVtcy5maW5kSW5kZXgoaSA9PiBpID09PSBpdGVtKTtcclxuICAgICAgICAgICAgaXRlbS5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcclxuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSB0aGlzLmxpc3RJdGVtcy5maWx0ZXIoaSA9PiBpICE9PSBpdGVtKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVuZGVySW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxGb3JtSW5wdXRDb21wb25lbnQ+LFxyXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sLFxyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICAgICAgY29uc3QgeyBpbnN0YW5jZSB9ID0gY29tcG9uZW50UmVmO1xyXG4gICAgICAgIGluc3RhbmNlLmNvbmZpZyA9IHNpbXBsZURlZXBDbG9uZSh0aGlzLmlzQ29uZmlnQXJnRGVmKHRoaXMuZGVmKSA/IHRoaXMuZGVmLnVpIDogdGhpcy5kZWYpO1xyXG4gICAgICAgIGluc3RhbmNlLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XHJcbiAgICAgICAgaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgICAgICBpZiAob2JqLmxlbmd0aCA9PT0gdGhpcy5saXN0SXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBvYmouZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubGlzdEl0ZW1zW2luZGV4XT8uY29udHJvbDtcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gb2JqLm1hcChcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMubGlzdElkKyssXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2woZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBJbnB1dExpc3RJdGVtKSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SW5wdXRDb21wb25lbnRDb25maWcoXHJcbiAgICAgICAgYXJnRGVmOiBDb25maWdBcmdEZWZpbml0aW9uIHwgQ3VzdG9tRmllbGRDb25maWcsXHJcbiAgICApOiB7IGNvbXBvbmVudDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IHtcclxuICAgICAgICBpZiAodGhpcy5oYXNVaUNvbmZpZyhhcmdEZWYpICYmIGFyZ0RlZi51aS5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFyZ0RlZi51aTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IGFyZ0RlZj8udHlwZSBhcyBDb25maWdBcmdUeXBlIHwgQ3VzdG9tRmllbGRUeXBlO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICBjYXNlICdsb2NhbGVTdHJpbmcnOiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNPcHRpb25zID1cclxuICAgICAgICAgICAgICAgICAgICAhISh0aGlzLmlzQ29uZmlnQXJnRGVmKGFyZ0RlZikgJiYgYXJnRGVmLnVpPy5vcHRpb25zKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICEhKGFyZ0RlZiBhcyBTdHJpbmdDdXN0b21GaWVsZENvbmZpZykub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChoYXNPcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnc2VsZWN0LWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICd0ZXh0Jzoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dGFyZWEtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdpbnQnOlxyXG4gICAgICAgICAgICBjYXNlICdmbG9hdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdudW1iZXItZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdib29sZWFuLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2RhdGV0aW1lJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ2RhdGUtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAnSUQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dC1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBjYXNlICdyZWxhdGlvbic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdyZWxhdGlvbi1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYXNzZXJ0TmV2ZXIodHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNDb25maWdBcmdEZWYoZGVmOiBDb25maWdBcmdEZWZpbml0aW9uIHwgQ3VzdG9tRmllbGRDb25maWcpOiBkZWYgaXMgQ29uZmlnQXJnRGVmaW5pdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIChkZWYgYXMgQ29uZmlnQXJnRGVmaW5pdGlvbik/Ll9fdHlwZW5hbWUgPT09ICdDb25maWdBcmdEZWZpbml0aW9uJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhc1VpQ29uZmlnKGRlZjogdW5rbm93bik6IGRlZiBpcyB7IHVpOiB7IGNvbXBvbmVudDogc3RyaW5nIH0gfSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBkZWYgPT09ICdvYmplY3QnICYmIHR5cGVvZiAoZGVmIGFzIGFueSk/LnVpPy5jb21wb25lbnQgPT09ICdzdHJpbmcnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCx3QkFBd0IsRUFFeEIsUUFBUSxFQUNSLEtBQUssRUFPTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBUTVHOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQW1CbEMsWUFDWSx3QkFBa0QsRUFDbEQsd0JBQWtELEVBQ2xELGlCQUFvQyxFQUNwQyxRQUFrQjtRQUhsQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFD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VUFBVTtnQkFDWCxPQUFPLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDaEQ7Z0JBQ0ksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUE0Qzs7UUFDL0QsT0FBTyxDQUFBLE1BQUMsR0FBMkIsMENBQUUsVUFBVSxNQUFLLHFCQUFxQixDQUFDO0lBQzlFLENBQUM7SUFFTyxXQUFXLENBQUMsR0FBWTs7UUFDNUIsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFBLE1BQUEsTUFBQyxHQUFXLDBDQUFFLEVBQUUsMENBQUUsU0FBUyxDQUFBLEtBQUssUUFBUSxDQUFDO0lBQ3RGLENBQUM7OztZQTNSSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsK21DQUFrRDtnQkFFbEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUseUJBQXlCO3dCQUN0QyxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBdkJRLHdCQUF3QjtZQXpCN0Isd0JBQXdCO1lBSHhCLGlCQUFpQjtZQUtqQixRQUFROzs7a0JBa0RQLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxLQUFLO2tDQUNMLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7aUNBQzlDLFlBQVksU0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbXBvbmVudEZhY3RvcnksXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFR5cGUsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBDb25maWdBcmdUeXBlLCBDdXN0b21GaWVsZFR5cGUsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdXRpbHMnO1xyXG5pbXBvcnQgeyBzaW1wbGVEZWVwQ2xvbmUgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NpbXBsZS1kZWVwLWNsb25lJztcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IENvbmZpZ0FyZ0RlZmluaXRpb24sIEN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IGdldENvbmZpZ0FyZ1ZhbHVlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWxpdGllcy9jb25maWd1cmFibGUtb3BlcmF0aW9uLXV0aWxzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL2NvbXBvbmVudC1yZWdpc3RyeS9jb21wb25lbnQtcmVnaXN0cnkuc2VydmljZSc7XHJcblxyXG50eXBlIElucHV0TGlzdEl0ZW0gPSB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPEZvcm1JbnB1dENvbXBvbmVudD47XHJcbiAgICBjb250cm9sOiBGb3JtQ29udHJvbDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBIGhvc3QgY29tcG9uZW50IHdoaWNoIGRlbGVnYXRlcyB0byBhbiBpbnN0YW5jZSBvciBsaXN0IG9mIEZvcm1JbnB1dENvbXBvbmVudCBjb21wb25lbnRzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1keW5hbWljLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1JbnB1dENvbXBvbmVudFxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgICBASW5wdXQoKSBkZWY6IENvbmZpZ0FyZ0RlZmluaXRpb24gfCBDdXN0b21GaWVsZENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBAVmlld0NoaWxkKCdzaW5nbGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgc2luZ2xlVmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ2xpc3RJdGVtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGxpc3RJdGVtQ29udGFpbmVyczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xyXG4gICAgcmVuZGVyQXNMaXN0ID0gZmFsc2U7XHJcbiAgICBsaXN0SXRlbXM6IElucHV0TGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBzaW5nbGVDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBsaXN0SWQgPSAxO1xyXG4gICAgcHJpdmF0ZSBsaXN0Rm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheShbXSk7XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFR5cGU6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50PjtcclxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWw6IGFueSkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgb25Ub3VjaDogKCkgPT4gdm9pZDtcclxuICAgIHByaXZhdGUgcmVuZGVyTGlzdCQgPSBuZXcgU3ViamVjdCgpO1xyXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBjb21wb25lbnRSZWdpc3RyeVNlcnZpY2U6IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh0aGlzLmRlZikuY29tcG9uZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aGlzLmNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZS5nZXRJbnB1dENvbXBvbmVudChjb21wb25lbnRJZCk7XHJcbiAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gY29tcG9uZW50VHlwZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tY29uc29sZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgYE5vIGZvcm0gaW5wdXQgY29tcG9uZW50IHJlZ2lzdGVyZWQgd2l0aCB0aGUgaWQgXCIke2NvbXBvbmVudElkfVwiLiBVc2luZyB0aGUgZGVmYXVsdCBpbnB1dCBpbnN0ZWFkLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb21wb25lbnRUeXBlID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHsgLi4udGhpcy5kZWYsIHVpOiB1bmRlZmluZWQgfSBhcyBhbnkpLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGRlZmF1bHRDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBkZWZhdWx0Q29tcG9uZW50VHlwZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb21wb25lbnRUeXBlKTtcclxuXHJcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIHRlbXAgaW5zdGFuY2UgdG8gY2hlY2sgdGhlIHZhbHVlIG9mIGBpc0xpc3RJbnB1dGBcclxuICAgICAgICAgICAgY29uc3QgY21wUmVmID0gZmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdElucHV0Q29tcG9uZW50ID0gY21wUmVmLmluc3RhbmNlLmlzTGlzdElucHV0ID8/IGZhbHNlO1xyXG4gICAgICAgICAgICBjbXBSZWYuZGVzdHJveSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmLmxpc3QgPT09IGZhbHNlICYmIGlzTGlzdElucHV0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICAgYFRoZSAke3RoaXMuY29tcG9uZW50VHlwZS5uYW1lfSBjb21wb25lbnQgaXMgYSBsaXN0IGlucHV0LCBidXQgdGhlIGRlZmluaXRpb24gZm9yICR7dGhpcy5kZWYubmFtZX0gZG9lcyBub3QgZXhwZWN0IGEgbGlzdGAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyQXNMaXN0ID0gdGhpcy5kZWYubGlzdCAmJiAhaXNMaXN0SW5wdXRDb21wb25lbnQ7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJBc0xpc3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcclxuICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlVmlld0NvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVuZGVyTGlzdElucHV0cyA9ICh2aWV3Q29udGFpbmVyUmVmczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXdDb250YWluZXJSZWZzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUFycmF5U3ViKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkgPSBuZXcgRm9ybUFycmF5KFtdKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMuZm9yRWFjaChpID0+IGkuY29tcG9uZW50UmVmPy5kZXN0cm95KCkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmcy5mb3JFYWNoKChyZWYsIGkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RJdGVtID0gdGhpcy5saXN0SXRlbXM/LltpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5wdXNoKGxpc3RJdGVtLmNvbnRyb2wpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtLmNvbXBvbmVudFJlZiA9IHRoaXMucmVuZGVySW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhY3RvcnksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW0uY29udHJvbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1BcnJheVN1YiA9IHRoaXMubGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodmFsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh2YWwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaW5pdGlhbCByZW5kZXJcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1Db250YWluZXJzLmNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHJlbmRlckxpc3RJbnB1dHModGhpcy5saXN0SXRlbUNvbnRhaW5lcnMpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyByZW5kZXIgb24gY2hhbmdlcyB0byB0aGUgbGlzdFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JFxyXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5saXN0SXRlbUNvbnRhaW5lcnMuY2hhbmdlcy5waXBlKHRha2UoMSkpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGlzdElucHV0cyh0aGlzLmxpc3RJdGVtQ29udGFpbmVycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVCaW5kaW5ncyhjaGFuZ2VzLCBpdGVtLmNvbXBvbmVudFJlZik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQmluZGluZ3MoY2hhbmdlcywgdGhpcy5zaW5nbGVDb21wb25lbnRSZWYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW5kaW5ncyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+KSB7XHJcbiAgICAgICAgaWYgKCdkZWYnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbmZpZyA9IHNpbXBsZURlZXBDbG9uZSh0aGlzLmRlZik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgncmVhZG9ubHknIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29tcG9uZW50UmVmLmluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZikubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUlkKGluZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IG51bWJlciB9KSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkTGlzdEl0ZW0oKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RJdGVtcy5wdXNoKHtcclxuICAgICAgICAgICAgaWQ6IHRoaXMubGlzdElkKyssXHJcbiAgICAgICAgICAgIGNvbnRyb2w6IG5ldyBGb3JtQ29udHJvbCgodGhpcy5kZWYgYXMgQ29uZmlnQXJnRGVmaW5pdGlvbikuZGVmYXVsdFZhbHVlID8/IG51bGwpLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG1vdmVMaXN0SXRlbShldmVudDogQ2RrRHJhZ0Ryb3A8SW5wdXRMaXN0SXRlbT4pIHtcclxuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMubGlzdEl0ZW1zLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucmVtb3ZlQXQoZXZlbnQucHJldmlvdXNJbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5pbnNlcnQoZXZlbnQuY3VycmVudEluZGV4LCBldmVudC5pdGVtLmRhdGEuY29udHJvbCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVMaXN0SXRlbShpdGVtOiBJbnB1dExpc3RJdGVtKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5saXN0SXRlbXMuZmluZEluZGV4KGkgPT4gaSA9PT0gaXRlbSk7XHJcbiAgICAgICAgICAgIGl0ZW0uY29tcG9uZW50UmVmPy5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5yZW1vdmVBdChpbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gdGhpcy5saXN0SXRlbXMuZmlsdGVyKGkgPT4gaSAhPT0gaXRlbSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlbmRlcklucHV0Q29tcG9uZW50KFxyXG4gICAgICAgIGZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8Rm9ybUlucHV0Q29tcG9uZW50PixcclxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCxcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgICAgIGNvbnN0IHsgaW5zdGFuY2UgfSA9IGNvbXBvbmVudFJlZjtcclxuICAgICAgICBpbnN0YW5jZS5jb25maWcgPSBzaW1wbGVEZWVwQ2xvbmUodGhpcy5kZWYpO1xyXG4gICAgICAgIGluc3RhbmNlLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XHJcbiAgICAgICAgaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgICAgICBpZiAob2JqLmxlbmd0aCA9PT0gdGhpcy5saXN0SXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBvYmouZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubGlzdEl0ZW1zW2luZGV4XT8uY29udHJvbDtcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gb2JqLm1hcChcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMubGlzdElkKyssXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sOiBuZXcgRm9ybUNvbnRyb2woZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBhcyBJbnB1dExpc3RJdGVtKSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gW107XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SW5wdXRDb21wb25lbnRDb25maWcoYXJnRGVmOiBDb25maWdBcmdEZWZpbml0aW9uIHwgQ3VzdG9tRmllbGRDb25maWcpOiB7XHJcbiAgICAgICAgY29tcG9uZW50OiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkO1xyXG4gICAgfSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaGFzVWlDb25maWcoYXJnRGVmKSAmJiBhcmdEZWYudWkuY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhcmdEZWYudWk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHR5cGUgPSBhcmdEZWY/LnR5cGUgYXMgQ29uZmlnQXJnVHlwZSB8IEN1c3RvbUZpZWxkVHlwZTtcclxuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgY2FzZSAnbG9jYWxlU3RyaW5nJzoge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzT3B0aW9ucyA9XHJcbiAgICAgICAgICAgICAgICAgICAgISEodGhpcy5pc0NvbmZpZ0FyZ0RlZihhcmdEZWYpICYmIGFyZ0RlZi51aT8ub3B0aW9ucykgfHxcclxuICAgICAgICAgICAgICAgICAgICAhIShhcmdEZWYgYXMgU3RyaW5nQ3VzdG9tRmllbGRDb25maWcpLm9wdGlvbnM7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGFzT3B0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3NlbGVjdC1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICd0ZXh0LWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAndGV4dCc6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHRhcmVhLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnaW50JzpcclxuICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnbnVtYmVyLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnYm9vbGVhbi1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdkYXRlLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ0lEJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAncmVsYXRpb24nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAncmVsYXRpb24tZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKHR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzQ29uZmlnQXJnRGVmKGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnKTogZGVmIGlzIENvbmZpZ0FyZ0RlZmluaXRpb24ge1xyXG4gICAgICAgIHJldHVybiAoZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pPy5fX3R5cGVuYW1lID09PSAnQ29uZmlnQXJnRGVmaW5pdGlvbic7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYXNVaUNvbmZpZyhkZWY6IHVua25vd24pOiBkZWYgaXMgeyB1aTogeyBjb21wb25lbnQ6IHN0cmluZyB9IH0ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgZGVmID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgKGRlZiBhcyBhbnkpPy51aT8uY29tcG9uZW50ID09PSAnc3RyaW5nJztcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
2
|
import { shareReplay } from 'rxjs/operators';
|
|
3
3
|
import { DataService } from '../../../data/providers/data.service';
|
|
4
|
+
/**
|
|
5
|
+
* @description
|
|
6
|
+
* Allows the selection of multiple FacetValues via an autocomplete select input.
|
|
7
|
+
* Should be used with `ID` type **list** fields which represent FacetValue IDs.
|
|
8
|
+
*
|
|
9
|
+
* @docsCategory custom-input-components
|
|
10
|
+
* @docsPage default-inputs
|
|
11
|
+
*/
|
|
4
12
|
export class FacetValueFormInputComponent {
|
|
5
13
|
constructor(dataService) {
|
|
6
14
|
this.dataService = dataService;
|
|
@@ -25,4 +33,4 @@ FacetValueFormInputComponent.decorators = [
|
|
|
25
33
|
FacetValueFormInputComponent.ctorParameters = () => [
|
|
26
34
|
{ type: DataService }
|
|
27
35
|
];
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQvZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVuRTs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLDRCQUE0QjtJQU9yQyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUxuQyxnQkFBVyxHQUFHLElBQUksQ0FBQztJQUttQixDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSzthQUNoQyxZQUFZLEVBQUU7YUFDZCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQzthQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7QUFiZSwrQkFBRSxHQUEyQix3QkFBd0IsQ0FBQzs7WUFQekUsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLG1OQUFzRDtnQkFFdEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2xEOzs7WUFmUSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCwgSW5wdXRDb21wb25lbnRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgRmFjZXRXaXRoVmFsdWVzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogQWxsb3dzIHRoZSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgRmFjZXRWYWx1ZXMgdmlhIGFuIGF1dG9jb21wbGV0ZSBzZWxlY3QgaW5wdXQuXHJcbiAqIFNob3VsZCBiZSB1c2VkIHdpdGggYElEYCB0eXBlICoqbGlzdCoqIGZpZWxkcyB3aGljaCByZXByZXNlbnQgRmFjZXRWYWx1ZSBJRHMuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWZhY2V0LXZhbHVlLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYWNldFZhbHVlRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50LCBPbkluaXQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQnO1xyXG4gICAgcmVhZG9ubHkgaXNMaXN0SW5wdXQgPSB0cnVlO1xyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBmYWNldHMkOiBPYnNlcnZhYmxlPEZhY2V0V2l0aFZhbHVlcy5GcmFnbWVudFtdPjtcclxuICAgIGNvbmZpZzogSW5wdXRDb21wb25lbnRDb25maWc7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmZhY2V0cyQgPSB0aGlzLmRhdGFTZXJ2aWNlLmZhY2V0XHJcbiAgICAgICAgICAgIC5nZXRBbGxGYWNldHMoKVxyXG4gICAgICAgICAgICAubWFwU2luZ2xlKGRhdGEgPT4gZGF0YS5mYWNldHMuaXRlbXMpXHJcbiAgICAgICAgICAgIC5waXBlKHNoYXJlUmVwbGF5KDEpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|