@worktile/theia 17.2.3 → 17.3.1-1
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/column-resize/column-resize.directive.d.ts +5 -3
- package/components/column-resize/column-resize.scss +0 -7
- package/components/column-resize/overlay-handle.component.d.ts +4 -6
- package/components/column-resize/resizing.store.d.ts +0 -8
- package/components/inline-toolbar/inline-toolbar.component.d.ts +1 -1
- package/constants/node-types.d.ts +0 -1
- package/core/utils/plugin-menu.d.ts +8 -0
- package/esm2022/components/action/prevent-default.mjs +3 -3
- package/esm2022/components/column-resize/column-resize-notifier.mjs +3 -3
- package/esm2022/components/column-resize/column-resize.directive.mjs +31 -12
- package/esm2022/components/column-resize/event-dispatcher.mjs +3 -3
- package/esm2022/components/column-resize/overlay-handle.component.mjs +14 -18
- package/esm2022/components/column-resize/resizing.store.mjs +6 -69
- package/esm2022/components/contextmenu/contextmenu.component.mjs +3 -3
- package/esm2022/components/conversion-hint/conversion-hint.component.mjs +3 -3
- package/esm2022/components/element/element.component.mjs +3 -3
- package/esm2022/components/inline-toolbar/inline-toolbar.component.mjs +16 -25
- package/esm2022/components/listbox/listbox.mjs +9 -9
- package/esm2022/components/plugin-menu/plugin-menu.component.mjs +22 -7
- package/esm2022/components/table-select/table-select.component.mjs +3 -3
- package/esm2022/components/template/template.component.mjs +3 -3
- package/esm2022/components/text/text.component.mjs +3 -3
- package/esm2022/components/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/components/toolbar-dropdown/toolbar-dropdown.component.mjs +3 -3
- package/esm2022/components/toolbar-group/toolbar-group.component.mjs +3 -3
- package/esm2022/components/toolbar-item/toolbar-item.component.mjs +3 -3
- package/esm2022/constants/default.mjs +2 -2
- package/esm2022/constants/node-types.mjs +1 -2
- package/esm2022/core/toolbar-item/base-toolbar-item.mjs +6 -6
- package/esm2022/core/utils/plugin-menu.mjs +31 -1
- package/esm2022/editor.component.mjs +3 -3
- package/esm2022/editor.module.mjs +4 -4
- package/esm2022/interfaces/plugins/plugin-menu.mjs +2 -2
- package/esm2022/interfaces/plugins/plugins.mjs +1 -1
- package/esm2022/interfaces/view-base.mjs +3 -3
- package/esm2022/pipes.mjs +9 -9
- package/esm2022/plugins/blockquote/blockquote.component.mjs +3 -3
- package/esm2022/plugins/code/code.component.mjs +3 -3
- package/esm2022/plugins/color/toolbar-item.component.mjs +3 -3
- package/esm2022/plugins/common/block-card.plugin.mjs +12 -2
- package/esm2022/plugins/hr/hr.component.mjs +3 -3
- package/esm2022/plugins/image/image.component.mjs +5 -5
- package/esm2022/plugins/image/image.plugin.mjs +2 -2
- package/esm2022/plugins/inline-code/inline-code.component.mjs +3 -3
- package/esm2022/plugins/inline-code/inline-code.plugin.mjs +3 -2
- package/esm2022/plugins/link/edit/link-edit.component.mjs +3 -3
- package/esm2022/plugins/link/hover/link-hover.component.mjs +3 -3
- package/esm2022/plugins/link/link.component.mjs +6 -6
- package/esm2022/plugins/link/link.plugin.mjs +4 -3
- package/esm2022/plugins/list/components/bulleted-list.component.mjs +3 -3
- package/esm2022/plugins/list/components/list-item.component.mjs +3 -3
- package/esm2022/plugins/list/components/numbered-list.component.mjs +3 -3
- package/esm2022/plugins/mention/suggestion.component.mjs +3 -3
- package/esm2022/plugins/quick-insert/components/quick-insert.component.mjs +3 -3
- package/esm2022/plugins/quick-insert/quick-insert.editor.mjs +4 -2
- package/esm2022/plugins/quick-insert/quick-insert.plugin.mjs +3 -1
- package/esm2022/plugins/table/components/insert-mark/insert-mark.component.mjs +42 -18
- package/esm2022/plugins/table/components/row/row.component.mjs +5 -5
- package/esm2022/plugins/table/components/table.component.mjs +20 -28
- package/esm2022/plugins/table/components/td/td.component.mjs +50 -128
- package/esm2022/plugins/table/components/toolbar/table-options.component.mjs +3 -3
- package/esm2022/plugins/table/components/toolbar/table-toolbar.component.mjs +3 -3
- package/esm2022/plugins/table/table.pipe.mjs +9 -9
- package/esm2022/plugins/table/table.plugin.mjs +12 -1
- package/esm2022/plugins/table/table.service.mjs +3 -3
- package/esm2022/plugins/table/table.store.mjs +3 -3
- package/esm2022/plugins/table/table.types.mjs +1 -1
- package/esm2022/plugins/table/toolbar-item.component.mjs +3 -3
- package/esm2022/plugins/table/utils/table-viewport.mjs +41 -0
- package/esm2022/plugins/todo-item/todo-item.component.mjs +3 -3
- package/esm2022/plugins/vertical-align/toolbar-item.component.mjs +3 -3
- package/esm2022/queries/anchor-block-entry.mjs +3 -3
- package/esm2022/queries/anchor-block.mjs +3 -3
- package/esm2022/queries/get-block-card-cursor.mjs +6 -2
- package/esm2022/queries/is-block-card-cursor.mjs +7 -2
- package/esm2022/services/context.service.mjs +3 -3
- package/esm2022/services/table-contextmenu.service.mjs +3 -3
- package/esm2022/services/toolbar.service.mjs +3 -3
- package/esm2022/test/basic/basic.component.mjs +3 -3
- package/esm2022/test/faker/tethys-icon-faker.mjs +3 -3
- package/esm2022/utils/index.mjs +2 -2
- package/esm2022/utils/scrolling.mjs +43 -0
- package/fesm2022/worktile-theia.mjs +479 -482
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +3 -3
- package/interfaces/plugins/plugins.d.ts +2 -1
- package/package.json +1 -1
- package/plugins/table/components/insert-mark/insert-mark.component.d.ts +12 -4
- package/plugins/table/components/table.component.d.ts +2 -3
- package/plugins/table/components/table.component.scss +4 -18
- package/plugins/table/components/td/td.component.d.ts +9 -10
- package/plugins/table/table.types.d.ts +2 -2
- package/plugins/table/utils/table-viewport.d.ts +8 -0
- package/queries/anchor-block-entry.d.ts +2 -2
- package/queries/anchor-block.d.ts +2 -2
- package/queries/get-block-card-cursor.d.ts +2 -2
- package/queries/is-block-card-cursor.d.ts +2 -2
- package/styles/editor.scss +7 -0
- package/utils/index.d.ts +1 -1
- package/utils/{scroll-into-view.d.ts → scrolling.d.ts} +1 -0
- package/esm2022/utils/scroll-into-view.mjs +0 -38
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { ReplaySubject } from 'rxjs';
|
|
3
|
-
import { Position, TableCellEventDispatcher } from './event-dispatcher';
|
|
4
|
-
import { ColumnResizeNotifierSource } from './column-resize-notifier';
|
|
5
3
|
import { TheTableBase } from '../../plugins/table/table.types';
|
|
4
|
+
import { ColumnResizeNotifierSource } from './column-resize-notifier';
|
|
5
|
+
import { Position, TableCellEventDispatcher } from './event-dispatcher';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export declare class TheColumnResizeDirective implements AfterViewInit, OnDestroy {
|
|
8
8
|
elementRef: ElementRef;
|
|
@@ -15,8 +15,10 @@ export declare class TheColumnResizeDirective implements AfterViewInit, OnDestro
|
|
|
15
15
|
protected readonly destroyed: ReplaySubject<void>;
|
|
16
16
|
protected position: Position;
|
|
17
17
|
protected resizeStarted: boolean;
|
|
18
|
+
protected targetCell: HTMLTableCellElement;
|
|
18
19
|
constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, ngZone: NgZone, eventDispatcher: TableCellEventDispatcher, resizeNotifier: ColumnResizeNotifierSource, theTableComponent: TheTableBase);
|
|
19
20
|
ngAfterViewInit(): void;
|
|
21
|
+
private getResizeRowIndex;
|
|
20
22
|
_listenForCellEdgeHoverEvents(): void;
|
|
21
23
|
_listenStartDrag(): void;
|
|
22
24
|
_listenEndDrag(): void;
|
|
@@ -44,7 +44,6 @@ $resizable-active-divider: variables.$primary;
|
|
|
44
44
|
max-width: inherit;
|
|
45
45
|
}
|
|
46
46
|
.the-table-resize-overlay-thumb {
|
|
47
|
-
left: -11px;
|
|
48
47
|
cursor: row-resize;
|
|
49
48
|
&:hover {
|
|
50
49
|
&::after {
|
|
@@ -60,9 +59,3 @@ $resizable-active-divider: variables.$primary;
|
|
|
60
59
|
}
|
|
61
60
|
}
|
|
62
61
|
}
|
|
63
|
-
.the-numbered-resize-handle-panel {
|
|
64
|
-
.the-table-resize-overlay-thumb {
|
|
65
|
-
left: -55px;
|
|
66
|
-
cursor: row-resize;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone,
|
|
2
|
-
import { ReplaySubject } from 'rxjs';
|
|
1
|
+
import { AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, NgZone, ViewContainerRef } from '@angular/core';
|
|
3
2
|
import { ColumnResizeNotifierSource } from './column-resize-notifier';
|
|
4
3
|
import { TableCellEventDispatcher } from './event-dispatcher';
|
|
5
4
|
import { ResizeRef } from './resize-ref';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare class TheColumnResizeOverlayHandle implements AfterViewInit
|
|
6
|
+
export declare class TheColumnResizeOverlayHandle implements AfterViewInit {
|
|
8
7
|
elementRef: ElementRef<HTMLElement>;
|
|
9
8
|
viewContainerRef: ViewContainerRef;
|
|
10
9
|
cdr: ChangeDetectorRef;
|
|
@@ -13,8 +12,8 @@ export declare class TheColumnResizeOverlayHandle implements AfterViewInit, OnDe
|
|
|
13
12
|
eventDispatcher: TableCellEventDispatcher;
|
|
14
13
|
document: any;
|
|
15
14
|
resizeNotifier: ColumnResizeNotifierSource;
|
|
16
|
-
|
|
17
|
-
constructor(elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, ngZone: NgZone, resizeRef: ResizeRef, eventDispatcher: TableCellEventDispatcher, document: any, resizeNotifier: ColumnResizeNotifierSource);
|
|
15
|
+
private destroyRef;
|
|
16
|
+
constructor(elementRef: ElementRef<HTMLElement>, viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef, ngZone: NgZone, resizeRef: ResizeRef, eventDispatcher: TableCellEventDispatcher, document: any, resizeNotifier: ColumnResizeNotifierSource, destroyRef: DestroyRef);
|
|
18
17
|
ngAfterViewInit(): void;
|
|
19
18
|
private _listenForMouseEvents;
|
|
20
19
|
private _dragStarted;
|
|
@@ -27,7 +26,6 @@ export declare class TheColumnResizeOverlayHandle implements AfterViewInit, OnDe
|
|
|
27
26
|
private _isLtr;
|
|
28
27
|
private _notifyResizeEnded;
|
|
29
28
|
private _notifyResizeStarted;
|
|
30
|
-
ngOnDestroy(): void;
|
|
31
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<TheColumnResizeOverlayHandle, never>;
|
|
32
30
|
static ɵcmp: i0.ɵɵComponentDeclaration<TheColumnResizeOverlayHandle, "ng-component", never, {}, {}, never, never, true, never>;
|
|
33
31
|
}
|
|
@@ -3,26 +3,18 @@ export declare class ColumnResizingStore {
|
|
|
3
3
|
constructor();
|
|
4
4
|
private direction;
|
|
5
5
|
private resizeCols;
|
|
6
|
-
private resizeRows;
|
|
7
6
|
private tableCols;
|
|
8
|
-
private tableRows;
|
|
9
7
|
storeResizingCol(colElement: HTMLTableColElement): void;
|
|
10
|
-
storeResizingRow(rowElement: HTMLTableRowElement): void;
|
|
11
8
|
storeTableWidth(cols: HTMLTableColElement[]): void;
|
|
12
|
-
storeTableHeight(rows: HTMLTableRowElement[]): void;
|
|
13
9
|
cleanResizing(): void;
|
|
14
10
|
restoreLeftCols(deltaX: number): number;
|
|
15
|
-
restoreTopRows(deltaY: number): number;
|
|
16
|
-
restoreBottomRows(deltaY: number): number;
|
|
17
11
|
restoreRightCols(deltaX: number): number;
|
|
18
12
|
getScrollWidth(deltaX: number): number;
|
|
19
|
-
getAddTableHeight(deltaY: number): number;
|
|
20
13
|
isRestoring(deltaValue: any, isXAxis?: boolean): boolean;
|
|
21
14
|
isResizing(deltaValue: any, isXAxis?: boolean): boolean;
|
|
22
15
|
initDirection(deltaValue: number, isXAxis?: boolean): void;
|
|
23
16
|
private getDirection;
|
|
24
17
|
private popCol;
|
|
25
|
-
private popRow;
|
|
26
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnResizingStore, never>;
|
|
27
19
|
static ɵprov: i0.ɵɵInjectableDeclaration<ColumnResizingStore>;
|
|
28
20
|
}
|
|
@@ -19,7 +19,7 @@ export declare class TheInlineToolbar implements OnInit, OnDestroy {
|
|
|
19
19
|
constructor(elementRef: ElementRef<any>, scrollDispatcher: ScrollDispatcher, cdr: ChangeDetectorRef, ngZone: NgZone, contextService: TheContextService);
|
|
20
20
|
ngOnInit(): void;
|
|
21
21
|
updateInlineToolbar(): void;
|
|
22
|
-
updatePosition(toolbarElement: HTMLElement, range:
|
|
22
|
+
updatePosition(toolbarElement: HTMLElement, range: Range): void;
|
|
23
23
|
ngOnDestroy(): void;
|
|
24
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<TheInlineToolbar, never>;
|
|
25
25
|
static ɵcmp: i0.ɵɵComponentDeclaration<TheInlineToolbar, "the-inline-toolbar", never, { "editor": { "alias": "editor"; "required": false; }; "toolbarItems": { "alias": "toolbarItems"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -92,7 +92,6 @@ export declare enum ToolbarActionTypes {
|
|
|
92
92
|
group = "group"
|
|
93
93
|
}
|
|
94
94
|
export declare const MarkProps: Array<MarkTypes>;
|
|
95
|
-
export declare const THE_INLINE_TOOLBAR_TYPES: Array<ElementKinds>;
|
|
96
95
|
export declare const STANDARD_HEADING_TYPES: CustomElementKinds[];
|
|
97
96
|
export declare const HEADING_TYPES: CustomElementKinds[];
|
|
98
97
|
export declare const ALIGN_BLOCK_TYPES: CustomElementKinds[];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Editor } from 'slate';
|
|
2
|
+
import { TheEditor } from '../../interfaces';
|
|
2
3
|
import { ThePluginMenu, ThePluginMenuItem, ThePluginMenuItemConfig, ThePluginMenuItemKey } from '../../interfaces/plugins/plugin-menu';
|
|
3
4
|
/**
|
|
4
5
|
* 构建插入菜单,用于绑定界面
|
|
@@ -8,3 +9,10 @@ import { ThePluginMenu, ThePluginMenuItem, ThePluginMenuItemConfig, ThePluginMen
|
|
|
8
9
|
*/
|
|
9
10
|
export declare const buildPluginMenu: (menuItemMap: Map<ThePluginMenuItemKey, ThePluginMenuItem>, items: ThePluginMenuItemConfig[]) => ThePluginMenu;
|
|
10
11
|
export declare const buildPluginMenuItemMap: (editor: Editor) => Map<string, ThePluginMenuItem>;
|
|
12
|
+
/**
|
|
13
|
+
* 构建当前位置允许插入的元素菜单
|
|
14
|
+
* @param editor 编辑器对象
|
|
15
|
+
* @param menus 插入菜单
|
|
16
|
+
* @returns 返回允许插入的元素菜单
|
|
17
|
+
*/
|
|
18
|
+
export declare const buildQuickInsertMenus: (editor: TheEditor, menus: ThePluginMenuItemConfig[]) => ThePluginMenuItemConfig[];
|
|
@@ -4,10 +4,10 @@ export class ThePreventDefaultDirective {
|
|
|
4
4
|
mousedown(event) {
|
|
5
5
|
event.preventDefault();
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
8
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ThePreventDefaultDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: ThePreventDefaultDirective, isStandalone: true, selector: "[thePreventDefault]", host: { listeners: { "mousedown": "mousedown($event)" } }, exportAs: ["thePreventDefault"], ngImport: i0 }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ThePreventDefaultDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: '[thePreventDefault]',
|
|
@@ -22,10 +22,10 @@ export class ColumnResizeNotifierSource {
|
|
|
22
22
|
/** Triggers a resize action. */
|
|
23
23
|
this.triggerResize = new Subject();
|
|
24
24
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
26
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizeNotifierSource, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
26
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizeNotifierSource }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ColumnResizeNotifierSource, decorators: [{
|
|
29
29
|
type: Injectable
|
|
30
30
|
}] });
|
|
31
31
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS1ub3RpZmllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2NvbHVtbi1yZXNpemUvY29sdW1uLXJlc2l6ZS1ub3RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBd0IvQjs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBRHZDO1FBRUksb0RBQW9EO1FBQzNDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7UUFFMUQsc0NBQXNDO1FBQzdCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUU1QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFbkQsZ0NBQWdDO1FBQ3ZCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7S0FDNUQ7OEdBWFksMEJBQTBCO2tIQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKiogSW5kaWNhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uU2l6ZSB7XG4gICAgLyoqIFRoZSBJRC9uYW1lIG9mIHRoZSBjb2x1bW4sIGFzIGRlZmluZWQgaW4gQ2RrQ29sdW1uRGVmLiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlQ2VsbDogSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiogVGhlIHdpZHRoIC8gaGVpZ2h0IGluIHBpeGVscyBvZiB0aGUgY29sdW1uIC8gcm93LiAqL1xuICAgIHJlYWRvbmx5IGRlbHRhU2l6ZT86IG51bWJlcjtcblxuICAgIC8qKiBUaGUgd2lkdGggLyBoZWlnaHQgaW4gcGl4ZWxzIG9mIHRoZSBjb2x1bW4gLyByb3cgcHJpb3IgdG8gdGhpcyB1cGRhdGUsIGlmIGtub3duLiAqL1xuICAgIHJlYWRvbmx5IHByZXZpb3VzU2l6ZT86IG51bWJlcjtcbn1cblxuLyoqIEludGVyZmFjZSBkZXNjcmliaW5nIGNvbHVtbiBzaXplIGNoYW5nZXMuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblNpemVBY3Rpb24gZXh0ZW5kcyBDb2x1bW5TaXplIHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByZXNpemUgYWN0aW9uIHNob3VsZCBiZSBhcHBsaWVkIGluc3RhbnRhbmVvdXNseS4gRmFsc2UgZm9yIGV2ZW50cyB0cmlnZ2VyZWQgZHVyaW5nXG4gICAgICogYSBVSS10cmlnZ2VyZWQgcmVzaXplIChzdWNoIGFzIHdpdGggdGhlIG1vdXNlKSB1bnRpbCB0aGUgbW91c2UgYnV0dG9uIGlzIHJlbGVhc2VkLiBUcnVlXG4gICAgICogZm9yIGFsbCBwcm9ncmFtYXRpY2FsbHkgdHJpZ2dlcmVkIHJlc2l6ZXMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY29tcGxldGVJbW1lZGlhdGVseT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogT3JpZ2luYXRpbmcgc291cmNlIG9mIGNvbHVtbiByZXNpemUgZXZlbnRzIHdpdGhpbiBhIHRhYmxlLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2Uge1xuICAgIC8qKiBFbWl0cyB3aGVuIGFuIGluLXByb2dyZXNzIHJlc2l6ZSBpcyBjYW5jZWxlZC4gKi9cbiAgICByZWFkb25seSByZXNpemVDYW5jZWxlZCA9IG5ldyBTdWJqZWN0PENvbHVtblNpemVBY3Rpb24+KCk7XG5cbiAgICAvKiogRW1pdHMgd2hlbiBhIHJlc2l6ZSBpcyBhcHBsaWVkLiAqL1xuICAgIHJlYWRvbmx5IHJlc2l6ZUNvbXBsZXRlZCA9IG5ldyBTdWJqZWN0PENvbHVtblNpemU+KCk7XG5cbiAgICByZWFkb25seSByZXNpemVTdGFydGVkID0gbmV3IFN1YmplY3Q8Q29sdW1uU2l6ZT4oKTtcblxuICAgIC8qKiBUcmlnZ2VycyBhIHJlc2l6ZSBhY3Rpb24uICovXG4gICAgcmVhZG9ubHkgdHJpZ2dlclJlc2l6ZSA9IG5ldyBTdWJqZWN0PENvbHVtblNpemVBY3Rpb24+KCk7XG59XG4iXX0=
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Directive, Inject } from '@angular/core';
|
|
2
|
-
import { fromEvent, merge
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { RESIZE_OVERLAY_SELECTOR } from './selectors';
|
|
2
|
+
import { ReplaySubject, fromEvent, merge } from 'rxjs';
|
|
3
|
+
import { filter, map, mapTo, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { AngularEditor } from 'slate-angular';
|
|
6
5
|
import { SLA_TABLE_CELL_SELECTOR } from '../../constants/selector';
|
|
7
6
|
import { THE_TABLE_COMPONENT_TOKEN } from '../../plugins/table/table.types';
|
|
7
|
+
import { Position } from './event-dispatcher';
|
|
8
|
+
import { RESIZE_OVERLAY_SELECTOR } from './selectors';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "./event-dispatcher";
|
|
10
11
|
import * as i2 from "./column-resize-notifier";
|
|
@@ -25,6 +26,25 @@ export class TheColumnResizeDirective {
|
|
|
25
26
|
this._listenStartDrag();
|
|
26
27
|
this._listenEndDrag();
|
|
27
28
|
}
|
|
29
|
+
getResizeRowIndex(position, cell) {
|
|
30
|
+
const rowElements = this.theTableComponent.nativeElement.querySelector('tbody').children;
|
|
31
|
+
const editor = this.theTableComponent?.editor;
|
|
32
|
+
if (cell && rowElements && editor) {
|
|
33
|
+
const node = AngularEditor.toSlateNode(editor, cell);
|
|
34
|
+
const path = AngularEditor.findPath(editor, node);
|
|
35
|
+
const [row] = path.slice(-2);
|
|
36
|
+
let rowIndex;
|
|
37
|
+
switch (position) {
|
|
38
|
+
case Position.top:
|
|
39
|
+
rowIndex = row - 1;
|
|
40
|
+
break;
|
|
41
|
+
case Position.bottom:
|
|
42
|
+
rowIndex = row;
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
return rowIndex;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
28
48
|
_listenForCellEdgeHoverEvents() {
|
|
29
49
|
this.ngZone.runOutsideAngular(() => {
|
|
30
50
|
const element = this.elementRef.nativeElement;
|
|
@@ -44,6 +64,7 @@ export class TheColumnResizeDirective {
|
|
|
44
64
|
const positionOffsets = [topOffset, rightOffset, bottomOffset, leftOffset];
|
|
45
65
|
const minIndex = positionOffsets.indexOf(Math.min(...positionOffsets));
|
|
46
66
|
this.position = positions[minIndex];
|
|
67
|
+
this.targetCell = cell;
|
|
47
68
|
return { cell, position: this.position };
|
|
48
69
|
}
|
|
49
70
|
return null;
|
|
@@ -62,9 +83,6 @@ export class TheColumnResizeDirective {
|
|
|
62
83
|
if (this.position === Position.left || this.position === Position.right) {
|
|
63
84
|
this.theTableComponent.initializeColumns();
|
|
64
85
|
}
|
|
65
|
-
else {
|
|
66
|
-
this.theTableComponent.initializeRows();
|
|
67
|
-
}
|
|
68
86
|
});
|
|
69
87
|
}
|
|
70
88
|
_listenEndDrag() {
|
|
@@ -81,7 +99,8 @@ export class TheColumnResizeDirective {
|
|
|
81
99
|
this.theTableComponent.transformColumnsWidth();
|
|
82
100
|
}
|
|
83
101
|
else {
|
|
84
|
-
this.
|
|
102
|
+
const rowIndex = this.getResizeRowIndex(this.position, this.targetCell);
|
|
103
|
+
this.theTableComponent.transformRowHeight(rowIndex);
|
|
85
104
|
}
|
|
86
105
|
});
|
|
87
106
|
}
|
|
@@ -89,10 +108,10 @@ export class TheColumnResizeDirective {
|
|
|
89
108
|
this.destroyed.next();
|
|
90
109
|
this.destroyed.complete();
|
|
91
110
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
93
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.TableCellEventDispatcher }, { token: i2.ColumnResizeNotifierSource }, { token: THE_TABLE_COMPONENT_TOKEN }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
112
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: TheColumnResizeDirective, isStandalone: true, selector: "div[theColumnResize]", ngImport: i0 }); }
|
|
94
113
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeDirective, decorators: [{
|
|
96
115
|
type: Directive,
|
|
97
116
|
args: [{
|
|
98
117
|
selector: 'div[theColumnResize]',
|
|
@@ -102,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
102
121
|
type: Inject,
|
|
103
122
|
args: [THE_TABLE_COMPONENT_TOKEN]
|
|
104
123
|
}] }] });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2NvbHVtbi1yZXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFGLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQTRCLE1BQU0sb0JBQW9CLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBZ0IseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQU0xRixNQUFNLE9BQU8sd0JBQXdCO0lBS2pDLFlBQ1csVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLEdBQXNCLEVBQ3RCLE1BQWMsRUFDZCxlQUF5QyxFQUN6QyxjQUEwQyxFQUUxQyxpQkFBK0I7UUFQL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBRTFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBYztRQVp2QixjQUFTLEdBQUcsSUFBSSxhQUFhLEVBQVEsQ0FBQztRQUUvQyxr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QUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQTlGUSx3QkFBd0IscU5BWXJCLHlCQUF5QjtrR0FaNUIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs7MEJBYVEsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIE5nWm9uZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZmlsdGVyLCBtYXBUbyB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBvc2l0aW9uLCBUYWJsZUNlbGxFdmVudERpc3BhdGNoZXIgfSBmcm9tICcuL2V2ZW50LWRpc3BhdGNoZXInO1xuaW1wb3J0IHsgUkVTSVpFX09WRVJMQVlfU0VMRUNUT1IgfSBmcm9tICcuL3NlbGVjdG9ycyc7XG5pbXBvcnQgeyBDb2x1bW5SZXNpemVOb3RpZmllclNvdXJjZSB9IGZyb20gJy4vY29sdW1uLXJlc2l6ZS1ub3RpZmllcic7XG5pbXBvcnQgeyBTTEFfVEFCTEVfQ0VMTF9TRUxFQ1RPUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9zZWxlY3Rvcic7XG5pbXBvcnQgeyBUaGVUYWJsZUJhc2UsIFRIRV9UQUJMRV9DT01QT05FTlRfVE9LRU4gfSBmcm9tICcuLi8uLi9wbHVnaW5zL3RhYmxlL3RhYmxlLnR5cGVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlQ29sdW1uUmVzaXplXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaGVDb2x1bW5SZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCBwb3NpdGlvbjogUG9zaXRpb247XG4gICAgcHJvdGVjdGVkIHJlc2l6ZVN0YXJ0ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHB1YmxpYyBldmVudERpc3BhdGNoZXI6IFRhYmxlQ2VsbEV2ZW50RGlzcGF0Y2hlcixcbiAgICAgICAgcHVibGljIHJlc2l6ZU5vdGlmaWVyOiBDb2x1bW5SZXNpemVOb3RpZmllclNvdXJjZSxcbiAgICAgICAgQEluamVjdChUSEVfVEFCTEVfQ09NUE9ORU5UX1RPS0VOKVxuICAgICAgICBwdWJsaWMgdGhlVGFibGVDb21wb25lbnQ6IFRoZVRhYmxlQmFzZVxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuRm9yQ2VsbEVkZ2VIb3ZlckV2ZW50cygpO1xuICAgICAgICB0aGlzLl9saXN0ZW5TdGFydERyYWcoKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuRW5kRHJhZygpO1xuICAgIH1cblxuICAgIF9saXN0ZW5Gb3JDZWxsRWRnZUhvdmVyRXZlbnRzKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQhO1xuICAgICAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGVsZW1lbnQsICdtb3VzZW1vdmUnKSAvLyBtb3VzZW92ZXIgdG8gbW91c2Vtb3ZlIOWinuWKoOeBteaVj+aAp1xuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMucmVzaXplU3RhcnRlZCksXG4gICAgICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGhlVGFibGVDb21wb25lbnQuaXNDb2xsYXBzZWRBbmROb25SZWFkb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2VsbCA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoU0xBX1RBQkxFX0NFTExfU0VMRUNUT1IpIGFzIEhUTUxUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25zID0gW1Bvc2l0aW9uLnRvcCwgUG9zaXRpb24ucmlnaHQsIFBvc2l0aW9uLmJvdHRvbSwgUG9zaXRpb24ubGVmdF07XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY3RDZWxsID0gY2VsbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0b3BPZmZzZXQgPSBldmVudC5jbGllbnRZIC0gcmVjdENlbGwueTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByaWdodE9mZnNldCA9IHJlY3RDZWxsLnJpZ2h0IC0gZXZlbnQuY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBib3R0b21PZmZzZXQgPSByZWN0Q2VsbC5ib3R0b20gLSBldmVudC5jbGllbnRZO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxlZnRPZmZzZXQgPSBldmVudC5jbGllbnRYIC0gcmVjdENlbGwueDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbk9mZnNldHMgPSBbdG9wT2Zmc2V0LCByaWdodE9mZnNldCwgYm90dG9tT2Zmc2V0LCBsZWZ0T2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtaW5JbmRleCA9IHBvc2l0aW9uT2Zmc2V0cy5pbmRleE9mKE1hdGgubWluKC4uLnBvc2l0aW9uT2Zmc2V0cykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbnNbbWluSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNlbGwsIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmV2ZW50RGlzcGF0Y2hlci50YWJsZUNlbGxIb3ZlcmVkKTtcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gISFldmVudC5yZWxhdGVkVGFyZ2V0ICYmICEoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBFbGVtZW50KS5tYXRjaGVzKFJFU0laRV9PVkVSTEFZX1NFTEVDVE9SKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1hcFRvKG51bGwpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5ldmVudERpc3BhdGNoZXIudGFibGVDZWxsSG92ZXJlZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9saXN0ZW5TdGFydERyYWcoKSB7XG4gICAgICAgIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplU3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09IFBvc2l0aW9uLmxlZnQgfHwgdGhpcy5wb3NpdGlvbiA9PT0gUG9zaXRpb24ucmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoZVRhYmxlQ29tcG9uZW50LmluaXRpYWxpemVDb2x1bW5zKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGhlVGFibGVDb21wb25lbnQuaW5pdGlhbGl6ZVJvd3MoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgX2xpc3RlbkVuZERyYWcoKSB7XG4gICAgICAgIC8vIHJlc2l6ZUNhbmNlbGVkIOaMieeFpyByZXNpemVDb21wbGV0ZWQg5aSE55CG77yM5Zug5Li655WM6Z2i5piv5a6e5pe25Y+Y5YyW55qE44CCXG4gICAgICAgIG1lcmdlKHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ2FuY2VsZWQsIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ29tcGxldGVkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIOWmguaenOayoeaciei/m+ihjOaLluaLveWwseS4jeimgei/m+ihjOWQjue7reihqOagvOWuvemrmOiuoeeul+S6hlxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5yZXNpemVTdGFydGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemVTdGFydGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09IFBvc2l0aW9uLmxlZnQgfHwgdGhpcy5wb3NpdGlvbiA9PT0gUG9zaXRpb24ucmlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aGVUYWJsZUNvbXBvbmVudC50cmFuc2Zvcm1Db2x1bW5zV2lkdGgoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoZVRhYmxlQ29tcG9uZW50LnRyYW5zZm9ybVJvd0hlaWdodCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXJlc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy9jb2x1bW4tcmVzaXplL2NvbHVtbi1yZXNpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLE1BQU0sRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5FLE9BQU8sRUFBRSx5QkFBeUIsRUFBZ0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRixPQUFPLEVBQUUsUUFBUSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQU10RCxNQUFNLE9BQU8sd0JBQXdCO0lBTWpDLFlBQ1csVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLEdBQXNCLEVBQ3RCLE1BQWMsRUFDZCxlQUF5QyxFQUN6QyxjQUEwQyxFQUUxQyxpQkFBK0I7UUFQL0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMsbUJBQWMsR0FBZCxjQUFjLENBQTRCO1FBRTFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBYztR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LHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQWNRLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBOZ1pvbmUsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgZnJvbUV2ZW50LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIG1hcFRvLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBTTEFfVEFCTEVfQ0VMTF9TRUxFQ1RPUiB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9zZWxlY3Rvcic7XG5pbXBvcnQgeyBUYWJsZUNlbGxFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRIRV9UQUJMRV9DT01QT05FTlRfVE9LRU4sIFRoZVRhYmxlQmFzZSB9IGZyb20gJy4uLy4uL3BsdWdpbnMvdGFibGUvdGFibGUudHlwZXMnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UgfSBmcm9tICcuL2NvbHVtbi1yZXNpemUtbm90aWZpZXInO1xuaW1wb3J0IHsgUG9zaXRpb24sIFRhYmxlQ2VsbEV2ZW50RGlzcGF0Y2hlciB9IGZyb20gJy4vZXZlbnQtZGlzcGF0Y2hlcic7XG5pbXBvcnQgeyBSRVNJWkVfT1ZFUkxBWV9TRUxFQ1RPUiB9IGZyb20gJy4vc2VsZWN0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlQ29sdW1uUmVzaXplXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaGVDb2x1bW5SZXNpemVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigpO1xuICAgIHByb3RlY3RlZCBwb3NpdGlvbjogUG9zaXRpb247XG4gICAgcHJvdGVjdGVkIHJlc2l6ZVN0YXJ0ZWQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgdGFyZ2V0Q2VsbDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwdWJsaWMgZXZlbnREaXNwYXRjaGVyOiBUYWJsZUNlbGxFdmVudERpc3BhdGNoZXIsXG4gICAgICAgIHB1YmxpYyByZXNpemVOb3RpZmllcjogQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UsXG4gICAgICAgIEBJbmplY3QoVEhFX1RBQkxFX0NPTVBPTkVOVF9UT0tFTilcbiAgICAgICAgcHVibGljIHRoZVRhYmxlQ29tcG9uZW50OiBUaGVUYWJsZUJhc2VcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuX2xpc3RlbkZvckNlbGxFZGdlSG92ZXJFdmVudHMoKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuU3RhcnREcmFnKCk7XG4gICAgICAgIHRoaXMuX2xpc3RlbkVuZERyYWcoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlc2l6ZVJvd0luZGV4KHBvc2l0aW9uOiBQb3NpdGlvbiwgY2VsbDogSFRNTFRhYmxlQ2VsbEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgcm93RWxlbWVudHMgPSB0aGlzLnRoZVRhYmxlQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGJvZHknKS5jaGlsZHJlbjtcbiAgICAgICAgY29uc3QgZWRpdG9yID0gdGhpcy50aGVUYWJsZUNvbXBvbmVudD8uZWRpdG9yO1xuXG4gICAgICAgIGlmIChjZWxsICYmIHJvd0VsZW1lbnRzICYmIGVkaXRvcikge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZU5vZGUoZWRpdG9yLCBjZWxsKSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgcGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBub2RlKTtcbiAgICAgICAgICAgIGNvbnN0IFtyb3ddID0gcGF0aC5zbGljZSgtMik7XG4gICAgICAgICAgICBsZXQgcm93SW5kZXg6IG51bWJlcjtcblxuICAgICAgICAgICAgc3dpdGNoIChwb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIGNhc2UgUG9zaXRpb24udG9wOlxuICAgICAgICAgICAgICAgICAgICByb3dJbmRleCA9IHJvdyAtIDE7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgUG9zaXRpb24uYm90dG9tOlxuICAgICAgICAgICAgICAgICAgICByb3dJbmRleCA9IHJvdztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcm93SW5kZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfbGlzdGVuRm9yQ2VsbEVkZ2VIb3ZlckV2ZW50cygpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ITtcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2Vtb3ZlJykgLy8gbW91c2VvdmVyIHRvIG1vdXNlbW92ZSDlop7liqDngbXmlY/mgKdcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLnJlc2l6ZVN0YXJ0ZWQpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRoZVRhYmxlQ29tcG9uZW50LmlzQ29sbGFwc2VkQW5kTm9uUmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNlbGwgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbG9zZXN0KFNMQV9UQUJMRV9DRUxMX1NFTEVDVE9SKSBhcyBIVE1MVGFibGVDZWxsRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IFtQb3NpdGlvbi50b3AsIFBvc2l0aW9uLnJpZ2h0LCBQb3NpdGlvbi5ib3R0b20sIFBvc2l0aW9uLmxlZnRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWN0Q2VsbCA9IGNlbGwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdG9wT2Zmc2V0ID0gZXZlbnQuY2xpZW50WSAtIHJlY3RDZWxsLnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmlnaHRPZmZzZXQgPSByZWN0Q2VsbC5yaWdodCAtIGV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm90dG9tT2Zmc2V0ID0gcmVjdENlbGwuYm90dG9tIC0gZXZlbnQuY2xpZW50WTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsZWZ0T2Zmc2V0ID0gZXZlbnQuY2xpZW50WCAtIHJlY3RDZWxsLng7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25PZmZzZXRzID0gW3RvcE9mZnNldCwgcmlnaHRPZmZzZXQsIGJvdHRvbU9mZnNldCwgbGVmdE9mZnNldF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWluSW5kZXggPSBwb3NpdGlvbk9mZnNldHMuaW5kZXhPZihNYXRoLm1pbiguLi5wb3NpdGlvbk9mZnNldHMpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb25zW21pbkluZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhcmdldENlbGwgPSBjZWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNlbGwsIHBvc2l0aW9uOiB0aGlzLnBvc2l0aW9uIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmV2ZW50RGlzcGF0Y2hlci50YWJsZUNlbGxIb3ZlcmVkKTtcbiAgICAgICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2VsZWF2ZScpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gISFldmVudC5yZWxhdGVkVGFyZ2V0ICYmICEoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBFbGVtZW50KS5tYXRjaGVzKFJFU0laRV9PVkVSTEFZX1NFTEVDVE9SKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIG1hcFRvKG51bGwpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5ldmVudERpc3BhdGNoZXIudGFibGVDZWxsSG92ZXJlZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9saXN0ZW5TdGFydERyYWcoKSB7XG4gICAgICAgIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplU3RhcnRlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09IFBvc2l0aW9uLmxlZnQgfHwgdGhpcy5wb3NpdGlvbiA9PT0gUG9zaXRpb24ucmlnaHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRoZVRhYmxlQ29tcG9uZW50LmluaXRpYWxpemVDb2x1bW5zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIF9saXN0ZW5FbmREcmFnKCkge1xuICAgICAgICAvLyByZXNpemVDYW5jZWxlZCDmjInnhacgcmVzaXplQ29tcGxldGVkIOWkhOeQhu+8jOWboOS4uueVjOmdouaYr+WunuaXtuWPmOWMlueahOOAglxuICAgICAgICBtZXJnZSh0aGlzLnJlc2l6ZU5vdGlmaWVyLnJlc2l6ZUNhbmNlbGVkLCB0aGlzLnJlc2l6ZU5vdGlmaWVyLnJlc2l6ZUNvbXBsZXRlZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyDlpoLmnpzmsqHmnInov5vooYzmi5bmi73lsLHkuI3opoHov5vooYzlkI7nu63ooajmoLzlrr3pq5jorqHnrpfkuoZcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMucmVzaXplU3RhcnRlZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplU3RhcnRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSBQb3NpdGlvbi5sZWZ0IHx8IHRoaXMucG9zaXRpb24gPT09IFBvc2l0aW9uLnJpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGhlVGFibGVDb21wb25lbnQudHJhbnNmb3JtQ29sdW1uc1dpZHRoKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm93SW5kZXggPSB0aGlzLmdldFJlc2l6ZVJvd0luZGV4KHRoaXMucG9zaXRpb24sIHRoaXMudGFyZ2V0Q2VsbCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGhlVGFibGVDb21wb25lbnQudHJhbnNmb3JtUm93SGVpZ2h0KHJvd0luZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -47,10 +47,10 @@ export class TableCellEventDispatcher {
|
|
|
47
47
|
complete: () => observer.complete()
|
|
48
48
|
}));
|
|
49
49
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
51
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableCellEventDispatcher, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
51
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableCellEventDispatcher }); }
|
|
52
52
|
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TableCellEventDispatcher, decorators: [{
|
|
54
54
|
type: Injectable
|
|
55
55
|
}], ctorParameters: () => [{ type: i0.NgZone }] });
|
|
56
56
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZGlzcGF0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL2NvbHVtbi1yZXNpemUvZXZlbnQtZGlzcGF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQTRCLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBTyxNQUFNLGdCQUFnQixDQUFDOztBQUV4RixNQUFNLENBQU4sSUFBWSxRQUtYO0FBTEQsV0FBWSxRQUFRO0lBQ2hCLHVCQUFXLENBQUE7SUFDWCwyQkFBZSxDQUFBO0lBQ2YsNkJBQWlCLENBQUE7SUFDakIseUJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTFcsUUFBUSxLQUFSLFFBQVEsUUFLbkI7QUFDRCxNQUFNLE9BQU8sZUFBZTtDQUczQjtBQUdELE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsWUFBNkIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFKbEMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7UUFFekQsK0JBQTBCLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7UUFJbkUscUNBQWdDLEdBQUcsYUFBYSxDQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLEVBQ25FLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FDaEYsQ0FBQyxJQUFJLENBQ0YsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHdDQUF3QztRQUNqRCxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxFQUM3QyxvQkFBb0IsRUFBRSxFQUN0QixLQUFLLEVBQUUsQ0FDVixDQUFDO1FBRWUseUNBQW9DLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUV2SCxrQkFBYSxHQUFtQixJQUFJLENBQUM7UUFDckMsdUJBQWtCLEdBQXVDLElBQUksQ0FBQztJQWZ4QixDQUFDO0lBaUIvQzs7O09BR0c7SUFDSCxnQ0FBZ0MsQ0FBQyxJQUFhO1FBQzFDLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLElBQUksQ0FDcEUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNkLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzNDLE9BQU8sV0FBVyxDQUFDO2dCQUN2QixDQUFDO3FCQUFNLENBQUM7b0JBQ0osT0FBTyxJQUFJLENBQUM7Z0JBQ2hCLENBQUM7WUFDTCxDQUFDLENBQUMsRUFDRixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUNyRyxLQUFLLEVBQUUsQ0FDVixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGtCQUFtQixDQUFDO0lBQ3BDLENBQUM7SUFFTyxVQUFVO1FBQ2QsT0FBTyxDQUFDLE1BQXFCLEVBQUUsRUFBRSxDQUM3QixJQUFJLFVBQVUsQ0FBSSxRQUFRLENBQUMsRUFBRSxDQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDO1lBQ2IsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNqQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtTQUN0QyxDQUFDLENBQ0wsQ0FBQztJQUNWLENBQUM7OEdBdERRLHdCQUF3QjtrSEFBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzaGFyZSwgbWFwLCBzdGFydFdpdGgsIHNraXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGVudW0gUG9zaXRpb24ge1xuICAgIHRvcCA9ICd0b3AnLFxuICAgIHJpZ2h0ID0gJ3JpZ2h0JyxcbiAgICBib3R0b20gPSAnYm90dG9tJyxcbiAgICBsZWZ0ID0gJ2xlZnQnXG59XG5leHBvcnQgY2xhc3MgSG92ZXJlZENlbGxJbmZvIHtcbiAgICBjZWxsOiBIVE1MVGFibGVDZWxsRWxlbWVudDtcbiAgICBwb3NpdGlvbjogUG9zaXRpb247XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxFdmVudERpc3BhdGNoZXIge1xuICAgIHJlYWRvbmx5IHRhYmxlQ2VsbEhvdmVyZWQgPSBuZXcgU3ViamVjdDxIb3ZlcmVkQ2VsbEluZm8gfCBudWxsPigpO1xuXG4gICAgcmVhZG9ubHkgb3ZlcmxheUhhbmRsZUFjdGl2ZUZvckNlbGwgPSBuZXcgU3ViamVjdDxIb3ZlcmVkQ2VsbEluZm8gfCBudWxsPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSkge31cblxuICAgIHJlYWRvbmx5IHRhYmxlQ2VsbEhvdmVyZWRPckFjdGl2ZURpc3RpbmN0ID0gY29tYmluZUxhdGVzdChcbiAgICAgICAgdGhpcy50YWJsZUNlbGxIb3ZlcmVkLnBpcGUoc3RhcnRXaXRoKG51bGwpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgICAgdGhpcy5vdmVybGF5SGFuZGxlQWN0aXZlRm9yQ2VsbC5waXBlKHN0YXJ0V2l0aChudWxsKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICApLnBpcGUoXG4gICAgICAgIHNraXAoMSksIC8vIElnbm9yZSBpbml0aWFsIFtudWxsLCBudWxsXSBlbWlzc2lvbi5cbiAgICAgICAgbWFwKChbaG92ZXJlZCwgYWN0aXZlXSkgPT4gYWN0aXZlIHx8IGhvdmVyZWQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzaGFyZSgpXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RhYmxlQ2VsbEhvdmVyZWREaXN0aW5jdFJlZW50ZXJab25lID0gdGhpcy50YWJsZUNlbGxIb3ZlcmVkT3JBY3RpdmVEaXN0aW5jdC5waXBlKHRoaXMuX2VudGVyWm9uZSgpLCBzaGFyZSgpKTtcblxuICAgIHByaXZhdGUgX2xhc3RTZWVuQ2VsbDogRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgX2xhc3RTZWVuQ2VsbEhvdmVyOiBPYnNlcnZhYmxlPEhvdmVyZWRDZWxsSW5mbz4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCByb3cgc2hvdWxkIHNob3cgaXRzIG92ZXJsYXkgY29udHJvbHMuXG4gICAgICogRW1pc3Npb24gb2NjdXJzIHdpdGhpbiB0aGUgTmdab25lLlxuICAgICAqL1xuICAgIHJlc2l6ZU92ZXJsYXlWaXNpYmxlRm9yVGFibGVDZWxsKGNlbGw6IEVsZW1lbnQpOiBPYnNlcnZhYmxlPEhvdmVyZWRDZWxsSW5mbz4ge1xuICAgICAgICBpZiAoY2VsbCAhPT0gdGhpcy5fbGFzdFNlZW5DZWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9sYXN0U2VlbkNlbGwgPSBjZWxsO1xuICAgICAgICAgICAgdGhpcy5fbGFzdFNlZW5DZWxsSG92ZXIgPSB0aGlzLl90YWJsZUNlbGxIb3ZlcmVkRGlzdGluY3RSZWVudGVyWm9uZS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChob3ZlcmVkQ2VsbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChob3ZlcmVkQ2VsbCAmJiBob3ZlcmVkQ2VsbC5jZWxsID09PSBjZWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaG92ZXJlZENlbGw7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiB4ID09PSB5IHx8ICh4ICYmIHkgJiYgeC5jZWxsID09PSB5LmNlbGwgJiYgeC5wb3NpdGlvbiA9PT0geS5wb3NpdGlvbikpLFxuICAgICAgICAgICAgICAgIHNoYXJlKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fbGFzdFNlZW5DZWxsSG92ZXIhO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VudGVyWm9uZTxUPigpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICAgICAgICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT5cbiAgICAgICAgICAgIG5ldyBPYnNlcnZhYmxlPFQ+KG9ic2VydmVyID0+XG4gICAgICAgICAgICAgICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IHZhbHVlID0+IHRoaXMubmdab25lLnJ1bigoKSA9PiBvYnNlcnZlci5uZXh0KHZhbHVlKSksXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiBlcnIgPT4gb2JzZXJ2ZXIuZXJyb3IoZXJyKSxcbiAgICAgICAgICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { DOCUMENT } from '@angular/common';
|
|
2
2
|
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
3
|
-
import {
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { fromEvent } from 'rxjs';
|
|
4
5
|
import { distinctUntilChanged, filter, map, mapTo, pairwise, startWith, take, takeUntil } from 'rxjs/operators';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "./resize-ref";
|
|
7
8
|
import * as i2 from "./event-dispatcher";
|
|
8
9
|
import * as i3 from "./column-resize-notifier";
|
|
9
10
|
export class TheColumnResizeOverlayHandle {
|
|
10
|
-
constructor(elementRef, viewContainerRef, cdr, ngZone, resizeRef, eventDispatcher, document, resizeNotifier) {
|
|
11
|
+
constructor(elementRef, viewContainerRef, cdr, ngZone, resizeRef, eventDispatcher, document, resizeNotifier, destroyRef) {
|
|
11
12
|
this.elementRef = elementRef;
|
|
12
13
|
this.viewContainerRef = viewContainerRef;
|
|
13
14
|
this.cdr = cdr;
|
|
@@ -16,7 +17,7 @@ export class TheColumnResizeOverlayHandle {
|
|
|
16
17
|
this.eventDispatcher = eventDispatcher;
|
|
17
18
|
this.document = document;
|
|
18
19
|
this.resizeNotifier = resizeNotifier;
|
|
19
|
-
this.
|
|
20
|
+
this.destroyRef = destroyRef;
|
|
20
21
|
}
|
|
21
22
|
ngAfterViewInit() {
|
|
22
23
|
this._listenForMouseEvents();
|
|
@@ -30,15 +31,14 @@ export class TheColumnResizeOverlayHandle {
|
|
|
30
31
|
}
|
|
31
32
|
_listenForMouseEvents() {
|
|
32
33
|
this.ngZone.runOutsideAngular(() => {
|
|
33
|
-
const takeUntilDestroyed = takeUntil(this.destroyed);
|
|
34
34
|
fromEvent(this.elementRef.nativeElement, 'mouseenter')
|
|
35
|
-
.pipe(
|
|
35
|
+
.pipe(mapTo(this.resizeRef.origin.nativeElement), takeUntilDestroyed(this.destroyRef))
|
|
36
36
|
.subscribe(cell => {
|
|
37
37
|
this.eventDispatcher.tableCellHovered.next({ cell, position: this.resizeRef.position });
|
|
38
38
|
this.resizeRef.updateSizeAndOffset();
|
|
39
39
|
});
|
|
40
40
|
fromEvent(this.elementRef.nativeElement, 'mousedown')
|
|
41
|
-
.pipe(takeUntilDestroyed)
|
|
41
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
42
42
|
.subscribe(mousedownEvent => {
|
|
43
43
|
mousedownEvent.preventDefault();
|
|
44
44
|
this._dragStarted(mousedownEvent);
|
|
@@ -62,10 +62,10 @@ export class TheColumnResizeOverlayHandle {
|
|
|
62
62
|
let size = isXAxis ? initialWidthSize : initialHeightSize;
|
|
63
63
|
this.updateResizeActive(true);
|
|
64
64
|
this._notifyResizeStarted();
|
|
65
|
-
mouseup.pipe(takeUntil(escape),
|
|
65
|
+
mouseup.pipe(takeUntil(escape), takeUntilDestroyed(this.destroyRef)).subscribe(({ clientX, clientY }) => {
|
|
66
66
|
this._notifyResizeEnded(size, isXAxis ? clientX !== startX : clientY !== startY);
|
|
67
67
|
});
|
|
68
|
-
escape.pipe(takeUntil(mouseup),
|
|
68
|
+
escape.pipe(takeUntil(mouseup), takeUntilDestroyed(this.destroyRef)).subscribe(() => {
|
|
69
69
|
this._notifyResizeEnded(size);
|
|
70
70
|
});
|
|
71
71
|
mousemove
|
|
@@ -77,7 +77,7 @@ export class TheColumnResizeOverlayHandle {
|
|
|
77
77
|
}), startWith({
|
|
78
78
|
clientX: startX,
|
|
79
79
|
clientY: startY
|
|
80
|
-
}), distinctUntilChanged(), pairwise(), takeUntil(mouseup), takeUntil(escape),
|
|
80
|
+
}), distinctUntilChanged(), pairwise(), takeUntil(mouseup), takeUntil(escape), takeUntilDestroyed(this.destroyRef))
|
|
81
81
|
.subscribe(([prev, curr]) => {
|
|
82
82
|
let deltaSize = isXAxis ? curr.clientX - prev.clientX : curr.clientY - prev.clientY;
|
|
83
83
|
this.resizeNotifier.triggerResize.next({
|
|
@@ -126,14 +126,10 @@ export class TheColumnResizeOverlayHandle {
|
|
|
126
126
|
this.resizeNotifier.resizeStarted.next(sizeMessage);
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
this.destroyed.complete();
|
|
132
|
-
}
|
|
133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: TheColumnResizeOverlayHandle, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ResizeRef }, { token: i2.TableCellEventDispatcher }, { token: DOCUMENT }, { token: i3.ColumnResizeNotifierSource }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: TheColumnResizeOverlayHandle, isStandalone: true, selector: "ng-component", host: { classAttribute: "the-table-resize-overlay-thumb" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeOverlayHandle, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ResizeRef }, { token: i2.TableCellEventDispatcher }, { token: DOCUMENT }, { token: i3.ColumnResizeNotifierSource }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: TheColumnResizeOverlayHandle, isStandalone: true, selector: "ng-component", host: { classAttribute: "the-table-resize-overlay-thumb" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
135
131
|
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: TheColumnResizeOverlayHandle, decorators: [{
|
|
137
133
|
type: Component,
|
|
138
134
|
args: [{
|
|
139
135
|
host: { class: 'the-table-resize-overlay-thumb' },
|
|
@@ -144,5 +140,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
|
|
|
144
140
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.ResizeRef }, { type: i2.TableCellEventDispatcher }, { type: undefined, decorators: [{
|
|
145
141
|
type: Inject,
|
|
146
142
|
args: [DOCUMENT]
|
|
147
|
-
}] }, { type: i3.ColumnResizeNotifierSource }] });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1oYW5kbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9vdmVybGF5LWhhbmRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULE1BQU0sRUFJVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBV2hILE1BQU0sT0FBTyw0QkFBNEI7SUFHckMsWUFDVyxVQUFtQyxFQUNuQyxnQkFBa0MsRUFDbEMsR0FBc0IsRUFDdEIsTUFBYyxFQUNkLFNBQW9CLEVBQ3BCLGVBQXlDLEVBQ3ZCLFFBQWEsRUFDL0IsY0FBMEM7UUFQMUMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUMvQixtQkFBYyxHQUFkLGNBQWMsQ0FBNEI7UUFWbEMsY0FBUyxHQUFHLElBQUksYUFBYSxFQUFRLENBQUM7SUFXdEQsQ0FBQztJQUVKLGVBQWU7UUFDWCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQWdCLENBQUM7UUFDOUYsMEJBQTBCO1FBQzFCLFNBQVMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO2FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osV0FBVyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBYSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakUsU0FBUyxDQUFhLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQztpQkFDN0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztpQkFDcEUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ3hGLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FBQztZQUVQLFNBQVMsQ0FBYSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7aUJBQzVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQztpQkFDeEIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUN4QixjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxZQUFZLENBQUMsY0FBMEI7UUFDM0MsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFhLElBQUksQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDcEUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFnQixJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFL0gsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQztRQUN0QyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDO1FBRXRDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ2hELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzNDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1QixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUMxRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUzthQUNKLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3pCLE9BQU87Z0JBQ0gsT0FBTztnQkFDUCxPQUFPO2FBQ1YsQ0FBQztRQUNOLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQztZQUNOLE9BQU8sRUFBRSxNQUFNO1lBQ2YsT0FBTyxFQUFFLE1BQU07U0FDbEIsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLEVBQ3RCLFFBQVEsRUFBRSxFQUNWLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFDbEIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM1QjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNwRixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhO2dCQUM5QyxTQUFTO2dCQUNULFlBQVksRUFBRSxJQUFJO2FBQ3JCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVTLGtCQUFrQixDQUFDLE1BQWU7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQ2hELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3BHLENBQUM7SUFDTixDQUFDO0lBRU8sUUFBUTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDO0lBQzVDLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFjLENBQUMsWUFBWSxDQUFDO0lBQzdELENBQUM7SUFFTyxlQUFlO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYyxDQUFDLFdBQVcsQ0FBQztJQUM1RCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYyxDQUFDLFVBQVUsQ0FBQztJQUMzRCxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLElBQVksRUFBRSxxQkFBcUIsR0FBRyxLQUFLO1FBQ2xFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDakIsTUFBTSxXQUFXLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkUsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixNQUFNLFdBQVcsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2RSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDOzhHQXpKUSw0QkFBNEIsb01BVXpCLFFBQVE7a0dBVlgsNEJBQTRCLG9JQUgzQixFQUFFOzsyRkFHSCw0QkFBNEI7a0JBTnhDLFNBQVM7bUJBQUM7b0JBQ1AsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLGdDQUFnQyxFQUFFO29CQUNqRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFXUSxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5qZWN0LFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBtYXBUbywgcGFpcndpc2UsIHN0YXJ0V2l0aCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UgfSBmcm9tICcuL2NvbHVtbi1yZXNpemUtbm90aWZpZXInO1xuaW1wb3J0IHsgVGFibGVDZWxsRXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi9ldmVudC1kaXNwYXRjaGVyJztcbmltcG9ydCB7IFJlc2l6ZVJlZiB9IGZyb20gJy4vcmVzaXplLXJlZic7XG5cbkBDb21wb25lbnQoe1xuICAgIGhvc3Q6IHsgY2xhc3M6ICd0aGUtdGFibGUtcmVzaXplLW92ZXJsYXktdGh1bWInIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGhlQ29sdW1uUmVzaXplT3ZlcmxheUhhbmRsZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZCA9IG5ldyBSZXBsYXlTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwdWJsaWMgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHVibGljIHJlc2l6ZVJlZjogUmVzaXplUmVmLFxuICAgICAgICBwdWJsaWMgZXZlbnREaXNwYXRjaGVyOiBUYWJsZUNlbGxFdmVudERpc3BhdGNoZXIsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHB1YmxpYyBkb2N1bWVudDogYW55LFxuICAgICAgICBwdWJsaWMgcmVzaXplTm90aWZpZXI6IENvbHVtblJlc2l6ZU5vdGlmaWVyU291cmNlXG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLl9saXN0ZW5Gb3JNb3VzZUV2ZW50cygpO1xuICAgICAgICBjb25zdCBvdmVybGF5UGFuZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5jZGstb3ZlcmxheS1wYW5lJykgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIC8vIOino+WGs+m8oOaghyBob3ZlciDlnKjmi5bmi73nur/kuIrpmLvmlq3mtY/op4jlmajmu5rliqhcbiAgICAgICAgZnJvbUV2ZW50KG92ZXJsYXlQYW5lLCAnd2hlZWwnLCB7IHBhc3NpdmU6IHRydWUgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBvdmVybGF5UGFuZS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbGlzdGVuRm9yTW91c2VFdmVudHMoKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRha2VVbnRpbERlc3Ryb3llZCA9IHRha2VVbnRpbDxNb3VzZUV2ZW50Pih0aGlzLmRlc3Ryb3llZCk7XG4gICAgICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQsIG1hcFRvKHRoaXMucmVzaXplUmVmLm9yaWdpbi5uYXRpdmVFbGVtZW50KSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGNlbGwgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlci50YWJsZUNlbGxIb3ZlcmVkLm5leHQoeyBjZWxsLCBwb3NpdGlvbjogdGhpcy5yZXNpemVSZWYucG9zaXRpb24gfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVzaXplUmVmLnVwZGF0ZVNpemVBbmRPZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShtb3VzZWRvd25FdmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG1vdXNlZG93bkV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2RyYWdTdGFydGVkKG1vdXNlZG93bkV2ZW50KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZHJhZ1N0YXJ0ZWQobW91c2Vkb3duRXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKG1vdXNlZG93bkV2ZW50LmJ1dHRvbiAhPT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1vdXNldXAgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5kb2N1bWVudCwgJ21vdXNldXAnKTtcbiAgICAgICAgY29uc3QgbW91c2Vtb3ZlID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jdW1lbnQsICdtb3VzZW1vdmUnKTtcbiAgICAgICAgY29uc3QgZXNjYXBlID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuZG9jdW1lbnQsICdrZXl1cCcpLnBpcGUoZmlsdGVyKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gZXZlbnQua2V5ID09PSAnRXNjYXBlJykpO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0WCA9IG1vdXNlZG93bkV2ZW50LmNsaWVudFg7XG4gICAgICAgIGNvbnN0IHN0YXJ0WSA9IG1vdXNlZG93bkV2ZW50LmNsaWVudFk7XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbFdpZHRoU2l6ZSA9IHRoaXMuX2dldE9yaWdpbldpZHRoKCk7XG4gICAgICAgIGNvbnN0IGluaXRpYWxIZWlnaHRTaXplID0gdGhpcy5fZ2V0T3JpZ2luSGVpZ2h0KCk7XG4gICAgICAgIGNvbnN0IGlzWEF4aXMgPSB0aGlzLl9pc1hBeGlzKCk7XG4gICAgICAgIGxldCBvdmVybGF5T2Zmc2V0ID0gdGhpcy5fZ2V0T3ZlcmxheU9mZnNldCgpO1xuICAgICAgICBsZXQgb3JpZ2luT2Zmc2V0ID0gdGhpcy5fZ2V0T3JpZ2luT2Zmc2V0KCk7XG4gICAgICAgIGxldCBzaXplID0gaXNYQXhpcyA/IGluaXRpYWxXaWR0aFNpemUgOiBpbml0aWFsSGVpZ2h0U2l6ZTtcbiAgICAgICAgdGhpcy51cGRhdGVSZXNpemVBY3RpdmUodHJ1ZSk7XG4gICAgICAgIHRoaXMuX25vdGlmeVJlc2l6ZVN0YXJ0ZWQoKTtcblxuICAgICAgICBtb3VzZXVwLnBpcGUodGFrZVVudGlsKGVzY2FwZSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoeyBjbGllbnRYLCBjbGllbnRZIH0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuX25vdGlmeVJlc2l6ZUVuZGVkKHNpemUsIGlzWEF4aXMgPyBjbGllbnRYICE9PSBzdGFydFggOiBjbGllbnRZICE9PSBzdGFydFkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBlc2NhcGUucGlwZSh0YWtlVW50aWwobW91c2V1cCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ub3RpZnlSZXNpemVFbmRlZChzaXplKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbW91c2Vtb3ZlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHsgY2xpZW50WCwgY2xpZW50WSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRYLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50WVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh7XG4gICAgICAgICAgICAgICAgICAgIGNsaWVudFg6IHN0YXJ0WCxcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50WTogc3RhcnRZXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZXVwKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZXNjYXBlKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbcHJldiwgY3Vycl0pID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGVsdGFTaXplID0gaXNYQXhpcyA/IGN1cnIuY2xpZW50WCAtIHByZXYuY2xpZW50WCA6IGN1cnIuY2xpZW50WSAtIHByZXYuY2xpZW50WTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZU5vdGlmaWVyLnRyaWdnZXJSZXNpemUubmV4dCh7XG4gICAgICAgICAgICAgICAgICAgIHRhYmxlQ2VsbDogdGhpcy5yZXNpemVSZWYub3JpZ2luLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIGRlbHRhU2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNTaXplOiBzaXplXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdXBkYXRlUmVzaXplQWN0aXZlKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlci5vdmVybGF5SGFuZGxlQWN0aXZlRm9yQ2VsbC5uZXh0KFxuICAgICAgICAgICAgYWN0aXZlID8geyBjZWxsOiB0aGlzLnJlc2l6ZVJlZi5vcmlnaW4ubmF0aXZlRWxlbWVudCEsIHBvc2l0aW9uOiB0aGlzLnJlc2l6ZVJlZi5wb3NpdGlvbiB9IDogbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lzWEF4aXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2l6ZVJlZi5kaXJlY3Rpb24gPT09ICdYJztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRPcmlnaW5IZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplUmVmLm9yaWdpbi5uYXRpdmVFbGVtZW50IS5vZmZzZXRIZWlnaHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0T3JpZ2luV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplUmVmLm9yaWdpbi5uYXRpdmVFbGVtZW50IS5vZmZzZXRXaWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRPcmlnaW5PZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplUmVmLm9yaWdpbi5uYXRpdmVFbGVtZW50IS5vZmZzZXRMZWZ0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE92ZXJsYXlPZmZzZXQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlSW50KHRoaXMucmVzaXplUmVmLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuc3R5bGUubGVmdCEsIDEwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pc0x0cigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbm90aWZ5UmVzaXplRW5kZWQoc2l6ZTogbnVtYmVyLCBjb21wbGV0ZWRTdWNjZXNzZnVsbHkgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVJlc2l6ZUFjdGl2ZShmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNpemVNZXNzYWdlID0geyB0YWJsZUNlbGw6IHRoaXMucmVzaXplUmVmLm9yaWdpbi5uYXRpdmVFbGVtZW50IH07XG4gICAgICAgICAgICBpZiAoY29tcGxldGVkU3VjY2Vzc2Z1bGx5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVDb21wbGV0ZWQubmV4dChzaXplTWVzc2FnZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ2FuY2VsZWQubmV4dChzaXplTWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25vdGlmeVJlc2l6ZVN0YXJ0ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzaXplTWVzc2FnZSA9IHsgdGFibGVDZWxsOiB0aGlzLnJlc2l6ZVJlZi5vcmlnaW4ubmF0aXZlRWxlbWVudCB9O1xuICAgICAgICAgICAgdGhpcy5yZXNpemVOb3RpZmllci5yZXNpemVTdGFydGVkLm5leHQoc2l6ZU1lc3NhZ2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
143
|
+
}] }, { type: i3.ColumnResizeNotifierSource }, { type: i0.DestroyRef }] });
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1oYW5kbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9vdmVybGF5LWhhbmRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFFSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUdULE1BQU0sRUFHVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFXaEgsTUFBTSxPQUFPLDRCQUE0QjtJQUNyQyxZQUNXLFVBQW1DLEVBQ25DLGdCQUFrQyxFQUNsQyxHQUFzQixFQUN0QixNQUFjLEVBQ2QsU0FBb0IsRUFDcEIsZUFBeUMsRUFDdkIsUUFBYSxFQUMvQixjQUEwQyxFQUN6QyxVQUFzQjtRQVJ2QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFLO1FBQy9CLG1CQUFjLEdBQWQsY0FBYyxDQUE0QjtRQUN6QyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQy9CLENBQUM7SUFFSixlQUFlO1FBQ1gs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QWdDLEVBQUU7b0JBQ2pELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQVNRLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBOZ1pvbmUsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBtYXBUbywgcGFpcndpc2UsIHN0YXJ0V2l0aCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UgfSBmcm9tICcuL2NvbHVtbi1yZXNpemUtbm90aWZpZXInO1xuaW1wb3J0IHsgVGFibGVDZWxsRXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnLi9ldmVudC1kaXNwYXRjaGVyJztcbmltcG9ydCB7IFJlc2l6ZVJlZiB9IGZyb20gJy4vcmVzaXplLXJlZic7XG5cbkBDb21wb25lbnQoe1xuICAgIGhvc3Q6IHsgY2xhc3M6ICd0aGUtdGFibGUtcmVzaXplLW92ZXJsYXktdGh1bWInIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGhlQ29sdW1uUmVzaXplT3ZlcmxheUhhbmRsZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwdWJsaWMgcmVzaXplUmVmOiBSZXNpemVSZWYsXG4gICAgICAgIHB1YmxpYyBldmVudERpc3BhdGNoZXI6IFRhYmxlQ2VsbEV2ZW50RGlzcGF0Y2hlcixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHVibGljIGRvY3VtZW50OiBhbnksXG4gICAgICAgIHB1YmxpYyByZXNpemVOb3RpZmllcjogQ29sdW1uUmVzaXplTm90aWZpZXJTb3VyY2UsXG4gICAgICAgIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZlxuICAgICkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuRm9yTW91c2VFdmVudHMoKTtcbiAgICAgICAgY29uc3Qgb3ZlcmxheVBhbmUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcuY2RrLW92ZXJsYXktcGFuZScpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAvLyDop6PlhrPpvKDmoIcgaG92ZXIg5Zyo5ouW5ou957q/5LiK6Zi75pat5rWP6KeI5Zmo5rua5YqoXG4gICAgICAgIGZyb21FdmVudChvdmVybGF5UGFuZSwgJ3doZWVsJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgb3ZlcmxheVBhbmUuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2xpc3RlbkZvck1vdXNlRXZlbnRzKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJylcbiAgICAgICAgICAgICAgICAucGlwZShtYXBUbyh0aGlzLnJlc2l6ZVJlZi5vcmlnaW4ubmF0aXZlRWxlbWVudCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoY2VsbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyLnRhYmxlQ2VsbEhvdmVyZWQubmV4dCh7IGNlbGwsIHBvc2l0aW9uOiB0aGlzLnJlc2l6ZVJlZi5wb3NpdGlvbiB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXNpemVSZWYudXBkYXRlU2l6ZUFuZE9mZnNldCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWRvd24nKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUobW91c2Vkb3duRXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBtb3VzZWRvd25FdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9kcmFnU3RhcnRlZChtb3VzZWRvd25FdmVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RyYWdTdGFydGVkKG1vdXNlZG93bkV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmIChtb3VzZWRvd25FdmVudC5idXR0b24gIT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb3VzZXVwID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jdW1lbnQsICdtb3VzZXVwJyk7XG4gICAgICAgIGNvbnN0IG1vdXNlbW92ZSA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmRvY3VtZW50LCAnbW91c2Vtb3ZlJyk7XG4gICAgICAgIGNvbnN0IGVzY2FwZSA9IGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLmRvY3VtZW50LCAna2V5dXAnKS5waXBlKGZpbHRlcigoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpKTtcblxuICAgICAgICBjb25zdCBzdGFydFggPSBtb3VzZWRvd25FdmVudC5jbGllbnRYO1xuICAgICAgICBjb25zdCBzdGFydFkgPSBtb3VzZWRvd25FdmVudC5jbGllbnRZO1xuXG4gICAgICAgIGNvbnN0IGluaXRpYWxXaWR0aFNpemUgPSB0aGlzLl9nZXRPcmlnaW5XaWR0aCgpO1xuICAgICAgICBjb25zdCBpbml0aWFsSGVpZ2h0U2l6ZSA9IHRoaXMuX2dldE9yaWdpbkhlaWdodCgpO1xuICAgICAgICBjb25zdCBpc1hBeGlzID0gdGhpcy5faXNYQXhpcygpO1xuICAgICAgICBsZXQgb3ZlcmxheU9mZnNldCA9IHRoaXMuX2dldE92ZXJsYXlPZmZzZXQoKTtcbiAgICAgICAgbGV0IG9yaWdpbk9mZnNldCA9IHRoaXMuX2dldE9yaWdpbk9mZnNldCgpO1xuICAgICAgICBsZXQgc2l6ZSA9IGlzWEF4aXMgPyBpbml0aWFsV2lkdGhTaXplIDogaW5pdGlhbEhlaWdodFNpemU7XG4gICAgICAgIHRoaXMudXBkYXRlUmVzaXplQWN0aXZlKHRydWUpO1xuICAgICAgICB0aGlzLl9ub3RpZnlSZXNpemVTdGFydGVkKCk7XG5cbiAgICAgICAgbW91c2V1cC5waXBlKHRha2VVbnRpbChlc2NhcGUpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCh7IGNsaWVudFgsIGNsaWVudFkgfSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbm90aWZ5UmVzaXplRW5kZWQoc2l6ZSwgaXNYQXhpcyA/IGNsaWVudFggIT09IHN0YXJ0WCA6IGNsaWVudFkgIT09IHN0YXJ0WSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVzY2FwZS5waXBlKHRha2VVbnRpbChtb3VzZXVwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9ub3RpZnlSZXNpemVFbmRlZChzaXplKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbW91c2Vtb3ZlXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHsgY2xpZW50WCwgY2xpZW50WSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRYLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50WVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHN0YXJ0V2l0aCh7XG4gICAgICAgICAgICAgICAgICAgIGNsaWVudFg6IHN0YXJ0WCxcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50WTogc3RhcnRZXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBwYWlyd2lzZSgpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChtb3VzZXVwKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZXNjYXBlKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW3ByZXYsIGN1cnJdKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGRlbHRhU2l6ZSA9IGlzWEF4aXMgPyBjdXJyLmNsaWVudFggLSBwcmV2LmNsaWVudFggOiBjdXJyLmNsaWVudFkgLSBwcmV2LmNsaWVudFk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNpemVOb3RpZmllci50cmlnZ2VyUmVzaXplLm5leHQoe1xuICAgICAgICAgICAgICAgICAgICB0YWJsZUNlbGw6IHRoaXMucmVzaXplUmVmLm9yaWdpbi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBkZWx0YVNpemUsXG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzU2l6ZTogc2l6ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVJlc2l6ZUFjdGl2ZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXIub3ZlcmxheUhhbmRsZUFjdGl2ZUZvckNlbGwubmV4dChcbiAgICAgICAgICAgIGFjdGl2ZSA/IHsgY2VsbDogdGhpcy5yZXNpemVSZWYub3JpZ2luLm5hdGl2ZUVsZW1lbnQhLCBwb3NpdGlvbjogdGhpcy5yZXNpemVSZWYucG9zaXRpb24gfSA6IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pc1hBeGlzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXNpemVSZWYuZGlyZWN0aW9uID09PSAnWCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0T3JpZ2luSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2l6ZVJlZi5vcmlnaW4ubmF0aXZlRWxlbWVudCEub2Zmc2V0SGVpZ2h0O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE9yaWdpbldpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2l6ZVJlZi5vcmlnaW4ubmF0aXZlRWxlbWVudCEub2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0T3JpZ2luT2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlc2l6ZVJlZi5vcmlnaW4ubmF0aXZlRWxlbWVudCEub2Zmc2V0TGVmdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRPdmVybGF5T2Zmc2V0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludCh0aGlzLnJlc2l6ZVJlZi5vdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLmxlZnQhLCAxMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaXNMdHIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25vdGlmeVJlc2l6ZUVuZGVkKHNpemU6IG51bWJlciwgY29tcGxldGVkU3VjY2Vzc2Z1bGx5ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVSZXNpemVBY3RpdmUoZmFsc2UpO1xuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzaXplTWVzc2FnZSA9IHsgdGFibGVDZWxsOiB0aGlzLnJlc2l6ZVJlZi5vcmlnaW4ubmF0aXZlRWxlbWVudCB9O1xuICAgICAgICAgICAgaWYgKGNvbXBsZXRlZFN1Y2Nlc3NmdWxseSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplQ29tcGxldGVkLm5leHQoc2l6ZU1lc3NhZ2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZU5vdGlmaWVyLnJlc2l6ZUNhbmNlbGVkLm5leHQoc2l6ZU1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9ub3RpZnlSZXNpemVTdGFydGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2l6ZU1lc3NhZ2UgPSB7IHRhYmxlQ2VsbDogdGhpcy5yZXNpemVSZWYub3JpZ2luLm5hdGl2ZUVsZW1lbnQgfTtcbiAgICAgICAgICAgIHRoaXMucmVzaXplTm90aWZpZXIucmVzaXplU3RhcnRlZC5uZXh0KHNpemVNZXNzYWdlKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|