@alauda/ui 7.3.3-beta.7 → 7.3.3-beta.9
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.
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { Directive, EventEmitter,
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, inject, Input, Output, Renderer2, } from '@angular/core';
|
|
2
2
|
import { fromEvent, Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { handlePixel } from '../utils';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class ContainerForResizableDirective {
|
|
5
|
-
el;
|
|
6
|
-
|
|
7
|
-
this.el = el;
|
|
8
|
-
}
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
+
el = inject(ElementRef);
|
|
7
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
10
8
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ContainerForResizableDirective, isStandalone: true, selector: "[auiContainerForResizable]", host: { classAttribute: "aui-container-for-resizable" }, ngImport: i0 });
|
|
11
9
|
}
|
|
12
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, decorators: [{
|
|
@@ -18,18 +16,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
18
16
|
},
|
|
19
17
|
standalone: true,
|
|
20
18
|
}]
|
|
21
|
-
}]
|
|
19
|
+
}] });
|
|
22
20
|
export class ResizableDirective {
|
|
23
|
-
renderer2;
|
|
24
|
-
containerDirective;
|
|
25
21
|
minWidth;
|
|
26
22
|
maxWidth;
|
|
27
23
|
resizeStart = new EventEmitter();
|
|
28
24
|
resizing = new EventEmitter();
|
|
29
25
|
resizeEnd = new EventEmitter();
|
|
26
|
+
elementRef = inject(ElementRef);
|
|
27
|
+
renderer2 = inject(Renderer2);
|
|
28
|
+
containerDirective = inject(ContainerForResizableDirective, {
|
|
29
|
+
optional: true,
|
|
30
|
+
});
|
|
31
|
+
element = this.elementRef.nativeElement;
|
|
32
|
+
containerElement = this.containerDirective?.el.nativeElement || this.element;
|
|
30
33
|
destroy$$ = new Subject();
|
|
31
|
-
containerElement;
|
|
32
|
-
element;
|
|
33
34
|
initialWidth;
|
|
34
35
|
mouseDownScreenX;
|
|
35
36
|
resizeHandle;
|
|
@@ -37,22 +38,15 @@ export class ResizableDirective {
|
|
|
37
38
|
resizeBar;
|
|
38
39
|
handleHasUp;
|
|
39
40
|
BAR_WIDTH = 2;
|
|
40
|
-
constructor(element, renderer2, containerDirective) {
|
|
41
|
-
this.renderer2 = renderer2;
|
|
42
|
-
this.containerDirective = containerDirective;
|
|
43
|
-
this.element = element.nativeElement;
|
|
44
|
-
this.containerElement =
|
|
45
|
-
this.containerDirective?.el.nativeElement || this.element;
|
|
46
|
-
}
|
|
47
41
|
ngAfterViewInit() {
|
|
48
42
|
this.createResizeHandle();
|
|
49
|
-
this.binEvent(this.element, 'mouseover'
|
|
43
|
+
this.binEvent(this.element, 'mouseover').subscribe(() => {
|
|
50
44
|
this.handleHasUp = true;
|
|
51
45
|
if (!this.resizeBar) {
|
|
52
46
|
this.setResizeHandleVisible(true);
|
|
53
47
|
}
|
|
54
48
|
});
|
|
55
|
-
this.binEvent(this.element, 'mouseout'
|
|
49
|
+
this.binEvent(this.element, 'mouseout').subscribe(() => {
|
|
56
50
|
this.handleHasUp = false;
|
|
57
51
|
this.setResizeHandleVisible(false);
|
|
58
52
|
});
|
|
@@ -61,10 +55,8 @@ export class ResizableDirective {
|
|
|
61
55
|
this.destroy$$.next();
|
|
62
56
|
this.destroy$$.complete();
|
|
63
57
|
}
|
|
64
|
-
binEvent(target, eventType
|
|
65
|
-
return fromEvent(target, eventType)
|
|
66
|
-
.pipe(takeUntil(this.destroy$$))
|
|
67
|
-
.subscribe(callback);
|
|
58
|
+
binEvent(target, eventType) {
|
|
59
|
+
return fromEvent(target, eventType).pipe(takeUntil(this.destroy$$));
|
|
68
60
|
}
|
|
69
61
|
setResizeHandleVisible(isVisible) {
|
|
70
62
|
if (this.resizeHandle) {
|
|
@@ -77,8 +69,10 @@ export class ResizableDirective {
|
|
|
77
69
|
}
|
|
78
70
|
this.resizeHandle = this.renderer2.createElement('div');
|
|
79
71
|
this.renderer2.addClass(this.resizeHandle, 'resize-handle');
|
|
80
|
-
this.binEvent(this.resizeHandle, 'click'
|
|
81
|
-
this.binEvent(this.resizeHandle, 'mousedown'
|
|
72
|
+
this.binEvent(this.resizeHandle, 'click').subscribe(e => e.stopPropagation());
|
|
73
|
+
this.binEvent(this.resizeHandle, 'mousedown').subscribe(e => {
|
|
74
|
+
this.onMousedown(e);
|
|
75
|
+
});
|
|
82
76
|
this.renderer2.appendChild(this.element, this.resizeHandle);
|
|
83
77
|
}
|
|
84
78
|
createResizeOverlay() {
|
|
@@ -101,15 +95,19 @@ export class ResizableDirective {
|
|
|
101
95
|
this.mouseDownScreenX = event.clientX;
|
|
102
96
|
this.createResizeOverlay();
|
|
103
97
|
this.createResizeBar();
|
|
104
|
-
const mouseMoveSubscription = this.binEvent(document, 'mousemove'
|
|
105
|
-
|
|
98
|
+
const mouseMoveSubscription = this.binEvent(document, 'mousemove').subscribe(e => {
|
|
99
|
+
this.move(e);
|
|
100
|
+
});
|
|
101
|
+
const mouseUpSubscription = this.binEvent(document, 'mouseup').subscribe(ev => {
|
|
106
102
|
this.onMouseup(ev);
|
|
107
103
|
mouseUpSubscription.unsubscribe();
|
|
108
104
|
mouseMoveSubscription.unsubscribe();
|
|
109
105
|
});
|
|
110
106
|
}
|
|
111
107
|
onMouseup(event) {
|
|
112
|
-
this.handleHasUp
|
|
108
|
+
if (this.handleHasUp) {
|
|
109
|
+
this.setResizeHandleVisible(true);
|
|
110
|
+
}
|
|
113
111
|
this.renderer2.removeChild(this.containerElement, this.resizeOverlay);
|
|
114
112
|
this.resizeOverlay = null;
|
|
115
113
|
this.renderer2.removeChild(this.containerElement, this.resizeBar);
|
|
@@ -125,7 +123,7 @@ export class ResizableDirective {
|
|
|
125
123
|
const movementX = event.clientX - this.mouseDownScreenX;
|
|
126
124
|
const newWidth = this.initialWidth + movementX;
|
|
127
125
|
const finalWidth = this.getFinalWidth(newWidth);
|
|
128
|
-
this.renderer2.setStyle(this.resizeBar, 'left',
|
|
126
|
+
this.renderer2.setStyle(this.resizeBar, 'left', handlePixel(finalWidth + this.getOffset() - this.BAR_WIDTH));
|
|
129
127
|
this.resizing.emit(finalWidth);
|
|
130
128
|
}
|
|
131
129
|
getFinalWidth(newWidth) {
|
|
@@ -145,13 +143,13 @@ export class ResizableDirective {
|
|
|
145
143
|
if (!width) {
|
|
146
144
|
return;
|
|
147
145
|
}
|
|
148
|
-
if (width.
|
|
146
|
+
if (width.endsWith('%')) {
|
|
149
147
|
const tableWidth = this.containerElement.clientWidth;
|
|
150
148
|
return (tableWidth * Number.parseFloat(width)) / 100;
|
|
151
149
|
}
|
|
152
150
|
return Number.parseFloat(width.replace(/\D+/, ''));
|
|
153
151
|
}
|
|
154
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [
|
|
152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
155
153
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { classAttribute: "aui-resizable" }, ngImport: i0 });
|
|
156
154
|
}
|
|
157
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
|
|
@@ -163,9 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
163
161
|
},
|
|
164
162
|
standalone: true,
|
|
165
163
|
}]
|
|
166
|
-
}],
|
|
167
|
-
type: Optional
|
|
168
|
-
}] }]; }, propDecorators: { minWidth: [{
|
|
164
|
+
}], propDecorators: { minWidth: [{
|
|
169
165
|
type: Input
|
|
170
166
|
}], maxWidth: [{
|
|
171
167
|
type: Input
|
|
@@ -176,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
176
172
|
}], resizeEnd: [{
|
|
177
173
|
type: Output
|
|
178
174
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBU3JELE1BQU0sT0FBTyw4QkFBOEI7SUFDcEI7SUFBckIsWUFBcUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFBRyxDQUFDO3VHQUQ1Qiw4QkFBOEI7MkZBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDZCQUE2QjtxQkFDckM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWVELE1BQU0sT0FBTyxrQkFBa0I7SUE4QmxCO0lBRVE7SUE5Qm5CLFFBQVEsQ0FBa0I7SUFHMUIsUUFBUSxDQUFrQjtJQUcxQixXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUd6QyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUd0QyxTQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUV2QyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNoQyxnQkFBZ0IsQ0FBVTtJQUVULE9BQU8sQ0FBYztJQUM5QixZQUFZLENBQVM7SUFDckIsZ0JBQWdCLENBQVM7SUFDakMsWUFBWSxDQUFjO0lBQzFCLGFBQWEsQ0FBYztJQUMzQixTQUFTLENBQWM7SUFDZixXQUFXLENBQVU7SUFDWixTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRS9C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QUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUN0RDtRQUNELE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBdk1VLGtCQUFrQjsyRkFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsZUFBZTtxQkFDdkI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFnQ0ksUUFBUTs0Q0E3QlgsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixXQUFXO3NCQURWLE1BQU07Z0JBSVAsUUFBUTtzQkFEUCxNQUFNO2dCQUlQLFNBQVM7c0JBRFIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aUNvbnRhaW5lckZvclJlc2l6YWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktY29udGFpbmVyLWZvci1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBlbDogRWxlbWVudFJlZikge31cbn1cblxuLyoqXG4gKiDkvb/nlKjmraTmjIfku6TpnIDopoHlvJXlhaVyZXNpemFibGUuc2Nzc1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpUmVzaXphYmxlXScsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2F1aS1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBtaW5XaWR0aDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIG1heFdpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZUVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIGNvbnRhaW5lckVsZW1lbnQ6IEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBpbml0aWFsV2lkdGg6IG51bWJlcjtcbiAgcHJpdmF0ZSBtb3VzZURvd25TY3JlZW5YOiBudW1iZXI7XG4gIHJlc2l6ZUhhbmRsZTogSFRNTEVsZW1lbnQ7IC8vIOWcqOaMh+S7pOS9nOeUqOeahOWFg+e0oOS4iuaPkuWFpeW8leWvvOWIhuWJsue6v++8jGhvdmVy5Yiw5L2c55So5YWD57Sg5ZCO5Ye6546w77yM5ouW5Yqo5LqL5Lu255qE5a6/5Li7XG4gIHJlc2l6ZU92ZXJsYXk6IEhUTUxFbGVtZW50OyAvLyDlnKjmi5bliqjml7bliJvlu7rlh7rkuIDkuKrpgI/mmI7nmoTpga7nvanlsYLvvIznlKjku6XpvKDmoIfmoLflvI/lnKjmi5bliqjml7bmgLvmmK/mi5bliqjmoLflvI9cbiAgcmVzaXplQmFyOiBIVE1MRWxlbWVudDsgLy8g5ouW5Yqo5pe255qE5Y+C6ICD57q/77yM6K+l5Y+C6ICD57q/5Lya6KKr5o+S5YWl5YiwIGNvbnRhaW5lckVsZW1lbnRcbiAgcHJpdmF0ZSBoYW5kbGVIYXNVcDogYm9vbGVhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBCQVJfV0lEVEggPSAyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcmVhZG9ubHkgcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lckRpcmVjdGl2ZTogQ29udGFpbmVyRm9yUmVzaXphYmxlRGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID1cbiAgICAgIHRoaXMuY29udGFpbmVyRGlyZWN0aXZlPy5lbC5uYXRpdmVFbGVtZW50IHx8IHRoaXMuZWxlbWVudDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUhhbmRsZSgpO1xuXG4gICAgdGhpcy5iaW5FdmVudCh0aGlzLmVsZW1lbnQsICdtb3VzZW92ZXInLCAoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gdHJ1ZTtcbiAgICAgIGlmICghdGhpcy5yZXNpemVCYXIpIHtcbiAgICAgICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYmluRXZlbnQodGhpcy5lbGVtZW50LCAnbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gZmFsc2U7XG4gICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUoZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJpbkV2ZW50PEU+KFxuICAgIHRhcmdldDogSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IFdpbmRvdyxcbiAgICBldmVudFR5cGU6IHN0cmluZyxcbiAgICBjYWxsYmFjazogKGU6IEUpID0+IHZvaWQsXG4gICkge1xuICAgIHJldHVybiBmcm9tRXZlbnQ8RT4odGFyZ2V0LCBldmVudFR5cGUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZShjYWxsYmFjayk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlc2l6ZUhhbmRsZVZpc2libGUoaXNWaXNpYmxlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMucmVzaXplSGFuZGxlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5yZXNpemVIYW5kbGUsXG4gICAgICAgICd2aXNpYmlsaXR5JyxcbiAgICAgICAgaXNWaXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplSGFuZGxlKCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVzaXplSGFuZGxlID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVIYW5kbGUsICdyZXNpemUtaGFuZGxlJyk7XG5cbiAgICB0aGlzLmJpbkV2ZW50KHRoaXMucmVzaXplSGFuZGxlLCAnY2xpY2snLCAoZTogRXZlbnQpID0+XG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpLFxuICAgICk7XG4gICAgdGhpcy5iaW5FdmVudCh0aGlzLnJlc2l6ZUhhbmRsZSwgJ21vdXNlZG93bicsIHRoaXMub25Nb3VzZWRvd24uYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnQsIHRoaXMucmVzaXplSGFuZGxlKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplT3ZlcmxheSgpIHtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZU92ZXJsYXksICdyZXNpemUtb3ZlcmxheScpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplQmFyKCkge1xuICAgIHRoaXMucmVzaXplQmFyID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVCYXIsICdyZXNpemUtYmFyJyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuc2V0U3R5bGUoXG4gICAgICB0aGlzLnJlc2l6ZUJhcixcbiAgICAgICdsZWZ0JyxcbiAgICAgIHRoaXMuZWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgLSB0aGlzLkJBUl9XSURUSCArICdweCcsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMucmVzaXplQmFyKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Nb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgLy8g6YG/5YWN5Lik5p2h57q/5LiN5a+56b2QXG4gICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKGZhbHNlKTtcblxuICAgIHRoaXMuaW5pdGlhbFdpZHRoID0gdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoO1xuICAgIHRoaXMucmVzaXplU3RhcnQuZW1pdCh0aGlzLmluaXRpYWxXaWR0aCk7XG4gICAgdGhpcy5tb3VzZURvd25TY3JlZW5YID0gZXZlbnQuY2xpZW50WDtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZU92ZXJsYXkoKTtcbiAgICB0aGlzLmNyZWF0ZVJlc2l6ZUJhcigpO1xuXG4gICAgY29uc3QgbW91c2VNb3ZlU3Vic2NyaXB0aW9uID0gdGhpcy5iaW5FdmVudChcbiAgICAgIGRvY3VtZW50LFxuICAgICAgJ21vdXNlbW92ZScsXG4gICAgICB0aGlzLm1vdmUuYmluZCh0aGlzKSxcbiAgICApO1xuXG4gICAgY29uc3QgbW91c2VVcFN1YnNjcmlwdGlvbiA9IHRoaXMuYmluRXZlbnQ8TW91c2VFdmVudD4oXG4gICAgICBkb2N1bWVudCxcbiAgICAgICdtb3VzZXVwJyxcbiAgICAgIGV2ID0+IHtcbiAgICAgICAgdGhpcy5vbk1vdXNldXAoZXYpO1xuICAgICAgICBtb3VzZVVwU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIG1vdXNlTW92ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNldXAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUhhc1VwICYmIHRoaXMuc2V0UmVzaXplSGFuZGxlVmlzaWJsZSh0cnVlKTtcblxuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVPdmVybGF5KTtcbiAgICB0aGlzLnJlc2l6ZU92ZXJsYXkgPSBudWxsO1xuICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUNoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVCYXIpO1xuICAgIHRoaXMucmVzaXplQmFyID0gbnVsbDtcblxuICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcbiAgICB0aGlzLnJlc2l6ZUVuZC5lbWl0KHRoaXMuZ2V0RmluYWxXaWR0aChuZXdXaWR0aCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLnJlc2l6ZUJhcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBtb3ZlbWVudFggPSBldmVudC5jbGllbnRYIC0gdGhpcy5tb3VzZURvd25TY3JlZW5YO1xuICAgIGNvbnN0IG5ld1dpZHRoID0gdGhpcy5pbml0aWFsV2lkdGggKyBtb3ZlbWVudFg7XG5cbiAgICBjb25zdCBmaW5hbFdpZHRoID0gdGhpcy5nZXRGaW5hbFdpZHRoKG5ld1dpZHRoKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIHRoaXMucmVzaXplQmFyLFxuICAgICAgJ2xlZnQnLFxuICAgICAgYCR7ZmluYWxXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCkgLSB0aGlzLkJBUl9XSURUSH1weGAsXG4gICAgKTtcbiAgICB0aGlzLnJlc2l6aW5nLmVtaXQoZmluYWxXaWR0aCk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbmFsV2lkdGgobmV3V2lkdGg6IG51bWJlcik6IG51bWJlciB7XG4gICAgLy8g5LiN6IO96LaF5Ye66L6555WMXG4gICAgY29uc3QgX21heCA9IHRoaXMuY29udGFpbmVyRWxlbWVudC5jbGllbnRXaWR0aCArIHRoaXMuZ2V0T2Zmc2V0KCk7XG4gICAgY29uc3QgbWluV2lkdGggPSB0aGlzLmhhbmRsZVdpZHRoKHRoaXMubWluV2lkdGggfHwgdGhpcy5nZXRPZmZzZXQoKSk7XG5cbiAgICBjb25zdCBtYXhXaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5tYXhXaWR0aCB8fCBfbWF4KTtcbiAgICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4V2lkdGgsIG5ld1dpZHRoKSwgbWluV2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2lkdGgod2lkdGg6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfVxuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmluY2x1ZGVzKCclJykpIHtcbiAgICAgIGNvbnN0IHRhYmxlV2lkdGggPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICByZXR1cm4gKHRhYmxlV2lkdGggKiBOdW1iZXIucGFyc2VGbG9hdCh3aWR0aCkpIC8gMTAwO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQod2lkdGgucmVwbGFjZSgvXFxEKy8sICcnKSk7XG4gIH1cbn1cbiJdfQ==
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZXNpemFibGUvcmVzaXphYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQVN2QyxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLEVBQUUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO3VHQUR0Qyw4QkFBOEI7MkZBQTlCLDhCQUE4Qjs7MkZBQTlCLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLDZCQUE2QjtxQkFDckM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQWVELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsUUFBUSxDQUFrQjtJQUcxQixRQUFRLENBQWtCO0lBRzFCLFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBR3pDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBR3RDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXZDLFVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQ3pELFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixFQUFFO1FBQzFELFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQyxDQUFDO0lBRWMs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SUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUk7WUFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUN0RDtRQUNELE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7dUdBbk1VLGtCQUFrQjsyRkFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsZUFBZTtxQkFDdkI7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUdDLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNO2dCQUlQLFFBQVE7c0JBRFAsTUFBTTtnQkFJUCxTQUFTO3NCQURSLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBoYW5kbGVQaXhlbCB9IGZyb20gJy4uL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aUNvbnRhaW5lckZvclJlc2l6YWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktY29udGFpbmVyLWZvci1yZXNpemFibGUnLFxuICB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUge1xuICBlbCA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG59XG5cbi8qKlxuICog5L2/55So5q2k5oyH5Luk6ZyA6KaB5byV5YWlcmVzaXphYmxlLnNjc3NcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F1aVJlc2l6YWJsZV0nLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdhdWktcmVzaXphYmxlJyxcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbWluV2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBtYXhXaWR0aDogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIEBPdXRwdXQoKVxuICByZXNpemVTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZXNpemluZyA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZXNpemVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcmVuZGVyZXIyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIGNvbnRhaW5lckRpcmVjdGl2ZSA9IGluamVjdChDb250YWluZXJGb3JSZXNpemFibGVEaXJlY3RpdmUsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIGNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLmNvbnRhaW5lckRpcmVjdGl2ZT8uZWwubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsZW1lbnQ7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIGluaXRpYWxXaWR0aDogbnVtYmVyO1xuICBwcml2YXRlIG1vdXNlRG93blNjcmVlblg6IG51bWJlcjtcbiAgcmVzaXplSGFuZGxlOiBIVE1MRWxlbWVudDsgLy8g5Zyo5oyH5Luk5L2c55So55qE5YWD57Sg5LiK5o+S5YWl5byV5a+85YiG5Ymy57q/77yMaG92ZXLliLDkvZznlKjlhYPntKDlkI7lh7rnjrDvvIzmi5bliqjkuovku7bnmoTlrr/kuLtcbiAgcmVzaXplT3ZlcmxheTogSFRNTEVsZW1lbnQ7IC8vIOWcqOaLluWKqOaXtuWIm+W7uuWHuuS4gOS4qumAj+aYjueahOmBrue9qeWxgu+8jOeUqOS7pem8oOagh+agt+W8j+WcqOaLluWKqOaXtuaAu+aYr+aLluWKqOagt+W8j1xuICByZXNpemVCYXI6IEhUTUxFbGVtZW50OyAvLyDmi5bliqjml7bnmoTlj4LogIPnur/vvIzor6Xlj4LogIPnur/kvJrooqvmj5LlhaXliLAgY29udGFpbmVyRWxlbWVudFxuICBwcml2YXRlIGhhbmRsZUhhc1VwOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IEJBUl9XSURUSCA9IDI7XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY3JlYXRlUmVzaXplSGFuZGxlKCk7XG5cbiAgICB0aGlzLmJpbkV2ZW50KHRoaXMuZWxlbWVudCwgJ21vdXNlb3ZlcicpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZUhhc1VwID0gdHJ1ZTtcbiAgICAgIGlmICghdGhpcy5yZXNpemVCYXIpIHtcbiAgICAgICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKHRydWUpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYmluRXZlbnQodGhpcy5lbGVtZW50LCAnbW91c2VvdXQnKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVIYXNVcCA9IGZhbHNlO1xuICAgICAgdGhpcy5zZXRSZXNpemVIYW5kbGVWaXNpYmxlKGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5FdmVudDxFPihcbiAgICB0YXJnZXQ6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgfCBXaW5kb3csXG4gICAgZXZlbnRUeXBlOiBzdHJpbmcsXG4gICkge1xuICAgIHJldHVybiBmcm9tRXZlbnQ8RT4odGFyZ2V0LCBldmVudFR5cGUpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlc2l6ZUhhbmRsZVZpc2libGUoaXNWaXNpYmxlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMucmVzaXplSGFuZGxlKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgICAgdGhpcy5yZXNpemVIYW5kbGUsXG4gICAgICAgICd2aXNpYmlsaXR5JyxcbiAgICAgICAgaXNWaXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbicsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUmVzaXplSGFuZGxlKCkge1xuICAgIGlmICh0aGlzLnJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVzaXplSGFuZGxlID0gdGhpcy5yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5yZXNpemVIYW5kbGUsICdyZXNpemUtaGFuZGxlJyk7XG5cbiAgICB0aGlzLmJpbkV2ZW50PEV2ZW50Pih0aGlzLnJlc2l6ZUhhbmRsZSwgJ2NsaWNrJykuc3Vic2NyaWJlKGUgPT5cbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCksXG4gICAgKTtcbiAgICB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMucmVzaXplSGFuZGxlLCAnbW91c2Vkb3duJykuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgdGhpcy5vbk1vdXNlZG93bihlKTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudCwgdGhpcy5yZXNpemVIYW5kbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVPdmVybGF5KCkge1xuICAgIHRoaXMucmVzaXplT3ZlcmxheSA9IHRoaXMucmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKHRoaXMucmVzaXplT3ZlcmxheSwgJ3Jlc2l6ZS1vdmVybGF5Jyk7XG4gICAgdGhpcy5yZW5kZXJlcjIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZU92ZXJsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVSZXNpemVCYXIoKSB7XG4gICAgdGhpcy5yZXNpemVCYXIgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLnJlc2l6ZUJhciwgJ3Jlc2l6ZS1iYXInKTtcbiAgICB0aGlzLnJlbmRlcmVyMi5zZXRTdHlsZShcbiAgICAgIHRoaXMucmVzaXplQmFyLFxuICAgICAgJ2xlZnQnLFxuICAgICAgdGhpcy5lbGVtZW50LmNsaWVudFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKSAtIHRoaXMuQkFSX1dJRFRIICsgJ3B4JyxcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyRWxlbWVudCwgdGhpcy5yZXNpemVCYXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlZG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAvLyDpgb/lhY3kuKTmnaHnur/kuI3lr7npvZBcbiAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUoZmFsc2UpO1xuXG4gICAgdGhpcy5pbml0aWFsV2lkdGggPSB0aGlzLmVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgdGhpcy5yZXNpemVTdGFydC5lbWl0KHRoaXMuaW5pdGlhbFdpZHRoKTtcbiAgICB0aGlzLm1vdXNlRG93blNjcmVlblggPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplT3ZlcmxheSgpO1xuICAgIHRoaXMuY3JlYXRlUmVzaXplQmFyKCk7XG5cbiAgICBjb25zdCBtb3VzZU1vdmVTdWJzY3JpcHRpb24gPSB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KFxuICAgICAgZG9jdW1lbnQsXG4gICAgICAnbW91c2Vtb3ZlJyxcbiAgICApLnN1YnNjcmliZShlID0+IHtcbiAgICAgIHRoaXMubW92ZShlKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG1vdXNlVXBTdWJzY3JpcHRpb24gPSB0aGlzLmJpbkV2ZW50PE1vdXNlRXZlbnQ+KFxuICAgICAgZG9jdW1lbnQsXG4gICAgICAnbW91c2V1cCcsXG4gICAgKS5zdWJzY3JpYmUoZXYgPT4ge1xuICAgICAgdGhpcy5vbk1vdXNldXAoZXYpO1xuICAgICAgbW91c2VVcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgbW91c2VNb3ZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uTW91c2V1cChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhbmRsZUhhc1VwKSB7XG4gICAgICB0aGlzLnNldFJlc2l6ZUhhbmRsZVZpc2libGUodHJ1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZU92ZXJsYXkpO1xuICAgIHRoaXMucmVzaXplT3ZlcmxheSA9IG51bGw7XG4gICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJFbGVtZW50LCB0aGlzLnJlc2l6ZUJhcik7XG4gICAgdGhpcy5yZXNpemVCYXIgPSBudWxsO1xuXG4gICAgY29uc3QgbW92ZW1lbnRYID0gZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VEb3duU2NyZWVuWDtcbiAgICBjb25zdCBuZXdXaWR0aCA9IHRoaXMuaW5pdGlhbFdpZHRoICsgbW92ZW1lbnRYO1xuICAgIHRoaXMucmVzaXplRW5kLmVtaXQodGhpcy5nZXRGaW5hbFdpZHRoKG5ld1dpZHRoKSk7XG4gIH1cblxuICBwcml2YXRlIG1vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMucmVzaXplQmFyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG1vdmVtZW50WCA9IGV2ZW50LmNsaWVudFggLSB0aGlzLm1vdXNlRG93blNjcmVlblg7XG4gICAgY29uc3QgbmV3V2lkdGggPSB0aGlzLmluaXRpYWxXaWR0aCArIG1vdmVtZW50WDtcblxuICAgIGNvbnN0IGZpbmFsV2lkdGggPSB0aGlzLmdldEZpbmFsV2lkdGgobmV3V2lkdGgpO1xuICAgIHRoaXMucmVuZGVyZXIyLnNldFN0eWxlKFxuICAgICAgdGhpcy5yZXNpemVCYXIsXG4gICAgICAnbGVmdCcsXG4gICAgICBoYW5kbGVQaXhlbChmaW5hbFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKSAtIHRoaXMuQkFSX1dJRFRIKSxcbiAgICApO1xuICAgIHRoaXMucmVzaXppbmcuZW1pdChmaW5hbFdpZHRoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmluYWxXaWR0aChuZXdXaWR0aDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAvLyDkuI3og73otoXlh7rovrnnlYxcbiAgICBjb25zdCBfbWF4ID0gdGhpcy5jb250YWluZXJFbGVtZW50LmNsaWVudFdpZHRoICsgdGhpcy5nZXRPZmZzZXQoKTtcbiAgICBjb25zdCBtaW5XaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5taW5XaWR0aCB8fCB0aGlzLmdldE9mZnNldCgpKTtcbiAgICBjb25zdCBtYXhXaWR0aCA9IHRoaXMuaGFuZGxlV2lkdGgodGhpcy5tYXhXaWR0aCB8fCBfbWF4KTtcbiAgICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4V2lkdGgsIG5ld1dpZHRoKSwgbWluV2lkdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPZmZzZXQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2lkdGgod2lkdGg6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0eXBlb2Ygd2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gd2lkdGg7XG4gICAgfVxuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHdpZHRoLmVuZHNXaXRoKCclJykpIHtcbiAgICAgIGNvbnN0IHRhYmxlV2lkdGggPSB0aGlzLmNvbnRhaW5lckVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICByZXR1cm4gKHRhYmxlV2lkdGggKiBOdW1iZXIucGFyc2VGbG9hdCh3aWR0aCkpIC8gMTAwO1xuICAgIH1cbiAgICByZXR1cm4gTnVtYmVyLnBhcnNlRmxvYXQod2lkdGgucmVwbGFjZSgvXFxEKy8sICcnKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,6 +4,7 @@ import { ResizableDirective } from '../resizable';
|
|
|
4
4
|
import { handlePixel } from '../utils';
|
|
5
5
|
import { tableBem, TableColumnDefDirective, TableComponent, TableScrollWrapperDirective, } from './index';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
+
let tableResizableDynamicStyleUid = 0;
|
|
7
8
|
export class TableColResizableDirective extends ResizableDirective {
|
|
8
9
|
minWidth = '60px';
|
|
9
10
|
tableColumnDefDirective = inject(TableColumnDefDirective);
|
|
@@ -19,7 +20,7 @@ export class TableColResizableDirective extends ResizableDirective {
|
|
|
19
20
|
this.resizeEnd.pipe(takeUntil(this.destroy$$)).subscribe(width => {
|
|
20
21
|
const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
|
|
21
22
|
if (!this.hostAttr) {
|
|
22
|
-
this.hostAttr = `resizable-${
|
|
23
|
+
this.hostAttr = `table-resizable-dynamic-style-${tableResizableDynamicStyleUid++}`;
|
|
23
24
|
this.containerElement.setAttribute(this.hostAttr, '');
|
|
24
25
|
this.styleEl = this.renderer2.createElement('style');
|
|
25
26
|
this.renderer2.appendChild(this.containerElement, this.styleEl);
|
|
@@ -45,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
45
46
|
}], propDecorators: { minWidth: [{
|
|
46
47
|
type: Input
|
|
47
48
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGFibGUvdGFibGUtY29sLXJlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDLE9BQU8sRUFDTCxRQUFRLEVBQ1IsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDZCwyQkFBMkIsR0FDNUIsTUFBTSxTQUFTLENBQUM7O0FBRWpCLElBQUksNkJBQTZCLEdBQUcsQ0FBQyxDQUFDO0FBTXRDLE1BQU0sT0FBTywwQkFDWCxTQUFRLGtCQUFrQjtJQUlqQixRQUFRLEdBQUcsTUFBTSxDQUFDO0lBRVYsdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUQsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN4QywyQkFBMkIsR0FBRyxNQUFNLENBQ25ELDJCQUEyQixFQUMzQjtRQUNFLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FDRixDQUFDO0lBRU0sT0FBTyxDQUFtQjtJQUMxQixRQUFRLENBQVM7SUFFaEIsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQ3RCLElBQUksQ0FBQywyQkFBMkIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUN4RCxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUNoQyxVQUFVLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsRUFBRSxDQUM5RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsaUNBQWlDLDZCQUE2QixFQUFFLEVBQUUsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUc7VUFDckIsSUFBSSxDQUFDLFFBQVEsTUFBTSxTQUFTO2lCQUNyQixXQUFXLENBQUMsS0FBSyxDQUFDOzs7T0FHNUIsQ0FBQztZQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7dUdBN0NVLDBCQUEwQjsyRkFBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFNVSxRQUFRO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUmVzaXphYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vcmVzaXphYmxlJztcbmltcG9ydCB7IGhhbmRsZVBpeGVsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICB0YWJsZUJlbSxcbiAgVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUsXG4gIFRhYmxlQ29tcG9uZW50LFxuICBUYWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vaW5kZXgnO1xuXG5sZXQgdGFibGVSZXNpemFibGVEeW5hbWljU3R5bGVVaWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXVpVGFibGVDb2xSZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb2xSZXNpemFibGVEaXJlY3RpdmVcbiAgZXh0ZW5kcyBSZXNpemFibGVEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIG1pbldpZHRoID0gJzYwcHgnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGFibGVDb2x1bW5EZWZEaXJlY3RpdmUgPSBpbmplY3QoVGFibGVDb2x1bW5EZWZEaXJlY3RpdmUpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhYmxlQ29tcG9uZW50ID0gaW5qZWN0KFRhYmxlQ29tcG9uZW50KTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUgPSBpbmplY3QoXG4gICAgVGFibGVTY3JvbGxXcmFwcGVyRGlyZWN0aXZlLFxuICAgIHtcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBzdHlsZUVsOiBIVE1MU3R5bGVFbGVtZW50O1xuICBwcml2YXRlIGhvc3RBdHRyOiBzdHJpbmc7XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgdGhpcy5jb250YWluZXJFbGVtZW50ID0gKFxuICAgICAgdGhpcy50YWJsZVNjcm9sbFdyYXBwZXJEaXJlY3RpdmUgfHwgdGhpcy50YWJsZUNvbXBvbmVudFxuICAgICkuZWwubmF0aXZlRWxlbWVudDtcblxuICAgIHRoaXMucmVzaXplRW5kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKHdpZHRoID0+IHtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRhYmxlQmVtLmVsZW1lbnQoXG4gICAgICAgIGBjb2x1bW4tJHt0aGlzLnRhYmxlQ29sdW1uRGVmRGlyZWN0aXZlLmNzc0NsYXNzRnJpZW5kbHlOYW1lfWAsXG4gICAgICApO1xuICAgICAgaWYgKCF0aGlzLmhvc3RBdHRyKSB7XG4gICAgICAgIHRoaXMuaG9zdEF0dHIgPSBgdGFibGUtcmVzaXphYmxlLWR5bmFtaWMtc3R5bGUtJHt0YWJsZVJlc2l6YWJsZUR5bmFtaWNTdHlsZVVpZCsrfWA7XG4gICAgICAgIHRoaXMuY29udGFpbmVyRWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5ob3N0QXR0ciwgJycpO1xuICAgICAgICB0aGlzLnN0eWxlRWwgPSB0aGlzLnJlbmRlcmVyMi5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHRoaXMuc3R5bGVFbCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0eWxlRWwuaW5uZXJIVE1MID0gYFxuICAgICAgIFske3RoaXMuaG9zdEF0dHJ9XSAuJHtjbGFzc05hbWV9IHtcbiAgICAgICAgd2lkdGg6ICR7aGFuZGxlUGl4ZWwod2lkdGgpfSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBgO1xuXG4gICAgICB0aGlzLnRhYmxlQ29tcG9uZW50LnVwZGF0ZVN0aWNreUNvbHVtblN0eWxlcygpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/fesm2022/alauda-ui.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CdkAccordion, CdkAccordionItem, CdkAccordionModule } from '@angular/cdk/accordion';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, SkipSelf, Optional, Input, HostBinding, Injectable, Pipe, booleanAttribute, TemplateRef, Inject, NgModule, Directive, ContentChild, EventEmitter, Output, ElementRef, ContentChildren, ChangeDetectorRef, forwardRef, ViewChild, HostListener, Host, InjectionToken, isDevMode, numberAttribute, Injector, Type, ViewContainerRef, ViewChildren, inject } from '@angular/core';
|
|
3
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, SkipSelf, Optional, Input, HostBinding, Injectable, Pipe, booleanAttribute, TemplateRef, Inject, NgModule, Directive, ContentChild, EventEmitter, Output, ElementRef, ContentChildren, ChangeDetectorRef, forwardRef, ViewChild, HostListener, Host, InjectionToken, isDevMode, numberAttribute, Injector, Type, ViewContainerRef, ViewChildren, inject, Renderer2 } from '@angular/core';
|
|
4
4
|
import { DOCUMENT, NgIf, NgClass, CommonModule, NgTemplateOutlet, NgFor, AsyncPipe, DecimalPipe, NgStyle, DatePipe, NgComponentOutlet, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
|
|
5
5
|
import { ReplaySubject, distinctUntilChanged, Subject, takeUntil, Observable, share, startWith, map, filter, take, merge as merge$1, fromEvent, combineLatest, debounceTime, switchMap, of, EMPTY, tap, BehaviorSubject, withLatestFrom, delay, first, throttleTime, firstValueFrom, NEVER, observeOn, animationFrameScheduler, repeat, takeWhile, endWith, Subscription } from 'rxjs';
|
|
6
6
|
import * as i1 from '@angular/common/http';
|
|
@@ -9542,11 +9542,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
9542
9542
|
}] });
|
|
9543
9543
|
|
|
9544
9544
|
class ContainerForResizableDirective {
|
|
9545
|
-
el;
|
|
9546
|
-
|
|
9547
|
-
this.el = el;
|
|
9548
|
-
}
|
|
9549
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
9545
|
+
el = inject(ElementRef);
|
|
9546
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
9550
9547
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ContainerForResizableDirective, isStandalone: true, selector: "[auiContainerForResizable]", host: { classAttribute: "aui-container-for-resizable" }, ngImport: i0 });
|
|
9551
9548
|
}
|
|
9552
9549
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ContainerForResizableDirective, decorators: [{
|
|
@@ -9558,18 +9555,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
9558
9555
|
},
|
|
9559
9556
|
standalone: true,
|
|
9560
9557
|
}]
|
|
9561
|
-
}]
|
|
9558
|
+
}] });
|
|
9562
9559
|
class ResizableDirective {
|
|
9563
|
-
renderer2;
|
|
9564
|
-
containerDirective;
|
|
9565
9560
|
minWidth;
|
|
9566
9561
|
maxWidth;
|
|
9567
9562
|
resizeStart = new EventEmitter();
|
|
9568
9563
|
resizing = new EventEmitter();
|
|
9569
9564
|
resizeEnd = new EventEmitter();
|
|
9565
|
+
elementRef = inject(ElementRef);
|
|
9566
|
+
renderer2 = inject(Renderer2);
|
|
9567
|
+
containerDirective = inject(ContainerForResizableDirective, {
|
|
9568
|
+
optional: true,
|
|
9569
|
+
});
|
|
9570
|
+
element = this.elementRef.nativeElement;
|
|
9571
|
+
containerElement = this.containerDirective?.el.nativeElement || this.element;
|
|
9570
9572
|
destroy$$ = new Subject();
|
|
9571
|
-
containerElement;
|
|
9572
|
-
element;
|
|
9573
9573
|
initialWidth;
|
|
9574
9574
|
mouseDownScreenX;
|
|
9575
9575
|
resizeHandle;
|
|
@@ -9577,22 +9577,15 @@ class ResizableDirective {
|
|
|
9577
9577
|
resizeBar;
|
|
9578
9578
|
handleHasUp;
|
|
9579
9579
|
BAR_WIDTH = 2;
|
|
9580
|
-
constructor(element, renderer2, containerDirective) {
|
|
9581
|
-
this.renderer2 = renderer2;
|
|
9582
|
-
this.containerDirective = containerDirective;
|
|
9583
|
-
this.element = element.nativeElement;
|
|
9584
|
-
this.containerElement =
|
|
9585
|
-
this.containerDirective?.el.nativeElement || this.element;
|
|
9586
|
-
}
|
|
9587
9580
|
ngAfterViewInit() {
|
|
9588
9581
|
this.createResizeHandle();
|
|
9589
|
-
this.binEvent(this.element, 'mouseover'
|
|
9582
|
+
this.binEvent(this.element, 'mouseover').subscribe(() => {
|
|
9590
9583
|
this.handleHasUp = true;
|
|
9591
9584
|
if (!this.resizeBar) {
|
|
9592
9585
|
this.setResizeHandleVisible(true);
|
|
9593
9586
|
}
|
|
9594
9587
|
});
|
|
9595
|
-
this.binEvent(this.element, 'mouseout'
|
|
9588
|
+
this.binEvent(this.element, 'mouseout').subscribe(() => {
|
|
9596
9589
|
this.handleHasUp = false;
|
|
9597
9590
|
this.setResizeHandleVisible(false);
|
|
9598
9591
|
});
|
|
@@ -9601,10 +9594,8 @@ class ResizableDirective {
|
|
|
9601
9594
|
this.destroy$$.next();
|
|
9602
9595
|
this.destroy$$.complete();
|
|
9603
9596
|
}
|
|
9604
|
-
binEvent(target, eventType
|
|
9605
|
-
return fromEvent(target, eventType)
|
|
9606
|
-
.pipe(takeUntil(this.destroy$$))
|
|
9607
|
-
.subscribe(callback);
|
|
9597
|
+
binEvent(target, eventType) {
|
|
9598
|
+
return fromEvent(target, eventType).pipe(takeUntil(this.destroy$$));
|
|
9608
9599
|
}
|
|
9609
9600
|
setResizeHandleVisible(isVisible) {
|
|
9610
9601
|
if (this.resizeHandle) {
|
|
@@ -9617,8 +9608,10 @@ class ResizableDirective {
|
|
|
9617
9608
|
}
|
|
9618
9609
|
this.resizeHandle = this.renderer2.createElement('div');
|
|
9619
9610
|
this.renderer2.addClass(this.resizeHandle, 'resize-handle');
|
|
9620
|
-
this.binEvent(this.resizeHandle, 'click'
|
|
9621
|
-
this.binEvent(this.resizeHandle, 'mousedown'
|
|
9611
|
+
this.binEvent(this.resizeHandle, 'click').subscribe(e => e.stopPropagation());
|
|
9612
|
+
this.binEvent(this.resizeHandle, 'mousedown').subscribe(e => {
|
|
9613
|
+
this.onMousedown(e);
|
|
9614
|
+
});
|
|
9622
9615
|
this.renderer2.appendChild(this.element, this.resizeHandle);
|
|
9623
9616
|
}
|
|
9624
9617
|
createResizeOverlay() {
|
|
@@ -9641,15 +9634,19 @@ class ResizableDirective {
|
|
|
9641
9634
|
this.mouseDownScreenX = event.clientX;
|
|
9642
9635
|
this.createResizeOverlay();
|
|
9643
9636
|
this.createResizeBar();
|
|
9644
|
-
const mouseMoveSubscription = this.binEvent(document, 'mousemove'
|
|
9645
|
-
|
|
9637
|
+
const mouseMoveSubscription = this.binEvent(document, 'mousemove').subscribe(e => {
|
|
9638
|
+
this.move(e);
|
|
9639
|
+
});
|
|
9640
|
+
const mouseUpSubscription = this.binEvent(document, 'mouseup').subscribe(ev => {
|
|
9646
9641
|
this.onMouseup(ev);
|
|
9647
9642
|
mouseUpSubscription.unsubscribe();
|
|
9648
9643
|
mouseMoveSubscription.unsubscribe();
|
|
9649
9644
|
});
|
|
9650
9645
|
}
|
|
9651
9646
|
onMouseup(event) {
|
|
9652
|
-
this.handleHasUp
|
|
9647
|
+
if (this.handleHasUp) {
|
|
9648
|
+
this.setResizeHandleVisible(true);
|
|
9649
|
+
}
|
|
9653
9650
|
this.renderer2.removeChild(this.containerElement, this.resizeOverlay);
|
|
9654
9651
|
this.resizeOverlay = null;
|
|
9655
9652
|
this.renderer2.removeChild(this.containerElement, this.resizeBar);
|
|
@@ -9665,7 +9662,7 @@ class ResizableDirective {
|
|
|
9665
9662
|
const movementX = event.clientX - this.mouseDownScreenX;
|
|
9666
9663
|
const newWidth = this.initialWidth + movementX;
|
|
9667
9664
|
const finalWidth = this.getFinalWidth(newWidth);
|
|
9668
|
-
this.renderer2.setStyle(this.resizeBar, 'left',
|
|
9665
|
+
this.renderer2.setStyle(this.resizeBar, 'left', handlePixel(finalWidth + this.getOffset() - this.BAR_WIDTH));
|
|
9669
9666
|
this.resizing.emit(finalWidth);
|
|
9670
9667
|
}
|
|
9671
9668
|
getFinalWidth(newWidth) {
|
|
@@ -9685,13 +9682,13 @@ class ResizableDirective {
|
|
|
9685
9682
|
if (!width) {
|
|
9686
9683
|
return;
|
|
9687
9684
|
}
|
|
9688
|
-
if (width.
|
|
9685
|
+
if (width.endsWith('%')) {
|
|
9689
9686
|
const tableWidth = this.containerElement.clientWidth;
|
|
9690
9687
|
return (tableWidth * Number.parseFloat(width)) / 100;
|
|
9691
9688
|
}
|
|
9692
9689
|
return Number.parseFloat(width.replace(/\D+/, ''));
|
|
9693
9690
|
}
|
|
9694
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [
|
|
9691
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
9695
9692
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: ResizableDirective, isStandalone: true, selector: "[auiResizable]", inputs: { minWidth: "minWidth", maxWidth: "maxWidth" }, outputs: { resizeStart: "resizeStart", resizing: "resizing", resizeEnd: "resizeEnd" }, host: { classAttribute: "aui-resizable" }, ngImport: i0 });
|
|
9696
9693
|
}
|
|
9697
9694
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: ResizableDirective, decorators: [{
|
|
@@ -9703,9 +9700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
|
|
|
9703
9700
|
},
|
|
9704
9701
|
standalone: true,
|
|
9705
9702
|
}]
|
|
9706
|
-
}],
|
|
9707
|
-
type: Optional
|
|
9708
|
-
}] }]; }, propDecorators: { minWidth: [{
|
|
9703
|
+
}], propDecorators: { minWidth: [{
|
|
9709
9704
|
type: Input
|
|
9710
9705
|
}], maxWidth: [{
|
|
9711
9706
|
type: Input
|
|
@@ -10411,6 +10406,7 @@ const TABLE_MODULE = [
|
|
|
10411
10406
|
TableScrollWrapperDirective,
|
|
10412
10407
|
];
|
|
10413
10408
|
|
|
10409
|
+
let tableResizableDynamicStyleUid = 0;
|
|
10414
10410
|
class TableColResizableDirective extends ResizableDirective {
|
|
10415
10411
|
minWidth = '60px';
|
|
10416
10412
|
tableColumnDefDirective = inject(TableColumnDefDirective);
|
|
@@ -10426,7 +10422,7 @@ class TableColResizableDirective extends ResizableDirective {
|
|
|
10426
10422
|
this.resizeEnd.pipe(takeUntil(this.destroy$$)).subscribe(width => {
|
|
10427
10423
|
const className = tableBem.element(`column-${this.tableColumnDefDirective.cssClassFriendlyName}`);
|
|
10428
10424
|
if (!this.hostAttr) {
|
|
10429
|
-
this.hostAttr = `resizable-${
|
|
10425
|
+
this.hostAttr = `table-resizable-dynamic-style-${tableResizableDynamicStyleUid++}`;
|
|
10430
10426
|
this.containerElement.setAttribute(this.hostAttr, '');
|
|
10431
10427
|
this.styleEl = this.renderer2.createElement('style');
|
|
10432
10428
|
this.renderer2.appendChild(this.containerElement, this.styleEl);
|