@ali-hm/angular-tree-component 18.0.1 → 18.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/ali-hm-angular-tree-component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/angular-tree-component.module.mjs +100 -100
- package/{esm2020 → esm2022}/lib/components/loading.component.mjs +21 -21
- package/{esm2020 → esm2022}/lib/components/tree-node-checkbox.component.mjs +15 -15
- package/esm2022/lib/components/tree-node-collection.component.mjs +284 -0
- package/{esm2020 → esm2022}/lib/components/tree-node-content.component.mjs +23 -23
- package/{esm2020 → esm2022}/lib/components/tree-node-drop-slot.component.mjs +26 -26
- package/{esm2020 → esm2022}/lib/components/tree-node-expander.component.mjs +16 -16
- package/{esm2020 → esm2022}/lib/components/tree-node-wrapper.component.mjs +24 -24
- package/{esm2020 → esm2022}/lib/components/tree-viewport.component.mjs +55 -55
- package/esm2022/lib/components/tree.component.mjs +186 -0
- package/{esm2020 → esm2022}/lib/constants/events.mjs +19 -19
- package/{esm2020 → esm2022}/lib/constants/keys.mjs +9 -9
- package/{esm2020 → esm2022}/lib/defs/api.mjs +1 -1
- package/esm2022/lib/directives/tree-animate-open.directive.mjs +101 -0
- package/{esm2020 → esm2022}/lib/directives/tree-drag.directive.mjs +65 -65
- package/esm2022/lib/directives/tree-drop.directive.mjs +127 -0
- package/{esm2020 → esm2022}/lib/mobx-angular/mobx-proxy.mjs +16 -16
- package/esm2022/lib/mobx-angular/tree-mobx-autorun.directive.mjs +40 -0
- package/{esm2020 → esm2022}/lib/models/tree-dragged-element.model.mjs +25 -25
- package/esm2022/lib/models/tree-node.model.mjs +390 -0
- package/esm2022/lib/models/tree-options.model.mjs +150 -0
- package/esm2022/lib/models/tree-virtual-scroll.model.mjs +197 -0
- package/esm2022/lib/models/tree.model.mjs +546 -0
- package/{esm2020 → esm2022}/public-api.mjs +4 -4
- package/{fesm2020 → fesm2022}/ali-hm-angular-tree-component.mjs +2080 -2080
- package/{fesm2020 → fesm2022}/ali-hm-angular-tree-component.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/angular-tree-component.module.d.ts +43 -43
- package/lib/components/loading.component.d.ts +9 -9
- package/lib/components/tree-node-checkbox.component.d.ts +7 -7
- package/lib/components/tree-node-collection.component.d.ts +34 -34
- package/lib/components/tree-node-content.component.d.ts +10 -10
- package/lib/components/tree-node-drop-slot.component.d.ts +10 -10
- package/lib/components/tree-node-expander.component.d.ts +7 -7
- package/lib/components/tree-node-wrapper.component.d.ts +9 -9
- package/lib/components/tree-viewport.component.d.ts +17 -17
- package/lib/components/tree.component.d.ts +47 -47
- package/lib/constants/events.d.ts +19 -19
- package/lib/constants/keys.d.ts +9 -9
- package/lib/defs/api.d.ts +611 -611
- package/lib/directives/tree-animate-open.directive.d.ts +20 -20
- package/lib/directives/tree-drag.directive.d.ts +21 -21
- package/lib/directives/tree-drop.directive.d.ts +33 -33
- package/lib/mobx-angular/mobx-proxy.d.ts +7 -7
- package/lib/mobx-angular/tree-mobx-autorun.directive.d.ts +17 -17
- package/lib/models/tree-dragged-element.model.d.ts +9 -9
- package/lib/models/tree-node.model.d.ts +83 -83
- package/lib/models/tree-options.model.d.ts +77 -77
- package/lib/models/tree-virtual-scroll.model.d.ts +27 -27
- package/lib/models/tree.model.d.ts +91 -91
- package/package.json +10 -16
- package/public-api.d.ts +1 -1
- package/esm2020/lib/components/tree-node-collection.component.mjs +0 -284
- package/esm2020/lib/components/tree.component.mjs +0 -186
- package/esm2020/lib/directives/tree-animate-open.directive.mjs +0 -101
- package/esm2020/lib/directives/tree-drop.directive.mjs +0 -127
- package/esm2020/lib/mobx-angular/tree-mobx-autorun.directive.mjs +0 -40
- package/esm2020/lib/models/tree-node.model.mjs +0 -390
- package/esm2020/lib/models/tree-options.model.mjs +0 -150
- package/esm2020/lib/models/tree-virtual-scroll.model.mjs +0 -197
- package/esm2020/lib/models/tree.model.mjs +0 -546
- package/fesm2015/ali-hm-angular-tree-component.mjs +0 -2511
- package/fesm2015/ali-hm-angular-tree-component.mjs.map +0 -1
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../models/tree-dragged-element.model";
|
|
4
|
-
const DRAG_OVER_CLASS = 'is-dragging-over';
|
|
5
|
-
export class TreeDragDirective {
|
|
6
|
-
constructor(el, renderer, treeDraggedElement, ngZone) {
|
|
7
|
-
this.el = el;
|
|
8
|
-
this.renderer = renderer;
|
|
9
|
-
this.treeDraggedElement = treeDraggedElement;
|
|
10
|
-
this.ngZone = ngZone;
|
|
11
|
-
this.dragEventHandler = this.onDrag.bind(this);
|
|
12
|
-
}
|
|
13
|
-
ngAfterViewInit() {
|
|
14
|
-
let el = this.el.nativeElement;
|
|
15
|
-
this.ngZone.runOutsideAngular(() => {
|
|
16
|
-
el.addEventListener('drag', this.dragEventHandler);
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
ngDoCheck() {
|
|
20
|
-
this.renderer.setAttribute(this.el.nativeElement, 'draggable', this.treeDragEnabled ? 'true' : 'false');
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
let el = this.el.nativeElement;
|
|
24
|
-
el.removeEventListener('drag', this.dragEventHandler);
|
|
25
|
-
}
|
|
26
|
-
onDragStart(ev) {
|
|
27
|
-
// setting the data is required by firefox
|
|
28
|
-
ev.dataTransfer.setData('text', ev.target.id);
|
|
29
|
-
this.treeDraggedElement.set(this.draggedElement);
|
|
30
|
-
if (this.draggedElement.mouseAction) {
|
|
31
|
-
this.draggedElement.mouseAction('dragStart', ev);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
onDrag(ev) {
|
|
35
|
-
if (this.draggedElement.mouseAction) {
|
|
36
|
-
this.draggedElement.mouseAction('drag', ev);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
onDragEnd() {
|
|
40
|
-
if (this.draggedElement.mouseAction) {
|
|
41
|
-
this.draggedElement.mouseAction('dragEnd');
|
|
42
|
-
}
|
|
43
|
-
this.treeDraggedElement.set(null);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/** @nocollapse */
|
|
47
|
-
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
49
|
-
type: Directive,
|
|
50
|
-
args: [{
|
|
51
|
-
selector: '[treeDrag]'
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters:
|
|
54
|
-
type: Input,
|
|
55
|
-
args: ['treeDrag']
|
|
56
|
-
}], treeDragEnabled: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], onDragStart: [{
|
|
59
|
-
type: HostListener,
|
|
60
|
-
args: ['dragstart', ['$event']]
|
|
61
|
-
}], onDragEnd: [{
|
|
62
|
-
type: HostListener,
|
|
63
|
-
args: ['dragend']
|
|
64
|
-
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../models/tree-dragged-element.model";
|
|
4
|
+
const DRAG_OVER_CLASS = 'is-dragging-over';
|
|
5
|
+
export class TreeDragDirective {
|
|
6
|
+
constructor(el, renderer, treeDraggedElement, ngZone) {
|
|
7
|
+
this.el = el;
|
|
8
|
+
this.renderer = renderer;
|
|
9
|
+
this.treeDraggedElement = treeDraggedElement;
|
|
10
|
+
this.ngZone = ngZone;
|
|
11
|
+
this.dragEventHandler = this.onDrag.bind(this);
|
|
12
|
+
}
|
|
13
|
+
ngAfterViewInit() {
|
|
14
|
+
let el = this.el.nativeElement;
|
|
15
|
+
this.ngZone.runOutsideAngular(() => {
|
|
16
|
+
el.addEventListener('drag', this.dragEventHandler);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
ngDoCheck() {
|
|
20
|
+
this.renderer.setAttribute(this.el.nativeElement, 'draggable', this.treeDragEnabled ? 'true' : 'false');
|
|
21
|
+
}
|
|
22
|
+
ngOnDestroy() {
|
|
23
|
+
let el = this.el.nativeElement;
|
|
24
|
+
el.removeEventListener('drag', this.dragEventHandler);
|
|
25
|
+
}
|
|
26
|
+
onDragStart(ev) {
|
|
27
|
+
// setting the data is required by firefox
|
|
28
|
+
ev.dataTransfer.setData('text', ev.target.id);
|
|
29
|
+
this.treeDraggedElement.set(this.draggedElement);
|
|
30
|
+
if (this.draggedElement.mouseAction) {
|
|
31
|
+
this.draggedElement.mouseAction('dragStart', ev);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
onDrag(ev) {
|
|
35
|
+
if (this.draggedElement.mouseAction) {
|
|
36
|
+
this.draggedElement.mouseAction('drag', ev);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
onDragEnd() {
|
|
40
|
+
if (this.draggedElement.mouseAction) {
|
|
41
|
+
this.draggedElement.mouseAction('dragEnd');
|
|
42
|
+
}
|
|
43
|
+
this.treeDraggedElement.set(null);
|
|
44
|
+
}
|
|
45
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeDragDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.TreeDraggedElement }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
46
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: TreeDragDirective, selector: "[treeDrag]", inputs: { draggedElement: ["treeDrag", "draggedElement"], treeDragEnabled: "treeDragEnabled" }, host: { listeners: { "dragstart": "onDragStart($event)", "dragend": "onDragEnd()" } }, ngImport: i0 }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeDragDirective, decorators: [{
|
|
49
|
+
type: Directive,
|
|
50
|
+
args: [{
|
|
51
|
+
selector: '[treeDrag]'
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.TreeDraggedElement }, { type: i0.NgZone }], propDecorators: { draggedElement: [{
|
|
54
|
+
type: Input,
|
|
55
|
+
args: ['treeDrag']
|
|
56
|
+
}], treeDragEnabled: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], onDragStart: [{
|
|
59
|
+
type: HostListener,
|
|
60
|
+
args: ['dragstart', ['$event']]
|
|
61
|
+
}], onDragEnd: [{
|
|
62
|
+
type: HostListener,
|
|
63
|
+
args: ['dragend']
|
|
64
|
+
}] } });
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kcmFnLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9kaXJlY3RpdmVzL3RyZWUtZHJhZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQXVCLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sZUFBZSxDQUFDOzs7QUFHakksTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUM7QUFLM0MsTUFBTSxPQUFPLGlCQUFpQjtJQUs1QixZQUFvQixFQUFjLEVBQVUsUUFBbUIsRUFBVSxrQkFBc0MsRUFBVSxNQUFjO1FBQW5ILE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDckksSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxFQUFFLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxFQUFFLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVzQyxXQUFXLENBQUMsRUFBRTtRQUNuRCwwQ0FBMEM7UUFDMUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxFQUFFO1FBQ1AsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUV3QixTQUFTO1FBQ2hDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO2lJQTdDVSxpQkFBaUI7cUhBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtpQkFDdkI7NkpBRW9CLGNBQWM7c0JBQWhDLEtBQUs7dUJBQUMsVUFBVTtnQkFDUixlQUFlO3NCQUF2QixLQUFLO2dCQXVCaUMsV0FBVztzQkFBakQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZVosU0FBUztzQkFBakMsWUFBWTt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBEb0NoZWNrLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyZWVEcmFnZ2VkRWxlbWVudCB9IGZyb20gJy4uL21vZGVscy90cmVlLWRyYWdnZWQtZWxlbWVudC5tb2RlbCc7XHJcblxyXG5jb25zdCBEUkFHX09WRVJfQ0xBU1MgPSAnaXMtZHJhZ2dpbmctb3Zlcic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cmVlRHJhZ10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmVlRHJhZ0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2ssIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCd0cmVlRHJhZycpIGRyYWdnZWRFbGVtZW50O1xyXG4gIEBJbnB1dCgpIHRyZWVEcmFnRW5hYmxlZDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRyYWdFdmVudEhhbmRsZXI6IChldjogRHJhZ0V2ZW50KSA9PiB2b2lkO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgdHJlZURyYWdnZWRFbGVtZW50OiBUcmVlRHJhZ2dlZEVsZW1lbnQsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcclxuICAgIHRoaXMuZHJhZ0V2ZW50SGFuZGxlciA9IHRoaXMub25EcmFnLmJpbmQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBsZXQgZWw6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdkcmFnJywgdGhpcy5kcmFnRXZlbnRIYW5kbGVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdEb0NoZWNrKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZHJhZ2dhYmxlJywgdGhpcy50cmVlRHJhZ0VuYWJsZWQgPyAndHJ1ZScgOiAnZmFsc2UnKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgbGV0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgIGVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2RyYWcnLCB0aGlzLmRyYWdFdmVudEhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ3N0YXJ0JywgWyckZXZlbnQnXSkgb25EcmFnU3RhcnQoZXYpIHtcclxuICAgIC8vIHNldHRpbmcgdGhlIGRhdGEgaXMgcmVxdWlyZWQgYnkgZmlyZWZveFxyXG4gICAgZXYuZGF0YVRyYW5zZmVyLnNldERhdGEoJ3RleHQnLCBldi50YXJnZXQuaWQpO1xyXG4gICAgdGhpcy50cmVlRHJhZ2dlZEVsZW1lbnQuc2V0KHRoaXMuZHJhZ2dlZEVsZW1lbnQpO1xyXG4gICAgaWYgKHRoaXMuZHJhZ2dlZEVsZW1lbnQubW91c2VBY3Rpb24pIHtcclxuICAgICAgdGhpcy5kcmFnZ2VkRWxlbWVudC5tb3VzZUFjdGlvbignZHJhZ1N0YXJ0JywgZXYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EcmFnKGV2KSB7XHJcbiAgICBpZiAodGhpcy5kcmFnZ2VkRWxlbWVudC5tb3VzZUFjdGlvbikge1xyXG4gICAgICB0aGlzLmRyYWdnZWRFbGVtZW50Lm1vdXNlQWN0aW9uKCdkcmFnJywgZXYpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ2VuZCcpIG9uRHJhZ0VuZCgpIHtcclxuICAgIGlmICh0aGlzLmRyYWdnZWRFbGVtZW50Lm1vdXNlQWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuZHJhZ2dlZEVsZW1lbnQubW91c2VBY3Rpb24oJ2RyYWdFbmQnKTtcclxuICAgIH1cclxuICAgIHRoaXMudHJlZURyYWdnZWRFbGVtZW50LnNldChudWxsKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../models/tree-dragged-element.model";
|
|
4
|
+
const DRAG_OVER_CLASS = 'is-dragging-over';
|
|
5
|
+
const DRAG_DISABLED_CLASS = 'is-dragging-over-disabled';
|
|
6
|
+
export class TreeDropDirective {
|
|
7
|
+
set treeAllowDrop(allowDrop) {
|
|
8
|
+
if (allowDrop instanceof Function) {
|
|
9
|
+
this._allowDrop = allowDrop;
|
|
10
|
+
}
|
|
11
|
+
else
|
|
12
|
+
this._allowDrop = (element, $event) => allowDrop;
|
|
13
|
+
}
|
|
14
|
+
allowDrop($event) {
|
|
15
|
+
return this._allowDrop(this.treeDraggedElement.get(), $event);
|
|
16
|
+
}
|
|
17
|
+
constructor(el, renderer, treeDraggedElement, ngZone) {
|
|
18
|
+
this.el = el;
|
|
19
|
+
this.renderer = renderer;
|
|
20
|
+
this.treeDraggedElement = treeDraggedElement;
|
|
21
|
+
this.ngZone = ngZone;
|
|
22
|
+
this.allowDragoverStyling = true;
|
|
23
|
+
this.onDropCallback = new EventEmitter();
|
|
24
|
+
this.onDragOverCallback = new EventEmitter();
|
|
25
|
+
this.onDragLeaveCallback = new EventEmitter();
|
|
26
|
+
this.onDragEnterCallback = new EventEmitter();
|
|
27
|
+
this._allowDrop = (element, $event) => true;
|
|
28
|
+
this.dragOverEventHandler = this.onDragOver.bind(this);
|
|
29
|
+
this.dragEnterEventHandler = this.onDragEnter.bind(this);
|
|
30
|
+
this.dragLeaveEventHandler = this.onDragLeave.bind(this);
|
|
31
|
+
}
|
|
32
|
+
ngAfterViewInit() {
|
|
33
|
+
let el = this.el.nativeElement;
|
|
34
|
+
this.ngZone.runOutsideAngular(() => {
|
|
35
|
+
el.addEventListener('dragover', this.dragOverEventHandler);
|
|
36
|
+
el.addEventListener('dragenter', this.dragEnterEventHandler);
|
|
37
|
+
el.addEventListener('dragleave', this.dragLeaveEventHandler);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
let el = this.el.nativeElement;
|
|
42
|
+
el.removeEventListener('dragover', this.dragOverEventHandler);
|
|
43
|
+
el.removeEventListener('dragenter', this.dragEnterEventHandler);
|
|
44
|
+
el.removeEventListener('dragleave', this.dragLeaveEventHandler);
|
|
45
|
+
}
|
|
46
|
+
onDragOver($event) {
|
|
47
|
+
if (!this.allowDrop($event)) {
|
|
48
|
+
if (this.allowDragoverStyling) {
|
|
49
|
+
return this.addDisabledClass();
|
|
50
|
+
}
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
this.onDragOverCallback.emit({ event: $event, element: this.treeDraggedElement.get() });
|
|
54
|
+
$event.preventDefault();
|
|
55
|
+
if (this.allowDragoverStyling) {
|
|
56
|
+
this.addClass();
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
onDragEnter($event) {
|
|
60
|
+
if (!this.allowDrop($event))
|
|
61
|
+
return;
|
|
62
|
+
$event.preventDefault();
|
|
63
|
+
this.onDragEnterCallback.emit({ event: $event, element: this.treeDraggedElement.get() });
|
|
64
|
+
}
|
|
65
|
+
onDragLeave($event) {
|
|
66
|
+
if (!this.allowDrop($event)) {
|
|
67
|
+
if (this.allowDragoverStyling) {
|
|
68
|
+
return this.removeDisabledClass();
|
|
69
|
+
}
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.onDragLeaveCallback.emit({ event: $event, element: this.treeDraggedElement.get() });
|
|
73
|
+
if (this.allowDragoverStyling) {
|
|
74
|
+
this.removeClass();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
onDrop($event) {
|
|
78
|
+
if (!this.allowDrop($event))
|
|
79
|
+
return;
|
|
80
|
+
$event.preventDefault();
|
|
81
|
+
this.onDropCallback.emit({ event: $event, element: this.treeDraggedElement.get() });
|
|
82
|
+
if (this.allowDragoverStyling) {
|
|
83
|
+
this.removeClass();
|
|
84
|
+
}
|
|
85
|
+
this.treeDraggedElement.set(null);
|
|
86
|
+
}
|
|
87
|
+
addClass() {
|
|
88
|
+
this.renderer.addClass(this.el.nativeElement, DRAG_OVER_CLASS);
|
|
89
|
+
}
|
|
90
|
+
removeClass() {
|
|
91
|
+
this.renderer.removeClass(this.el.nativeElement, DRAG_OVER_CLASS);
|
|
92
|
+
}
|
|
93
|
+
addDisabledClass() {
|
|
94
|
+
this.renderer.addClass(this.el.nativeElement, DRAG_DISABLED_CLASS);
|
|
95
|
+
}
|
|
96
|
+
removeDisabledClass() {
|
|
97
|
+
this.renderer.removeClass(this.el.nativeElement, DRAG_DISABLED_CLASS);
|
|
98
|
+
}
|
|
99
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeDropDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.TreeDraggedElement }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
100
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: TreeDropDirective, selector: "[treeDrop]", inputs: { allowDragoverStyling: "allowDragoverStyling", treeAllowDrop: "treeAllowDrop" }, outputs: { onDropCallback: "treeDrop", onDragOverCallback: "treeDropDragOver", onDragLeaveCallback: "treeDropDragLeave", onDragEnterCallback: "treeDropDragEnter" }, host: { listeners: { "drop": "onDrop($event)" } }, ngImport: i0 }); }
|
|
101
|
+
}
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeDropDirective, decorators: [{
|
|
103
|
+
type: Directive,
|
|
104
|
+
args: [{
|
|
105
|
+
selector: '[treeDrop]'
|
|
106
|
+
}]
|
|
107
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.TreeDraggedElement }, { type: i0.NgZone }], propDecorators: { allowDragoverStyling: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], onDropCallback: [{
|
|
110
|
+
type: Output,
|
|
111
|
+
args: ['treeDrop']
|
|
112
|
+
}], onDragOverCallback: [{
|
|
113
|
+
type: Output,
|
|
114
|
+
args: ['treeDropDragOver']
|
|
115
|
+
}], onDragLeaveCallback: [{
|
|
116
|
+
type: Output,
|
|
117
|
+
args: ['treeDropDragLeave']
|
|
118
|
+
}], onDragEnterCallback: [{
|
|
119
|
+
type: Output,
|
|
120
|
+
args: ['treeDropDragEnter']
|
|
121
|
+
}], treeAllowDrop: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], onDrop: [{
|
|
124
|
+
type: HostListener,
|
|
125
|
+
args: ['drop', ['$event']]
|
|
126
|
+
}] } });
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kcm9wLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9kaXJlY3RpdmVzL3RyZWUtZHJvcC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRVAsTUFBTSxlQUFlLENBQUM7OztBQUd2QixNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztBQUMzQyxNQUFNLG1CQUFtQixHQUFHLDJCQUEyQixDQUFDO0FBS3hELE1BQU0sT0FBTyxpQkFBaUI7SUFZNUIsSUFBYSxhQUFhLENBQUMsU0FBUztRQUNsQyxJQUFJLFNBQVMsWUFBWSxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUM5QixDQUFDOztZQUNJLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsWUFBb0IsRUFBYyxFQUFVLFFBQW1CLEVBQVUsa0JBQXNDLEVBQVUsTUFBYztRQUFuSCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdEI5SCx5QkFBb0IsR0FBRyxJQUFJLENBQUM7UUFDakIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzVCLHVCQUFrQixH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QW1CLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDeEUsQ0FBQztpSUE1R1UsaUJBQWlCO3FIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7aUJBQ3ZCOzZKQUVVLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDYyxjQUFjO3NCQUFqQyxNQUFNO3VCQUFDLFVBQVU7Z0JBQ1Usa0JBQWtCO3NCQUE3QyxNQUFNO3VCQUFDLGtCQUFrQjtnQkFDRyxtQkFBbUI7c0JBQS9DLE1BQU07dUJBQUMsbUJBQW1CO2dCQUNFLG1CQUFtQjtzQkFBL0MsTUFBTTt1QkFBQyxtQkFBbUI7Z0JBT2QsYUFBYTtzQkFBekIsS0FBSztnQkFzRTRCLE1BQU07c0JBQXZDLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyZWVEcmFnZ2VkRWxlbWVudCB9IGZyb20gJy4uL21vZGVscy90cmVlLWRyYWdnZWQtZWxlbWVudC5tb2RlbCc7XHJcblxyXG5jb25zdCBEUkFHX09WRVJfQ0xBU1MgPSAnaXMtZHJhZ2dpbmctb3Zlcic7XHJcbmNvbnN0IERSQUdfRElTQUJMRURfQ0xBU1MgPSAnaXMtZHJhZ2dpbmctb3Zlci1kaXNhYmxlZCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cmVlRHJvcF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmVlRHJvcERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgYWxsb3dEcmFnb3ZlclN0eWxpbmcgPSB0cnVlO1xyXG4gIEBPdXRwdXQoJ3RyZWVEcm9wJykgb25Ecm9wQ2FsbGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgndHJlZURyb3BEcmFnT3ZlcicpIG9uRHJhZ092ZXJDYWxsYmFjayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCd0cmVlRHJvcERyYWdMZWF2ZScpIG9uRHJhZ0xlYXZlQ2FsbGJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgndHJlZURyb3BEcmFnRW50ZXInKSBvbkRyYWdFbnRlckNhbGxiYWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJhZ092ZXJFdmVudEhhbmRsZXI6IChldjogRHJhZ0V2ZW50KSA9PiB2b2lkO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJhZ0VudGVyRXZlbnRIYW5kbGVyOiAoZXY6IERyYWdFdmVudCkgPT4gdm9pZDtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRyYWdMZWF2ZUV2ZW50SGFuZGxlcjogKGV2OiBEcmFnRXZlbnQpID0+IHZvaWQ7XHJcblxyXG4gIHByaXZhdGUgX2FsbG93RHJvcCA9IChlbGVtZW50LCAkZXZlbnQpID0+IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHNldCB0cmVlQWxsb3dEcm9wKGFsbG93RHJvcCkge1xyXG4gICAgaWYgKGFsbG93RHJvcCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XHJcbiAgICAgIHRoaXMuX2FsbG93RHJvcCA9IGFsbG93RHJvcDtcclxuICAgIH1cclxuICAgIGVsc2UgdGhpcy5fYWxsb3dEcm9wID0gKGVsZW1lbnQsICRldmVudCkgPT4gYWxsb3dEcm9wO1xyXG4gIH1cclxuXHJcbiAgYWxsb3dEcm9wKCRldmVudCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsbG93RHJvcCh0aGlzLnRyZWVEcmFnZ2VkRWxlbWVudC5nZXQoKSwgJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSB0cmVlRHJhZ2dlZEVsZW1lbnQ6IFRyZWVEcmFnZ2VkRWxlbWVudCwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSkge1xyXG4gICAgdGhpcy5kcmFnT3ZlckV2ZW50SGFuZGxlciA9IHRoaXMub25EcmFnT3Zlci5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5kcmFnRW50ZXJFdmVudEhhbmRsZXIgPSB0aGlzLm9uRHJhZ0VudGVyLmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLmRyYWdMZWF2ZUV2ZW50SGFuZGxlciA9IHRoaXMub25EcmFnTGVhdmUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGxldCBlbDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgdGhpcy5kcmFnT3ZlckV2ZW50SGFuZGxlcik7XHJcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIHRoaXMuZHJhZ0VudGVyRXZlbnRIYW5kbGVyKTtcclxuICAgICAgZWwuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5kcmFnTGVhdmVFdmVudEhhbmRsZXIpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGxldCBlbDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBlbC5yZW1vdmVFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIHRoaXMuZHJhZ092ZXJFdmVudEhhbmRsZXIpO1xyXG4gICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ2VudGVyJywgdGhpcy5kcmFnRW50ZXJFdmVudEhhbmRsZXIpO1xyXG4gICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignZHJhZ2xlYXZlJywgdGhpcy5kcmFnTGVhdmVFdmVudEhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgb25EcmFnT3ZlcigkZXZlbnQpIHtcclxuICAgIGlmICghdGhpcy5hbGxvd0Ryb3AoJGV2ZW50KSkge1xyXG4gICAgICBpZiAodGhpcy5hbGxvd0RyYWdvdmVyU3R5bGluZykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFkZERpc2FibGVkQ2xhc3MoKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbkRyYWdPdmVyQ2FsbGJhY2suZW1pdCh7ZXZlbnQ6ICRldmVudCwgZWxlbWVudDogdGhpcy50cmVlRHJhZ2dlZEVsZW1lbnQuZ2V0KCl9KTtcclxuXHJcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGlmICh0aGlzLmFsbG93RHJhZ292ZXJTdHlsaW5nKSB7XHJcbiAgICAgIHRoaXMuYWRkQ2xhc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRHJhZ0VudGVyKCRldmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmFsbG93RHJvcCgkZXZlbnQpKSByZXR1cm47XHJcblxyXG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLm9uRHJhZ0VudGVyQ2FsbGJhY2suZW1pdCh7ZXZlbnQ6ICRldmVudCwgZWxlbWVudDogdGhpcy50cmVlRHJhZ2dlZEVsZW1lbnQuZ2V0KCl9KTtcclxuICB9XHJcblxyXG4gIG9uRHJhZ0xlYXZlKCRldmVudCkge1xyXG4gICAgaWYgKCF0aGlzLmFsbG93RHJvcCgkZXZlbnQpKSB7XHJcbiAgICAgIGlmICh0aGlzLmFsbG93RHJhZ292ZXJTdHlsaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlRGlzYWJsZWRDbGFzcygpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMub25EcmFnTGVhdmVDYWxsYmFjay5lbWl0KHtldmVudDogJGV2ZW50LCBlbGVtZW50OiB0aGlzLnRyZWVEcmFnZ2VkRWxlbWVudC5nZXQoKX0pO1xyXG5cclxuICAgIGlmICh0aGlzLmFsbG93RHJhZ292ZXJTdHlsaW5nKSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xhc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKSBvbkRyb3AoJGV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuYWxsb3dEcm9wKCRldmVudCkpIHJldHVybjtcclxuXHJcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMub25Ecm9wQ2FsbGJhY2suZW1pdCh7ZXZlbnQ6ICRldmVudCwgZWxlbWVudDogdGhpcy50cmVlRHJhZ2dlZEVsZW1lbnQuZ2V0KCl9KTtcclxuXHJcbiAgICBpZiAodGhpcy5hbGxvd0RyYWdvdmVyU3R5bGluZykge1xyXG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyZWVEcmFnZ2VkRWxlbWVudC5zZXQobnVsbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZENsYXNzKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIERSQUdfT1ZFUl9DTEFTUyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZUNsYXNzKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIERSQUdfT1ZFUl9DTEFTUyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZERpc2FibGVkQ2xhc3MoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgRFJBR19ESVNBQkxFRF9DTEFTUyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZURpc2FibGVkQ2xhc3MoKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgRFJBR19ESVNBQkxFRF9DTEFTUyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { action as mobxAction } from 'mobx';
|
|
2
|
-
import { computed as mobxComputed } from 'mobx';
|
|
3
|
-
import { observable as mobxObservable } from 'mobx';
|
|
4
|
-
// Re-export mobx operators to be able to use inside components with AOT:
|
|
5
|
-
export function actionInternal(...args) {
|
|
6
|
-
return mobxAction(...args);
|
|
7
|
-
}
|
|
8
|
-
export const action = Object.assign(actionInternal, mobxAction);
|
|
9
|
-
function computedInternal(...args) {
|
|
10
|
-
return mobxComputed(...args);
|
|
11
|
-
}
|
|
12
|
-
export const computed = Object.assign(computedInternal, mobxComputed);
|
|
13
|
-
function observableInternal(...args) {
|
|
14
|
-
return mobxObservable(...args);
|
|
15
|
-
}
|
|
16
|
-
export const observable = Object.assign(observableInternal, mobxObservable);
|
|
1
|
+
import { action as mobxAction } from 'mobx';
|
|
2
|
+
import { computed as mobxComputed } from 'mobx';
|
|
3
|
+
import { observable as mobxObservable } from 'mobx';
|
|
4
|
+
// Re-export mobx operators to be able to use inside components with AOT:
|
|
5
|
+
export function actionInternal(...args) {
|
|
6
|
+
return mobxAction(...args);
|
|
7
|
+
}
|
|
8
|
+
export const action = Object.assign(actionInternal, mobxAction);
|
|
9
|
+
function computedInternal(...args) {
|
|
10
|
+
return mobxComputed(...args);
|
|
11
|
+
}
|
|
12
|
+
export const computed = Object.assign(computedInternal, mobxComputed);
|
|
13
|
+
function observableInternal(...args) {
|
|
14
|
+
return mobxObservable(...args);
|
|
15
|
+
}
|
|
16
|
+
export const observable = Object.assign(observableInternal, mobxObservable);
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ieC1wcm94eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2J4LWFuZ3VsYXIvbW9ieC1wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxJQUFJLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRCx5RUFBeUU7QUFDekUsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFHLElBQUk7SUFDcEMsT0FBUSxVQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUNELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBc0IsTUFBTSxDQUFDLE1BQU0sQ0FDcEQsY0FBYyxFQUNkLFVBQVUsQ0FDSixDQUFDO0FBRVQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUk7SUFDL0IsT0FBUSxZQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUNELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBd0IsTUFBTSxDQUFDLE1BQU0sQ0FDeEQsZ0JBQWdCLEVBQ2hCLFlBQVksQ0FDTixDQUFDO0FBRVQsU0FBUyxrQkFBa0IsQ0FBQyxHQUFHLElBQUk7SUFDakMsT0FBUSxjQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBMEIsTUFBTSxDQUFDLE1BQU0sQ0FDNUQsa0JBQWtCLEVBQ2xCLGNBQWMsQ0FDUixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWN0aW9uIGFzIG1vYnhBY3Rpb24gfSBmcm9tICdtb2J4JztcclxuaW1wb3J0IHsgY29tcHV0ZWQgYXMgbW9ieENvbXB1dGVkIH0gZnJvbSAnbW9ieCc7XHJcbmltcG9ydCB7IG9ic2VydmFibGUgYXMgbW9ieE9ic2VydmFibGUgfSBmcm9tICdtb2J4JztcclxuXHJcbi8vIFJlLWV4cG9ydCBtb2J4IG9wZXJhdG9ycyB0byBiZSBhYmxlIHRvIHVzZSBpbnNpZGUgY29tcG9uZW50cyB3aXRoIEFPVDpcclxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkludGVybmFsKC4uLmFyZ3MpIHtcclxuICByZXR1cm4gKG1vYnhBY3Rpb24gYXMgYW55KSguLi5hcmdzKTtcclxufVxyXG5leHBvcnQgY29uc3QgYWN0aW9uOiB0eXBlb2YgbW9ieEFjdGlvbiA9IE9iamVjdC5hc3NpZ24oXHJcbiAgYWN0aW9uSW50ZXJuYWwsXHJcbiAgbW9ieEFjdGlvblxyXG4pIGFzIGFueTtcclxuXHJcbmZ1bmN0aW9uIGNvbXB1dGVkSW50ZXJuYWwoLi4uYXJncykge1xyXG4gIHJldHVybiAobW9ieENvbXB1dGVkIGFzIGFueSkoLi4uYXJncyk7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGNvbXB1dGVkOiB0eXBlb2YgbW9ieENvbXB1dGVkID0gT2JqZWN0LmFzc2lnbihcclxuICBjb21wdXRlZEludGVybmFsLFxyXG4gIG1vYnhDb21wdXRlZFxyXG4pIGFzIGFueTtcclxuXHJcbmZ1bmN0aW9uIG9ic2VydmFibGVJbnRlcm5hbCguLi5hcmdzKSB7XHJcbiAgcmV0dXJuIChtb2J4T2JzZXJ2YWJsZSBhcyBhbnkpKC4uLmFyZ3MpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3Qgb2JzZXJ2YWJsZTogdHlwZW9mIG1vYnhPYnNlcnZhYmxlID0gT2JqZWN0LmFzc2lnbihcclxuICBvYnNlcnZhYmxlSW50ZXJuYWwsXHJcbiAgbW9ieE9ic2VydmFibGVcclxuKSBhcyBhbnk7XHJcbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { autorun } from 'mobx';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class TreeMobxAutorunDirective {
|
|
5
|
+
constructor(templateRef, viewContainer) {
|
|
6
|
+
this.templateRef = templateRef;
|
|
7
|
+
this.viewContainer = viewContainer;
|
|
8
|
+
this.templateBindings = {};
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.view = this.viewContainer.createEmbeddedView(this.templateRef);
|
|
12
|
+
if (this.dispose) {
|
|
13
|
+
this.dispose();
|
|
14
|
+
}
|
|
15
|
+
if (this.shouldDetach()) {
|
|
16
|
+
this.view.detach();
|
|
17
|
+
}
|
|
18
|
+
this.autoDetect(this.view);
|
|
19
|
+
}
|
|
20
|
+
shouldDetach() {
|
|
21
|
+
return this.treeMobxAutorun && this.treeMobxAutorun.detach;
|
|
22
|
+
}
|
|
23
|
+
autoDetect(view) {
|
|
24
|
+
this.dispose = autorun(() => view.detectChanges());
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
if (this.dispose) {
|
|
28
|
+
this.dispose();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeMobxAutorunDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
32
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: TreeMobxAutorunDirective, selector: "[treeMobxAutorun]", inputs: { treeMobxAutorun: "treeMobxAutorun" }, ngImport: i0 }); }
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeMobxAutorunDirective, decorators: [{
|
|
35
|
+
type: Directive,
|
|
36
|
+
args: [{ selector: '[treeMobxAutorun]' }]
|
|
37
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { treeMobxAutorun: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1tb2J4LWF1dG9ydW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vYngtYW5ndWxhci90cmVlLW1vYngtYXV0b3J1bi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFLVCxLQUFLLEVBRU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxZQUNZLFdBQTZCLEVBQzdCLGFBQStCO1FBRC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFQakMscUJBQWdCLEdBQUcsRUFBRSxDQUFDO0lBUTdCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVwRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDN0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUEwQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztpSUFwQ1Usd0JBQXdCO3FIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUU7K0dBS2pDLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgSW5wdXQsXHJcbiAgRW1iZWRkZWRWaWV3UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGF1dG9ydW4gfSBmcm9tICdtb2J4JztcclxuXHJcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1t0cmVlTW9ieEF1dG9ydW5dJyB9KVxyXG5leHBvcnQgY2xhc3MgVHJlZU1vYnhBdXRvcnVuRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByb3RlY3RlZCB0ZW1wbGF0ZUJpbmRpbmdzID0ge307XHJcbiAgcHJvdGVjdGVkIGRpc3Bvc2U6IGFueTtcclxuICBwcm90ZWN0ZWQgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT47XHJcbiAgQElucHV0KCkgdHJlZU1vYnhBdXRvcnVuO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcclxuICAgIHByb3RlY3RlZCB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudmlldyA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XHJcblxyXG4gICAgaWYgKHRoaXMuZGlzcG9zZSkge1xyXG4gICAgICB0aGlzLmRpc3Bvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5zaG91bGREZXRhY2goKSkge1xyXG4gICAgICB0aGlzLnZpZXcuZGV0YWNoKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmF1dG9EZXRlY3QodGhpcy52aWV3KTtcclxuICB9XHJcblxyXG4gIHNob3VsZERldGFjaCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRyZWVNb2J4QXV0b3J1biAmJiB0aGlzLnRyZWVNb2J4QXV0b3J1bi5kZXRhY2g7XHJcbiAgfVxyXG5cclxuICBhdXRvRGV0ZWN0KHZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+KSB7XHJcbiAgICB0aGlzLmRpc3Bvc2UgPSBhdXRvcnVuKCgpID0+IHZpZXcuZGV0ZWN0Q2hhbmdlcygpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuZGlzcG9zZSkge1xyXG4gICAgICB0aGlzLmRpc3Bvc2UoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class TreeDraggedElement {
|
|
4
|
-
constructor() {
|
|
5
|
-
this._draggedElement = null;
|
|
6
|
-
}
|
|
7
|
-
set(draggedElement) {
|
|
8
|
-
this._draggedElement = draggedElement;
|
|
9
|
-
}
|
|
10
|
-
get() {
|
|
11
|
-
return this._draggedElement;
|
|
12
|
-
}
|
|
13
|
-
isDragging() {
|
|
14
|
-
return !!this.get();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/** @nocollapse */
|
|
18
|
-
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
20
|
-
type: Injectable,
|
|
21
|
-
args: [{
|
|
22
|
-
providedIn: 'root'
|
|
23
|
-
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class TreeDraggedElement {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._draggedElement = null;
|
|
6
|
+
}
|
|
7
|
+
set(draggedElement) {
|
|
8
|
+
this._draggedElement = draggedElement;
|
|
9
|
+
}
|
|
10
|
+
get() {
|
|
11
|
+
return this._draggedElement;
|
|
12
|
+
}
|
|
13
|
+
isDragging() {
|
|
14
|
+
return !!this.get();
|
|
15
|
+
}
|
|
16
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeDraggedElement, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeDraggedElement, providedIn: 'root' }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TreeDraggedElement, decorators: [{
|
|
20
|
+
type: Injectable,
|
|
21
|
+
args: [{
|
|
22
|
+
providedIn: 'root'
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1kcmFnZ2VkLWVsZW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kZWxzL3RyZWUtZHJhZ2dlZC1lbGVtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJRSxvQkFBZSxHQUFRLElBQUksQ0FBQztLQWE3QjtJQVhDLEdBQUcsQ0FBQyxjQUFtQjtRQUNyQixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsR0FBRztRQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO2lJQWJVLGtCQUFrQjtxSUFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmVlRHJhZ2dlZEVsZW1lbnQge1xyXG4gIF9kcmFnZ2VkRWxlbWVudDogYW55ID0gbnVsbDtcclxuXHJcbiAgc2V0KGRyYWdnZWRFbGVtZW50OiBhbnkpIHtcclxuICAgIHRoaXMuX2RyYWdnZWRFbGVtZW50ID0gZHJhZ2dlZEVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBnZXQoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9kcmFnZ2VkRWxlbWVudDtcclxuICB9XHJcblxyXG4gIGlzRHJhZ2dpbmcoKSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmdldCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|