@vendure/admin-ui 2.0.0-next.12 → 2.0.0-next.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/common/version.d.ts +1 -1
- package/core/public_api.d.ts +11 -1
- package/core/shared/components/dropdown/dropdown-menu.component.d.ts +2 -1
- package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +31 -0
- package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +34 -0
- package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
- package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +5 -5
- package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +1 -1
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +12 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
- package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +1 -1
- package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
- package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
- package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +7 -3
- package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -2
- package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +21 -0
- package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +6 -2
- package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +30 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +22 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +5 -17
- package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +2 -1
- package/core/shared/shared.module.d.ts +33 -30
- package/esm2020/catalog/components/assets/assets.component.mjs +1 -1
- package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +1 -1
- package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +2 -2
- package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +1 -1
- package/esm2020/catalog/components/facet-list/facet-list.component.mjs +1 -1
- package/esm2020/catalog/components/product-list/product-list.component.mjs +1 -1
- package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +1 -1
- package/esm2020/core/common/version.mjs +2 -2
- package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +1 -1
- package/esm2020/core/components/user-menu/user-menu.component.mjs +1 -1
- package/esm2020/core/public_api.mjs +12 -2
- package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +1 -1
- package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +1 -1
- package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +25 -22
- package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +1 -1
- package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +1 -1
- package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +1 -1
- package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +1 -1
- package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +3 -3
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +136 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +46 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/custom-nodes.mjs +57 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs +4 -4
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs +22 -1
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.mjs +12 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs +73 -18
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.mjs +16 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +100 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.mjs +96 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.mjs +166 -0
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +47 -18
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/types.mjs +1 -1
- package/esm2020/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +59 -0
- package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +22 -10
- package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +1 -1
- package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +57 -0
- package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +63 -0
- package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +48 -83
- package/esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +3 -1
- package/esm2020/core/shared/shared.module.mjs +15 -3
- package/esm2020/customer/components/address-card/address-card.component.mjs +1 -1
- package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +1 -1
- package/esm2020/customer/components/customer-history/customer-history.component.mjs +1 -1
- package/esm2020/customer/components/customer-list/customer-list.component.mjs +1 -1
- package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +1 -1
- package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +1 -1
- package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +1 -1
- package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +1 -1
- package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +1 -1
- package/esm2020/order/components/order-detail/order-detail.component.mjs +1 -1
- package/esm2020/order/components/order-history/order-history.component.mjs +1 -1
- package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +1 -1
- package/esm2020/order/components/order-table/order-table.component.mjs +1 -1
- package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +1 -1
- package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +1 -1
- package/esm2020/settings/components/channel-list/channel-list.component.mjs +1 -1
- package/esm2020/settings/components/country-list/country-list.component.mjs +1 -1
- package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +1 -1
- package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +1 -1
- package/esm2020/settings/components/role-list/role-list.component.mjs +1 -1
- package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +1 -1
- package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +1 -1
- package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +1 -1
- package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +1 -1
- package/esm2020/settings/components/zone-list/zone-list.component.mjs +1 -1
- package/esm2020/system/components/job-list/job-list.component.mjs +1 -1
- package/fesm2015/vendure-admin-ui-catalog.mjs +7 -7
- package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-core.mjs +1012 -193
- package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.mjs +4 -4
- package/fesm2015/vendure-admin-ui-dashboard.mjs +1 -1
- package/fesm2015/vendure-admin-ui-marketing.mjs +2 -2
- package/fesm2015/vendure-admin-ui-order.mjs +7 -7
- package/fesm2015/vendure-admin-ui-settings.mjs +11 -11
- package/fesm2015/vendure-admin-ui-system.mjs +1 -1
- package/fesm2020/vendure-admin-ui-catalog.mjs +7 -7
- package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-core.mjs +1005 -193
- package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-customer.mjs +4 -4
- package/fesm2020/vendure-admin-ui-dashboard.mjs +1 -1
- package/fesm2020/vendure-admin-ui-marketing.mjs +2 -2
- package/fesm2020/vendure-admin-ui-order.mjs +7 -7
- package/fesm2020/vendure-admin-ui-settings.mjs +11 -11
- package/fesm2020/vendure-admin-ui-system.mjs +1 -1
- package/package.json +13 -12
- package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
- package/esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs +0 -36
|
@@ -3,6 +3,7 @@ import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/cdk/overlay";
|
|
5
5
|
import * as i2 from "./dropdown.component";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
6
7
|
/**
|
|
7
8
|
* A dropdown menu modelled on the Clarity Dropdown component (https://v1.clarity.design/dropdowns).
|
|
8
9
|
*
|
|
@@ -93,35 +94,37 @@ export class DropdownMenuComponent {
|
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
96
|
DropdownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DropdownMenuComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.DropdownComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: { position: ["vdrPosition", "position"] }, viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: `
|
|
97
|
-
<ng-template #menu>
|
|
98
|
-
<div class="dropdown open">
|
|
99
|
-
<div class="dropdown-menu">
|
|
100
|
-
<div class="dropdown-content-wrapper">
|
|
101
|
-
<ng-content></ng-content>
|
|
102
|
-
</div>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
</ng-template>
|
|
106
|
-
`, isInline: true, styles: [".clear-backdrop{background-color:#ff69b4}.dropdown.open>.dropdown-menu{position:relative;top:0;height:100%;overflow-y:auto}:host{opacity:1;transition:opacity .3s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
97
|
+
DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: { position: ["vdrPosition", "position"], customClasses: "customClasses" }, viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: `
|
|
98
|
+
<ng-template #menu>
|
|
99
|
+
<div class="dropdown open">
|
|
100
|
+
<div class="dropdown-menu" [ngClass]="customClasses">
|
|
101
|
+
<div class="dropdown-content-wrapper">
|
|
102
|
+
<ng-content></ng-content>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</ng-template>
|
|
107
|
+
`, isInline: true, styles: [".clear-backdrop{background-color:#ff69b4}.dropdown.open>.dropdown-menu{position:relative;top:0;height:100%;overflow-y:auto}:host{opacity:1;transition:opacity .3s}\n"], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
107
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DropdownMenuComponent, decorators: [{
|
|
108
109
|
type: Component,
|
|
109
|
-
args: [{ selector: 'vdr-dropdown-menu', template: `
|
|
110
|
-
<ng-template #menu>
|
|
111
|
-
<div class="dropdown open">
|
|
112
|
-
<div class="dropdown-menu">
|
|
113
|
-
<div class="dropdown-content-wrapper">
|
|
114
|
-
<ng-content></ng-content>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
</ng-template>
|
|
110
|
+
args: [{ selector: 'vdr-dropdown-menu', template: `
|
|
111
|
+
<ng-template #menu>
|
|
112
|
+
<div class="dropdown open">
|
|
113
|
+
<div class="dropdown-menu" [ngClass]="customClasses">
|
|
114
|
+
<div class="dropdown-content-wrapper">
|
|
115
|
+
<ng-content></ng-content>
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
</div>
|
|
119
|
+
</ng-template>
|
|
119
120
|
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".clear-backdrop{background-color:#ff69b4}.dropdown.open>.dropdown-menu{position:relative;top:0;height:100%;overflow-y:auto}:host{opacity:1;transition:opacity .3s}\n"] }]
|
|
120
121
|
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.DropdownComponent }]; }, propDecorators: { position: [{
|
|
121
122
|
type: Input,
|
|
122
123
|
args: ['vdrPosition']
|
|
124
|
+
}], customClasses: [{
|
|
125
|
+
type: Input
|
|
123
126
|
}], menuTemplate: [{
|
|
124
127
|
type: ViewChild,
|
|
125
128
|
args: ['menu', { static: true }]
|
|
126
129
|
}] } });
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDOzs7O0FBUXZCOzs7Ozs7OztHQVFHO0FBaUJILE1BQU0sT0FBTyxxQkFBcUI7SUFPOUIsWUFDWSxPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsUUFBMkI7UUFGM0IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBVFQsYUFBUSxHQUFxQixhQUFhLENBQUM7SUFVdEUsQ0FBQztJQUVKLFFBQVE7UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQyxJQUFJLE1BQU0sRUFBRTtnQkFDUixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDM0M7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUM1QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2xDLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzVD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IjpbImltcG9ydCB7XG4gICAgQ29ubmVjdGVkUG9zaXRpb24sXG4gICAgSG9yaXpvbnRhbENvbm5lY3Rpb25Qb3MsXG4gICAgT3ZlcmxheSxcbiAgICBPdmVybGF5UmVmLFxuICAgIFBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgVmVydGljYWxDb25uZWN0aW9uUG9zLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEcm9wZG93blRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBEcm9wZG93blBvc2l0aW9uID0gJ3RvcC1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tcmlnaHQnO1xuXG4vKipcbiAqIEEgZHJvcGRvd24gbWVudSBtb2RlbGxlZCBvbiB0aGUgQ2xhcml0eSBEcm9wZG93biBjb21wb25lbnQgKGh0dHBzOi8vdjEuY2xhcml0eS5kZXNpZ24vZHJvcGRvd25zKS5cbiAqXG4gKiBUaGlzIHdhcyBjcmVhdGVkIGJlY2F1c2UgdGhlIENsYXJpdHkgaW1wbGVtZW50YXRpb24gKGF0IHRoaXMgdGltZSkgZG9lcyBub3QgaGFuZGxlIGVkZ2UgZGV0ZWN0aW9uLiBJbnN0ZWFkXG4gKiB3ZSBtYWtlIHVzZSBvZiB0aGUgQW5ndWxhciBDREsncyBPdmVybGF5IG1vZHVsZSB0byBtYW5hZ2UgdGhlIHBvc2l0aW9uaW5nLlxuICpcbiAqIFRoZSBBUEkgb2YgdGhpcyBjb21wb25lbnQgKGFuZCBpdHMgcmVsYXRlZCBDb21wb25lbnRzICYgRGlyZWN0aXZlcykgYXJlIGJhc2VkIG9uIHRoZSBDbGFyaXR5IHZlcnNpb24sXG4gKiBhbGJlaXQgb25seSBhIHN1YnNldCB3aGljaCBpcyBjdXJyZW50bHkgdXNlZCBpbiB0aGlzIGFwcGxpY2F0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1kcm9wZG93bi1tZW51JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctdGVtcGxhdGUgI21lbnU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gb3BlblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25NZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgndmRyUG9zaXRpb24nKSBwcml2YXRlIHBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9uID0gJ2JvdHRvbS1sZWZ0JztcbiAgICBAVmlld0NoaWxkKCdtZW51JywgeyBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBtZW51VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgcHJpdmF0ZSBtZW51UG9ydGFsOiBUZW1wbGF0ZVBvcnRhbDxhbnk+O1xuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBwcml2YXRlIGJhY2tkcm9wQ2xpY2tTdWI6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBkcm9wZG93bjogRHJvcGRvd25Db21wb25lbnQsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24ub25PcGVuQ2hhbmdlKGlzT3BlbiA9PiB7XG4gICAgICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLm1lbnVQb3J0YWwpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjbGVhci1iYWNrZHJvcCcsXG4gICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3koKSxcbiAgICAgICAgICAgIG1heEhlaWdodDogJzcwdmgnLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5tZW51UG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMubWVudVRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLmJhY2tkcm9wQ2xpY2tTdWIgPSB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLnRvZ2dsZU9wZW4oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BDbGlja1N1Yikge1xuICAgICAgICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koKTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uOiB7IFtLIGluIERyb3Bkb3duUG9zaXRpb25dOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgICAgICAgICAgWyd0b3AtbGVmdCddOiB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWyd0b3AtcmlnaHQnXToge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWydib3R0b20tbGVmdCddOiB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWydib3R0b20tcmlnaHQnXToge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHBvcyA9IHBvc2l0aW9uW3RoaXMucG9zaXRpb25dO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmRyb3Bkb3duLnRyaWdnZXIpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbcG9zLCB0aGlzLmludmVydFBvc2l0aW9uKHBvcyldKVxuICAgICAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbigxMilcbiAgICAgICAgICAgIC53aXRoUHVzaCh0cnVlKTtcbiAgICB9XG5cbiAgICAvKiogSW52ZXJ0cyBhbiBvdmVybGF5IHBvc2l0aW9uLiAqL1xuICAgIHByaXZhdGUgaW52ZXJ0UG9zaXRpb24ocG9zOiBDb25uZWN0ZWRQb3NpdGlvbik6IENvbm5lY3RlZFBvc2l0aW9uIHtcbiAgICAgICAgY29uc3QgaW52ZXJ0ZWQgPSB7IC4uLnBvcyB9O1xuICAgICAgICBpbnZlcnRlZC5vcmlnaW5ZID0gcG9zLm9yaWdpblkgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcbiAgICAgICAgaW52ZXJ0ZWQub3ZlcmxheVkgPSBwb3Mub3ZlcmxheVkgPT09ICd0b3AnID8gJ2JvdHRvbScgOiAndG9wJztcblxuICAgICAgICByZXR1cm4gaW52ZXJ0ZWQ7XG4gICAgfVxufVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxLQUFLLEVBSUwsU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2Qjs7Ozs7Ozs7R0FRRztBQWlCSCxNQUFNLE9BQU8scUJBQXFCO0lBUTlCLFlBQ1ksT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLFFBQTJCO1FBRjNCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQVZULGFBQVEsR0FBcUIsYUFBYSxDQUFDO0lBV3RFLENBQUM7SUFFSixRQUFRO1FBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzNDO2lCQUFNO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDNUI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsZ0JBQWdCO1lBQy9CLGdCQUFnQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1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QUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb25uZWN0ZWRQb3NpdGlvbixcclxuICAgIEhvcml6b250YWxDb25uZWN0aW9uUG9zLFxyXG4gICAgT3ZlcmxheSxcclxuICAgIE92ZXJsYXlSZWYsXHJcbiAgICBQb3NpdGlvblN0cmF0ZWd5LFxyXG4gICAgVmVydGljYWxDb25uZWN0aW9uUG9zLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENvbXBvbmVudCxcclxuICAgIENvbnRlbnRDaGlsZCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBEcm9wZG93blRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLXRyaWdnZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgdHlwZSBEcm9wZG93blBvc2l0aW9uID0gJ3RvcC1sZWZ0JyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tcmlnaHQnO1xyXG5cclxuLyoqXHJcbiAqIEEgZHJvcGRvd24gbWVudSBtb2RlbGxlZCBvbiB0aGUgQ2xhcml0eSBEcm9wZG93biBjb21wb25lbnQgKGh0dHBzOi8vdjEuY2xhcml0eS5kZXNpZ24vZHJvcGRvd25zKS5cclxuICpcclxuICogVGhpcyB3YXMgY3JlYXRlZCBiZWNhdXNlIHRoZSBDbGFyaXR5IGltcGxlbWVudGF0aW9uIChhdCB0aGlzIHRpbWUpIGRvZXMgbm90IGhhbmRsZSBlZGdlIGRldGVjdGlvbi4gSW5zdGVhZFxyXG4gKiB3ZSBtYWtlIHVzZSBvZiB0aGUgQW5ndWxhciBDREsncyBPdmVybGF5IG1vZHVsZSB0byBtYW5hZ2UgdGhlIHBvc2l0aW9uaW5nLlxyXG4gKlxyXG4gKiBUaGUgQVBJIG9mIHRoaXMgY29tcG9uZW50IChhbmQgaXRzIHJlbGF0ZWQgQ29tcG9uZW50cyAmIERpcmVjdGl2ZXMpIGFyZSBiYXNlZCBvbiB0aGUgQ2xhcml0eSB2ZXJzaW9uLFxyXG4gKiBhbGJlaXQgb25seSBhIHN1YnNldCB3aGljaCBpcyBjdXJyZW50bHkgdXNlZCBpbiB0aGlzIGFwcGxpY2F0aW9uLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1kcm9wZG93bi1tZW51JyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNtZW51PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24gb3BlblwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLW1lbnVcIiBbbmdDbGFzc109XCJjdXN0b21DbGFzc2VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGAsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgndmRyUG9zaXRpb24nKSBwcml2YXRlIHBvc2l0aW9uOiBEcm9wZG93blBvc2l0aW9uID0gJ2JvdHRvbS1sZWZ0JztcclxuICAgIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXM6IHN0cmluZztcclxuICAgIEBWaWV3Q2hpbGQoJ21lbnUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIG1lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIHByaXZhdGUgbWVudVBvcnRhbDogVGVtcGxhdGVQb3J0YWw8YW55PjtcclxuICAgIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICAgIHByaXZhdGUgYmFja2Ryb3BDbGlja1N1YjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcclxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBkcm9wZG93bjogRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bi5vbk9wZW5DaGFuZ2UoaXNPcGVuID0+IHtcclxuICAgICAgICAgICAgaWYgKGlzT3Blbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLm1lbnVQb3J0YWwpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2NsZWFyLWJhY2tkcm9wJyxcclxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KCksXHJcbiAgICAgICAgICAgIG1heEhlaWdodDogJzcwdmgnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMubWVudVBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLm1lbnVUZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcclxuICAgICAgICB0aGlzLmJhY2tkcm9wQ2xpY2tTdWIgPSB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlT3BlbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BDbGlja1N1Yikge1xyXG4gICAgICAgICAgICB0aGlzLmJhY2tkcm9wQ2xpY2tTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvblN0cmF0ZWd5KCk6IFBvc2l0aW9uU3RyYXRlZ3kge1xyXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uOiB7IFtLIGluIERyb3Bkb3duUG9zaXRpb25dOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xyXG4gICAgICAgICAgICBbJ3RvcC1sZWZ0J106IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBbJ3RvcC1yaWdodCddOiB7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBbJ2JvdHRvbS1sZWZ0J106IHtcclxuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcclxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBbJ2JvdHRvbS1yaWdodCddOiB7XHJcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxyXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGNvbnN0IHBvcyA9IHBvc2l0aW9uW3RoaXMucG9zaXRpb25dO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XHJcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZHJvcGRvd24udHJpZ2dlcilcclxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3BvcywgdGhpcy5pbnZlcnRQb3NpdGlvbihwb3MpXSlcclxuICAgICAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbigxMilcclxuICAgICAgICAgICAgLndpdGhQdXNoKHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBJbnZlcnRzIGFuIG92ZXJsYXkgcG9zaXRpb24uICovXHJcbiAgICBwcml2YXRlIGludmVydFBvc2l0aW9uKHBvczogQ29ubmVjdGVkUG9zaXRpb24pOiBDb25uZWN0ZWRQb3NpdGlvbiB7XHJcbiAgICAgICAgY29uc3QgaW52ZXJ0ZWQgPSB7IC4uLnBvcyB9O1xyXG4gICAgICAgIGludmVydGVkLm9yaWdpblkgPSBwb3Mub3JpZ2luWSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xyXG4gICAgICAgIGludmVydGVkLm92ZXJsYXlZID0gcG9zLm92ZXJsYXlZID09PSAndG9wJyA/ICdib3R0b20nIDogJ3RvcCc7XHJcblxyXG4gICAgICAgIHJldHVybiBpbnZlcnRlZDtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
22
22
|
type: HostListener,
|
|
23
23
|
args: ['click', ['$event']]
|
|
24
24
|
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPcEUsTUFBTSxPQUFPLHdCQUF3QjtJQUNqQyxZQUFvQixRQUEyQixFQUFVLFVBQXNCO1FBQTNELGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUMzRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHRCxzQkFBc0IsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7cUhBUlEsd0JBQXdCO3lHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNuQztpSUFPRyxzQkFBc0I7c0JBRHJCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZkckRyb3Bkb3duVHJpZ2dlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blRyaWdnZXJEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50LCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgZHJvcGRvd24uc2V0VHJpZ2dlckVsZW1lbnQodGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25Ecm9wZG93blRyaWdnZXJDbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd24udG9nZ2xlT3BlbigpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -14,7 +14,7 @@ export class EntityInfoComponent {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
EntityInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: EntityInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
EntityInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: EntityInfoComponent, selector: "vdr-entity-info", inputs: { small: "small", entity: "entity" }, ngImport: i0, template: "<vdr-dropdown *ngIf=\"entity.id\">\r\n <button class=\"btn btn-icon btn-link info-button\" [class.btn-sm]=\"small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"info-standard\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entity-info\">\r\n <vdr-labeled-data [label]=\"'common.ID' | translate\">\r\n {{ entity.id }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.createdAt\" [label]=\"'common.created-at' | translate\">\r\n {{ entity.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.updatedAt\" [label]=\"'common.updated-at' | translate\">\r\n {{ entity.updatedAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".info-button{color:var(--color-icon-button)}.entity-info{margin:0 12px}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i2.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition"] }, { type: i3.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i6.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i7.TranslatePipe, "localeDate": i8.LocaleDatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
|
+
EntityInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: EntityInfoComponent, selector: "vdr-entity-info", inputs: { small: "small", entity: "entity" }, ngImport: i0, template: "<vdr-dropdown *ngIf=\"entity.id\">\r\n <button class=\"btn btn-icon btn-link info-button\" [class.btn-sm]=\"small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"info-standard\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entity-info\">\r\n <vdr-labeled-data [label]=\"'common.ID' | translate\">\r\n {{ entity.id }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.createdAt\" [label]=\"'common.created-at' | translate\">\r\n {{ entity.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.updatedAt\" [label]=\"'common.updated-at' | translate\">\r\n {{ entity.updatedAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".info-button{color:var(--color-icon-button)}.entity-info{margin:0 12px}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i2.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { type: i3.LabeledDataComponent, selector: "vdr-labeled-data", inputs: ["label"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i6.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i7.TranslatePipe, "localeDate": i8.LocaleDatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: EntityInfoComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{ selector: 'vdr-entity-info', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown *ngIf=\"entity.id\">\r\n <button class=\"btn btn-icon btn-link info-button\" [class.btn-sm]=\"small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"info-standard\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entity-info\">\r\n <vdr-labeled-data [label]=\"'common.ID' | translate\">\r\n {{ entity.id }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.createdAt\" [label]=\"'common.created-at' | translate\">\r\n {{ entity.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data *ngIf=\"entity.updatedAt\" [label]=\"'common.updated-at' | translate\">\r\n {{ entity.updatedAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".info-button{color:var(--color-icon-button)}.entity-info{margin:0 12px}\n"] }]
|
package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import * as i5 from "@ngx-translate/core";
|
|
|
8
8
|
export class HistoryEntryDetailComponent {
|
|
9
9
|
}
|
|
10
10
|
HistoryEntryDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HistoryEntryDetailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
HistoryEntryDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: HistoryEntryDetailComponent, selector: "vdr-history-entry-detail", ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\" size=\"12\"></clr-icon>\r\n {{ 'common.details' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entry-dropdown\">\r\n <ng-content></ng-content>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".entry-dropdown{margin:0 12px}.details-button{margin:0}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i2.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition"] }], directives: [{ type: i3.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i5.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
|
+
HistoryEntryDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: HistoryEntryDetailComponent, selector: "vdr-history-entry-detail", ngImport: i0, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\" size=\"12\"></clr-icon>\r\n {{ 'common.details' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entry-dropdown\">\r\n <ng-content></ng-content>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".entry-dropdown{margin:0 12px}.details-button{margin:0}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i2.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }], directives: [{ type: i3.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }], pipes: { "translate": i5.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
12
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: HistoryEntryDetailComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{ selector: 'vdr-history-entry-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-dropdown>\r\n <button class=\"btn btn-link btn-sm details-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\" size=\"12\"></clr-icon>\r\n {{ 'common.details' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"entry-dropdown\">\r\n <ng-content></ng-content>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n", styles: [".entry-dropdown{margin:0 12px}.details-button{margin:0}\n"] }]
|
|
@@ -15,7 +15,7 @@ export class LanguageSelectorComponent {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
LanguageSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: LanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
LanguageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: LanguageSelectorComponent, selector: "vdr-language-selector", inputs: { currentLanguageCode: "currentLanguageCode", availableLanguageCodes: "availableLanguageCodes", disabled: "disabled" }, outputs: { languageCodeChange: "languageCodeChange" }, ngImport: i0, template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm btn-link\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n {{ code | localeLanguageName }} <span class=\"code\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [".code{color:var(--color-grey-400)}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i2.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i5.ClrIconCustomTag, selector: "clr-icon" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DropdownItemDirective, selector: "[vdrDropdownItem]" }], pipes: { "translate": i7.TranslatePipe, "uppercase": i3.UpperCasePipe, "localeLanguageName": i8.LocaleLanguageNamePipe } });
|
|
18
|
+
LanguageSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: LanguageSelectorComponent, selector: "vdr-language-selector", inputs: { currentLanguageCode: "currentLanguageCode", availableLanguageCodes: "availableLanguageCodes", disabled: "disabled" }, outputs: { languageCodeChange: "languageCodeChange" }, ngImport: i0, template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm btn-link\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n {{ code | localeLanguageName }} <span class=\"code\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [".code{color:var(--color-grey-400)}\n"], components: [{ type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i2.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i5.ClrIconCustomTag, selector: "clr-icon" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.DropdownItemDirective, selector: "[vdrDropdownItem]" }], pipes: { "translate": i7.TranslatePipe, "uppercase": i3.UpperCasePipe, "localeLanguageName": i8.LocaleLanguageNamePipe } });
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
21
|
args: [{ selector: 'vdr-language-selector', template: "<ng-container *ngIf=\"1 < availableLanguageCodes?.length\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-sm btn-link\" vdrDropdownTrigger [disabled]=\"disabled\">\r\n <clr-icon shape=\"world\"></clr-icon>\r\n {{ 'common.language' | translate }}: {{ currentLanguageCode | localeLanguageName | uppercase }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n *ngFor=\"let code of availableLanguageCodes\"\r\n (click)=\"languageCodeChange.emit(code)\"\r\n vdrDropdownItem\r\n >\r\n {{ code | localeLanguageName }} <span class=\"code\">{{ code }}</span>\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-container>\r\n", styles: [".code{color:var(--color-grey-400)}\n"] }]
|
|
@@ -29,9 +29,9 @@ export class ExternalImageDialogComponent {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
ExternalImageDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ExternalImageDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
ExternalImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ExternalImageDialogComponent, selector: "vdr-external-image-dialog", ngImport: i0, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n {{ 'editor.insert-image' | translate }}
|
|
32
|
+
ExternalImageDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ExternalImageDialogComponent, selector: "vdr-external-image-dialog", ngImport: i0, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-left:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"], components: [{ type: i1.ClrInputContainer, selector: "clr-input-container" }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.ClrForm, selector: "[clrForm]", inputs: ["clrLabelSize"] }, { type: i1.ClrLayout, selector: "[clrForm][clrLayout]", inputs: ["clrLayout"] }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { type: i3.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i1.ClrInput, selector: "[clrInput]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ClrIconCustomTag, selector: "clr-icon" }, { type: i5.DialogButtonsDirective, selector: "[vdrDialogButtons]" }], pipes: { "translate": i6.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ExternalImageDialogComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
|
-
args: [{ selector: 'vdr-external-image-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n {{ 'editor.insert-image' | translate }}
|
|
35
|
+
args: [{ selector: 'vdr-external-image-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex\">\r\n <form [formGroup]=\"form\" class=\"flex-spacer\" clrForm clrLayout=\"vertical\">\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-src' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"src\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-title' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"title\" />\r\n </clr-input-container>\r\n <clr-input-container class=\"expand\">\r\n <label>{{ 'editor.image-alt' | translate }}</label>\r\n <input clrInput type=\"text\" formControlName=\"alt\" />\r\n </clr-input-container>\r\n </form>\r\n <div class=\"preview\">\r\n <img\r\n [src]=\"form.get('src')?.value\"\r\n [class.visible]=\"previewLoaded\"\r\n (load)=\"onImageLoad($event)\"\r\n (error)=\"onImageError($event)\"\r\n />\r\n <div class=\"placeholder\" *ngIf=\"!previewLoaded\">\r\n <clr-icon shape=\"image\" size=\"128\"></clr-icon>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || !previewLoaded\">\r\n <ng-container *ngIf=\"existing; else doesNotExist\">{{ 'common.update' | translate }}</ng-container>\r\n <ng-template #doesNotExist>{{ 'editor.insert-image' | translate }}</ng-template>\r\n </button>\r\n</ng-template>\r\n", styles: [".preview{display:flex;align-items:center;justify-content:center;max-width:150px;margin-left:12px}.preview img{max-width:100%;display:none}.preview img.visible{display:block}.preview .placeholder{color:var(--color-grey-300)}\n"] }]
|
|
36
36
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9leHRlcm5hbC1pbWFnZS1kaWFsb2cvZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9leHRlcm5hbC1pbWFnZS1kaWFsb2cvZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBZ0JwRSxNQUFNLE9BQU8sNEJBQTRCO0lBTnpDO1FBVUksa0JBQWEsR0FBRyxLQUFLLENBQUM7S0FzQnpCO0lBbkJHLFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3RCLEdBQUcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDakYsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEUsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDL0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDOzt5SEF6QlEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsaUVDakJ6Qyw0bERBa0NBOzJGRGpCYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0ksMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwudHlwZXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFeHRlcm5hbEltYWdlQXR0cnMge1xyXG4gICAgc3JjOiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgYWx0OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9leHRlcm5hbC1pbWFnZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4dGVybmFsSW1hZ2VEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIERpYWxvZzxFeHRlcm5hbEltYWdlQXR0cnM+IHtcclxuICAgIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgICByZXNvbHZlV2l0aDogKHJlc3VsdD86IEV4dGVybmFsSW1hZ2VBdHRycykgPT4gdm9pZDtcclxuICAgIHByZXZpZXdMb2FkZWQgPSBmYWxzZTtcclxuICAgIGV4aXN0aW5nPzogRXh0ZXJuYWxJbWFnZUF0dHJzO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgICAgICAgICBzcmM6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmV4aXN0aW5nID8gdGhpcy5leGlzdGluZy5zcmMgOiAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgICAgICAgIHRpdGxlOiBuZXcgRm9ybUNvbnRyb2wodGhpcy5leGlzdGluZyA/IHRoaXMuZXhpc3RpbmcudGl0bGUgOiAnJyksXHJcbiAgICAgICAgICAgIGFsdDogbmV3IEZvcm1Db250cm9sKHRoaXMuZXhpc3RpbmcgPyB0aGlzLmV4aXN0aW5nLmFsdCA6ICcnKSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3QoKSB7XHJcbiAgICAgICAgdGhpcy5yZXNvbHZlV2l0aCh0aGlzLmZvcm0udmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uSW1hZ2VMb2FkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIHRoaXMucHJldmlld0xvYWRlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbWFnZUVycm9yKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIHRoaXMucHJldmlld0xvYWRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImZsZXgtc3BhY2VyXCIgY2xyRm9ybSBjbHJMYXlvdXQ9XCJ2ZXJ0aWNhbFwiPlxyXG4gICAgICAgIDxjbHItaW5wdXQtY29udGFpbmVyIGNsYXNzPVwiZXhwYW5kXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD57eyAnZWRpdG9yLmltYWdlLXNyYycgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xySW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJzcmNcIiAvPlxyXG4gICAgICAgIDwvY2xyLWlucHV0LWNvbnRhaW5lcj5cclxuICAgICAgICA8Y2xyLWlucHV0LWNvbnRhaW5lciBjbGFzcz1cImV4cGFuZFwiPlxyXG4gICAgICAgICAgICA8bGFiZWw+e3sgJ2VkaXRvci5pbWFnZS10aXRsZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xySW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XHJcbiAgICAgICAgPC9jbHItaW5wdXQtY29udGFpbmVyPlxyXG4gICAgICAgIDxjbHItaW5wdXQtY29udGFpbmVyIGNsYXNzPVwiZXhwYW5kXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbD57eyAnZWRpdG9yLmltYWdlLWFsdCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xySW5wdXQgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJhbHRcIiAvPlxyXG4gICAgICAgIDwvY2xyLWlucHV0LWNvbnRhaW5lcj5cclxuICAgIDwvZm9ybT5cclxuICAgIDxkaXYgY2xhc3M9XCJwcmV2aWV3XCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBbc3JjXT1cImZvcm0uZ2V0KCdzcmMnKT8udmFsdWVcIlxyXG4gICAgICAgICAgICBbY2xhc3MudmlzaWJsZV09XCJwcmV2aWV3TG9hZGVkXCJcclxuICAgICAgICAgICAgKGxvYWQpPVwib25JbWFnZUxvYWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChlcnJvcik9XCJvbkltYWdlRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIiAqbmdJZj1cIiFwcmV2aWV3TG9hZGVkXCI+XHJcbiAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImltYWdlXCIgc2l6ZT1cIjEyOFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgdmRyRGlhbG9nQnV0dG9ucz5cclxuICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJzZWxlY3QoKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCAhcHJldmlld0xvYWRlZFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJleGlzdGluZzsgZWxzZSBkb2VzTm90RXhpc3RcIj57eyAnY29tbW9uLnVwZGF0ZScgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2RvZXNOb3RFeGlzdD57eyAnZWRpdG9yLmluc2VydC1pbWFnZScgfCB0cmFuc2xhdGUgfX08L25nLXRlbXBsYXRlPlxyXG4gICAgPC9idXR0b24+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
+
import * as i2 from "./context-menu.service";
|
|
8
|
+
import * as i3 from "../../../dropdown/dropdown.component";
|
|
9
|
+
import * as i4 from "../../../dropdown/dropdown-menu.component";
|
|
10
|
+
import * as i5 from "../../../dropdown/dropdown-trigger.directive";
|
|
11
|
+
import * as i6 from "@angular/common";
|
|
12
|
+
import * as i7 from "@clr/angular";
|
|
13
|
+
export class ContextMenuComponent {
|
|
14
|
+
constructor(overlay, viewContainerRef, contextMenuService) {
|
|
15
|
+
this.overlay = overlay;
|
|
16
|
+
this.viewContainerRef = viewContainerRef;
|
|
17
|
+
this.contextMenuService = contextMenuService;
|
|
18
|
+
this.triggerIsHidden = new BehaviorSubject(false);
|
|
19
|
+
this.onScroll = () => {
|
|
20
|
+
if (this.overlayRef?.hasAttached()) {
|
|
21
|
+
this.overlayRef.updatePosition();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
ngAfterViewInit() {
|
|
26
|
+
this.contentArea = document.querySelector('.content-area');
|
|
27
|
+
this.menuPortal = new TemplatePortal(this.menuTemplate, this.viewContainerRef);
|
|
28
|
+
this.hideTrigger$ = this.triggerIsHidden.asObservable().pipe(distinctUntilChanged());
|
|
29
|
+
this.contentArea?.addEventListener('scroll', this.onScroll, { passive: true });
|
|
30
|
+
this.contextMenuSub = this.contextMenuService.contextMenu$.subscribe(contextMenuConfig => {
|
|
31
|
+
this.overlayRef?.dispose();
|
|
32
|
+
this.menuConfig = contextMenuConfig;
|
|
33
|
+
if (contextMenuConfig) {
|
|
34
|
+
this.overlayRef = this.overlay.create({
|
|
35
|
+
hasBackdrop: false,
|
|
36
|
+
positionStrategy: this.getPositionStrategy(contextMenuConfig.element),
|
|
37
|
+
maxHeight: '70vh',
|
|
38
|
+
});
|
|
39
|
+
this.overlayRef.attach(this.menuPortal);
|
|
40
|
+
this.triggerIsHidden.next(false);
|
|
41
|
+
const triggerButton = this.overlayRef.hostElement.querySelector('.context-menu-trigger');
|
|
42
|
+
const editorMenu = this.editorMenuElement;
|
|
43
|
+
if (triggerButton) {
|
|
44
|
+
const overlapMarginPx = 5;
|
|
45
|
+
this.hideTriggerHandler = () => {
|
|
46
|
+
if (editorMenu && triggerButton) {
|
|
47
|
+
if (triggerButton.getBoundingClientRect().top + overlapMarginPx <
|
|
48
|
+
editorMenu.getBoundingClientRect().bottom) {
|
|
49
|
+
this.triggerIsHidden.next(true);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.triggerIsHidden.next(false);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
this.contentArea?.addEventListener('scroll', this.hideTriggerHandler, { passive: true });
|
|
57
|
+
requestAnimationFrame(() => this.hideTriggerHandler?.());
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
if (this.hideTriggerHandler) {
|
|
62
|
+
this.contentArea?.removeEventListener('scroll', this.hideTriggerHandler);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
triggerClick() {
|
|
68
|
+
this.contextMenuService.setVisibility(true);
|
|
69
|
+
}
|
|
70
|
+
ngOnDestroy() {
|
|
71
|
+
this.overlayRef?.dispose();
|
|
72
|
+
this.contextMenuSub?.unsubscribe();
|
|
73
|
+
this.contentArea?.removeEventListener('scroll', this.onScroll);
|
|
74
|
+
if (this.hideTriggerHandler) {
|
|
75
|
+
this.contentArea?.removeEventListener('scroll', this.hideTriggerHandler);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
clickItem(item) {
|
|
79
|
+
item.onClick();
|
|
80
|
+
}
|
|
81
|
+
getPositionStrategy(element) {
|
|
82
|
+
const position = {
|
|
83
|
+
['top-left']: {
|
|
84
|
+
originX: 'start',
|
|
85
|
+
originY: 'top',
|
|
86
|
+
overlayX: 'start',
|
|
87
|
+
overlayY: 'bottom',
|
|
88
|
+
},
|
|
89
|
+
['top-right']: {
|
|
90
|
+
originX: 'end',
|
|
91
|
+
originY: 'top',
|
|
92
|
+
overlayX: 'end',
|
|
93
|
+
overlayY: 'bottom',
|
|
94
|
+
},
|
|
95
|
+
['bottom-left']: {
|
|
96
|
+
originX: 'start',
|
|
97
|
+
originY: 'bottom',
|
|
98
|
+
overlayX: 'start',
|
|
99
|
+
overlayY: 'top',
|
|
100
|
+
},
|
|
101
|
+
['bottom-right']: {
|
|
102
|
+
originX: 'end',
|
|
103
|
+
originY: 'bottom',
|
|
104
|
+
overlayX: 'end',
|
|
105
|
+
overlayY: 'top',
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
const pos = position['top-left'];
|
|
109
|
+
return this.overlay
|
|
110
|
+
.position()
|
|
111
|
+
.flexibleConnectedTo(element)
|
|
112
|
+
.withPositions([pos, this.invertPosition(pos)])
|
|
113
|
+
.withViewportMargin(0)
|
|
114
|
+
.withLockedPosition(false)
|
|
115
|
+
.withPush(false);
|
|
116
|
+
}
|
|
117
|
+
/** Inverts an overlay position. */
|
|
118
|
+
invertPosition(pos) {
|
|
119
|
+
const inverted = { ...pos };
|
|
120
|
+
inverted.originY = pos.originY === 'top' ? 'bottom' : 'top';
|
|
121
|
+
inverted.overlayY = pos.overlayY === 'top' ? 'bottom' : 'top';
|
|
122
|
+
return inverted;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.ContextMenuService }], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
+
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ContextMenuComponent, selector: "vdr-context-menu", inputs: { editorMenuElement: "editorMenuElement" }, viewQueries: [{ propertyName: "menuTemplate", first: true, predicate: ["contextMenu"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #contextMenu>\r\n <vdr-dropdown>\r\n <button class=\"context-menu-trigger\" vdrDropdownTrigger [class.hidden]=\"hideTrigger$ | async\" (click)=\"triggerClick()\">\r\n <clr-icon\r\n *ngIf=\"menuConfig?.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n <span class=\"title-label\">{{ menuConfig?.title }}</span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\" customClasses=\"context-menu\">\r\n <ng-container *ngFor=\"let item of menuConfig?.items\">\r\n <button\r\n class=\"context-menu-item\"\r\n *ngIf=\"item.enabled && item.separator !== true\"\r\n type=\"button\"\r\n (click)=\"clickItem(item)\"\r\n >\r\n <div *ngIf=\"item.iconClass\" class=\"cm-icon\" [ngClass]=\"item.iconClass\"></div>\r\n <clr-icon\r\n *ngIf=\"item.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n {{ item.label }}\r\n </button>\r\n <div *ngIf=\"item.enabled && item.separator\" class=\"dropdown-divider\" role=\"separator\"></div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-template>\r\n", styles: [".context-menu-trigger{margin:0;display:flex;align-items:center;border:1px solid var(--color-component-border-200);font-size:90%;color:var(--color-text-200);border-radius:var(--border-radius-input);background-color:var(--color-component-bg-100)}.title-label{padding-right:15px;position:relative}.title-label:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}.context-menu-item{display:flex;align-items:center;width:100%;text-align:start;font-size:90%;color:var(--color-text-200);background-color:var(--color-component-bg-100);cursor:pointer;border:none}.context-menu-item:hover{background-color:var(--color-component-bg-200)}::ng-deep .dropdown-menu.context-menu{padding:0;background-color:var(--color-component-bg-100)}::ng-deep .context-menu-trigger{min-height:16px}::ng-deep .context-menu-trigger.hidden{visibility:hidden}::ng-deep .cm-icon.add-column{height:14px;width:4px;border:1px solid;margin:0 6px 0 8px;position:relative}::ng-deep .cm-icon.add-column:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-10px}::ng-deep .cm-icon.add-row{height:4px;width:14px;border:1px solid;margin:6px 4px 2px 0;position:relative}::ng-deep .cm-icon.add-row:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-2px;top:-10px}\n"], components: [{ type: i3.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i4.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }], directives: [{ type: i5.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ClrIconCustomTag, selector: "clr-icon" }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
128
|
+
type: Component,
|
|
129
|
+
args: [{ selector: 'vdr-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #contextMenu>\r\n <vdr-dropdown>\r\n <button class=\"context-menu-trigger\" vdrDropdownTrigger [class.hidden]=\"hideTrigger$ | async\" (click)=\"triggerClick()\">\r\n <clr-icon\r\n *ngIf=\"menuConfig?.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n <span class=\"title-label\">{{ menuConfig?.title }}</span>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\" customClasses=\"context-menu\">\r\n <ng-container *ngFor=\"let item of menuConfig?.items\">\r\n <button\r\n class=\"context-menu-item\"\r\n *ngIf=\"item.enabled && item.separator !== true\"\r\n type=\"button\"\r\n (click)=\"clickItem(item)\"\r\n >\r\n <div *ngIf=\"item.iconClass\" class=\"cm-icon\" [ngClass]=\"item.iconClass\"></div>\r\n <clr-icon\r\n *ngIf=\"item.iconShape as shape\"\r\n [attr.shape]=\"shape\"\r\n size=\"16\"\r\n class=\"mr2\"\r\n ></clr-icon>\r\n {{ item.label }}\r\n </button>\r\n <div *ngIf=\"item.enabled && item.separator\" class=\"dropdown-divider\" role=\"separator\"></div>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n</ng-template>\r\n", styles: [".context-menu-trigger{margin:0;display:flex;align-items:center;border:1px solid var(--color-component-border-200);font-size:90%;color:var(--color-text-200);border-radius:var(--border-radius-input);background-color:var(--color-component-bg-100)}.title-label{padding-right:15px;position:relative}.title-label:after{content:\"\";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:4px;top:calc(50% - 2px)}.context-menu-item{display:flex;align-items:center;width:100%;text-align:start;font-size:90%;color:var(--color-text-200);background-color:var(--color-component-bg-100);cursor:pointer;border:none}.context-menu-item:hover{background-color:var(--color-component-bg-200)}::ng-deep .dropdown-menu.context-menu{padding:0;background-color:var(--color-component-bg-100)}::ng-deep .context-menu-trigger{min-height:16px}::ng-deep .context-menu-trigger.hidden{visibility:hidden}::ng-deep .cm-icon.add-column{height:14px;width:4px;border:1px solid;margin:0 6px 0 8px;position:relative}::ng-deep .cm-icon.add-column:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-10px}::ng-deep .cm-icon.add-row{height:4px;width:14px;border:1px solid;margin:6px 4px 2px 0;position:relative}::ng-deep .cm-icon.add-row:before{content:\"+\";position:absolute;font-size:16px;line-height:14px;left:-2px;top:-10px}\n"] }]
|
|
130
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.ContextMenuService }]; }, propDecorators: { editorMenuElement: [{
|
|
131
|
+
type: Input
|
|
132
|
+
}], menuTemplate: [{
|
|
133
|
+
type: ViewChild,
|
|
134
|
+
args: ['contextMenu', { static: true }]
|
|
135
|
+
}] } });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9wcm9zZW1pcnJvci9jb250ZXh0LW1lbnUvY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBR0wsU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFZdEQsTUFBTSxPQUFPLG9CQUFvQjtJQWE3QixZQUNZLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNuQyxrQkFBc0M7UUFGckMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFWekMsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQWE5RCxhQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDO0lBTkMsQ0FBQztJQVFKLGVBQWU7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUvRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDckYsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDO1lBQ3BDLElBQUksaUJBQWlCLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ2xDLFdBQVcsRUFBRSxLQUFLO29CQUNsQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO29CQUNyRSxTQUFTLEVBQUUsTUFBTTtpQkFDcEIsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWpDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2dCQUN6RixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7Z0JBQzFDLElBQUksYUFBYSxFQUFFO29CQUNmLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTt3QkFDM0IsSUFBSSxVQUFVLElBQUksYUFBYSxFQUFFOzRCQUM3QixJQUNJLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsR0FBRyxlQUFlO2dDQUMzRCxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLEVBQzNDO2dDQUNFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzZCQUNuQztpQ0FBTTtnQ0FDSCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzs2QkFDcEM7eUJBQ0o7b0JBQ0wsQ0FBQyxDQUFDO29CQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUN6RixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQzVEO2FBQ0o7aUJBQU07Z0JBQ0gsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2lCQUM1RTthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQzVFO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFxQjtRQUMzQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQWdCO1FBQ3hDLE1BQU0sUUFBUSxHQUFtRDtZQUM3RCxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNWLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDckI7WUFDRCxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNYLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxRQUFRO2FBQ3JCO1lBQ0QsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDYixPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixRQUFRLEVBQUUsS0FBSzthQUNsQjtZQUNELENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLFFBQVEsRUFBRSxLQUFLO2dCQUNmLFFBQVEsRUFBRSxLQUFLO2FBQ2xCO1NBQ0osQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVqQyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2FBQzVCLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDOUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO2FBQ3JCLGtCQUFrQixDQUFDLEtBQUssQ0FBQzthQUN6QixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELG1DQUFtQztJQUMzQixjQUFjLENBQUMsR0FBc0I7UUFDekMsTUFBTSxRQUFRLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzVCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzVELFFBQVEsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBRTlELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7O2lIQXRJUSxvQkFBb0I7cUdBQXBCLG9CQUFvQix1T0N6QmpDLG1qREFpQ0E7MkZEUmEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzhKQUd0QyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQzhDLFlBQVk7c0JBQS9ELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5UmVmLCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29udGV4dE1lbnVDb25maWcsIENvbnRleHRNZW51SXRlbSwgQ29udGV4dE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LW1lbnUuc2VydmljZSc7XG5cbnR5cGUgRHJvcGRvd25Qb3NpdGlvbiA9ICd0b3AtbGVmdCcgfCAndG9wLXJpZ2h0JyB8ICdib3R0b20tbGVmdCcgfCAnYm90dG9tLXJpZ2h0JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd2ZHItY29udGV4dC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGVkaXRvck1lbnVFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgQFZpZXdDaGlsZCgnY29udGV4dE1lbnUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIG1lbnVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIG1lbnVDb25maWc6IENvbnRleHRNZW51Q29uZmlnIHwgdW5kZWZpbmVkO1xuICAgIGhpZGVUcmlnZ2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwcml2YXRlIHRyaWdnZXJJc0hpZGRlbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgbWVudVBvcnRhbDogVGVtcGxhdGVQb3J0YWw8YW55PjtcbiAgICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gICAgcHJpdmF0ZSBjb250ZXh0TWVudVN1YjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgY29udGVudEFyZWE6IEhUTUxEaXZFbGVtZW50IHwgbnVsbDtcbiAgICBwcml2YXRlIGhpZGVUcmlnZ2VySGFuZGxlcjogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwdWJsaWMgY29udGV4dE1lbnVTZXJ2aWNlOiBDb250ZXh0TWVudVNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgb25TY3JvbGwgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jb250ZW50QXJlYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb250ZW50LWFyZWEnKTtcbiAgICAgICAgdGhpcy5tZW51UG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMubWVudVRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuXG4gICAgICAgIHRoaXMuaGlkZVRyaWdnZXIkID0gdGhpcy50cmlnZ2VySXNIaWRkZW4uYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5jb250ZW50QXJlYT8uYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuXG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdWIgPSB0aGlzLmNvbnRleHRNZW51U2VydmljZS5jb250ZXh0TWVudSQuc3Vic2NyaWJlKGNvbnRleHRNZW51Q29uZmlnID0+IHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5tZW51Q29uZmlnID0gY29udGV4dE1lbnVDb25maWc7XG4gICAgICAgICAgICBpZiAoY29udGV4dE1lbnVDb25maWcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLmdldFBvc2l0aW9uU3RyYXRlZ3koY29udGV4dE1lbnVDb25maWcuZWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgIG1heEhlaWdodDogJzcwdmgnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy5tZW51UG9ydGFsKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXJJc0hpZGRlbi5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHRyaWdnZXJCdXR0b24gPSB0aGlzLm92ZXJsYXlSZWYuaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRleHQtbWVudS10cmlnZ2VyJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgZWRpdG9yTWVudSA9IHRoaXMuZWRpdG9yTWVudUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgaWYgKHRyaWdnZXJCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3ZlcmxhcE1hcmdpblB4ID0gNTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlVHJpZ2dlckhhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWRpdG9yTWVudSAmJiB0cmlnZ2VyQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyQnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIG92ZXJsYXBNYXJnaW5QeCA8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvck1lbnUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlcklzSGlkZGVuLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VySXNIaWRkZW4ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRBcmVhPy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhpZGVUcmlnZ2VySGFuZGxlciwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5oaWRlVHJpZ2dlckhhbmRsZXI/LigpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmhpZGVUcmlnZ2VySGFuZGxlcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRBcmVhPy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhpZGVUcmlnZ2VySGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTZXJ2aWNlLnNldFZpc2liaWxpdHkodHJ1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51U3ViPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmNvbnRlbnRBcmVhPy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsKTtcbiAgICAgICAgaWYgKHRoaXMuaGlkZVRyaWdnZXJIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRBcmVhPy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhpZGVUcmlnZ2VySGFuZGxlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGlja0l0ZW0oaXRlbTogQ29udGV4dE1lbnVJdGVtKSB7XG4gICAgICAgIGl0ZW0ub25DbGljaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneShlbGVtZW50OiBFbGVtZW50KTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uOiB7IFtLIGluIERyb3Bkb3duUG9zaXRpb25dOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgICAgICAgICAgWyd0b3AtbGVmdCddOiB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWyd0b3AtcmlnaHQnXToge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWydib3R0b20tbGVmdCddOiB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgWydib3R0b20tcmlnaHQnXToge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHBvcyA9IHBvc2l0aW9uWyd0b3AtbGVmdCddO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyhlbGVtZW50KVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW3BvcywgdGhpcy5pbnZlcnRQb3NpdGlvbihwb3MpXSlcbiAgICAgICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4oMClcbiAgICAgICAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oZmFsc2UpXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBJbnZlcnRzIGFuIG92ZXJsYXkgcG9zaXRpb24uICovXG4gICAgcHJpdmF0ZSBpbnZlcnRQb3NpdGlvbihwb3M6IENvbm5lY3RlZFBvc2l0aW9uKTogQ29ubmVjdGVkUG9zaXRpb24ge1xuICAgICAgICBjb25zdCBpbnZlcnRlZCA9IHsgLi4ucG9zIH07XG4gICAgICAgIGludmVydGVkLm9yaWdpblkgPSBwb3Mub3JpZ2luWSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xuICAgICAgICBpbnZlcnRlZC5vdmVybGF5WSA9IHBvcy5vdmVybGF5WSA9PT0gJ3RvcCcgPyAnYm90dG9tJyA6ICd0b3AnO1xuXG4gICAgICAgIHJldHVybiBpbnZlcnRlZDtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRleHRNZW51PlxyXG4gICAgPHZkci1kcm9wZG93bj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY29udGV4dC1tZW51LXRyaWdnZXJcIiB2ZHJEcm9wZG93blRyaWdnZXIgW2NsYXNzLmhpZGRlbl09XCJoaWRlVHJpZ2dlciQgfCBhc3luY1wiIChjbGljayk9XCJ0cmlnZ2VyQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICA8Y2xyLWljb25cclxuICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudUNvbmZpZz8uaWNvblNoYXBlIGFzIHNoYXBlXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLnNoYXBlXT1cInNoYXBlXCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1yMlwiXHJcbiAgICAgICAgICAgID48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWxhYmVsXCI+e3sgbWVudUNvbmZpZz8udGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPHZkci1kcm9wZG93bi1tZW51IHZkclBvc2l0aW9uPVwiYm90dG9tLXJpZ2h0XCIgY3VzdG9tQ2xhc3Nlcz1cImNvbnRleHQtbWVudVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnVDb25maWc/Lml0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZXh0LW1lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmVuYWJsZWQgJiYgaXRlbS5zZXBhcmF0b3IgIT09IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0l0ZW0oaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmljb25DbGFzc1wiIGNsYXNzPVwiY20taWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvbkNsYXNzXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uU2hhcGUgYXMgc2hhcGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaGFwZV09XCJzaGFwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCIxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibXIyXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLmVuYWJsZWQgJiYgaXRlbS5zZXBhcmF0b3JcIiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIiByb2xlPVwic2VwYXJhdG9yXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICA8L3Zkci1kcm9wZG93bj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, combineLatest, interval, of, Subject } from 'rxjs';
|
|
3
|
+
import { bufferWhen, debounceTime, delayWhen, distinctUntilChanged, filter, map, takeUntil, } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ContextMenuService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.menuIsVisible$ = new BehaviorSubject(false);
|
|
8
|
+
this.setContextMenuConfig$ = new Subject();
|
|
9
|
+
const source$ = this.setContextMenuConfig$.asObservable();
|
|
10
|
+
const groupedConfig$ = source$.pipe(bufferWhen(() => source$.pipe(debounceTime(50))), map(group => {
|
|
11
|
+
return group.reduce((acc, cur) => {
|
|
12
|
+
if (!acc) {
|
|
13
|
+
return cur;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
if (cur?.ref === acc.ref) {
|
|
17
|
+
acc.items.push(
|
|
18
|
+
// de-duplicate items
|
|
19
|
+
...(cur?.items.filter(i => !acc.items.find(ai => ai.label === i.label)) ??
|
|
20
|
+
[]));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return acc;
|
|
24
|
+
}, undefined);
|
|
25
|
+
}));
|
|
26
|
+
const visible$ = this.menuIsVisible$.pipe(filter(val => val === true));
|
|
27
|
+
const isVisible$ = this.menuIsVisible$.pipe(delayWhen(value => (value ? of(value) : interval(100).pipe(takeUntil(visible$)))), distinctUntilChanged());
|
|
28
|
+
this.contextMenu$ = combineLatest(groupedConfig$, isVisible$).pipe(map(([config, isVisible]) => (isVisible ? config : undefined)));
|
|
29
|
+
}
|
|
30
|
+
setVisibility(isVisible) {
|
|
31
|
+
this.menuIsVisible$.next(isVisible);
|
|
32
|
+
}
|
|
33
|
+
setContextMenu(config) {
|
|
34
|
+
this.setContextMenuConfig$.next(config);
|
|
35
|
+
}
|
|
36
|
+
clearContextMenu() {
|
|
37
|
+
this.setContextMenuConfig$.next(undefined);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
ContextMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ContextMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
41
|
+
ContextMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ContextMenuService, providedIn: 'root' });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ContextMenuService, decorators: [{
|
|
43
|
+
type: Injectable,
|
|
44
|
+
args: [{ providedIn: 'root' }]
|
|
45
|
+
}], ctorParameters: function () { return []; } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekYsT0FBTyxFQUNILFVBQVUsRUFDVixZQUFZLEVBQ1osU0FBUyxFQUNULG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUVILFNBQVMsR0FFWixNQUFNLGdCQUFnQixDQUFDOztBQXFCeEIsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQjtRQUZRLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDckQsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWlDLENBQUM7UUFFekUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2hELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNSLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDTixPQUFPLEdBQUcsQ0FBQztpQkFDZDtxQkFBTTtvQkFDSCxJQUFJLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRTt3QkFDdEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJO3dCQUNWLHFCQUFxQjt3QkFDckIsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUNuRSxFQUFFLENBQUMsQ0FDVixDQUFDO3FCQUNMO2lCQUNKO2dCQUNELE9BQU8sR0FBRyxDQUFDO1lBQ2YsQ0FBQyxFQUFFLFNBQTBDLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFdkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQ3ZDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNqRixvQkFBb0IsRUFBRSxDQUN6QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDOUQsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ2pFLENBQUM7SUFDTixDQUFDO0lBRUQsYUFBYSxDQUFDLFNBQWtCO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBeUI7UUFDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxDQUFDOzsrR0EvQ1Esa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBpbnRlcnZhbCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgYnVmZmVyV2hlbixcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZGVsYXlXaGVuLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgc2tpcCxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE1lbnVDb25maWcge1xuICAgIHJlZjogYW55O1xuICAgIGljb25TaGFwZT86IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IEVsZW1lbnQ7XG4gICAgY29vcmRzOiB7IGxlZnQ6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgdG9wOiBudW1iZXI7IGJvdHRvbTogbnVtYmVyIH07XG4gICAgaXRlbXM6IENvbnRleHRNZW51SXRlbVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRNZW51SXRlbSB7XG4gICAgc2VwYXJhdG9yPzogYm9vbGVhbjtcbiAgICBpY29uQ2xhc3M/OiBzdHJpbmc7XG4gICAgaWNvblNoYXBlPzogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBvbkNsaWNrOiAoKSA9PiB2b2lkO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51U2VydmljZSB7XG4gICAgY29udGV4dE1lbnUkOiBPYnNlcnZhYmxlPENvbnRleHRNZW51Q29uZmlnIHwgdW5kZWZpbmVkPjtcbiAgICBwcml2YXRlIG1lbnVJc1Zpc2libGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBzZXRDb250ZXh0TWVudUNvbmZpZyQgPSBuZXcgU3ViamVjdDxDb250ZXh0TWVudUNvbmZpZyB8IHVuZGVmaW5lZD4oKTtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3Qgc291cmNlJCA9IHRoaXMuc2V0Q29udGV4dE1lbnVDb25maWckLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICBjb25zdCBncm91cGVkQ29uZmlnJCA9IHNvdXJjZSQucGlwZShcbiAgICAgICAgICAgIGJ1ZmZlcldoZW4oKCkgPT4gc291cmNlJC5waXBlKGRlYm91bmNlVGltZSg1MCkpKSxcbiAgICAgICAgICAgIG1hcChncm91cCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdyb3VwLnJlZHVjZSgoYWNjLCBjdXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhY2MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjdXI7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3VyPy5yZWYgPT09IGFjYy5yZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2MuaXRlbXMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGUtZHVwbGljYXRlIGl0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLihjdXI/Lml0ZW1zLmZpbHRlcihpID0+ICFhY2MuaXRlbXMuZmluZChhaSA9PiBhaS5sYWJlbCA9PT0gaS5sYWJlbCkpID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH0sIHVuZGVmaW5lZCBhcyBDb250ZXh0TWVudUNvbmZpZyB8IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB2aXNpYmxlJCA9IHRoaXMubWVudUlzVmlzaWJsZSQucGlwZShmaWx0ZXIodmFsID0+IHZhbCA9PT0gdHJ1ZSkpO1xuXG4gICAgICAgIGNvbnN0IGlzVmlzaWJsZSQgPSB0aGlzLm1lbnVJc1Zpc2libGUkLnBpcGUoXG4gICAgICAgICAgICBkZWxheVdoZW4odmFsdWUgPT4gKHZhbHVlID8gb2YodmFsdWUpIDogaW50ZXJ2YWwoMTAwKS5waXBlKHRha2VVbnRpbCh2aXNpYmxlJCkpKSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNvbnRleHRNZW51JCA9IGNvbWJpbmVMYXRlc3QoZ3JvdXBlZENvbmZpZyQsIGlzVmlzaWJsZSQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtjb25maWcsIGlzVmlzaWJsZV0pID0+IChpc1Zpc2libGUgPyBjb25maWcgOiB1bmRlZmluZWQpKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzZXRWaXNpYmlsaXR5KGlzVmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm1lbnVJc1Zpc2libGUkLm5leHQoaXNWaXNpYmxlKTtcbiAgICB9XG5cbiAgICBzZXRDb250ZXh0TWVudShjb25maWc6IENvbnRleHRNZW51Q29uZmlnKSB7XG4gICAgICAgIHRoaXMuc2V0Q29udGV4dE1lbnVDb25maWckLm5leHQoY29uZmlnKTtcbiAgICB9XG5cbiAgICBjbGVhckNvbnRleHRNZW51KCkge1xuICAgICAgICB0aGlzLnNldENvbnRleHRNZW51Q29uZmlnJC5uZXh0KHVuZGVmaW5lZCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { DOMSerializer } from 'prosemirror-model';
|
|
2
|
+
export const iframeNode = {
|
|
3
|
+
group: 'block',
|
|
4
|
+
attrs: {
|
|
5
|
+
allow: {},
|
|
6
|
+
allowfullscreeen: {},
|
|
7
|
+
frameborder: {},
|
|
8
|
+
height: { default: undefined },
|
|
9
|
+
name: { default: '' },
|
|
10
|
+
referrerpolicy: {},
|
|
11
|
+
sandbox: { default: undefined },
|
|
12
|
+
src: {},
|
|
13
|
+
srcdoc: { default: undefined },
|
|
14
|
+
title: { default: undefined },
|
|
15
|
+
width: { default: undefined },
|
|
16
|
+
},
|
|
17
|
+
parseDOM: [
|
|
18
|
+
{
|
|
19
|
+
tag: 'iframe',
|
|
20
|
+
getAttrs: node => {
|
|
21
|
+
if (node instanceof HTMLIFrameElement) {
|
|
22
|
+
const attrs = {
|
|
23
|
+
allow: node.allow,
|
|
24
|
+
allowfullscreeen: node.allowFullscreen ?? true,
|
|
25
|
+
frameborder: node.getAttribute('frameborder'),
|
|
26
|
+
height: node.height,
|
|
27
|
+
name: node.name,
|
|
28
|
+
referrerpolicy: node.referrerPolicy,
|
|
29
|
+
src: node.src,
|
|
30
|
+
srcdoc: node.srcdoc || undefined,
|
|
31
|
+
title: node.title ?? '',
|
|
32
|
+
width: node.width,
|
|
33
|
+
};
|
|
34
|
+
if (node.sandbox.length) {
|
|
35
|
+
attrs.sandbox = node.sandbox;
|
|
36
|
+
}
|
|
37
|
+
return attrs;
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
toDOM(node) {
|
|
44
|
+
return ['iframe', { ...node.attrs }];
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
export const iframeNodeView = (node, view, getPos, decorations) => {
|
|
48
|
+
const domSerializer = DOMSerializer.fromSchema(view.state.schema);
|
|
49
|
+
const wrapper = document.createElement('div');
|
|
50
|
+
wrapper.classList.add('iframe-wrapper');
|
|
51
|
+
const iframe = domSerializer.serializeNode(node);
|
|
52
|
+
wrapper.appendChild(iframe);
|
|
53
|
+
return {
|
|
54
|
+
dom: wrapper,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW5vZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3Byb3NlbWlycm9yL2N1c3RvbS1ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLGFBQWEsRUFBa0IsTUFBTSxtQkFBbUIsQ0FBQztBQUdwRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWE7SUFDaEMsS0FBSyxFQUFFLE9BQU87SUFDZCxLQUFLLEVBQUU7UUFDSCxLQUFLLEVBQUUsRUFBRTtRQUNULGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsV0FBVyxFQUFFLEVBQUU7UUFDZixNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO1FBQzlCLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7UUFDckIsY0FBYyxFQUFFLEVBQUU7UUFDbEIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUMvQixHQUFHLEVBQUUsRUFBRTtRQUNQLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUU7UUFDOUIsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUM3QixLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFO0tBQ2hDO0lBQ0QsUUFBUSxFQUFFO1FBQ047WUFDSSxHQUFHLEVBQUUsUUFBUTtZQUNiLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDYixJQUFJLElBQUksWUFBWSxpQkFBaUIsRUFBRTtvQkFDbkMsTUFBTSxLQUFLLEdBQXdCO3dCQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7d0JBQ2pCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSTt3QkFDOUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO3dCQUM3QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07d0JBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7d0JBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRzt3QkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTO3dCQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO3dCQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7cUJBQ3BCLENBQUM7b0JBQ0YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTt3QkFDckIsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUNoQztvQkFDRCxPQUFPLEtBQUssQ0FBQztpQkFDaEI7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztTQUNKO0tBQ0o7SUFDRCxLQUFLLENBQUMsSUFBSTtRQUNOLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF3QixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFO0lBQ25GLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLE9BQU87UUFDSCxHQUFHLEVBQUUsT0FBTztLQUNmLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRycywgRE9NUGFyc2VyLCBET01TZXJpYWxpemVyLCBOb2RlLCBOb2RlU3BlYyB9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcclxuaW1wb3J0IHsgTm9kZVZpZXdDb25zdHJ1Y3RvciB9IGZyb20gJ3Byb3NlbWlycm9yLXZpZXcnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGlmcmFtZU5vZGU6IE5vZGVTcGVjID0ge1xyXG4gICAgZ3JvdXA6ICdibG9jaycsXHJcbiAgICBhdHRyczoge1xyXG4gICAgICAgIGFsbG93OiB7fSxcclxuICAgICAgICBhbGxvd2Z1bGxzY3JlZWVuOiB7fSxcclxuICAgICAgICBmcmFtZWJvcmRlcjoge30sXHJcbiAgICAgICAgaGVpZ2h0OiB7IGRlZmF1bHQ6IHVuZGVmaW5lZCB9LFxyXG4gICAgICAgIG5hbWU6IHsgZGVmYXVsdDogJycgfSxcclxuICAgICAgICByZWZlcnJlcnBvbGljeToge30sXHJcbiAgICAgICAgc2FuZGJveDogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgICAgICBzcmM6IHt9LFxyXG4gICAgICAgIHNyY2RvYzogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgICAgICB0aXRsZTogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgICAgICB3aWR0aDogeyBkZWZhdWx0OiB1bmRlZmluZWQgfSxcclxuICAgIH0sXHJcbiAgICBwYXJzZURPTTogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGFnOiAnaWZyYW1lJyxcclxuICAgICAgICAgICAgZ2V0QXR0cnM6IG5vZGUgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBIVE1MSUZyYW1lRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF0dHJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxvdzogbm9kZS5hbGxvdyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3dmdWxsc2NyZWVlbjogbm9kZS5hbGxvd0Z1bGxzY3JlZW4gPz8gdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVib3JkZXI6IG5vZGUuZ2V0QXR0cmlidXRlKCdmcmFtZWJvcmRlcicpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG5vZGUuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVycmVycG9saWN5OiBub2RlLnJlZmVycmVyUG9saWN5LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM6IG5vZGUuc3JjLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmNkb2M6IG5vZGUuc3JjZG9jIHx8IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IG5vZGUudGl0bGUgPz8gJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBub2RlLndpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUuc2FuZGJveC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnMuc2FuZGJveCA9IG5vZGUuc2FuZGJveDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGF0dHJzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbiAgICB0b0RPTShub2RlKSB7XHJcbiAgICAgICAgcmV0dXJuIFsnaWZyYW1lJywgeyAuLi5ub2RlLmF0dHJzIH1dO1xyXG4gICAgfSxcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCBpZnJhbWVOb2RlVmlldzogTm9kZVZpZXdDb25zdHJ1Y3RvciA9IChub2RlLCB2aWV3LCBnZXRQb3MsIGRlY29yYXRpb25zKSA9PiB7XHJcbiAgICBjb25zdCBkb21TZXJpYWxpemVyID0gRE9NU2VyaWFsaXplci5mcm9tU2NoZW1hKHZpZXcuc3RhdGUuc2NoZW1hKTtcclxuICAgIGNvbnN0IHdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIHdyYXBwZXIuY2xhc3NMaXN0LmFkZCgnaWZyYW1lLXdyYXBwZXInKTtcclxuICAgIGNvbnN0IGlmcmFtZSA9IGRvbVNlcmlhbGl6ZXIuc2VyaWFsaXplTm9kZShub2RlKTtcclxuICAgIHdyYXBwZXIuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgZG9tOiB3cmFwcGVyLFxyXG4gICAgfTtcclxufTtcclxuIl19
|