@worktile/theia 15.0.12 → 15.0.14
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/components/action/prevent-default.d.ts +1 -1
- package/components/color-select/color-select.component.d.ts +1 -1
- package/components/column-resize/column-resize.directive.d.ts +1 -1
- package/components/column-resize/overlay-handle.component.d.ts +1 -1
- package/components/contextmenu/contextmenu.component.d.ts +1 -1
- package/components/conversion-hint/conversion-hint.component.d.ts +1 -1
- package/components/element/element.component.d.ts +1 -1
- package/components/inline-toolbar/inline-toolbar.component.d.ts +1 -1
- package/components/listbox/listbox.d.ts +3 -3
- package/components/listbox/listbox.type.d.ts +1 -1
- package/components/plugin-menu/plugin-menu.component.d.ts +1 -1
- package/components/table-select/table-select.component.d.ts +1 -1
- package/components/template/template.component.d.ts +1 -1
- package/components/text/text.component.d.ts +1 -1
- package/components/toolbar/toolbar.component.d.ts +1 -1
- package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +1 -1
- package/components/toolbar-group/toolbar-group.component.d.ts +1 -1
- package/components/toolbar-item/toolbar-item.component.d.ts +1 -1
- package/constants/color-select.d.ts +1 -1
- package/core/toolbar-item/base-toolbar-item.d.ts +2 -2
- package/custom-types.d.ts +6 -6
- package/editor.component.d.ts +1 -1
- package/esm2020/components/action/prevent-default.mjs +3 -3
- package/esm2020/components/color-select/color-select.component.mjs +9 -9
- package/esm2020/components/column-resize/column-resize-notifier.mjs +3 -3
- package/esm2020/components/column-resize/column-resize.directive.mjs +3 -3
- package/esm2020/components/column-resize/column-resize.module.mjs +8 -8
- package/esm2020/components/column-resize/event-dispatcher.mjs +3 -3
- package/esm2020/components/column-resize/overlay-handle.component.mjs +3 -3
- package/esm2020/components/column-resize/resizing.store.mjs +3 -3
- package/esm2020/components/contextmenu/contextmenu.component.mjs +10 -10
- package/esm2020/components/conversion-hint/conversion-hint.component.mjs +3 -3
- package/esm2020/components/element/element.component.mjs +3 -3
- package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +3 -3
- package/esm2020/components/listbox/listbox.mjs +16 -16
- package/esm2020/components/plugin-menu/plugin-menu.component.mjs +3 -3
- package/esm2020/components/table-select/table-select.component.mjs +3 -3
- package/esm2020/components/template/template.component.mjs +3 -3
- package/esm2020/components/text/text.component.mjs +3 -3
- package/esm2020/components/toolbar/toolbar.component.mjs +7 -7
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +14 -14
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +11 -11
- package/esm2020/components/toolbar-item/toolbar-item.component.mjs +7 -7
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +6 -6
- package/esm2020/editor.component.mjs +10 -10
- package/esm2020/editor.module.mjs +4 -4
- package/esm2020/interfaces/view-base.mjs +3 -3
- package/esm2020/pipes.mjs +6 -6
- package/esm2020/plugins/blockquote/blockquote.component.mjs +3 -3
- package/esm2020/plugins/code/code.component.mjs +10 -10
- package/esm2020/plugins/color/toolbar-item.component.mjs +7 -7
- package/esm2020/plugins/common/auto-insert-data.mjs +12 -17
- package/esm2020/plugins/hr/hr.component.mjs +3 -3
- package/esm2020/plugins/image/image.component.mjs +13 -13
- package/esm2020/plugins/inline-code/inline-code.component.mjs +3 -3
- package/esm2020/plugins/link/edit/link-edit.component.mjs +9 -9
- package/esm2020/plugins/link/hover/link-hover.component.mjs +3 -3
- package/esm2020/plugins/link/link.component.mjs +13 -13
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +7 -7
- package/esm2020/plugins/list/components/list-item.component.mjs +3 -3
- package/esm2020/plugins/list/components/numbered-list.component.mjs +9 -9
- package/esm2020/plugins/mention/suggestion.component.mjs +3 -3
- package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +8 -8
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +9 -9
- package/esm2020/plugins/table/components/row/row.component.mjs +3 -3
- package/esm2020/plugins/table/components/table.component.mjs +48 -36
- package/esm2020/plugins/table/components/td/td.component.mjs +20 -20
- package/esm2020/plugins/table/components/toolbar/table-options.component.mjs +7 -7
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +13 -13
- package/esm2020/plugins/table/table.pipe.mjs +6 -6
- package/esm2020/plugins/table/table.plugin.mjs +26 -1
- package/esm2020/plugins/table/table.service.mjs +7 -7
- package/esm2020/plugins/table/table.store.mjs +10 -10
- package/esm2020/plugins/table/toolbar-item.component.mjs +7 -7
- package/esm2020/plugins/todo-item/todo-item.component.mjs +11 -11
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +11 -11
- package/esm2020/services/color-select.service.mjs +7 -7
- package/esm2020/services/context.service.mjs +3 -3
- package/esm2020/services/table-contextmenu.service.mjs +13 -13
- package/esm2020/services/toolbar.service.mjs +3 -3
- package/fesm2015/worktile-theia.mjs +488 -456
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +484 -452
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +2 -2
- package/interfaces/element.d.ts +3 -3
- package/interfaces/plugins/no-infer.d.ts +1 -1
- package/interfaces/plugins/plugin-key.d.ts +1 -1
- package/interfaces/plugins/plugin-menu.d.ts +4 -4
- package/interfaces/plugins/plugins.d.ts +4 -4
- package/interfaces/plugins/with-override.d.ts +1 -1
- package/interfaces/toolbar.d.ts +4 -4
- package/interfaces/utility/nested-structure-by-key.d.ts +1 -1
- package/interfaces/utility/override-by-key.d.ts +1 -1
- package/interfaces/utility/types.d.ts +1 -1
- package/interfaces/view-base.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/blockquote/blockquote.component.d.ts +1 -1
- package/plugins/code/code.component.d.ts +1 -1
- package/plugins/color/toolbar-item.component.d.ts +1 -1
- package/plugins/common/transforms.plugin.d.ts +1 -1
- package/plugins/heading/heading.plugin.d.ts +1 -1
- package/plugins/hr/hr.component.d.ts +1 -1
- package/plugins/image/image.component.d.ts +1 -1
- package/plugins/inline-code/inline-code.component.d.ts +1 -1
- package/plugins/link/edit/link-edit.component.d.ts +1 -1
- package/plugins/link/hover/link-hover.component.d.ts +1 -1
- package/plugins/link/link.component.d.ts +2 -2
- package/plugins/list/components/bulleted-list.component.d.ts +1 -1
- package/plugins/list/components/list-item.component.d.ts +1 -1
- package/plugins/list/components/numbered-list.component.d.ts +1 -1
- package/plugins/list/types.d.ts +1 -1
- package/plugins/mention/suggestion.component.d.ts +1 -1
- package/plugins/quick-insert/components/quick-insert.component.d.ts +1 -1
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +1 -1
- package/plugins/table/components/row/row.component.d.ts +1 -1
- package/plugins/table/components/table.component.d.ts +2 -1
- package/plugins/table/components/table.component.scss +0 -1
- package/plugins/table/components/td/td.component.d.ts +1 -1
- package/plugins/table/components/toolbar/table-options.component.d.ts +1 -1
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +1 -1
- package/plugins/table/toolbar-item.component.d.ts +1 -1
- package/plugins/todo-item/todo-item.component.d.ts +1 -1
- package/plugins/vertical-align/toolbar-item.component.d.ts +1 -1
- package/queries/find-node.d.ts +1 -1
- package/queries/get-range-before.d.ts +1 -1
- package/utils/match.d.ts +3 -3
|
@@ -8,13 +8,6 @@ import * as i4 from "ngx-tethys/tooltip";
|
|
|
8
8
|
import * as i5 from "ngx-tethys/action";
|
|
9
9
|
import * as i6 from "ngx-tethys/dropdown";
|
|
10
10
|
export class TheVerticalToolbarItemComponent extends TheBaseToolbarDropdown {
|
|
11
|
-
constructor(elementRef, thyPopover, viewContainerRef) {
|
|
12
|
-
super();
|
|
13
|
-
this.elementRef = elementRef;
|
|
14
|
-
this.thyPopover = thyPopover;
|
|
15
|
-
this.viewContainerRef = viewContainerRef;
|
|
16
|
-
this.isHide = true;
|
|
17
|
-
}
|
|
18
11
|
get isOpened() {
|
|
19
12
|
return this.dropdownPopoverRef && this.dropdownPopoverRef.getOverlayRef() && this.dropdownPopoverRef.getOverlayRef().hasAttached();
|
|
20
13
|
}
|
|
@@ -23,6 +16,13 @@ export class TheVerticalToolbarItemComponent extends TheBaseToolbarDropdown {
|
|
|
23
16
|
this.close();
|
|
24
17
|
}
|
|
25
18
|
}
|
|
19
|
+
constructor(elementRef, thyPopover, viewContainerRef) {
|
|
20
|
+
super();
|
|
21
|
+
this.elementRef = elementRef;
|
|
22
|
+
this.thyPopover = thyPopover;
|
|
23
|
+
this.viewContainerRef = viewContainerRef;
|
|
24
|
+
this.isHide = true;
|
|
25
|
+
}
|
|
26
26
|
ngOnInit() { }
|
|
27
27
|
menusActive(editor) {
|
|
28
28
|
return this.menus.find(i => {
|
|
@@ -65,9 +65,9 @@ export class TheVerticalToolbarItemComponent extends TheBaseToolbarDropdown {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
TheVerticalToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
TheVerticalToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
68
|
+
TheVerticalToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheVerticalToolbarItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
TheVerticalToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: TheVerticalToolbarItemComponent, selector: "the-toolbar-vertical-align-item", host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.hide": "!active" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n href=\"javascript:;\"\n class=\"icon-mode link-with-down\"\n thyAction\n [thyActionIcon]=\"activeMenuItem?.icon\"\n [thyActionActive]=\"isOpened\"\n [thyTooltip]=\"toolbarItem?.name\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon class=\"font-size-sm text-desc ml-1\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <div class=\"thy-dropdown-menu\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n href=\"javascript:;\"\n thyDropdownMenuItem\n [thyDropdownMenuItemActive]=\"menu.key === activeMenuItem?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <thy-icon *ngIf=\"menu.icon\" thyDropdownMenuItemIcon [thyIconName]=\"menu?.icon\"></thy-icon>\n <span thyDropdownMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: i4.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: i5.ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: i6.ThyDropdownMenuItemDirective, selector: "[thyDropdownMenuItem]", inputs: ["thyType", "thyDisabled"] }, { kind: "directive", type: i6.ThyDropdownMenuItemNameDirective, selector: "[thyDropdownMenuItemName]" }, { kind: "directive", type: i6.ThyDropdownMenuItemIconDirective, selector: "[thyDropdownMenuItemIcon]" }, { kind: "directive", type: i6.ThyDropdownMenuItemActiveDirective, selector: "[thyDropdownMenuItemActive]", inputs: ["thyDropdownMenuItemActive"] }] });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheVerticalToolbarItemComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{ selector: 'the-toolbar-vertical-align-item', host: {
|
|
73
73
|
class: 'the-toolbar-dropdown-container verticalAlign',
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
80
80
|
type: HostListener,
|
|
81
81
|
args: ['document: mousedown', ['$event']]
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3ZlcnRpY2FsLWFsaWduL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHdEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7O0FBV25GLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxzQkFBc0I7SUFPdkUsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2SSxDQUFDO0lBR0QsdUJBQXVCLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxZQUFtQixVQUFzQixFQUFVLFVBQXNCLEVBQVUsZ0JBQWtDO1FBQ2pILEtBQUssRUFBRSxDQUFDO1FBRE8sZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBakJySCxXQUFNLEdBQUcsSUFBSSxDQUFDO0lBbUJkLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXLENBQUMsTUFBYztRQUN0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRTtnQkFDckMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWlCO1FBQ3JCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtZQUNoRCxPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQixFQUFFLElBQWlCO1FBQzlDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsSUFBSSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ2YsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzFELE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN2QixVQUFVLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQztZQUNuRSxTQUFTLEVBQUUsWUFBWTtZQUN2QixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxDQUFDO1lBQ1gsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxjQUFjLEVBQUUsS0FBSztZQUNyQixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLFdBQVcsRUFBRSxLQUFLO1NBQ3JCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQzs7NEhBckVRLCtCQUErQjtnSEFBL0IsK0JBQStCLDhWQUlDLFdBQVcsa0VDbEJ4RCxxNkJBNEJBOzJGRGRhLCtCQUErQjtrQkFSM0MsU0FBUzsrQkFDSSxpQ0FBaUMsUUFFckM7d0JBQ0YsS0FBSyxFQUFFLDhDQUE4Qzt3QkFDckQsY0FBYyxFQUFFLFNBQVM7cUJBQzVCO3lKQU9ELFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFRcEUsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckRyb3Bkb3duIH0gZnJvbSAnLi4vLi4vY29yZS90b29sYmFyLWl0ZW0vYmFzZS10b29sYmFyLWl0ZW0nO1xuaW1wb3J0IHsgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdG9vbGJhci12ZXJ0aWNhbC1hbGlnbi1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZHJvcGRvd24tY29udGFpbmVyIHZlcnRpY2FsQWxpZ24nLFxuICAgICAgICAnW2NsYXNzLmhpZGVdJzogJyFhY3RpdmUnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVWZXJ0aWNhbFRvb2xiYXJJdGVtQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZVRvb2xiYXJEcm9wZG93biBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaXNIaWRlID0gdHJ1ZTtcbiAgICBkcm9wZG93blBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ1ZlcnRpY2FsQWxpZ25JdGVtcycsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZ2V0IGlzT3BlbmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93blBvcG92ZXJSZWYgJiYgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpICYmIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKS5oYXNBdHRhY2hlZCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OiBtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZURvY3VtZW50TW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgbWVudXNBY3RpdmUoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVudXMuZmluZChpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmVkaXRvcj8uc2VsZWN0aW9uICYmIGk/LmFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBpPy5hY3RpdmUoZWRpdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZXhlY3V0ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yPy5yZWFkT25seSB8fCB0aGlzLmVkaXRvcj8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5Qb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgaXRlbU1vdXNlZG93bihldmVudDogTW91c2VFdmVudCwgaXRlbTogVG9vbGJhckl0ZW0pIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgICAgIGlmIChpdGVtPy5leGVjdXRlKSB7XG4gICAgICAgICAgICBpdGVtPy5leGVjdXRlKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5Qb3BvdmVyKCkge1xuICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKHRoaXMudGVtcGxhdGUsIHtcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogWyd0aGUtdG9vbGJhci1kcm9wZG93bi1wb3BvdmVyJywgdGhpcy50b29sYmFySXRlbT8ua2V5XSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIG1pbldpZHRoOiAwLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxhXG4gIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICBjbGFzcz1cImljb24tbW9kZSBsaW5rLXdpdGgtZG93blwiXG4gIHRoeUFjdGlvblxuICBbdGh5QWN0aW9uSWNvbl09XCJhY3RpdmVNZW51SXRlbT8uaWNvblwiXG4gIFt0aHlBY3Rpb25BY3RpdmVdPVwiaXNPcGVuZWRcIlxuICBbdGh5VG9vbHRpcF09XCJ0b29sYmFySXRlbT8ubmFtZVwiXG4gIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAobW91c2Vkb3duKT1cImV4ZWN1dGUoJGV2ZW50KVwiXG4+XG4gIDx0aHktaWNvbiBjbGFzcz1cImZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2MgbWwtMVwiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPjwvdGh5LWljb24+XG48L2E+XG5cbjxuZy10ZW1wbGF0ZSAjVmVydGljYWxBbGlnbkl0ZW1zPlxuICA8ZGl2IGNsYXNzPVwidGh5LWRyb3Bkb3duLW1lbnVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51IG9mIHRvb2xiYXJJdGVtPy5pbmNsdWRlc1wiPlxuICAgICAgPGFcbiAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgIHRoeURyb3Bkb3duTWVudUl0ZW1cbiAgICAgICAgW3RoeURyb3Bkb3duTWVudUl0ZW1BY3RpdmVdPVwibWVudS5rZXkgPT09IGFjdGl2ZU1lbnVJdGVtPy5rZXlcIlxuICAgICAgICAobW91c2Vkb3duKT1cIml0ZW1Nb3VzZWRvd24oJGV2ZW50LCBtZW51KVwiXG4gICAgICA+XG4gICAgICAgIDx0aHktaWNvbiAqbmdJZj1cIm1lbnUuaWNvblwiIHRoeURyb3Bkb3duTWVudUl0ZW1JY29uIFt0aHlJY29uTmFtZV09XCJtZW51Py5pY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgPHNwYW4gdGh5RHJvcGRvd25NZW51SXRlbU5hbWU+e3sgbWVudS5uYW1lIH19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -3,6 +3,9 @@ import { TheColorSelectComponent } from '../components/color-select/color-select
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "ngx-tethys/popover";
|
|
5
5
|
export class TheColorSelectService {
|
|
6
|
+
get isOpenColorSelect() {
|
|
7
|
+
return this.colorSelectRef && this.colorSelectRef.componentInstance;
|
|
8
|
+
}
|
|
6
9
|
constructor(thyPopover) {
|
|
7
10
|
this.thyPopover = thyPopover;
|
|
8
11
|
this.backdropClosable = false;
|
|
@@ -11,9 +14,6 @@ export class TheColorSelectService {
|
|
|
11
14
|
this.placement = 'bottomLeft';
|
|
12
15
|
this.offset = 10;
|
|
13
16
|
}
|
|
14
|
-
get isOpenColorSelect() {
|
|
15
|
-
return this.colorSelectRef && this.colorSelectRef.componentInstance;
|
|
16
|
-
}
|
|
17
17
|
toggleColorSelect(origin, selectedColor, colors, option, selectAction, placement, offset) {
|
|
18
18
|
if (this.isOpenColorSelect) {
|
|
19
19
|
this.colorSelectRef.close();
|
|
@@ -43,9 +43,9 @@ export class TheColorSelectService {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
TheColorSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
47
|
-
TheColorSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
46
|
+
TheColorSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService, deps: [{ token: i1.ThyPopover }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
TheColorSelectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheColorSelectService, decorators: [{
|
|
49
49
|
type: Injectable
|
|
50
50
|
}], ctorParameters: function () { return [{ type: i1.ThyPopover }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3Itc2VsZWN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvc2VydmljZXMvY29sb3Itc2VsZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7O0FBSTVGLE1BQU0sT0FBTyxxQkFBcUI7SUFhOUIsSUFBSSxpQkFBaUI7UUFDakIsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUM7SUFDeEUsQ0FBQztJQUVELFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFoQjFDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2QixjQUFTLEdBQWlCLFlBQVksQ0FBQztRQUV2QyxXQUFNLEdBQUcsRUFBRSxDQUFDO0lBUWlDLENBQUM7SUFFOUMsaUJBQWlCLENBQ2IsTUFBbUIsRUFDbkIsYUFBd0IsRUFDeEIsTUFBZ0IsRUFDaEIsTUFBeUIsRUFDekIsWUFBd0MsRUFDeEMsU0FBd0IsRUFDeEIsTUFBZTtRQUVmLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ2hFLFlBQVksRUFBRTtnQkFDVixhQUFhO2dCQUNiLFlBQVk7Z0JBQ1osTUFBTTtnQkFDTixNQUFNO2FBQ1Q7WUFDRCxNQUFNO1lBQ04sUUFBUSxFQUFFLENBQUM7WUFDWCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLFNBQVMsRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVM7WUFDdEMsTUFBTSxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDOUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxVQUFVLEVBQUUsd0JBQXdCO1lBQ3BDLGlCQUFpQixFQUFFLFFBQVE7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQy9CO0lBQ0wsQ0FBQzs7a0hBdkRRLHFCQUFxQjtzSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQbGFjZW1lbnQgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29sb3Itc2VsZWN0L2NvbG9yLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sb3JUeXBlLCBDb2xvclNlbGVjdE9wdGlvbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb2xvci1zZWxlY3QnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGhlQ29sb3JTZWxlY3RTZXJ2aWNlIHtcbiAgICBiYWNrZHJvcENsb3NhYmxlID0gZmFsc2U7XG5cbiAgICBoYXNCYWNrZHJvcCA9IGZhbHNlO1xuXG4gICAgaW5zaWRlQ2xvc2FibGUgPSBmYWxzZTtcblxuICAgIHBsYWNlbWVudDogVGh5UGxhY2VtZW50ID0gJ2JvdHRvbUxlZnQnO1xuXG4gICAgb2Zmc2V0ID0gMTA7XG5cbiAgICBjb2xvclNlbGVjdFJlZjogVGh5UG9wb3ZlclJlZjxUaGVDb2xvclNlbGVjdENvbXBvbmVudD47XG5cbiAgICBnZXQgaXNPcGVuQ29sb3JTZWxlY3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbG9yU2VsZWN0UmVmICYmIHRoaXMuY29sb3JTZWxlY3RSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyKSB7fVxuXG4gICAgdG9nZ2xlQ29sb3JTZWxlY3QoXG4gICAgICAgIG9yaWdpbjogSFRNTEVsZW1lbnQsXG4gICAgICAgIHNlbGVjdGVkQ29sb3I6IENvbG9yVHlwZSxcbiAgICAgICAgY29sb3JzOiBzdHJpbmdbXSxcbiAgICAgICAgb3B0aW9uOiBDb2xvclNlbGVjdE9wdGlvbixcbiAgICAgICAgc2VsZWN0QWN0aW9uOiAoY29sb3I6IENvbG9yVHlwZSkgPT4gdm9pZCxcbiAgICAgICAgcGxhY2VtZW50PzogVGh5UGxhY2VtZW50LFxuICAgICAgICBvZmZzZXQ/OiBudW1iZXJcbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuQ29sb3JTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3RSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbG9yU2VsZWN0UmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oVGhlQ29sb3JTZWxlY3RDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3IsXG4gICAgICAgICAgICAgICAgc2VsZWN0QWN0aW9uLFxuICAgICAgICAgICAgICAgIGNvbG9ycyxcbiAgICAgICAgICAgICAgICBvcHRpb25cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRoaXMuYmFja2Ryb3BDbG9zYWJsZSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50IHx8IHRoaXMucGxhY2VtZW50LFxuICAgICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgIT09IG51bGwgPyBvZmZzZXQgOiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiB0aGlzLmhhc0JhY2tkcm9wLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRoaXMuaW5zaWRlQ2xvc2FibGUsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnY29sb3Itc2VsZWN0LWNvbnRhaW5lcicsXG4gICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ2FjdGl2ZSdcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbG9yU2VsZWN0UmVmO1xuICAgIH1cblxuICAgIGNsb3NlQ29sb3JTZWxlY3QoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3BlbkNvbG9yU2VsZWN0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbG9yU2VsZWN0UmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -114,9 +114,9 @@ export class TheContextService {
|
|
|
114
114
|
this.destroy$.complete();
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
TheContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
118
|
-
TheContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
117
|
+
TheContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheContextService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
118
|
+
TheContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheContextService });
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheContextService, decorators: [{
|
|
120
120
|
type: Injectable
|
|
121
121
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
122
122
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFjLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFcEUsT0FBTyxFQUFFLFNBQVMsRUFBYSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBZTNDLE1BQU0sT0FBTyxpQkFBaUI7SUFnQzFCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBN0IxQixhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFJekMsbUJBQWMsR0FBa0MsRUFBRSxDQUFDO1FBRW5ELHNCQUFpQixHQUFzQjtZQUMxQyxRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxFQUFFO1NBQ1osQ0FBQztRQVFLLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFnRCxDQUFDO1FBRWpGLHFCQUFnQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFFMUMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQWlGLENBQUM7UUFFakgsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBaUYsQ0FBQztRQU9qSCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsV0FB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dEpRLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRoZU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBGb250U2l6ZXMsIE1hcmtUeXBlcywgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZUNvbnRleHRPcHRpb25zIHtcbiAgICB0aGVPcHRpb25zOiBUaGVPcHRpb25zO1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG4gICAgd2lkdGg/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBQYWludEZvcm1hdFN0YXR1cyB7XG4gICAgaXNBY3RpdmU6IGJvb2xlYW47XG4gICAgbWFya3M6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogYW55IH07XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaGVDb250ZXh0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBzY3JvbGxTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHByaXZhdGUgb3B0aW9uczogVGhlQ29udGV4dE9wdGlvbnM7XG5cbiAgICBwdWJsaWMgdXBsb2FkaW5nRmlsZXM6IHsgdXJsOiBzdHJpbmc7IGZpbGU6IEZpbGUgfVtdID0gW107XG5cbiAgICBwdWJsaWMgcGFpbnRGb3JtYXRTdGF0dXM6IFBhaW50Rm9ybWF0U3RhdHVzID0ge1xuICAgICAgICBpc0FjdGl2ZTogZmFsc2UsXG4gICAgICAgIG1hcmtzOiB7fVxuICAgIH07XG5cbiAgICBwdWJsaWMgb25Nb3VzZVVwJDogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PjtcblxuICAgIHB1YmxpYyBvbk1vdXNlTW92ZSQ6IE9ic2VydmFibGU8TW91c2VFdmVudD47XG5cbiAgICBwdWJsaWMgb25Nb3VzZURvd24kOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+O1xuXG4gICAgcHVibGljIGNvbnRhaW5lclNjcm9sbGVkJCA9IG5ldyBTdWJqZWN0PHsgZXZlbnQ6IEV2ZW50OyBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbiB9PigpO1xuXG4gICAgcHVibGljIHVwbG9hZGluZ1N0YXR1cyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHVibGljIGNvbnRhaW5lclJlc2l6ZWQkID0gbmV3IFN1YmplY3Q8eyBlbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeTsgd2lkdGhDaGFuZ2VkOiBib29sZWFuOyBoZWlnaHRDaGFuZ2VkOiBib29sZWFuIH0+KCk7XG5cbiAgICBwdWJsaWMgd2luZG93UmVzaXplZCQgPSBuZXcgU3ViamVjdDx7IGVudHJ5OiBSZXNpemVPYnNlcnZlckVudHJ5OyB3aWR0aENoYW5nZWQ6IGJvb2xlYW47IGhlaWdodENoYW5nZWQ6IGJvb2xlYW4gfT4oKTtcblxuICAgIHByaXZhdGUgY29udGFpbmVyUmVzaXplT2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuXG4gICAgcHJpdmF0ZSB3aW5kb3dSZXNpemVPYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25Nb3VzZVVwJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih3aW5kb3csIGBtb3VzZXVwYCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICAgICAgICAgICAgdGhpcy5vbk1vdXNlTW92ZSQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCBgbW91c2Vtb3ZlYCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICAgICAgICAgICAgdGhpcy5vbk1vdXNlRG93biQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4od2luZG93LCBgbW91c2Vkb3duYCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdGlhbGl6ZShvcHRpb25zOiBUaGVDb250ZXh0T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnJlYmluZENvbnRhaW5lclNjcm9sbCgpO1xuICAgICAgICB0aGlzLmJpbmRDb250YWluZXJSZXNpemUoKTtcbiAgICAgICAgdGhpcy5iaW5kV2luZG93UmVzaXplKCk7XG4gICAgfVxuXG4gICAgcmViaW5kQ29udGFpbmVyU2Nyb2xsKCkge1xuICAgICAgICB0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy50aGVPcHRpb25zPy5zY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lckVsZW1lbnQgPVxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5uYXRpdmVFbGVtZW50LmNsb3Nlc3QodGhpcy5vcHRpb25zLnRoZU9wdGlvbnM/LnNjcm9sbENvbnRhaW5lcikgfHxcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKHRoaXMub3B0aW9ucy50aGVPcHRpb25zPy5zY3JvbGxDb250YWluZXIpO1xuXG4gICAgICAgICAgICBpZiAoY29udGFpbmVyRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByZXZpb3VzQ29udGFpbmVyU2Nyb2xsID0geyB4OiAwLCB5OiAwIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PEV2ZW50Pihjb250YWluZXJFbGVtZW50LCAnc2Nyb2xsJykuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVudGlyZXMgPSB7IGV2ZW50LCBkaXJlY3Rpb246IFNjcm9sbERpcmVjdGlvbi5ZIH07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbeCwgeV0gPSBbdGFyZ2V0LnNjcm9sbExlZnQsIHRhcmdldC5zY3JvbGxUb3BdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHggIT09IHByZXZpb3VzQ29udGFpbmVyU2Nyb2xsLngpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpcmVzLmRpcmVjdGlvbiA9IFNjcm9sbERpcmVjdGlvbi5YO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHkgIT09IHByZXZpb3VzQ29udGFpbmVyU2Nyb2xsLnkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpcmVzLmRpcmVjdGlvbiA9IFNjcm9sbERpcmVjdGlvbi5ZO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNDb250YWluZXJTY3JvbGwgPSB7IHgsIHkgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyU2Nyb2xsZWQkLm5leHQoZW50aXJlcyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZENvbnRhaW5lclJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXJSZXNpemVPYnNlcnZlciA9IHRoaXMuZWxlbWVudFJlc2l6ZSh0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudCwgdGhpcy5jb250YWluZXJSZXNpemVkJCk7XG4gICAgfVxuXG4gICAgYmluZFdpbmRvd1Jlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy53aW5kb3dSZXNpemVPYnNlcnZlciA9IHRoaXMuZWxlbWVudFJlc2l6ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHRoaXMud2luZG93UmVzaXplZCQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZWxlbWVudFJlc2l6ZShcbiAgICAgICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgICAgIHN1YmplY3Q6IFN1YmplY3Q8eyBlbnRyeTogUmVzaXplT2JzZXJ2ZXJFbnRyeTsgd2lkdGhDaGFuZ2VkOiBib29sZWFuOyBoZWlnaHRDaGFuZ2VkOiBib29sZWFuIH0+XG4gICAgKSB7XG4gICAgICAgIGxldCBwcmV2aW91c0NvbnRhaW5lclJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRpcmVzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZWN0ID0gZW50aXJlc1swXS5jb250ZW50UmVjdDtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHsgZW50cnk6IGVudGlyZXNbMF0sIHdpZHRoQ2hhbmdlZDogZmFsc2UsIGhlaWdodENoYW5nZWQ6IGZhbHNlIH07XG4gICAgICAgICAgICBpZiAoY3VycmVudFJlY3Qud2lkdGggIT09IHByZXZpb3VzQ29udGFpbmVyUmVjdC53aWR0aCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC53aWR0aENoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSZWN0LmhlaWdodCAhPT0gcHJldmlvdXNDb250YWluZXJSZWN0LmhlaWdodCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5oZWlnaHRDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZXZpb3VzQ29udGFpbmVyUmVjdCA9IGN1cnJlbnRSZWN0O1xuICAgICAgICAgICAgc3ViamVjdC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gcmVzaXplT2JzZXJ2ZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9wdGlvbnMoKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLndpZHRoKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdEVsZW1lbnRDaGlsZCA9IHRoaXMuZ2V0Rmlyc3RFbGVtZW50Q2hpbGQoKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy53aWR0aCA9IGZpcnN0RWxlbWVudENoaWxkLm9mZnNldFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRoZU9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGhlT3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdEZvbnRTaXplKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnRoZU9wdGlvbnM/LmZvbnRTaXplIHx8IEZvbnRTaXplcy5mb250U2l6ZTE0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRFZGl0YWJsZUVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcudGhlLWVkaXRvci10eXBvJyk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEZpcnN0RWxlbWVudENoaWxkKCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSB0aGlzLmdldEVkaXRhYmxlRWxlbWVudCgpO1xuICAgICAgICByZXR1cm4gZWRpdGFibGVFbGVtZW50Py5maXJzdEVsZW1lbnRDaGlsZCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICBhZGRVcGxvYWRpbmdGaWxlcyhmaWxlOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIH0pIHtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdGaWxlcy5wdXNoKGZpbGUpO1xuICAgIH1cblxuICAgIHJlbW92ZVVwbG9hZEZpbGUoZmlsZTogeyB1cmw6IHN0cmluZzsgZmlsZTogRmlsZSB9KSB7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nRmlsZXMuc3BsaWNlKFxuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdGaWxlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnVybCA9PT0gZmlsZS51cmwpLFxuICAgICAgICAgICAgMVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwbG9hZGluZ1N0YXR1cyQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5jb250YWluZXJTY3JvbGxlZCQ/LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVzaXplZCQ/LmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgdGhpcy53aW5kb3dSZXNpemVkJD8uY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy53aW5kb3dSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICB0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -15,6 +15,15 @@ import * as i2 from "../plugins/table/table.store";
|
|
|
15
15
|
import * as i3 from "ngx-tethys/popover";
|
|
16
16
|
import * as i4 from "./context.service";
|
|
17
17
|
export class TheTableContextMenuService {
|
|
18
|
+
get isOpened() {
|
|
19
|
+
return this.menuRef && this.menuRef.componentInstance;
|
|
20
|
+
}
|
|
21
|
+
get editor() {
|
|
22
|
+
return this.tableStore && this.tableStore.editor;
|
|
23
|
+
}
|
|
24
|
+
get backgroundColor() {
|
|
25
|
+
return this.tableStore.getSelectedCellBackgroundColor();
|
|
26
|
+
}
|
|
18
27
|
constructor(colorSelectService, tableStore, thyPopover, ngZone, theContextService) {
|
|
19
28
|
this.colorSelectService = colorSelectService;
|
|
20
29
|
this.tableStore = tableStore;
|
|
@@ -188,15 +197,6 @@ export class TheTableContextMenuService {
|
|
|
188
197
|
}
|
|
189
198
|
];
|
|
190
199
|
}
|
|
191
|
-
get isOpened() {
|
|
192
|
-
return this.menuRef && this.menuRef.componentInstance;
|
|
193
|
-
}
|
|
194
|
-
get editor() {
|
|
195
|
-
return this.tableStore && this.tableStore.editor;
|
|
196
|
-
}
|
|
197
|
-
get backgroundColor() {
|
|
198
|
-
return this.tableStore.getSelectedCellBackgroundColor();
|
|
199
|
-
}
|
|
200
200
|
getSelectedCell() {
|
|
201
201
|
const selectedCellPositions = this.tableStore.selectedCellPositions;
|
|
202
202
|
const selectCellNodes = getSelectCellNode(this.editor, selectedCellPositions);
|
|
@@ -283,9 +283,9 @@ export class TheTableContextMenuService {
|
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
285
|
}
|
|
286
|
-
TheTableContextMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
287
|
-
TheTableContextMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
288
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
286
|
+
TheTableContextMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheTableContextMenuService, deps: [{ token: i1.TheColorSelectService }, { token: i2.TableStore }, { token: i3.ThyPopover }, { token: i0.NgZone }, { token: i4.TheContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
287
|
+
TheTableContextMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheTableContextMenuService });
|
|
288
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheTableContextMenuService, decorators: [{
|
|
289
289
|
type: Injectable
|
|
290
290
|
}], ctorParameters: function () { return [{ type: i1.TheColorSelectService }, { type: i2.TableStore }, { type: i3.ThyPopover }, { type: i0.NgZone }, { type: i4.TheContextService }]; } });
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udGV4dG1lbnUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9zZXJ2aWNlcy90YWJsZS1jb250ZXh0bWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUc5RCxNQUFNLE9BQU8sMEJBQTBCO0lBZW5DLFlBQ1ksa0JBQXlDLEVBQ3pDLFVBQXNCLEVBQ3RCLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxpQkFBb0M7UUFKcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF1QjtRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHNCQUFp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OzRCQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7Z0NBQ3hCLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7NkJBQzVCOzRCQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQzt5QkFDdEM7b0JBQ0wsQ0FBQztpQkFDSjtnQkFDRCxjQUFjLEVBQUU7b0JBQ1osQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRTtvQkFDZixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7aUJBQ2I7Z0JBQ0QsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUMsZ0JBQWdCO2dCQUN0RSxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLGdCQUFnQixFQUFFLEtBQUs7YUFDMUIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDckM7SUFDTCxDQUFDOzt1SEFqU1EsMEJBQTBCOzJIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiwgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3RhYmxlLnN0b3JlJztcbmltcG9ydCB7IFRhYmxlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS90YWJsZS5lZGl0b3InO1xuaW1wb3J0IHsgc3BsaXRDZWxsIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS91dGlscy9zcGxpdC1jZWxsJztcbmltcG9ydCB7IHNldENlbGxNZW51VmlzaWJpbGl0eSB9IGZyb20gJy4uL3BsdWdpbnMvdGFibGUvdXRpbHMvc2V0LW1lbnUtY2VsbC1pbnZpc2liaWxpdHknO1xuaW1wb3J0IHsgTWVudUVudGl0eSwgVGFibGVJbnNlcnRUeXBlIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVDZWxsU3BhbiwgZ2V0TGVmdENlbGxEaWN0IH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS91dGlscy9tZXJnZS1jZWxsJztcbmltcG9ydCB7IGdldFNlbGVjdENlbGxOb2RlIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS91dGlscy9nZXQtc2VsZWN0LWNlbGwtbm9kZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFja2dyb3VuZENvbG9ycywgQ29sb3JUeXBlLCBTcGVjaWFsQmFja2dyb3VuZENvbG9yLCBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvciB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyByZWZvY3VzLCByZVNlbGVjdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHNvcnRDZWxsIH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS91dGlscy9oYW5kbGUtY2VsbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaGVUYWJsZUNvbnRleHRNZW51U2VydmljZSB7XG4gICAgbWVudVJlZjogVGh5UG9wb3ZlclJlZjxUaGVDb250ZXh0TWVudUNvbXBvbmVudD47XG5cbiAgICBnZXQgaXNPcGVuZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lbnVSZWYgJiYgdGhpcy5tZW51UmVmLmNvbXBvbmVudEluc3RhbmNlO1xuICAgIH1cblxuICAgIGdldCBlZGl0b3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlU3RvcmUgJiYgdGhpcy50YWJsZVN0b3JlLmVkaXRvcjtcbiAgICB9XG5cbiAgICBnZXQgYmFja2dyb3VuZENvbG9yKCkge1xuICAgICAgICByZXR1cm4gdGhpcy50YWJsZVN0b3JlLmdldFNlbGVjdGVkQ2VsbEJhY2tncm91bmRDb2xvcigpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbG9yU2VsZWN0U2VydmljZTogVGhlQ29sb3JTZWxlY3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhYmxlU3RvcmU6IFRhYmxlU3RvcmUsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSB0aGVDb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBtZW51RW50aXRpZXM6IE1lbnVFbnRpdHlbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgICAgICBpY29uOiAnYmFja2dyb3VuZC10dCcsXG4gICAgICAgICAgICBkaXZpZGVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZTogJ+WNleWFg+agvOiDjOaZrycsXG4gICAgICAgICAgICBleHRlbmRJY29uOiAnYW5nbGUtcmlnaHQnLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge30sXG4gICAgICAgICAgICBhY3RpdmVIYW5kbGU6IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbG9yU2VsZWN0U2VydmljZS5pc09wZW5Db2xvclNlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGlzSGVhZGVyID0gVGFibGVFZGl0b3IuaXNBY3RpdmVIZWFkZXIodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3RTZXJ2aWNlLnRvZ2dsZUNvbG9yU2VsZWN0KFxuICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgICAgICAgICAgICBCYWNrZ3JvdW5kQ29sb3JzLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwZXJSb3dDb2xvck51bWJlcnM6IDcsXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dPcHRpb25zOiB7IDE6ICcjYmJiJywgMjogJyNiYmInIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWFsQ29sb3I6IGlzSGVhZGVyID8gVGFibGVIZWFkZXJCYWNrZ3JvdW5kQ29sb3IgOiBTcGVjaWFsQmFja2dyb3VuZENvbG9yXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIChuZXdDb2xvcjogQ29sb3JUeXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKG5ld0NvbG9yID09PSBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvciAmJiBpc0hlYWRlcikgfHwgKG5ld0NvbG9yID09PSBTcGVjaWFsQmFja2dyb3VuZENvbG9yICYmICFpc0hlYWRlcikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2V0U2VsZWN0ZWRDZWxsc0JhY2tncm91bmRDb2xvcihudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldFNlbGVjdGVkQ2VsbHNCYWNrZ3JvdW5kQ29sb3IobmV3Q29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNlbGVjdEZpcnN0Q2VsbCgpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAncmlnaHRUb3AnLFxuICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWFjdGl2YXRlSGFuZGxlOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQucmVsYXRlZFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnY29sb3Itc2VsZWN0LWNvbnRhaW5lcicpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29sb3JTZWxlY3RTZXJ2aWNlLmlzT3BlbkNvbG9yU2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sb3JTZWxlY3RTZXJ2aWNlLmNsb3NlQ29sb3JTZWxlY3QoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Um93c1VwLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLWluc2VydC1yb3dzLXRvcCcsXG4gICAgICAgICAgICBuYW1lOiAn5ZCR5LiK5o+S5YWlJyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBpc0lucHV0TnVtYmVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZVN1ZmZpeDogJ+ihjCcsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6IChpdGVtOiBNZW51RW50aXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0YXJnZXRSb3dJbmRleCB9ID0gdGhpcy5nZXRUYXJnZXRSb3dPckNvbEluZGV4KCk7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IuaW5zZXJ0Um93KHRoaXMuZWRpdG9yLCBpdGVtLmNvdW50LCB0YXJnZXRSb3dJbmRleCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NEb3duLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLWluc2VydC1yb3dzLWRvd24nLFxuICAgICAgICAgICAgbmFtZTogJ+WQkeS4i+aPkuWFpScsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgaXNJbnB1dE51bWJlcjogdHJ1ZSxcbiAgICAgICAgICAgIG5hbWVTdWZmaXg6ICfooYwnLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoaXRlbTogTWVudUVudGl0eSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdGFyZ2V0Um93SW5kZXggfSA9IHRoaXMuZ2V0VGFyZ2V0Um93T3JDb2xJbmRleChmYWxzZSk7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IuaW5zZXJ0Um93KHRoaXMuZWRpdG9yLCBpdGVtLmNvdW50LCB0YXJnZXRSb3dJbmRleCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNMZWZ0LFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLWluc2VydC1jb2x1bW5zLWxlZnQnLFxuICAgICAgICAgICAgbmFtZTogJ+WQkeW3puaPkuWFpScsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgaXNJbnB1dE51bWJlcjogdHJ1ZSxcbiAgICAgICAgICAgIG5hbWVTdWZmaXg6ICfliJcnLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoaXRlbTogTWVudUVudGl0eSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdGFyZ2V0Q29sSW5kZXggfSA9IHRoaXMuZ2V0VGFyZ2V0Um93T3JDb2xJbmRleCgpO1xuICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmluc2VydENvbHVtbih0aGlzLmVkaXRvciwgaXRlbS5jb3VudCwgdGFyZ2V0Q29sSW5kZXgpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jaGFuZ2VDZWxscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRDb2x1bW5zUmlnaHQsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtaW5zZXJ0LWNvbHVtbnMtcmlnaHQnLFxuICAgICAgICAgICAgZGl2aWRlcjogdHJ1ZSxcbiAgICAgICAgICAgIG5hbWU6ICflkJHlj7Pmj5LlhaUnLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGlzSW5wdXROdW1iZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lU3VmZml4OiAn5YiXJyxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKGl0ZW06IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRhcmdldENvbEluZGV4IH0gPSB0aGlzLmdldFRhcmdldFJvd09yQ29sSW5kZXgoZmFsc2UpO1xuICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmluc2VydENvbHVtbih0aGlzLmVkaXRvciwgaXRlbS5jb3VudCwgdGFyZ2V0Q29sSW5kZXgpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jaGFuZ2VDZWxscygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2NsZWFyLXNlbGVjdGlvbicsXG4gICAgICAgICAgICBpY29uOiAnc3dlZXAnLFxuICAgICAgICAgICAgZGl2aWRlcjogdHJ1ZSxcbiAgICAgICAgICAgIG5hbWU6ICfmuIXnqbrpgInkuK3ljLrln58nLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhclNlbGVjdGVkQ2VsbHNDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNlbGVjdEZpcnN0Q2VsbCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdtZXJnZS1jZWxscycsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtbWVyZ2UtY2VsbHMnLFxuICAgICAgICAgICAgbmFtZTogJ+WQiOW5tuWNleWFg+agvCcsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLm1lcmdlQ2VsbCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3NwbGl0LWNlbGxzJyxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS11bm1lcmdlLWNlbGxzJyxcbiAgICAgICAgICAgIG5hbWU6ICfmi4bliIbljZXlhYPmoLwnLFxuICAgICAgICAgICAgZGl2aWRlcjogdHJ1ZSxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBzcGxpdENlbGwodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdkZWxldGUtc2VsZWN0aW9uLXJvd3MnLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLWRlbGV0ZS1yb3dzJyxcbiAgICAgICAgICAgIG5hbWU6ICfliKDpmaTmiYDlnKjooYwnLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5yZW1vdmVEYW5nZXJvdXNDb2x1bW5zT3JSb3dzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyRGFuZ2Vyb3VzQ2VsbHMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJTZWxlY3RlZENlbGxzKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYWN0aXZlSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnNldERhbmdlcm91c1Jvd3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnZGVsZXRlLXNlbGVjdGlvbi1jb2x1bW5zJyxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1kZWxldGUtY29sdW1ucycsXG4gICAgICAgICAgICBkaXZpZGVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpOaJgOWcqOWIlycsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnJlbW92ZURhbmdlcm91c0NvbHVtbnNPclJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJEYW5nZXJvdXNDZWxscygpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhclNlbGVjdGVkQ2VsbHMoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhY3RpdmVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2V0RGFuZ2Vyb3VzQ29sdW1ucygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdkZWxldGUtdGFibGUnLFxuICAgICAgICAgICAgaWNvbjogJ3RyYXNoJyxcbiAgICAgICAgICAgIG5hbWU6ICfliKDpmaTooajmoLwnLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLnJlbW92ZVRhYmxlKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJEYW5nZXJvdXNDZWxscygpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhclNlbGVjdGVkQ2VsbHMoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhY3RpdmVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2V0RGFuZ2Vyb3VzVGFibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBnZXRTZWxlY3RlZENlbGwoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ2VsbFBvc2l0aW9ucyA9IHRoaXMudGFibGVTdG9yZS5zZWxlY3RlZENlbGxQb3NpdGlvbnM7XG4gICAgICAgIGNvbnN0IHNlbGVjdENlbGxOb2RlcyA9IGdldFNlbGVjdENlbGxOb2RlKHRoaXMuZWRpdG9yLCBzZWxlY3RlZENlbGxQb3NpdGlvbnMpO1xuICAgICAgICBzb3J0Q2VsbChzZWxlY3RDZWxsTm9kZXMpO1xuICAgICAgICBjb25zdCBsZWZ0Q2VsbERpY3QgPSBnZXRMZWZ0Q2VsbERpY3Qoc2VsZWN0Q2VsbE5vZGVzKTtcbiAgICAgICAgY29uc3QgeyByb3dzcGFuLCBjb2xzcGFuIH0gPSBjYWxjdWxhdGVDZWxsU3BhbihzZWxlY3RDZWxsTm9kZXMsIGxlZnRDZWxsRGljdCk7XG5cbiAgICAgICAgcmV0dXJuIHsgcm93OiByb3dzcGFuLCBjb2w6IGNvbHNwYW4sIHNlbGVjdENlbGxOb2RlcyB9O1xuICAgIH1cblxuICAgIGdldFRhcmdldFJvd09yQ29sSW5kZXgoaXNGcm9udCA9IHRydWUpIHtcbiAgICAgICAgY29uc3QgeyByb3csIGNvbCwgc2VsZWN0Q2VsbE5vZGVzIH0gPSB0aGlzLmdldFNlbGVjdGVkQ2VsbCgpO1xuICAgICAgICBjb25zdCBmaXJzdFNlbGVjdENlbGwgPSBzZWxlY3RDZWxsTm9kZXNbMF07XG4gICAgICAgIGNvbnN0IHRhcmdldFJvd0luZGV4ID0gaXNGcm9udCA/IGZpcnN0U2VsZWN0Q2VsbC5yb3cgOiByb3cgKyBmaXJzdFNlbGVjdENlbGwucm93O1xuICAgICAgICBjb25zdCB0YXJnZXRDb2xJbmRleCA9IGlzRnJvbnQgPyBmaXJzdFNlbGVjdENlbGwuY29sIDogY29sICsgZmlyc3RTZWxlY3RDZWxsLmNvbDtcblxuICAgICAgICByZXR1cm4geyB0YXJnZXRSb3dJbmRleCwgdGFyZ2V0Q29sSW5kZXggfTtcbiAgICB9XG5cbiAgICBvcGVuTWVudUxpc3QoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0ZWRDZWxsUG9zaXRpb25zLCBpc0Z1bGxzY3JlZW4sIHNlbGVjdGVkUm93c0luZGV4LCBzZWxlY3RlZENvbHVtbnNJbmRleCwgaXNTZWxlY3RlZFRhYmxlIH0gPSB0aGlzLnRhYmxlU3RvcmU7XG4gICAgICAgICAgICBjb25zdCB0YWJsZUluZm8gPSB7IHNlbGVjdGVkQ2VsbFBvc2l0aW9ucywgaXNGdWxsc2NyZWVuLCBzZWxlY3RlZFJvd3NJbmRleCwgc2VsZWN0ZWRDb2x1bW5zSW5kZXgsIGlzU2VsZWN0ZWRUYWJsZSB9O1xuICAgICAgICAgICAgY29uc3QgeyByb3csIGNvbCB9ID0gdGhpcy5nZXRTZWxlY3RlZENlbGwoKTtcbiAgICAgICAgICAgIHNldENlbGxNZW51VmlzaWJpbGl0eSh0aGlzLmVkaXRvciwgdGhpcy5tZW51RW50aXRpZXMsIHRhYmxlSW5mbyk7XG5cbiAgICAgICAgICAgIHRoaXMubWVudUVudGl0aWVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChpdGVtLmtleSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdiYWNrZ3JvdW5kLWNvbG9yJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYmFja2dyb3VuZENvbG9yID0gdGhpcy50YWJsZVN0b3JlLmdldFNlbGVjdGVkQ2VsbEJhY2tncm91bmRDb2xvcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydFJvd3NVcDpcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Um93c0Rvd246XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvdW50ID0gcm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNMZWZ0OlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRDb2x1bW5zUmlnaHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvdW50ID0gY29sO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLm1lbnVSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihUaGVDb250ZXh0TWVudUNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICBtZW51RW50aXRpZXM6IHRoaXMubWVudUVudGl0aWVzLFxuICAgICAgICAgICAgICAgICAgICBhY3Rpb25IYW5kbGU6IChlbnRpdHk6IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmb2N1cyh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkuYWN0aW9uSGFuZGxlKGVudGl0eSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUhhbmRsZTogKG1lbnVFdmVudDogTW91c2VFdmVudCwgZW50aXR5OiBNZW51RW50aXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5LmFjdGl2ZUhhbmRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5lZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlU2VsZWN0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50aXR5LmFjdGl2ZUhhbmRsZShtZW51RXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBkZWFjdGl2YXRlSGFuZGxlOiAobWVudUV2ZW50OiBNb3VzZUV2ZW50LCBlbnRpdHk6IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHkua2V5LmluZGV4T2YoJ2RlbGV0ZScpID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJEYW5nZXJvdXNDZWxscygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eS5kZWFjdGl2YXRlSGFuZGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVTZWxlY3Rpb24odGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkuZGVhY3RpdmF0ZUhhbmRsZShtZW51RXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBvcmlnaW5Qb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB4OiBldmVudC54ICsgMzAsXG4gICAgICAgICAgICAgICAgICAgIHk6IGV2ZW50LnlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgIG1hbnVhbENsb3N1cmU6IHRydWUsXG4gICAgICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IGZhbHNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2VDb250ZXh0TWVudSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVudVJlZi5hZnRlckNsb3NlZCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29udGV4dG1lbnUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9zZXJ2aWNlcy90YWJsZS1jb250ZXh0bWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRTFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7OztBQUc5RCxNQUFNLE9BQU8sMEJBQTBCO0lBR25DLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUks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NEJBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtnQ0FDeEIsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs2QkFDNUI7NEJBQ0QsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO3lCQUN0QztvQkFDTCxDQUFDO2lCQUNKO2dCQUNELGNBQWMsRUFBRTtvQkFDWixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFO29CQUNmLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDYjtnQkFDRCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxnQkFBZ0I7Z0JBQ3RFLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixjQUFjLEVBQUUsS0FBSztnQkFDckIsZ0JBQWdCLEVBQUUsS0FBSzthQUMxQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNyQztJQUNMLENBQUM7O3VIQWpTUSwwQkFBMEI7MkhBQTFCLDBCQUEwQjsyRkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyUmVmLCBUaHlQb3BvdmVyIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0U2VydmljZSB9IGZyb20gJy4vY29sb3Itc2VsZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL3BsdWdpbnMvdGFibGUvdGFibGUuc3RvcmUnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3RhYmxlLmVkaXRvcic7XG5pbXBvcnQgeyBzcGxpdENlbGwgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3V0aWxzL3NwbGl0LWNlbGwnO1xuaW1wb3J0IHsgc2V0Q2VsbE1lbnVWaXNpYmlsaXR5IH0gZnJvbSAnLi4vcGx1Z2lucy90YWJsZS91dGlscy9zZXQtbWVudS1jZWxsLWludmlzaWJpbGl0eSc7XG5pbXBvcnQgeyBNZW51RW50aXR5LCBUYWJsZUluc2VydFR5cGUgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IGNhbGN1bGF0ZUNlbGxTcGFuLCBnZXRMZWZ0Q2VsbERpY3QgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3V0aWxzL21lcmdlLWNlbGwnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0Q2VsbE5vZGUgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3V0aWxzL2dldC1zZWxlY3QtY2VsbC1ub2RlJztcbmltcG9ydCB7IFRoZUNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kQ29sb3JzLCBDb2xvclR5cGUsIFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IsIFRhYmxlSGVhZGVyQmFja2dyb3VuZENvbG9yIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IHJlZm9jdXMsIHJlU2VsZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgc29ydENlbGwgfSBmcm9tICcuLi9wbHVnaW5zL3RhYmxlL3V0aWxzL2hhbmRsZS1jZWxsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRoZVRhYmxlQ29udGV4dE1lbnVTZXJ2aWNlIHtcbiAgICBtZW51UmVmOiBUaHlQb3BvdmVyUmVmPFRoZUNvbnRleHRNZW51Q29tcG9uZW50PjtcblxuICAgIGdldCBpc09wZW5lZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVudVJlZiAmJiB0aGlzLm1lbnVSZWYuY29tcG9uZW50SW5zdGFuY2U7XG4gICAgfVxuXG4gICAgZ2V0IGVkaXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVTdG9yZSAmJiB0aGlzLnRhYmxlU3RvcmUuZWRpdG9yO1xuICAgIH1cblxuICAgIGdldCBiYWNrZ3JvdW5kQ29sb3IoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlU3RvcmUuZ2V0U2VsZWN0ZWRDZWxsQmFja2dyb3VuZENvbG9yKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29sb3JTZWxlY3RTZXJ2aWNlOiBUaGVDb2xvclNlbGVjdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFibGVTdG9yZTogVGFibGVTdG9yZSxcbiAgICAgICAgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHRoZUNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZVxuICAgICkge31cblxuICAgIG1lbnVFbnRpdGllczogTWVudUVudGl0eVtdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdiYWNrZ3JvdW5kLWNvbG9yJyxcbiAgICAgICAgICAgIGljb246ICdiYWNrZ3JvdW5kLXR0JyxcbiAgICAgICAgICAgIGRpdmlkZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lOiAn5Y2V5YWD5qC86IOM5pmvJyxcbiAgICAgICAgICAgIGV4dGVuZEljb246ICdhbmdsZS1yaWdodCcsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7fSxcbiAgICAgICAgICAgIGFjdGl2ZUhhbmRsZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29sb3JTZWxlY3RTZXJ2aWNlLmlzT3BlbkNvbG9yU2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaXNIZWFkZXIgPSBUYWJsZUVkaXRvci5pc0FjdGl2ZUhlYWRlcih0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xvclNlbGVjdFNlcnZpY2UudG9nZ2xlQ29sb3JTZWxlY3QoXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgIEJhY2tncm91bmRDb2xvcnMsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBlclJvd0NvbG9yTnVtYmVyczogNyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvd09wdGlvbnM6IHsgMTogJyNiYmInLCAyOiAnI2JiYicgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpYWxDb2xvcjogaXNIZWFkZXIgPyBUYWJsZUhlYWRlckJhY2tncm91bmRDb2xvciA6IFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKG5ld0NvbG9yOiBDb2xvclR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgobmV3Q29sb3IgPT09IFRhYmxlSGVhZGVyQmFja2dyb3VuZENvbG9yICYmIGlzSGVhZGVyKSB8fCAobmV3Q29sb3IgPT09IFNwZWNpYWxCYWNrZ3JvdW5kQ29sb3IgJiYgIWlzSGVhZGVyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXRTZWxlY3RlZENlbGxzQmFja2dyb3VuZENvbG9yKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2V0U2VsZWN0ZWRDZWxsc0JhY2tncm91bmRDb2xvcihuZXdDb2xvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0Rmlyc3RDZWxsKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICdyaWdodFRvcCcsXG4gICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlYWN0aXZhdGVIYW5kbGU6IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnJlbGF0ZWRUYXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjb2xvci1zZWxlY3QtY29udGFpbmVyJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb2xvclNlbGVjdFNlcnZpY2UuaXNPcGVuQ29sb3JTZWxlY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclNlbGVjdFNlcnZpY2UuY2xvc2VDb2xvclNlbGVjdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcblxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRSb3dzVXAsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtaW5zZXJ0LXJvd3MtdG9wJyxcbiAgICAgICAgICAgIG5hbWU6ICflkJHkuIrmj5LlhaUnLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGlzSW5wdXROdW1iZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lU3VmZml4OiAn6KGMJyxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKGl0ZW06IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRhcmdldFJvd0luZGV4IH0gPSB0aGlzLmdldFRhcmdldFJvd09yQ29sSW5kZXgoKTtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5pbnNlcnRSb3codGhpcy5lZGl0b3IsIGl0ZW0uY291bnQsIHRhcmdldFJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2hhbmdlQ2VsbHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Um93c0Rvd24sXG4gICAgICAgICAgICBpY29uOiAndGFibGUtaW5zZXJ0LXJvd3MtZG93bicsXG4gICAgICAgICAgICBuYW1lOiAn5ZCR5LiL5o+S5YWlJyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBpc0lucHV0TnVtYmVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZVN1ZmZpeDogJ+ihjCcsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6IChpdGVtOiBNZW51RW50aXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0YXJnZXRSb3dJbmRleCB9ID0gdGhpcy5nZXRUYXJnZXRSb3dPckNvbEluZGV4KGZhbHNlKTtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5pbnNlcnRSb3codGhpcy5lZGl0b3IsIGl0ZW0uY291bnQsIHRhcmdldFJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2hhbmdlQ2VsbHMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Q29sdW1uc0xlZnQsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtaW5zZXJ0LWNvbHVtbnMtbGVmdCcsXG4gICAgICAgICAgICBuYW1lOiAn5ZCR5bem5o+S5YWlJyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBpc0lucHV0TnVtYmVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZVN1ZmZpeDogJ+WIlycsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6IChpdGVtOiBNZW51RW50aXR5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyB0YXJnZXRDb2xJbmRleCB9ID0gdGhpcy5nZXRUYXJnZXRSb3dPckNvbEluZGV4KCk7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IuaW5zZXJ0Q29sdW1uKHRoaXMuZWRpdG9yLCBpdGVtLmNvdW50LCB0YXJnZXRDb2xJbmRleCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNSaWdodCxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1pbnNlcnQtY29sdW1ucy1yaWdodCcsXG4gICAgICAgICAgICBkaXZpZGVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZTogJ+WQkeWPs+aPkuWFpScsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgaXNJbnB1dE51bWJlcjogdHJ1ZSxcbiAgICAgICAgICAgIG5hbWVTdWZmaXg6ICfliJcnLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoaXRlbTogTWVudUVudGl0eSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdGFyZ2V0Q29sSW5kZXggfSA9IHRoaXMuZ2V0VGFyZ2V0Um93T3JDb2xJbmRleChmYWxzZSk7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IuaW5zZXJ0Q29sdW1uKHRoaXMuZWRpdG9yLCBpdGVtLmNvdW50LCB0YXJnZXRDb2xJbmRleCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNoYW5nZUNlbGxzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnY2xlYXItc2VsZWN0aW9uJyxcbiAgICAgICAgICAgIGljb246ICdzd2VlcCcsXG4gICAgICAgICAgICBkaXZpZGVyOiB0cnVlLFxuICAgICAgICAgICAgbmFtZTogJ+a4heepuumAieS4reWMuuWfnycsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxsc0NvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2VsZWN0Rmlyc3RDZWxsKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ21lcmdlLWNlbGxzJyxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1tZXJnZS1jZWxscycsXG4gICAgICAgICAgICBuYW1lOiAn5ZCI5bm25Y2V5YWD5qC8JyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUubWVyZ2VDZWxsKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAnc3BsaXQtY2VsbHMnLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLXVubWVyZ2UtY2VsbHMnLFxuICAgICAgICAgICAgbmFtZTogJ+aLhuWIhuWNleWFg+agvCcsXG4gICAgICAgICAgICBkaXZpZGVyOiB0cnVlLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNwbGl0Q2VsbCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2RlbGV0ZS1zZWxlY3Rpb24tcm93cycsXG4gICAgICAgICAgICBpY29uOiAndGFibGUtZGVsZXRlLXJvd3MnLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpOaJgOWcqOihjCcsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLnJlbW92ZURhbmdlcm91c0NvbHVtbnNPclJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuY2xlYXJEYW5nZXJvdXNDZWxscygpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhclNlbGVjdGVkQ2VsbHMoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhY3RpdmVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUuc2V0RGFuZ2Vyb3VzUm93cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6ICdkZWxldGUtc2VsZWN0aW9uLWNvbHVtbnMnLFxuICAgICAgICAgICAgaWNvbjogJ3RhYmxlLWRlbGV0ZS1jb2x1bW5zJyxcbiAgICAgICAgICAgIGRpdmlkZXI6IHRydWUsXG4gICAgICAgICAgICBuYW1lOiAn5Yig6Zmk5omA5Zyo5YiXJyxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgICBhY3Rpb25IYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlU3RvcmUucmVtb3ZlRGFuZ2Vyb3VzQ29sdW1uc09yUm93cygpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhckRhbmdlcm91c0NlbGxzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjdGl2ZUhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXREYW5nZXJvdXNDb2x1bW5zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2RlbGV0ZS10YWJsZScsXG4gICAgICAgICAgICBpY29uOiAndHJhc2gnLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpOihqOagvCcsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgICAgYWN0aW9uSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlVGFibGUodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhckRhbmdlcm91c0NlbGxzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxscygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFjdGl2ZUhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5zZXREYW5nZXJvdXNUYWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXTtcblxuICAgIGdldFNlbGVjdGVkQ2VsbCgpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDZWxsUG9zaXRpb25zID0gdGhpcy50YWJsZVN0b3JlLnNlbGVjdGVkQ2VsbFBvc2l0aW9ucztcbiAgICAgICAgY29uc3Qgc2VsZWN0Q2VsbE5vZGVzID0gZ2V0U2VsZWN0Q2VsbE5vZGUodGhpcy5lZGl0b3IsIHNlbGVjdGVkQ2VsbFBvc2l0aW9ucyk7XG4gICAgICAgIHNvcnRDZWxsKHNlbGVjdENlbGxOb2Rlcyk7XG4gICAgICAgIGNvbnN0IGxlZnRDZWxsRGljdCA9IGdldExlZnRDZWxsRGljdChzZWxlY3RDZWxsTm9kZXMpO1xuICAgICAgICBjb25zdCB7IHJvd3NwYW4sIGNvbHNwYW4gfSA9IGNhbGN1bGF0ZUNlbGxTcGFuKHNlbGVjdENlbGxOb2RlcywgbGVmdENlbGxEaWN0KTtcblxuICAgICAgICByZXR1cm4geyByb3c6IHJvd3NwYW4sIGNvbDogY29sc3Bhbiwgc2VsZWN0Q2VsbE5vZGVzIH07XG4gICAgfVxuXG4gICAgZ2V0VGFyZ2V0Um93T3JDb2xJbmRleChpc0Zyb250ID0gdHJ1ZSkge1xuICAgICAgICBjb25zdCB7IHJvdywgY29sLCBzZWxlY3RDZWxsTm9kZXMgfSA9IHRoaXMuZ2V0U2VsZWN0ZWRDZWxsKCk7XG4gICAgICAgIGNvbnN0IGZpcnN0U2VsZWN0Q2VsbCA9IHNlbGVjdENlbGxOb2Rlc1swXTtcbiAgICAgICAgY29uc3QgdGFyZ2V0Um93SW5kZXggPSBpc0Zyb250ID8gZmlyc3RTZWxlY3RDZWxsLnJvdyA6IHJvdyArIGZpcnN0U2VsZWN0Q2VsbC5yb3c7XG4gICAgICAgIGNvbnN0IHRhcmdldENvbEluZGV4ID0gaXNGcm9udCA/IGZpcnN0U2VsZWN0Q2VsbC5jb2wgOiBjb2wgKyBmaXJzdFNlbGVjdENlbGwuY29sO1xuXG4gICAgICAgIHJldHVybiB7IHRhcmdldFJvd0luZGV4LCB0YXJnZXRDb2xJbmRleCB9O1xuICAgIH1cblxuICAgIG9wZW5NZW51TGlzdChldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3RlZENlbGxQb3NpdGlvbnMsIGlzRnVsbHNjcmVlbiwgc2VsZWN0ZWRSb3dzSW5kZXgsIHNlbGVjdGVkQ29sdW1uc0luZGV4LCBpc1NlbGVjdGVkVGFibGUgfSA9IHRoaXMudGFibGVTdG9yZTtcbiAgICAgICAgICAgIGNvbnN0IHRhYmxlSW5mbyA9IHsgc2VsZWN0ZWRDZWxsUG9zaXRpb25zLCBpc0Z1bGxzY3JlZW4sIHNlbGVjdGVkUm93c0luZGV4LCBzZWxlY3RlZENvbHVtbnNJbmRleCwgaXNTZWxlY3RlZFRhYmxlIH07XG4gICAgICAgICAgICBjb25zdCB7IHJvdywgY29sIH0gPSB0aGlzLmdldFNlbGVjdGVkQ2VsbCgpO1xuICAgICAgICAgICAgc2V0Q2VsbE1lbnVWaXNpYmlsaXR5KHRoaXMuZWRpdG9yLCB0aGlzLm1lbnVFbnRpdGllcywgdGFibGVJbmZvKTtcblxuICAgICAgICAgICAgdGhpcy5tZW51RW50aXRpZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGl0ZW0ua2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JhY2tncm91bmQtY29sb3InOlxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLnRhYmxlU3RvcmUuZ2V0U2VsZWN0ZWRDZWxsQmFja2dyb3VuZENvbG9yKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Um93c1VwOlxuICAgICAgICAgICAgICAgICAgICBjYXNlIFRhYmxlSW5zZXJ0VHlwZS5pbnNlcnRSb3dzRG93bjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uY291bnQgPSByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSBUYWJsZUluc2VydFR5cGUuaW5zZXJ0Q29sdW1uc0xlZnQ6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgVGFibGVJbnNlcnRUeXBlLmluc2VydENvbHVtbnNSaWdodDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uY291bnQgPSBjb2w7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMubWVudVJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoZUNvbnRleHRNZW51Q29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgb3JpZ2luOiBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIG1lbnVFbnRpdGllczogdGhpcy5tZW51RW50aXRpZXMsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbkhhbmRsZTogKGVudGl0eTogTWVudUVudGl0eSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZvY3VzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eS5hY3Rpb25IYW5kbGUoZW50aXR5KTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlSGFuZGxlOiAobWVudUV2ZW50OiBNb3VzZUV2ZW50LCBlbnRpdHk6IE1lbnVFbnRpdHkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRpdHkuYWN0aXZlSGFuZGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVTZWxlY3Rpb24odGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRpdHkuYWN0aXZlSGFuZGxlKG1lbnVFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGRlYWN0aXZhdGVIYW5kbGU6IChtZW51RXZlbnQ6IE1vdXNlRXZlbnQsIGVudGl0eTogTWVudUVudGl0eSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVudGl0eS5rZXkuaW5kZXhPZignZGVsZXRlJykgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTdG9yZS5jbGVhckRhbmdlcm91c0NlbGxzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50aXR5LmRlYWN0aXZhdGVIYW5kbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZWRpdG9yLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZVNlbGVjdGlvbih0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudGl0eS5kZWFjdGl2YXRlSGFuZGxlKG1lbnVFdmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9yaWdpblBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHg6IGV2ZW50LnggKyAzMCxcbiAgICAgICAgICAgICAgICAgICAgeTogZXZlbnQueVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudGhlQ29udGV4dFNlcnZpY2UuZ2V0T3B0aW9ucygpLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjbG9zZUNvbnRleHRNZW51KCkge1xuICAgICAgICBpZiAodGhpcy5pc09wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5tZW51UmVmLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tZW51UmVmLmFmdGVyQ2xvc2VkKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -39,9 +39,9 @@ export class TheToolbarService {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
TheToolbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
TheToolbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
TheToolbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheToolbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
43
|
+
TheToolbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheToolbarService });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: TheToolbarService, decorators: [{
|
|
45
45
|
type: Injectable
|
|
46
46
|
}] });
|
|
47
47
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3NlcnZpY2VzL3Rvb2xiYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFJOUYsTUFBTSxPQUFPLGlCQUFpQjtJQUMxQixVQUFVLENBQ04sWUFBMkIsRUFDM0IsU0FBbUIsOEJBQThCLEVBQ2pELFNBQW1CLDhCQUE4QjtRQUVqRCxNQUFNLGlCQUFpQixHQUFHO1lBQ3RCLE1BQU07WUFDTixNQUFNO1NBQ1QsQ0FBQztRQUVGLE1BQU0saUJBQWlCLEdBQTZCLElBQUksR0FBRyxFQUF1QixDQUFDO1FBQ25GLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTNELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRW5GLE9BQU87WUFDSCxpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLGFBQWE7U0FDaEIsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxpQkFBb0MsRUFBRSxZQUFzQztRQUMxRixNQUFNLE1BQU0sR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxNQUFNLElBQUksaUJBQWlCLEVBQUU7WUFDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUN2RjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFrQixFQUFFLFlBQXNDO1FBQzNFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQWUsRUFBRSxFQUFFO1lBQ2hDLElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRTtnQkFDakIsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUMzQjtZQUNELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDUCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7YUFDdEQ7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2YsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQXdCLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQzthQUN4RztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7OEdBN0NRLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZWZhdWx0R2xvYmFsVG9vbGJhckRlZmluaXRpb24sIERlZmF1bHRJbmxpbmVUb29sYmFyRGVmaW5pdGlvbiB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUb29sYmFyS2V5LCBUb29sYmFySXRlbSwgVG9vbGJhckRlZmluaXRpb24sIFRvb2xiYXJFbnRpdHksIFRvb2xiYXJJbml0T3B0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaGVUb29sYmFyU2VydmljZSB7XG4gICAgaW5pdGlhbGl6ZShcbiAgICAgICAgdG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdLFxuICAgICAgICBnbG9iYWw6IHN0cmluZ1tdID0gRGVmYXVsdEdsb2JhbFRvb2xiYXJEZWZpbml0aW9uLFxuICAgICAgICBpbmxpbmU6IHN0cmluZ1tdID0gRGVmYXVsdElubGluZVRvb2xiYXJEZWZpbml0aW9uXG4gICAgKTogVG9vbGJhckluaXRPcHRpb24ge1xuICAgICAgICBjb25zdCB0b29sYmFyRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICAgIGdsb2JhbCxcbiAgICAgICAgICAgIGlubGluZVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHRvb2xiYXJPcGVyYXRpb25zOiBNYXA8c3RyaW5nLCBUb29sYmFySXRlbT4gPSBuZXcgTWFwPHN0cmluZywgVG9vbGJhckl0ZW0+KCk7XG4gICAgICAgIHRvb2xiYXJJdGVtcy5mb3JFYWNoKGkgPT4gdG9vbGJhck9wZXJhdGlvbnMuc2V0KGkua2V5LCBpKSk7XG5cbiAgICAgICAgY29uc3QgdG9vbGJhckVudGl0eSA9IHRoaXMubmV4dFRvb2xiYXJFbnRpdHkodG9vbGJhckRlZmluaXRpb24sIHRvb2xiYXJPcGVyYXRpb25zKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9vbGJhckRlZmluaXRpb24sXG4gICAgICAgICAgICB0b29sYmFyT3BlcmF0aW9ucyxcbiAgICAgICAgICAgIHRvb2xiYXJFbnRpdHlcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZXh0VG9vbGJhckVudGl0eSh0b29sYmFyRGVmaW5pdGlvbjogVG9vbGJhckRlZmluaXRpb24sIHRvb2xiYXJJdGVtczogTWFwPHN0cmluZywgVG9vbGJhckl0ZW0+KTogVG9vbGJhckVudGl0eSB7XG4gICAgICAgIGNvbnN0IGVudGl0eTogVG9vbGJhckVudGl0eSA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IGRlZktleSBpbiB0b29sYmFyRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgZW50aXR5W2RlZktleV0gPSB0aGlzLmdldFRvb2xiYXJJdGVtQnlLZXlzKHRvb2xiYXJEZWZpbml0aW9uW2RlZktleV0sIHRvb2xiYXJJdGVtcyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICB9XG5cbiAgICBnZXRUb29sYmFySXRlbUJ5S2V5cyhrZXlzOiBUb29sYmFyS2V5W10sIHRvb2xiYXJJdGVtczogTWFwPHN0cmluZywgVG9vbGJhckl0ZW0+KTogVG9vbGJhckl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBrZXlzLm1hcCgoa2V5OiBUb29sYmFyS2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSBgc3BsaXRgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsga2V5OiBgc3BsaXRgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdG9vbGJhckl0ZW1zLmdldChrZXkpO1xuICAgICAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZWFkIGEgbm9uLWV4aXN0ZW50IHRvb2xiYXIga2V5YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5pbmNsdWRlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLml0ZW0sIGluY2x1ZGVzOiB0aGlzLmdldFRvb2xiYXJJdGVtQnlLZXlzKGl0ZW0uaW5jbHVkZXMgYXMgVG9vbGJhcktleVtdLCB0b29sYmFySXRlbXMpIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|