@limble/limble-tree 1.0.0-alpha.1 → 1.0.0-beta.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/README.md +450 -17
- package/esm2020/lib/components/branch/branch.component.mjs +7 -15
- package/esm2020/lib/components/dropzone/dropzone.component.mjs +2 -2
- package/esm2020/lib/components/root/root.component.mjs +3 -4
- package/esm2020/lib/core/branch-options.interface.mjs +1 -1
- package/esm2020/lib/core/configuration/configuration.mjs +1 -1
- package/esm2020/lib/core/configuration/tree-options.interface.mjs +1 -1
- package/esm2020/lib/core/index.mjs +1 -2
- package/esm2020/lib/core/relationship.interface.mjs +1 -1
- package/esm2020/lib/core/tree-branch/branch-controller.mjs +99 -0
- package/esm2020/lib/core/tree-branch/tree-branch.mjs +260 -106
- package/esm2020/lib/core/tree-node-base.mjs +10 -9
- package/esm2020/lib/core/tree-root/root-controller.mjs +42 -0
- package/esm2020/lib/core/tree-root/tree-root.mjs +138 -27
- package/esm2020/lib/core/tree-service/tree.service.mjs +7 -1
- package/esm2020/lib/events/drag/drag-end-event.mjs +9 -7
- package/esm2020/lib/events/drag/drag-start-event.mjs +2 -4
- package/esm2020/lib/events/drag/drop-event.mjs +2 -4
- package/esm2020/lib/events/general/destruction-event.mjs +10 -0
- package/esm2020/lib/events/general/index.mjs +2 -0
- package/esm2020/lib/events/index.mjs +2 -1
- package/esm2020/lib/events/relational/graft-event.mjs +2 -4
- package/esm2020/lib/events/relational/prune-event.mjs +2 -4
- package/esm2020/lib/events/relational/relational-tree-event.interface.mjs +1 -1
- package/esm2020/lib/extras/collapse/collapse.mjs +2 -2
- package/esm2020/lib/extras/collapse/collapse.module.mjs +2 -1
- package/esm2020/lib/extras/collapse/collapse.service.mjs +26 -1
- package/esm2020/lib/extras/drag-and-drop/drag-and-drop.mjs +6 -10
- package/esm2020/lib/extras/drag-and-drop/drag-and-drop.module.mjs +5 -1
- package/esm2020/lib/extras/drag-and-drop/drag-and-drop.service.mjs +21 -5
- package/esm2020/lib/extras/drag-and-drop/draggable.directive.mjs +7 -7
- package/esm2020/lib/extras/drag-and-drop/dragover-no-change-detect.mjs +10 -11
- package/esm2020/lib/extras/drag-and-drop/dropzone-renderer.mjs +9 -7
- package/esm2020/lib/legacy/legacy-component-obj.interface.mjs +1 -1
- package/esm2020/lib/legacy/legacy-tree-data.interface.mjs +1 -1
- package/esm2020/lib/legacy/legacy-tree-options.interface.mjs +1 -1
- package/esm2020/lib/legacy/legacy-tree.mjs +30 -30
- package/esm2020/lib/legacy/limble-tree-root/limble-tree-root.component.mjs +1 -1
- package/esm2020/lib/limble-tree.module.mjs +6 -2
- package/esm2020/lib/structure/branchable.interface.mjs +1 -1
- package/esm2020/lib/structure/component-container.interface.mjs +2 -0
- package/esm2020/lib/structure/index.mjs +2 -5
- package/esm2020/lib/structure/tree-branch-node.interface.mjs +1 -1
- package/esm2020/lib/structure/tree-event.interface.mjs +1 -1
- package/esm2020/lib/structure/tree-node.interface.mjs +1 -1
- package/esm2020/lib/structure/tree-relationship.interface.mjs +1 -1
- package/fesm2015/limble-limble-tree.mjs +821 -376
- package/fesm2015/limble-limble-tree.mjs.map +1 -1
- package/fesm2020/limble-limble-tree.mjs +819 -372
- package/fesm2020/limble-limble-tree.mjs.map +1 -1
- package/lib/core/branch-options.interface.d.ts +1 -1
- package/lib/core/configuration/configuration.d.ts +2 -2
- package/lib/core/configuration/tree-options.interface.d.ts +48 -29
- package/lib/core/index.d.ts +0 -1
- package/lib/core/relationship.interface.d.ts +2 -3
- package/lib/core/tree-branch/branch-controller.d.ts +25 -0
- package/lib/core/tree-branch/tree-branch.d.ts +199 -24
- package/lib/core/tree-node-base.d.ts +4 -5
- package/lib/core/tree-root/root-controller.d.ts +19 -0
- package/lib/core/tree-root/tree-root.d.ts +109 -14
- package/lib/core/tree-service/tree.service.d.ts +8 -2
- package/lib/events/drag/drag-end-event.d.ts +15 -13
- package/lib/events/drag/drag-start-event.d.ts +6 -5
- package/lib/events/drag/drop-event.d.ts +7 -10
- package/lib/events/general/destruction-event.d.ts +8 -0
- package/lib/events/general/index.d.ts +1 -0
- package/lib/events/index.d.ts +1 -0
- package/lib/events/relational/graft-event.d.ts +5 -6
- package/lib/events/relational/prune-event.d.ts +5 -6
- package/lib/events/relational/relational-tree-event.interface.d.ts +5 -1
- package/lib/extras/collapse/collapse.module.d.ts +1 -0
- package/lib/extras/collapse/collapse.service.d.ts +25 -0
- package/lib/extras/drag-and-drop/drag-and-drop.d.ts +2 -3
- package/lib/extras/drag-and-drop/drag-and-drop.module.d.ts +4 -0
- package/lib/extras/drag-and-drop/drag-and-drop.service.d.ts +22 -3
- package/lib/extras/drag-and-drop/draggable.directive.d.ts +4 -5
- package/lib/extras/drag-and-drop/dragover-no-change-detect.d.ts +7 -3
- package/lib/legacy/legacy-component-obj.interface.d.ts +1 -1
- package/lib/legacy/legacy-tree-data.interface.d.ts +1 -1
- package/lib/legacy/legacy-tree-options.interface.d.ts +2 -2
- package/lib/legacy/legacy-tree.d.ts +4 -4
- package/lib/legacy/limble-tree-root/limble-tree-root.component.d.ts +4 -4
- package/lib/limble-tree.module.d.ts +4 -0
- package/lib/structure/branchable.interface.d.ts +0 -1
- package/lib/structure/component-container.interface.d.ts +8 -0
- package/lib/structure/index.d.ts +1 -4
- package/lib/structure/tree-branch-node.interface.d.ts +3 -3
- package/lib/structure/tree-event.interface.d.ts +3 -3
- package/lib/structure/tree-node.interface.d.ts +11 -6
- package/lib/structure/tree-relationship.interface.d.ts +2 -2
- package/package.json +1 -1
- package/esm2020/lib/structure/container-tree-node.interface.mjs +0 -2
- package/esm2020/lib/structure/content-container.interface.mjs +0 -2
- package/esm2020/lib/structure/event-conduit.interface.mjs +0 -2
- package/esm2020/lib/structure/tree-root.node.interface.mjs +0 -2
- package/lib/structure/container-tree-node.interface.d.ts +0 -3
- package/lib/structure/content-container.interface.d.ts +0 -3
- package/lib/structure/event-conduit.interface.d.ts +0 -6
- package/lib/structure/tree-root.node.interface.d.ts +0 -2
|
@@ -4,6 +4,7 @@ import { GraftEvent } from "../events/relational/graft-event";
|
|
|
4
4
|
import { PruneEvent } from "../events/relational/prune-event";
|
|
5
5
|
export class TreeNodeBase {
|
|
6
6
|
constructor() {
|
|
7
|
+
this.destroyed = false;
|
|
7
8
|
this._branches = [];
|
|
8
9
|
this.events$ = new Subject();
|
|
9
10
|
this.subscriptions = [
|
|
@@ -18,17 +19,14 @@ export class TreeNodeBase {
|
|
|
18
19
|
branches() {
|
|
19
20
|
return [...this._branches];
|
|
20
21
|
}
|
|
21
|
-
deleteBranch(index) {
|
|
22
|
-
if (index === undefined) {
|
|
23
|
-
this._branches.pop();
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
this._branches.splice(index, 1);
|
|
27
|
-
}
|
|
28
22
|
destroy() {
|
|
23
|
+
this.branches().forEach((branch) => {
|
|
24
|
+
branch.destroy();
|
|
25
|
+
});
|
|
29
26
|
this.subscriptions.forEach((sub) => {
|
|
30
27
|
sub.unsubscribe();
|
|
31
28
|
});
|
|
29
|
+
this.destroyed = true;
|
|
32
30
|
}
|
|
33
31
|
dispatch(event) {
|
|
34
32
|
this.events$.next(event);
|
|
@@ -39,6 +37,9 @@ export class TreeNodeBase {
|
|
|
39
37
|
getBranch(index) {
|
|
40
38
|
return this._branches[index];
|
|
41
39
|
}
|
|
40
|
+
isDestroyed() {
|
|
41
|
+
return this.destroyed;
|
|
42
|
+
}
|
|
42
43
|
plot() {
|
|
43
44
|
return new Map(this.branches().map((branch, index) => [index, branch.plot()]));
|
|
44
45
|
}
|
|
@@ -49,7 +50,7 @@ export class TreeNodeBase {
|
|
|
49
50
|
}
|
|
50
51
|
deregisterChildRelationship(child) {
|
|
51
52
|
const index = this.branches().findIndex((branch) => branch === child);
|
|
52
|
-
this.
|
|
53
|
+
this._branches.splice(index, 1);
|
|
53
54
|
}
|
|
54
55
|
graftsToSelf() {
|
|
55
56
|
return this.events().pipe(filter((event) => event instanceof GraftEvent), filter((event) => event.parent().events() === this.events$));
|
|
@@ -65,4 +66,4 @@ export class TreeNodeBase {
|
|
|
65
66
|
this._branches.splice(index, 0, child);
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2NvcmUvdHJlZS1ub2RlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU85RCxNQUFNLE9BQU8sWUFBWTtJQVF0QjtRQUhRLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFJaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQztTQUNKLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNaLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sT0FBTztRQUNYLElBQUks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Q0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBHcmFmdEV2ZW50IH0gZnJvbSBcIi4uL2V2ZW50cy9yZWxhdGlvbmFsL2dyYWZ0LWV2ZW50XCI7XG5pbXBvcnQgeyBQcnVuZUV2ZW50IH0gZnJvbSBcIi4uL2V2ZW50cy9yZWxhdGlvbmFsL3BydW5lLWV2ZW50XCI7XG5pbXBvcnQgeyBUcmVlRXZlbnQgfSBmcm9tIFwiLi4vc3RydWN0dXJlL3RyZWUtZXZlbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gXCIuLi9zdHJ1Y3R1cmUvdHJlZS1ub2RlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZVBsb3QgfSBmcm9tIFwiLi4vc3RydWN0dXJlL3RyZWUtcGxvdFwiO1xuaW1wb3J0IHsgUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4vcmVsYXRpb25zaGlwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZUJyYW5jaCB9IGZyb20gXCIuL3RyZWUtYnJhbmNoL3RyZWUtYnJhbmNoXCI7XG5cbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUJhc2U8VXNlcmxhbmRDb21wb25lbnQ+XG4gICBpbXBsZW1lbnRzIFBhcnRpYWw8VHJlZU5vZGU8VHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4sIE5vZGVDb21wb25lbnQ+Plxue1xuICAgcHJpdmF0ZSByZWFkb25seSBfYnJhbmNoZXM6IEFycmF5PFRyZWVCcmFuY2g8VXNlcmxhbmRDb21wb25lbnQ+PjtcbiAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRzJDogU3ViamVjdDxUcmVlRXZlbnQ+O1xuICAgcHJpdmF0ZSBkZXN0cm95ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPjtcblxuICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgdGhpcy5fYnJhbmNoZXMgPSBbXTtcbiAgICAgIHRoaXMuZXZlbnRzJCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXG4gICAgICAgICB0aGlzLmdyYWZ0c1RvU2VsZigpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJDaGlsZFJlbGF0aW9uc2hpcChldmVudC5jaGlsZCgpLCBldmVudC5pbmRleCgpKTtcbiAgICAgICAgIH0pLFxuICAgICAgICAgdGhpcy5wcnVuZXNUb1NlbGYoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRlcmVnaXN0ZXJDaGlsZFJlbGF0aW9uc2hpcChldmVudC5jaGlsZCgpKTtcbiAgICAgICAgIH0pXG4gICAgICBdO1xuICAgfVxuXG4gICBwdWJsaWMgYnJhbmNoZXMoKTogQXJyYXk8VHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4+IHtcbiAgICAgIHJldHVybiBbLi4udGhpcy5fYnJhbmNoZXNdO1xuICAgfVxuXG4gICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuYnJhbmNoZXMoKS5mb3JFYWNoKChicmFuY2gpID0+IHtcbiAgICAgICAgIGJyYW5jaC5kZXN0cm95KCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWIpID0+IHtcbiAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XG4gICB9XG5cbiAgIHB1YmxpYyBkaXNwYXRjaChldmVudDogVHJlZUV2ZW50KTogdm9pZCB7XG4gICAgICB0aGlzLmV2ZW50cyQubmV4dChldmVudCk7XG4gICB9XG5cbiAgIHB1YmxpYyBldmVudHMoKTogT2JzZXJ2YWJsZTxUcmVlRXZlbnQ+IHtcbiAgICAgIHJldHVybiB0aGlzLmV2ZW50cyQ7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRCcmFuY2goaW5kZXg6IG51bWJlcik6IFRyZWVCcmFuY2g8VXNlcmxhbmRDb21wb25lbnQ+IHwgdW5kZWZpbmVkIHtcbiAgICAgIHJldHVybiB0aGlzLl9icmFuY2hlc1tpbmRleF07XG4gICB9XG5cbiAgIHB1YmxpYyBpc0Rlc3Ryb3llZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLmRlc3Ryb3llZDtcbiAgIH1cblxuICAgcHVibGljIHBsb3QoKTogVHJlZVBsb3Qge1xuICAgICAgcmV0dXJuIG5ldyBNYXAoXG4gICAgICAgICB0aGlzLmJyYW5jaGVzKCkubWFwKChicmFuY2gsIGluZGV4KSA9PiBbaW5kZXgsIGJyYW5jaC5wbG90KCldKVxuICAgICAgKTtcbiAgIH1cblxuICAgcHVibGljIHRyYXZlcnNlKFxuICAgICAgY2FsbGJhY2s6IChcbiAgICAgICAgIG5vZGU6IFRyZWVOb2RlPFRyZWVCcmFuY2g8VXNlcmxhbmRDb21wb25lbnQ+LCBOb2RlQ29tcG9uZW50PlxuICAgICAgKSA9PiB2b2lkXG4gICApOiB2b2lkIHtcbiAgICAgIHRoaXMuYnJhbmNoZXMoKS5mb3JFYWNoKChicmFuY2gpID0+IHtcbiAgICAgICAgIGJyYW5jaC50cmF2ZXJzZShjYWxsYmFjayk7XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHJpdmF0ZSBkZXJlZ2lzdGVyQ2hpbGRSZWxhdGlvbnNoaXAoXG4gICAgICBjaGlsZDogVHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD5cbiAgICk6IHZvaWQge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmJyYW5jaGVzKCkuZmluZEluZGV4KChicmFuY2gpID0+IGJyYW5jaCA9PT0gY2hpbGQpO1xuICAgICAgdGhpcy5fYnJhbmNoZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBncmFmdHNUb1NlbGYoKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdyYWZ0RXZlbnQ8UmVsYXRpb25zaGlwPFVzZXJsYW5kQ29tcG9uZW50Pj5cbiAgID4ge1xuICAgICAgcmV0dXJuIHRoaXMuZXZlbnRzKCkucGlwZShcbiAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChldmVudCk6IGV2ZW50IGlzIEdyYWZ0RXZlbnQ8UmVsYXRpb25zaGlwPFVzZXJsYW5kQ29tcG9uZW50Pj4gPT5cbiAgICAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgR3JhZnRFdmVudFxuICAgICAgICAgKSxcbiAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnBhcmVudCgpLmV2ZW50cygpID09PSB0aGlzLmV2ZW50cyQpXG4gICAgICApO1xuICAgfVxuXG4gICBwcml2YXRlIHBydW5lc1RvU2VsZigpOiBPYnNlcnZhYmxlPFxuICAgICAgUHJ1bmVFdmVudDxSZWxhdGlvbnNoaXA8VXNlcmxhbmRDb21wb25lbnQ+PlxuICAgPiB7XG4gICAgICByZXR1cm4gdGhpcy5ldmVudHMoKS5waXBlKFxuICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgKGV2ZW50KTogZXZlbnQgaXMgUHJ1bmVFdmVudDxSZWxhdGlvbnNoaXA8VXNlcmxhbmRDb21wb25lbnQ+PiA9PlxuICAgICAgICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBQcnVuZUV2ZW50XG4gICAgICAgICApLFxuICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQucGFyZW50KCkuZXZlbnRzKCkgPT09IHRoaXMuZXZlbnRzJClcbiAgICAgICk7XG4gICB9XG5cbiAgIHByaXZhdGUgcmVnaXN0ZXJDaGlsZFJlbGF0aW9uc2hpcChcbiAgICAgIGNoaWxkOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PixcbiAgICAgIGluZGV4OiBudW1iZXJcbiAgICk6IHZvaWQge1xuICAgICAgY29uc3QgYnJhbmNoZXMgPSB0aGlzLmJyYW5jaGVzKCk7XG4gICAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gYnJhbmNoZXMubGVuZ3RoKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgYENhbid0IHJlZ2lzdGVyIGNoaWxkIGF0IGluZGV4ICR7aW5kZXh9LiBPdXQgb2YgcmFuZ2UuYFxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2JyYW5jaGVzLnNwbGljZShpbmRleCwgMCwgY2hpbGQpO1xuICAgfVxufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { assert } from "../../../shared/assert";
|
|
2
|
+
import { RootComponent } from "../../components/root/root.component";
|
|
3
|
+
import { dropzoneRenderer } from "../../extras/drag-and-drop/dropzone-renderer";
|
|
4
|
+
/**
|
|
5
|
+
* A wrapper around the BranchComponent that helps instantiate it and handles its events.
|
|
6
|
+
*/
|
|
7
|
+
export class RootController {
|
|
8
|
+
constructor(treeRoot, viewContainerRef) {
|
|
9
|
+
this.treeRoot = treeRoot;
|
|
10
|
+
this.rootComponentRef = viewContainerRef.createComponent(RootComponent);
|
|
11
|
+
const viewInitSub = this.rootComponentRef.instance.afterViewInit.subscribe(() => {
|
|
12
|
+
const dropzone = this.rootComponentRef.instance.dropzone;
|
|
13
|
+
assert(dropzone !== undefined);
|
|
14
|
+
dropzoneRenderer.registerDropzone(dropzone, this.treeRoot);
|
|
15
|
+
});
|
|
16
|
+
const droppedSub = this.rootComponentRef.instance.dropped.subscribe(() => {
|
|
17
|
+
dropzoneRenderer.handleDrop(this.treeRoot, "inner");
|
|
18
|
+
});
|
|
19
|
+
this.instanceSubscriptions = [viewInitSub, droppedSub];
|
|
20
|
+
}
|
|
21
|
+
destroy() {
|
|
22
|
+
this.instanceSubscriptions.forEach((sub) => {
|
|
23
|
+
sub.unsubscribe();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
detectChanges() {
|
|
27
|
+
this.rootComponentRef.changeDetectorRef.detectChanges();
|
|
28
|
+
}
|
|
29
|
+
getBranchesContainer() {
|
|
30
|
+
return this.rootComponentRef.instance.branchesContainer;
|
|
31
|
+
}
|
|
32
|
+
getComponentInstance() {
|
|
33
|
+
return this.rootComponentRef.instance;
|
|
34
|
+
}
|
|
35
|
+
getHostView() {
|
|
36
|
+
return this.rootComponentRef.hostView;
|
|
37
|
+
}
|
|
38
|
+
getNativeElement() {
|
|
39
|
+
return this.rootComponentRef.location.nativeElement;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1jb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb3JlL3RyZWUtcm9vdC9yb290LWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUloRjs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBSXhCLFlBQ29CLFFBQXFCLEVBQ3RDLGdCQUFrQztRQURqQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBR3RDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEUsTUFBTSxXQUFXLEdBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUN6RCxNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDLENBQUM7UUFDTixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQ2hFLEdBQUcsRUFBRTtZQUNGLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxPQUFPO1FBQ1gsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTSxhQUFhO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRU0sb0JBQW9CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztJQUMzRCxDQUFDO0lBRU0sb0JBQW9CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRU0sV0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztJQUN6QyxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBWaWV3UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGFzc2VydCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvYXNzZXJ0XCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUm9vdENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3Jvb3Qvcm9vdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IGRyb3B6b25lUmVuZGVyZXIgfSBmcm9tIFwiLi4vLi4vZXh0cmFzL2RyYWctYW5kLWRyb3AvZHJvcHpvbmUtcmVuZGVyZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudENvbnRhaW5lciB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmVcIjtcbmltcG9ydCB7IFRyZWVSb290IH0gZnJvbSBcIi4vdHJlZS1yb290XCI7XG5cbi8qKlxuICogQSB3cmFwcGVyIGFyb3VuZCB0aGUgQnJhbmNoQ29tcG9uZW50IHRoYXQgaGVscHMgaW5zdGFudGlhdGUgaXQgYW5kIGhhbmRsZXMgaXRzIGV2ZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvb3RDb250cm9sbGVyPFQ+IGltcGxlbWVudHMgQ29tcG9uZW50Q29udGFpbmVyPFJvb3RDb21wb25lbnQ+IHtcbiAgIHByaXZhdGUgcmVhZG9ubHkgcm9vdENvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFJvb3RDb21wb25lbnQ+O1xuICAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZVN1YnNjcmlwdGlvbnM6IEFycmF5PFN1YnNjcmlwdGlvbj47XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJlZVJvb3Q6IFRyZWVSb290PFQ+LFxuICAgICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICAgKSB7XG4gICAgICB0aGlzLnJvb3RDb21wb25lbnRSZWYgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChSb290Q29tcG9uZW50KTtcbiAgICAgIGNvbnN0IHZpZXdJbml0U3ViID1cbiAgICAgICAgIHRoaXMucm9vdENvbXBvbmVudFJlZi5pbnN0YW5jZS5hZnRlclZpZXdJbml0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkcm9wem9uZSA9IHRoaXMucm9vdENvbXBvbmVudFJlZi5pbnN0YW5jZS5kcm9wem9uZTtcbiAgICAgICAgICAgIGFzc2VydChkcm9wem9uZSAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGRyb3B6b25lUmVuZGVyZXIucmVnaXN0ZXJEcm9wem9uZShkcm9wem9uZSwgdGhpcy50cmVlUm9vdCk7XG4gICAgICAgICB9KTtcbiAgICAgIGNvbnN0IGRyb3BwZWRTdWIgPSB0aGlzLnJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuZHJvcHBlZC5zdWJzY3JpYmUoXG4gICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBkcm9wem9uZVJlbmRlcmVyLmhhbmRsZURyb3AodGhpcy50cmVlUm9vdCwgXCJpbm5lclwiKTtcbiAgICAgICAgIH1cbiAgICAgICk7XG4gICAgICB0aGlzLmluc3RhbmNlU3Vic2NyaXB0aW9ucyA9IFt2aWV3SW5pdFN1YiwgZHJvcHBlZFN1Yl07XG4gICB9XG5cbiAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgdGhpcy5pbnN0YW5jZVN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3ViKSA9PiB7XG4gICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgfVxuXG4gICBwdWJsaWMgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgIHRoaXMucm9vdENvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRCcmFuY2hlc0NvbnRhaW5lcigpOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkIHtcbiAgICAgIHJldHVybiB0aGlzLnJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuYnJhbmNoZXNDb250YWluZXI7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRDb21wb25lbnRJbnN0YW5jZSgpOiBSb290Q29tcG9uZW50IHtcbiAgICAgIHJldHVybiB0aGlzLnJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRIb3N0VmlldygpOiBWaWV3UmVmIHtcbiAgICAgIHJldHVybiB0aGlzLnJvb3RDb21wb25lbnRSZWYuaG9zdFZpZXc7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXROYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgIHJldHVybiB0aGlzLnJvb3RDb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -1,69 +1,180 @@
|
|
|
1
1
|
import { TreeBranch } from "../tree-branch/tree-branch";
|
|
2
|
-
import { RootComponent } from "../../components/root/root.component";
|
|
3
2
|
import { TreeNodeBase } from "../tree-node-base";
|
|
4
3
|
import { dropzoneRenderer } from "../../extras/drag-and-drop/dropzone-renderer";
|
|
5
4
|
import { config } from "../configuration/configuration";
|
|
5
|
+
import { TreeError } from "../../errors";
|
|
6
|
+
import { DestructionEvent } from "../../events";
|
|
7
|
+
import { RootController } from "./root-controller";
|
|
8
|
+
/**
|
|
9
|
+
* Represents the base of the tree. It renders a very simple container for child
|
|
10
|
+
* branches. It has methods for creating and accessing those branches. It emits
|
|
11
|
+
* events when things happen in the tree.
|
|
12
|
+
*/
|
|
6
13
|
export class TreeRoot {
|
|
7
14
|
constructor(viewContainerRef) {
|
|
8
15
|
this.viewContainerRef = viewContainerRef;
|
|
9
16
|
this.treeNodeBase = new TreeNodeBase();
|
|
10
|
-
this.
|
|
11
|
-
|
|
12
|
-
const viewInitSub = this.rootComponentRef.instance.afterViewInit.subscribe(() => {
|
|
13
|
-
const dropzone = this.rootComponentRef.instance.dropzone;
|
|
14
|
-
if (!dropzone) {
|
|
15
|
-
throw new Error("dropzone not defined");
|
|
16
|
-
}
|
|
17
|
-
dropzoneRenderer.registerDropzone(dropzone, this);
|
|
18
|
-
});
|
|
19
|
-
const droppedSub = this.rootComponentRef.instance.dropped.subscribe(() => {
|
|
20
|
-
dropzoneRenderer.handleDrop(this, "inner");
|
|
21
|
-
});
|
|
22
|
-
this.instanceSubscriptions = [viewInitSub, droppedSub];
|
|
23
|
-
this.rootComponentRef.changeDetectorRef.detectChanges();
|
|
17
|
+
this.rootController = new RootController(this, viewContainerRef);
|
|
18
|
+
this.detectChanges();
|
|
24
19
|
}
|
|
20
|
+
/** @returns All child branches as an array of TreeBranch instances */
|
|
25
21
|
branches() {
|
|
26
22
|
return this.treeNodeBase.branches();
|
|
27
23
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Recursively destroys all branches of the tree, as well as itself.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* This releases all resources held or consumed by the tree.
|
|
29
|
+
*
|
|
30
|
+
* It is important to call this method when a tree is discarded, otherwise
|
|
31
|
+
* the tree will remain in memory and continue to consume resources.
|
|
32
|
+
*/
|
|
31
33
|
destroy() {
|
|
34
|
+
if (this.isDestroyed()) {
|
|
35
|
+
throw new TreeError("Cannot destroy a destroyed tree root");
|
|
36
|
+
}
|
|
32
37
|
dropzoneRenderer.clearTreeFromRegistry(this);
|
|
33
|
-
this.branches().forEach((branch) => {
|
|
34
|
-
branch.destroy();
|
|
35
|
-
});
|
|
36
38
|
this.treeNodeBase.destroy();
|
|
37
|
-
this.
|
|
38
|
-
sub.unsubscribe();
|
|
39
|
-
});
|
|
39
|
+
this.rootController.destroy();
|
|
40
40
|
this.viewContainerRef.clear();
|
|
41
41
|
config.delete(this);
|
|
42
|
+
this.dispatch(new DestructionEvent(this));
|
|
43
|
+
}
|
|
44
|
+
/** Run Angular change detection on the root of the tree */
|
|
45
|
+
detectChanges() {
|
|
46
|
+
this.rootController.detectChanges();
|
|
42
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Emits the specified TreeEvent.
|
|
50
|
+
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* Caution: It is not recommended to manually emit TreeEvents that are already
|
|
53
|
+
* provided by the library. For example, it is not recommended to emit a
|
|
54
|
+
* `GraftEvent`, `DestructionEvent`, etc. These events may be used by the tree,
|
|
55
|
+
* and emitting them manually may cause unexpected behavior. Instead, we
|
|
56
|
+
* recommend implementing the TreeEvent interface with your own custom events
|
|
57
|
+
* and dispatching those.
|
|
58
|
+
*
|
|
59
|
+
* @param event - The TreeEvent that will be emitted.
|
|
60
|
+
*/
|
|
43
61
|
dispatch(event) {
|
|
44
62
|
this.treeNodeBase.dispatch(event);
|
|
45
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* @returns
|
|
66
|
+
* An observable that emits TreeEvents whenever an event is dispatched
|
|
67
|
+
* in the root or any of its descendant branches.
|
|
68
|
+
*/
|
|
46
69
|
events() {
|
|
47
70
|
return this.treeNodeBase.events();
|
|
48
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* @returns
|
|
74
|
+
* The child branch at the specified index, or undefined if there is
|
|
75
|
+
* no child branch at the specified index.
|
|
76
|
+
*/
|
|
49
77
|
getBranch(index) {
|
|
50
78
|
return this.treeNodeBase.getBranch(index);
|
|
51
79
|
}
|
|
52
|
-
|
|
53
|
-
|
|
80
|
+
/** @returns The ViewContainerRef in which child branches are rendered */
|
|
81
|
+
getBranchesContainer() {
|
|
82
|
+
if (this.isDestroyed()) {
|
|
83
|
+
throw new TreeError("Cannot get branches container from a destroyed tree root");
|
|
84
|
+
}
|
|
85
|
+
return this.rootController.getBranchesContainer();
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Retrieves the RootComponent.
|
|
89
|
+
*
|
|
90
|
+
* @remarks
|
|
91
|
+
* The RootComponent holds the BranchesContainer, as well as a single Dropzone
|
|
92
|
+
* for drag-and-drop operations.
|
|
93
|
+
*
|
|
94
|
+
* @returns The instance of RootComponent that is rendered by this class.
|
|
95
|
+
*/
|
|
96
|
+
getComponentInstance() {
|
|
97
|
+
if (this.isDestroyed()) {
|
|
98
|
+
throw new TreeError("Cannot get component instance from a destroyed tree root");
|
|
99
|
+
}
|
|
100
|
+
return this.rootController.getComponentInstance();
|
|
54
101
|
}
|
|
102
|
+
/** @returns The Host View in which the RootComponent is rendered */
|
|
103
|
+
getHostView() {
|
|
104
|
+
if (this.isDestroyed()) {
|
|
105
|
+
throw new TreeError("Cannot get component host view from a destroyed tree root");
|
|
106
|
+
}
|
|
107
|
+
return this.rootController.getHostView();
|
|
108
|
+
}
|
|
109
|
+
/** @returns The RootComponent as a native HTML Element */
|
|
110
|
+
getNativeElement() {
|
|
111
|
+
if (this.isDestroyed()) {
|
|
112
|
+
throw new TreeError("Cannot get native element from a destroyed tree root");
|
|
113
|
+
}
|
|
114
|
+
return this.rootController.getNativeElement();
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Appends a new child branch to this branch. The child branch will render
|
|
118
|
+
* the specified component according to the (optional) configuration parameter.
|
|
119
|
+
*
|
|
120
|
+
* @param component - The component to render in the new child branch.
|
|
121
|
+
* @param options - Configuration options for the new child branch.
|
|
122
|
+
*
|
|
123
|
+
* @returns
|
|
124
|
+
* The newly-created child branch.
|
|
125
|
+
*/
|
|
55
126
|
grow(component, options) {
|
|
127
|
+
if (this.isDestroyed()) {
|
|
128
|
+
throw new TreeError("Cannot grow a branch on a destroyed tree root");
|
|
129
|
+
}
|
|
56
130
|
return new TreeBranch(this, { component, ...options });
|
|
57
131
|
}
|
|
132
|
+
/** @returns `true` if the tree is destroyed, `false` otherwise */
|
|
133
|
+
isDestroyed() {
|
|
134
|
+
return this.treeNodeBase.isDestroyed();
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Provides a model describing the shape of the tree.
|
|
138
|
+
*
|
|
139
|
+
* @returns A multi-dimensional Map which describes the shape of the tree.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* For example, an empty tree will return an empty Map. A tree with a single
|
|
143
|
+
* branch will return a Map with a single entry, where the key is the index
|
|
144
|
+
* of the branch (zero) and the value is an empty Map. A Tree like this:
|
|
145
|
+
*
|
|
146
|
+
* ```
|
|
147
|
+
* ---Branch-------Branch
|
|
148
|
+
* /
|
|
149
|
+
* Root-------Branch
|
|
150
|
+
* \
|
|
151
|
+
* ---Branch
|
|
152
|
+
* ```
|
|
153
|
+
* Will return a Map of matching shape:
|
|
154
|
+
* ```
|
|
155
|
+
* Map {
|
|
156
|
+
* 0: Map { 0: Map {}},
|
|
157
|
+
* 1: Map {},
|
|
158
|
+
* 2: Map {}
|
|
159
|
+
* }
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
58
162
|
plot() {
|
|
59
163
|
return this.treeNodeBase.plot();
|
|
60
164
|
}
|
|
165
|
+
/** @returns Itself */
|
|
61
166
|
root() {
|
|
62
167
|
return this;
|
|
63
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Traverses the tree in depth-first pre-order, executing the provided
|
|
171
|
+
* callback function on each node. Traversal includes the Root.
|
|
172
|
+
*
|
|
173
|
+
* @param callback - A function to execute on each node.
|
|
174
|
+
*/
|
|
64
175
|
traverse(callback) {
|
|
65
176
|
callback(this);
|
|
66
177
|
this.treeNodeBase.traverse(callback);
|
|
67
178
|
}
|
|
68
179
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1yb290LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb3JlL3RyZWUtcm9vdC90cmVlLXJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFLakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhELE1BQU0sT0FBTyxRQUFRO0lBUWxCLFlBQW9DLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25FLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCO1lBQ2xCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsTUFBTSxXQUFXLEdBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQzthQUMxQztZQUNELGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUNOLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDaEUsR0FBRyxFQUFFO1lBQ0YsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVNLFFBQVE7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFjO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxPQUFPO1FBQ1gsZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2hDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBZ0I7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFdBQVc7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNoQyxDQUFDO0lBRU0sSUFBSSxDQUNSLFNBQWtDLEVBQ2xDLE9BQTBDO1FBRTFDLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sSUFBSSxDQUFDO0lBQ2YsQ0FBQztJQUVNLFFBQVEsQ0FDWixRQUtTO1FBRVQsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJlZVBsb3QgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlL3RyZWUtcGxvdFwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFRyZWVFdmVudCB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmUvdHJlZS1ldmVudC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRyZWVCcmFuY2ggfSBmcm9tIFwiLi4vdHJlZS1icmFuY2gvdHJlZS1icmFuY2hcIjtcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSb290Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvcm9vdC9yb290LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVHJlZU5vZGVCYXNlIH0gZnJvbSBcIi4uL3RyZWUtbm9kZS1iYXNlXCI7XG5pbXBvcnQgeyBUcmVlUm9vdE5vZGUgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlL3RyZWUtcm9vdC5ub2RlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyVHJlZU5vZGUgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlL2NvbnRhaW5lci10cmVlLW5vZGUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBCcmFuY2hPcHRpb25zIH0gZnJvbSBcIi4uL2JyYW5jaC1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgZHJvcHpvbmVSZW5kZXJlciB9IGZyb20gXCIuLi8uLi9leHRyYXMvZHJhZy1hbmQtZHJvcC9kcm9wem9uZS1yZW5kZXJlclwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvblwiO1xuXG5leHBvcnQgY2xhc3MgVHJlZVJvb3Q8VXNlcmxhbmRDb21wb25lbnQ+XG4gICBpbXBsZW1lbnRzXG4gICAgICBUcmVlUm9vdE5vZGU8Q29tcG9uZW50UmVmPFJvb3RDb21wb25lbnQ+LCBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50Pj5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgaW5zdGFuY2VTdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+O1xuICAgcHJpdmF0ZSByZWFkb25seSByb290Q29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Um9vdENvbXBvbmVudD47XG4gICBwcml2YXRlIHJlYWRvbmx5IHRyZWVOb2RlQmFzZTogVHJlZU5vZGVCYXNlPFVzZXJsYW5kQ29tcG9uZW50PjtcblxuICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UgPSBuZXcgVHJlZU5vZGVCYXNlKCk7XG4gICAgICB0aGlzLnJvb3RDb21wb25lbnRSZWYgPVxuICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChSb290Q29tcG9uZW50KTtcbiAgICAgIGNvbnN0IHZpZXdJbml0U3ViID1cbiAgICAgICAgIHRoaXMucm9vdENvbXBvbmVudFJlZi5pbnN0YW5jZS5hZnRlclZpZXdJbml0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkcm9wem9uZSA9IHRoaXMucm9vdENvbXBvbmVudFJlZi5pbnN0YW5jZS5kcm9wem9uZTtcbiAgICAgICAgICAgIGlmICghZHJvcHpvbmUpIHtcbiAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImRyb3B6b25lIG5vdCBkZWZpbmVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZHJvcHpvbmVSZW5kZXJlci5yZWdpc3RlckRyb3B6b25lKGRyb3B6b25lLCB0aGlzKTtcbiAgICAgICAgIH0pO1xuICAgICAgY29uc3QgZHJvcHBlZFN1YiA9IHRoaXMucm9vdENvbXBvbmVudFJlZi5pbnN0YW5jZS5kcm9wcGVkLnN1YnNjcmliZShcbiAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIGRyb3B6b25lUmVuZGVyZXIuaGFuZGxlRHJvcCh0aGlzLCBcImlubmVyXCIpO1xuICAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHRoaXMuaW5zdGFuY2VTdWJzY3JpcHRpb25zID0gW3ZpZXdJbml0U3ViLCBkcm9wcGVkU3ViXTtcbiAgICAgIHRoaXMucm9vdENvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICB9XG5cbiAgIHB1YmxpYyBicmFuY2hlcygpOiBBcnJheTxUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50Pj4ge1xuICAgICAgcmV0dXJuIHRoaXMudHJlZU5vZGVCYXNlLmJyYW5jaGVzKCk7XG4gICB9XG5cbiAgIHB1YmxpYyBkZWxldGVCcmFuY2goaW5kZXg/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIHRoaXMudHJlZU5vZGVCYXNlLmRlbGV0ZUJyYW5jaChpbmRleCk7XG4gICB9XG5cbiAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgZHJvcHpvbmVSZW5kZXJlci5jbGVhclRyZWVGcm9tUmVnaXN0cnkodGhpcyk7XG4gICAgICB0aGlzLmJyYW5jaGVzKCkuZm9yRWFjaCgoYnJhbmNoKSA9PiB7XG4gICAgICAgICBicmFuY2guZGVzdHJveSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnRyZWVOb2RlQmFzZS5kZXN0cm95KCk7XG4gICAgICB0aGlzLmluc3RhbmNlU3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWIpID0+IHtcbiAgICAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgIGNvbmZpZy5kZWxldGUodGhpcyk7XG4gICB9XG5cbiAgIHB1YmxpYyBkaXNwYXRjaChldmVudDogVHJlZUV2ZW50KTogdm9pZCB7XG4gICAgICB0aGlzLnRyZWVOb2RlQmFzZS5kaXNwYXRjaChldmVudCk7XG4gICB9XG5cbiAgIHB1YmxpYyBldmVudHMoKTogT2JzZXJ2YWJsZTxUcmVlRXZlbnQ+IHtcbiAgICAgIHJldHVybiB0aGlzLnRyZWVOb2RlQmFzZS5ldmVudHMoKTtcbiAgIH1cblxuICAgcHVibGljIGdldEJyYW5jaChpbmRleDogbnVtYmVyKTogVHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIHRoaXMudHJlZU5vZGVCYXNlLmdldEJyYW5jaChpbmRleCk7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXRDb250ZW50cygpOiBDb21wb25lbnRSZWY8Um9vdENvbXBvbmVudD4ge1xuICAgICAgcmV0dXJuIHRoaXMucm9vdENvbXBvbmVudFJlZjtcbiAgIH1cblxuICAgcHVibGljIGdyb3coXG4gICAgICBjb21wb25lbnQ6IFR5cGU8VXNlcmxhbmRDb21wb25lbnQ+LFxuICAgICAgb3B0aW9ucz86IEJyYW5jaE9wdGlvbnM8VXNlcmxhbmRDb21wb25lbnQ+XG4gICApOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PiB7XG4gICAgICByZXR1cm4gbmV3IFRyZWVCcmFuY2godGhpcywgeyBjb21wb25lbnQsIC4uLm9wdGlvbnMgfSk7XG4gICB9XG5cbiAgIHB1YmxpYyBwbG90KCk6IFRyZWVQbG90IHtcbiAgICAgIHJldHVybiB0aGlzLnRyZWVOb2RlQmFzZS5wbG90KCk7XG4gICB9XG5cbiAgIHB1YmxpYyByb290KCk6IHRoaXMge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICB9XG5cbiAgIHB1YmxpYyB0cmF2ZXJzZShcbiAgICAgIGNhbGxiYWNrOiAoXG4gICAgICAgICBub2RlOiBDb250YWluZXJUcmVlTm9kZTxcbiAgICAgICAgICAgIENvbXBvbmVudFJlZjxOb2RlQ29tcG9uZW50PixcbiAgICAgICAgICAgIFRyZWVCcmFuY2g8VXNlcmxhbmRDb21wb25lbnQ+XG4gICAgICAgICA+XG4gICAgICApID0+IHZvaWRcbiAgICk6IHZvaWQge1xuICAgICAgY2FsbGJhY2sodGhpcyk7XG4gICAgICB0aGlzLnRyZWVOb2RlQmFzZS50cmF2ZXJzZShjYWxsYmFjayk7XG4gICB9XG59XG4iXX0=
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1yb290LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb3JlL3RyZWUtcm9vdC90cmVlLXJvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5EOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQU1sQixZQUFvQyxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELHNFQUFzRTtJQUMvRCxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNyQixNQUFNLElBQUksU0FBUyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxn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QUVULFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBUcmVlQnJhbmNoIH0gZnJvbSBcIi4uL3RyZWUtYnJhbmNoL3RyZWUtYnJhbmNoXCI7XG5pbXBvcnQgdHlwZSB7IFR5cGUsIFZpZXdDb250YWluZXJSZWYsIFZpZXdSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm9vdENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3Jvb3Qvcm9vdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IFRyZWVOb2RlQmFzZSB9IGZyb20gXCIuLi90cmVlLW5vZGUtYmFzZVwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IEJyYW5jaE9wdGlvbnMgfSBmcm9tIFwiLi4vYnJhbmNoLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBkcm9wem9uZVJlbmRlcmVyIH0gZnJvbSBcIi4uLy4uL2V4dHJhcy9kcmFnLWFuZC1kcm9wL2Ryb3B6b25lLXJlbmRlcmVyXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQgeyBUcmVlRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBEZXN0cnVjdGlvbkV2ZW50IH0gZnJvbSBcIi4uLy4uL2V2ZW50c1wiO1xuaW1wb3J0IHR5cGUgeyBUcmVlTm9kZSwgVHJlZVBsb3QsIFRyZWVFdmVudCB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmVcIjtcbmltcG9ydCB7IFJvb3RDb250cm9sbGVyIH0gZnJvbSBcIi4vcm9vdC1jb250cm9sbGVyXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYmFzZSBvZiB0aGUgdHJlZS4gSXQgcmVuZGVycyBhIHZlcnkgc2ltcGxlIGNvbnRhaW5lciBmb3IgY2hpbGRcbiAqIGJyYW5jaGVzLiBJdCBoYXMgbWV0aG9kcyBmb3IgY3JlYXRpbmcgYW5kIGFjY2Vzc2luZyB0aG9zZSBicmFuY2hlcy4gSXQgZW1pdHNcbiAqIGV2ZW50cyB3aGVuIHRoaW5ncyBoYXBwZW4gaW4gdGhlIHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmVlUm9vdDxVc2VybGFuZENvbXBvbmVudD5cbiAgIGltcGxlbWVudHMgVHJlZU5vZGU8VHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4sIFJvb3RDb21wb25lbnQ+XG57XG4gICBwcml2YXRlIHJlYWRvbmx5IHJvb3RDb250cm9sbGVyOiBSb290Q29udHJvbGxlcjxVc2VybGFuZENvbXBvbmVudD47XG4gICBwcml2YXRlIHJlYWRvbmx5IHRyZWVOb2RlQmFzZTogVHJlZU5vZGVCYXNlPFVzZXJsYW5kQ29tcG9uZW50PjtcblxuICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UgPSBuZXcgVHJlZU5vZGVCYXNlKCk7XG4gICAgICB0aGlzLnJvb3RDb250cm9sbGVyID0gbmV3IFJvb3RDb250cm9sbGVyKHRoaXMsIHZpZXdDb250YWluZXJSZWYpO1xuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBBbGwgY2hpbGQgYnJhbmNoZXMgYXMgYW4gYXJyYXkgb2YgVHJlZUJyYW5jaCBpbnN0YW5jZXMgKi9cbiAgIHB1YmxpYyBicmFuY2hlcygpOiBBcnJheTxUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50Pj4ge1xuICAgICAgcmV0dXJuIHRoaXMudHJlZU5vZGVCYXNlLmJyYW5jaGVzKCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogUmVjdXJzaXZlbHkgZGVzdHJveXMgYWxsIGJyYW5jaGVzIG9mIHRoZSB0cmVlLCBhcyB3ZWxsIGFzIGl0c2VsZi5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogVGhpcyByZWxlYXNlcyBhbGwgcmVzb3VyY2VzIGhlbGQgb3IgY29uc3VtZWQgYnkgdGhlIHRyZWUuXG4gICAgKlxuICAgICogSXQgaXMgaW1wb3J0YW50IHRvIGNhbGwgdGhpcyBtZXRob2Qgd2hlbiBhIHRyZWUgaXMgZGlzY2FyZGVkLCBvdGhlcndpc2VcbiAgICAqIHRoZSB0cmVlIHdpbGwgcmVtYWluIGluIG1lbW9yeSBhbmQgY29udGludWUgdG8gY29uc3VtZSByZXNvdXJjZXMuXG4gICAgKi9cbiAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcIkNhbm5vdCBkZXN0cm95IGEgZGVzdHJveWVkIHRyZWUgcm9vdFwiKTtcbiAgICAgIH1cbiAgICAgIGRyb3B6b25lUmVuZGVyZXIuY2xlYXJUcmVlRnJvbVJlZ2lzdHJ5KHRoaXMpO1xuICAgICAgdGhpcy50cmVlTm9kZUJhc2UuZGVzdHJveSgpO1xuICAgICAgdGhpcy5yb290Q29udHJvbGxlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgIGNvbmZpZy5kZWxldGUodGhpcyk7XG4gICAgICB0aGlzLmRpc3BhdGNoKG5ldyBEZXN0cnVjdGlvbkV2ZW50KHRoaXMpKTtcbiAgIH1cblxuICAgLyoqIFJ1biBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gb24gdGhlIHJvb3Qgb2YgdGhlIHRyZWUgKi9cbiAgIHB1YmxpYyBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgdGhpcy5yb290Q29udHJvbGxlci5kZXRlY3RDaGFuZ2VzKCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogRW1pdHMgdGhlIHNwZWNpZmllZCBUcmVlRXZlbnQuXG4gICAgKlxuICAgICogQHJlbWFya3NcbiAgICAqIENhdXRpb246IEl0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBtYW51YWxseSBlbWl0IFRyZWVFdmVudHMgdGhhdCBhcmUgYWxyZWFkeVxuICAgICogcHJvdmlkZWQgYnkgdGhlIGxpYnJhcnkuIEZvciBleGFtcGxlLCBpdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gZW1pdCBhXG4gICAgKiBgR3JhZnRFdmVudGAsIGBEZXN0cnVjdGlvbkV2ZW50YCwgZXRjLiBUaGVzZSBldmVudHMgbWF5IGJlIHVzZWQgYnkgdGhlIHRyZWUsXG4gICAgKiBhbmQgZW1pdHRpbmcgdGhlbSBtYW51YWxseSBtYXkgY2F1c2UgdW5leHBlY3RlZCBiZWhhdmlvci4gSW5zdGVhZCwgd2VcbiAgICAqIHJlY29tbWVuZCBpbXBsZW1lbnRpbmcgdGhlIFRyZWVFdmVudCBpbnRlcmZhY2Ugd2l0aCB5b3VyIG93biBjdXN0b20gZXZlbnRzXG4gICAgKiBhbmQgZGlzcGF0Y2hpbmcgdGhvc2UuXG4gICAgKlxuICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIFRyZWVFdmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZC5cbiAgICAqL1xuICAgcHVibGljIGRpc3BhdGNoKGV2ZW50OiBUcmVlRXZlbnQpOiB2b2lkIHtcbiAgICAgIHRoaXMudHJlZU5vZGVCYXNlLmRpc3BhdGNoKGV2ZW50KTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBAcmV0dXJuc1xuICAgICogQW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIFRyZWVFdmVudHMgd2hlbmV2ZXIgYW4gZXZlbnQgaXMgZGlzcGF0Y2hlZFxuICAgICogaW4gdGhlIHJvb3Qgb3IgYW55IG9mIGl0cyBkZXNjZW5kYW50IGJyYW5jaGVzLlxuICAgICovXG4gICBwdWJsaWMgZXZlbnRzKCk6IE9ic2VydmFibGU8VHJlZUV2ZW50PiB7XG4gICAgICByZXR1cm4gdGhpcy50cmVlTm9kZUJhc2UuZXZlbnRzKCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogQHJldHVybnNcbiAgICAqIFRoZSBjaGlsZCBicmFuY2ggYXQgdGhlIHNwZWNpZmllZCBpbmRleCwgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzXG4gICAgKiBubyBjaGlsZCBicmFuY2ggYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICAqL1xuICAgcHVibGljIGdldEJyYW5jaChpbmRleDogbnVtYmVyKTogVHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIHRoaXMudHJlZU5vZGVCYXNlLmdldEJyYW5jaChpbmRleCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBUaGUgVmlld0NvbnRhaW5lclJlZiBpbiB3aGljaCBjaGlsZCBicmFuY2hlcyBhcmUgcmVuZGVyZWQgKi9cbiAgIHB1YmxpYyBnZXRCcmFuY2hlc0NvbnRhaW5lcigpOiBWaWV3Q29udGFpbmVyUmVmIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcIkNhbm5vdCBnZXQgYnJhbmNoZXMgY29udGFpbmVyIGZyb20gYSBkZXN0cm95ZWQgdHJlZSByb290XCJcbiAgICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5yb290Q29udHJvbGxlci5nZXRCcmFuY2hlc0NvbnRhaW5lcigpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIFJldHJpZXZlcyB0aGUgUm9vdENvbXBvbmVudC5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogVGhlIFJvb3RDb21wb25lbnQgaG9sZHMgdGhlIEJyYW5jaGVzQ29udGFpbmVyLCBhcyB3ZWxsIGFzIGEgc2luZ2xlIERyb3B6b25lXG4gICAgKiBmb3IgZHJhZy1hbmQtZHJvcCBvcGVyYXRpb25zLlxuICAgICpcbiAgICAqIEByZXR1cm5zIFRoZSBpbnN0YW5jZSBvZiBSb290Q29tcG9uZW50IHRoYXQgaXMgcmVuZGVyZWQgYnkgdGhpcyBjbGFzcy5cbiAgICAqL1xuICAgcHVibGljIGdldENvbXBvbmVudEluc3RhbmNlKCk6IFJvb3RDb21wb25lbnQge1xuICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQoKSkge1xuICAgICAgICAgdGhyb3cgbmV3IFRyZWVFcnJvcihcbiAgICAgICAgICAgIFwiQ2Fubm90IGdldCBjb21wb25lbnQgaW5zdGFuY2UgZnJvbSBhIGRlc3Ryb3llZCB0cmVlIHJvb3RcIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnJvb3RDb250cm9sbGVyLmdldENvbXBvbmVudEluc3RhbmNlKCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBUaGUgSG9zdCBWaWV3IGluIHdoaWNoIHRoZSBSb290Q29tcG9uZW50IGlzIHJlbmRlcmVkICovXG4gICBwdWJsaWMgZ2V0SG9zdFZpZXcoKTogVmlld1JlZiB7XG4gICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCgpKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgXCJDYW5ub3QgZ2V0IGNvbXBvbmVudCBob3N0IHZpZXcgZnJvbSBhIGRlc3Ryb3llZCB0cmVlIHJvb3RcIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnJvb3RDb250cm9sbGVyLmdldEhvc3RWaWV3KCk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBUaGUgUm9vdENvbXBvbmVudCBhcyBhIG5hdGl2ZSBIVE1MIEVsZW1lbnQgKi9cbiAgIHB1YmxpYyBnZXROYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXG4gICAgICAgICAgICBcIkNhbm5vdCBnZXQgbmF0aXZlIGVsZW1lbnQgZnJvbSBhIGRlc3Ryb3llZCB0cmVlIHJvb3RcIlxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnJvb3RDb250cm9sbGVyLmdldE5hdGl2ZUVsZW1lbnQoKTtcbiAgIH1cblxuICAgLyoqXG4gICAgKiBBcHBlbmRzIGEgbmV3IGNoaWxkIGJyYW5jaCB0byB0aGlzIGJyYW5jaC4gVGhlIGNoaWxkIGJyYW5jaCB3aWxsIHJlbmRlclxuICAgICogdGhlIHNwZWNpZmllZCBjb21wb25lbnQgYWNjb3JkaW5nIHRvIHRoZSAob3B0aW9uYWwpIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyLlxuICAgICpcbiAgICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIHJlbmRlciBpbiB0aGUgbmV3IGNoaWxkIGJyYW5jaC5cbiAgICAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgbmV3IGNoaWxkIGJyYW5jaC5cbiAgICAqXG4gICAgKiBAcmV0dXJuc1xuICAgICogVGhlIG5ld2x5LWNyZWF0ZWQgY2hpbGQgYnJhbmNoLlxuICAgICovXG4gICBwdWJsaWMgZ3JvdyhcbiAgICAgIGNvbXBvbmVudDogVHlwZTxVc2VybGFuZENvbXBvbmVudD4sXG4gICAgICBvcHRpb25zPzogQnJhbmNoT3B0aW9uczxVc2VybGFuZENvbXBvbmVudD5cbiAgICk6IFRyZWVCcmFuY2g8VXNlcmxhbmRDb21wb25lbnQ+IHtcbiAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKCkpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXCJDYW5ub3QgZ3JvdyBhIGJyYW5jaCBvbiBhIGRlc3Ryb3llZCB0cmVlIHJvb3RcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IFRyZWVCcmFuY2godGhpcywgeyBjb21wb25lbnQsIC4uLm9wdGlvbnMgfSk7XG4gICB9XG5cbiAgIC8qKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHRyZWUgaXMgZGVzdHJveWVkLCBgZmFsc2VgIG90aGVyd2lzZSAqL1xuICAgcHVibGljIGlzRGVzdHJveWVkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMudHJlZU5vZGVCYXNlLmlzRGVzdHJveWVkKCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogUHJvdmlkZXMgYSBtb2RlbCBkZXNjcmliaW5nIHRoZSBzaGFwZSBvZiB0aGUgdHJlZS5cbiAgICAqXG4gICAgKiBAcmV0dXJucyBBIG11bHRpLWRpbWVuc2lvbmFsIE1hcCB3aGljaCBkZXNjcmliZXMgdGhlIHNoYXBlIG9mIHRoZSB0cmVlLlxuICAgICpcbiAgICAqIEBleGFtcGxlXG4gICAgKiBGb3IgZXhhbXBsZSwgYW4gZW1wdHkgdHJlZSB3aWxsIHJldHVybiBhbiBlbXB0eSBNYXAuIEEgdHJlZSB3aXRoIGEgc2luZ2xlXG4gICAgKiBicmFuY2ggd2lsbCByZXR1cm4gYSBNYXAgd2l0aCBhIHNpbmdsZSBlbnRyeSwgd2hlcmUgdGhlIGtleSBpcyB0aGUgaW5kZXhcbiAgICAqIG9mIHRoZSBicmFuY2ggKHplcm8pIGFuZCB0aGUgdmFsdWUgaXMgYW4gZW1wdHkgTWFwLiBBIFRyZWUgbGlrZSB0aGlzOlxuICAgICpcbiAgICAqIGBgYFxuICAgICogICAgICAgICAtLS1CcmFuY2gtLS0tLS0tQnJhbmNoXG4gICAgKiAgICAgICAgL1xuICAgICogUm9vdC0tLS0tLS1CcmFuY2hcbiAgICAqICAgICAgICBcXFxuICAgICogICAgICAgICAtLS1CcmFuY2hcbiAgICAqIGBgYFxuICAgICogV2lsbCByZXR1cm4gYSBNYXAgb2YgbWF0Y2hpbmcgc2hhcGU6XG4gICAgKiBgYGBcbiAgICAqIE1hcCB7XG4gICAgKiAgICAwOiBNYXAgeyAwOiBNYXAge319LFxuICAgICogICAgMTogTWFwIHt9LFxuICAgICogICAgMjogTWFwIHt9XG4gICAgKiB9XG4gICAgKiBgYGBcbiAgICAqL1xuICAgcHVibGljIHBsb3QoKTogVHJlZVBsb3Qge1xuICAgICAgcmV0dXJuIHRoaXMudHJlZU5vZGVCYXNlLnBsb3QoKTtcbiAgIH1cblxuICAgLyoqIEByZXR1cm5zIEl0c2VsZiAqL1xuICAgcHVibGljIHJvb3QoKTogdGhpcyB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgIH1cblxuICAgLyoqXG4gICAgKiBUcmF2ZXJzZXMgdGhlIHRyZWUgaW4gZGVwdGgtZmlyc3QgcHJlLW9yZGVyLCBleGVjdXRpbmcgdGhlIHByb3ZpZGVkXG4gICAgKiBjYWxsYmFjayBmdW5jdGlvbiBvbiBlYWNoIG5vZGUuIFRyYXZlcnNhbCBpbmNsdWRlcyB0aGUgUm9vdC5cbiAgICAqXG4gICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBBIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgb24gZWFjaCBub2RlLlxuICAgICovXG4gICBwdWJsaWMgdHJhdmVyc2UoXG4gICAgICBjYWxsYmFjazogKFxuICAgICAgICAgbm9kZTogVHJlZU5vZGU8VHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4sIE5vZGVDb21wb25lbnQ+XG4gICAgICApID0+IHZvaWRcbiAgICk6IHZvaWQge1xuICAgICAgY2FsbGJhY2sodGhpcyk7XG4gICAgICB0aGlzLnRyZWVOb2RlQmFzZS50cmF2ZXJzZShjYWxsYmFjayk7XG4gICB9XG59XG4iXX0=
|
|
@@ -2,7 +2,13 @@ import { Injectable } from "@angular/core";
|
|
|
2
2
|
import { config } from "../configuration/configuration";
|
|
3
3
|
import { TreeRoot } from "../tree-root/tree-root";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
/** Responsible for the creation of new trees. */
|
|
5
6
|
export class TreeService {
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new, empty tree structure inside the provided container.
|
|
9
|
+
*
|
|
10
|
+
* @returns A `TreeRoot` representing the base of the new tree.
|
|
11
|
+
*/
|
|
6
12
|
createEmptyTree(container, options = {}) {
|
|
7
13
|
container.clear();
|
|
8
14
|
const root = new TreeRoot(container);
|
|
@@ -16,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16
22
|
type: Injectable,
|
|
17
23
|
args: [{ providedIn: "root" }]
|
|
18
24
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb3JlL3RyZWUtc2VydmljZS90cmVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFbEQsaURBQWlEO0FBRWpELE1BQU0sT0FBTyxXQUFXO0lBQ3JCOzs7O09BSUc7SUFDSSxlQUFlLENBQ25CLFNBQTJCLEVBQzNCLFVBQXVCLEVBQUU7UUFFekIsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2YsQ0FBQzs7eUdBZFMsV0FBVzs2R0FBWCxXQUFXLGNBREUsTUFBTTs0RkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCB0eXBlIFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvblwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uL3RyZWUtb3B0aW9ucy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRyZWVSb290IH0gZnJvbSBcIi4uL3RyZWUtcm9vdC90cmVlLXJvb3RcIjtcblxuLyoqIFJlc3BvbnNpYmxlIGZvciB0aGUgY3JlYXRpb24gb2YgbmV3IHRyZWVzLiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIFRyZWVTZXJ2aWNlIHtcbiAgIC8qKlxuICAgICogQ3JlYXRlcyBhIG5ldywgZW1wdHkgdHJlZSBzdHJ1Y3R1cmUgaW5zaWRlIHRoZSBwcm92aWRlZCBjb250YWluZXIuXG4gICAgKlxuICAgICogQHJldHVybnMgQSBgVHJlZVJvb3RgIHJlcHJlc2VudGluZyB0aGUgYmFzZSBvZiB0aGUgbmV3IHRyZWUuXG4gICAgKi9cbiAgIHB1YmxpYyBjcmVhdGVFbXB0eVRyZWU8Q29tcG9uZW50PihcbiAgICAgIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgIG9wdGlvbnM6IFRyZWVPcHRpb25zID0ge31cbiAgICk6IFRyZWVSb290PENvbXBvbmVudD4ge1xuICAgICAgY29udGFpbmVyLmNsZWFyKCk7XG4gICAgICBjb25zdCByb290ID0gbmV3IFRyZWVSb290PENvbXBvbmVudD4oY29udGFpbmVyKTtcbiAgICAgIGNvbmZpZy5zZXRDb25maWcocm9vdCwgb3B0aW9ucyk7XG4gICAgICByZXR1cm4gcm9vdDtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** Emitted when a drag-and-drop operation has completed */
|
|
1
2
|
export class DragEndEvent {
|
|
2
3
|
constructor(source, endpoints) {
|
|
3
4
|
this._source = source;
|
|
@@ -6,23 +7,24 @@ export class DragEndEvent {
|
|
|
6
7
|
this._newParent = endpoints.newParent;
|
|
7
8
|
this._newIndex = endpoints.newIndex;
|
|
8
9
|
}
|
|
9
|
-
|
|
10
|
-
return "drag end";
|
|
11
|
-
}
|
|
12
|
-
source() {
|
|
13
|
-
return this._source;
|
|
14
|
-
}
|
|
10
|
+
/** @returns The new index of the dropped branch */
|
|
15
11
|
newIndex() {
|
|
16
12
|
return this._newIndex;
|
|
17
13
|
}
|
|
14
|
+
/** @returns The new parent of the dropped branch */
|
|
18
15
|
newParent() {
|
|
19
16
|
return this._newParent;
|
|
20
17
|
}
|
|
18
|
+
/** @returns The index of the dropped branch before it was dragged */
|
|
21
19
|
oldIndex() {
|
|
22
20
|
return this._oldIndex;
|
|
23
21
|
}
|
|
22
|
+
/** @returns The parent of the dropped branch before it was dragged */
|
|
24
23
|
oldParent() {
|
|
25
24
|
return this._oldParent;
|
|
26
25
|
}
|
|
26
|
+
source() {
|
|
27
|
+
return this._source;
|
|
28
|
+
}
|
|
27
29
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1lbmQtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9kcmFnL2RyYWctZW5kLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLDJEQUEyRDtBQUMzRCxNQUFNLE9BQU8sWUFBWTtJQU90QixZQUNHLE1BQThDLEVBQzlDLFNBS0M7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVELG1EQUFtRDtJQUM1QyxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxvREFBb0Q7SUFDN0MsU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDO0lBRUQscUVBQXFFO0lBQzlELFFBQVE7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVELHNFQUFzRTtJQUMvRCxTQUFTO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTm9kZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL25vZGUtY29tcG9uZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlQnJhbmNoIH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgVHJlZU5vZGUgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVFdmVudCB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmUvdHJlZS1ldmVudC5pbnRlcmZhY2VcIjtcblxuLyoqIEVtaXR0ZWQgd2hlbiBhIGRyYWctYW5kLWRyb3Agb3BlcmF0aW9uIGhhcyBjb21wbGV0ZWQgKi9cbmV4cG9ydCBjbGFzcyBEcmFnRW5kRXZlbnQ8VD4gaW1wbGVtZW50cyBUcmVlRXZlbnQge1xuICAgcHJpdmF0ZSByZWFkb25seSBfc291cmNlOiBUcmVlTm9kZTxUcmVlQnJhbmNoPFQ+LCBOb2RlQ29tcG9uZW50PjtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX25ld1BhcmVudDogVHJlZU5vZGU8VHJlZUJyYW5jaDxUPiwgTm9kZUNvbXBvbmVudD47XG4gICBwcml2YXRlIHJlYWRvbmx5IF9uZXdJbmRleDogbnVtYmVyO1xuICAgcHJpdmF0ZSByZWFkb25seSBfb2xkUGFyZW50OiBUcmVlTm9kZTxUcmVlQnJhbmNoPFQ+LCBOb2RlQ29tcG9uZW50PjtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX29sZEluZGV4OiBudW1iZXI7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgIHNvdXJjZTogVHJlZU5vZGU8VHJlZUJyYW5jaDxUPiwgTm9kZUNvbXBvbmVudD4sXG4gICAgICBlbmRwb2ludHM6IHtcbiAgICAgICAgIG9sZFBhcmVudDogVHJlZU5vZGU8VHJlZUJyYW5jaDxUPiwgTm9kZUNvbXBvbmVudD47XG4gICAgICAgICBvbGRJbmRleDogbnVtYmVyO1xuICAgICAgICAgbmV3UGFyZW50OiBUcmVlTm9kZTxUcmVlQnJhbmNoPFQ+LCBOb2RlQ29tcG9uZW50PjtcbiAgICAgICAgIG5ld0luZGV4OiBudW1iZXI7XG4gICAgICB9XG4gICApIHtcbiAgICAgIHRoaXMuX3NvdXJjZSA9IHNvdXJjZTtcbiAgICAgIHRoaXMuX29sZFBhcmVudCA9IGVuZHBvaW50cy5vbGRQYXJlbnQ7XG4gICAgICB0aGlzLl9vbGRJbmRleCA9IGVuZHBvaW50cy5vbGRJbmRleDtcbiAgICAgIHRoaXMuX25ld1BhcmVudCA9IGVuZHBvaW50cy5uZXdQYXJlbnQ7XG4gICAgICB0aGlzLl9uZXdJbmRleCA9IGVuZHBvaW50cy5uZXdJbmRleDtcbiAgIH1cblxuICAgLyoqIEByZXR1cm5zIFRoZSBuZXcgaW5kZXggb2YgdGhlIGRyb3BwZWQgYnJhbmNoICovXG4gICBwdWJsaWMgbmV3SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9uZXdJbmRleDtcbiAgIH1cblxuICAgLyoqIEByZXR1cm5zIFRoZSBuZXcgcGFyZW50IG9mIHRoZSBkcm9wcGVkIGJyYW5jaCAqL1xuICAgcHVibGljIG5ld1BhcmVudCgpOiBUcmVlTm9kZTxUcmVlQnJhbmNoPFQ+LCBOb2RlQ29tcG9uZW50PiB7XG4gICAgICByZXR1cm4gdGhpcy5fbmV3UGFyZW50O1xuICAgfVxuXG4gICAvKiogQHJldHVybnMgVGhlIGluZGV4IG9mIHRoZSBkcm9wcGVkIGJyYW5jaCBiZWZvcmUgaXQgd2FzIGRyYWdnZWQgKi9cbiAgIHB1YmxpYyBvbGRJbmRleCgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX29sZEluZGV4O1xuICAgfVxuXG4gICAvKiogQHJldHVybnMgVGhlIHBhcmVudCBvZiB0aGUgZHJvcHBlZCBicmFuY2ggYmVmb3JlIGl0IHdhcyBkcmFnZ2VkICovXG4gICBwdWJsaWMgb2xkUGFyZW50KCk6IFRyZWVOb2RlPFRyZWVCcmFuY2g8VD4sIE5vZGVDb21wb25lbnQ+IHtcbiAgICAgIHJldHVybiB0aGlzLl9vbGRQYXJlbnQ7XG4gICB9XG5cbiAgIHB1YmxpYyBzb3VyY2UoKTogVHJlZU5vZGU8VHJlZUJyYW5jaDxUPiwgTm9kZUNvbXBvbmVudD4ge1xuICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
+
/** Emitted when a TreeBranch begins being dragged */
|
|
1
2
|
export class DragStartEvent {
|
|
2
3
|
constructor(source) {
|
|
3
4
|
this._source = source;
|
|
4
5
|
}
|
|
5
|
-
type() {
|
|
6
|
-
return "drag start";
|
|
7
|
-
}
|
|
8
6
|
source() {
|
|
9
7
|
return this._source;
|
|
10
8
|
}
|
|
11
9
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zdGFydC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXZlbnRzL2RyYWcvZHJhZy1zdGFydC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxxREFBcUQ7QUFDckQsTUFBTSxPQUFPLGNBQWM7SUFHeEIsWUFBbUIsTUFBd0M7UUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVOb2RlIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZVwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlRXZlbnQgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlL3RyZWUtZXZlbnQuaW50ZXJmYWNlXCI7XG5cbi8qKiBFbWl0dGVkIHdoZW4gYSBUcmVlQnJhbmNoIGJlZ2lucyBiZWluZyBkcmFnZ2VkICovXG5leHBvcnQgY2xhc3MgRHJhZ1N0YXJ0RXZlbnQgaW1wbGVtZW50cyBUcmVlRXZlbnQge1xuICAgcHJpdmF0ZSByZWFkb25seSBfc291cmNlOiBUcmVlTm9kZTx1bmtub3duLCBOb2RlQ29tcG9uZW50PjtcblxuICAgcHVibGljIGNvbnN0cnVjdG9yKHNvdXJjZTogVHJlZU5vZGU8dW5rbm93biwgTm9kZUNvbXBvbmVudD4pIHtcbiAgICAgIHRoaXMuX3NvdXJjZSA9IHNvdXJjZTtcbiAgIH1cblxuICAgcHVibGljIHNvdXJjZSgpOiBUcmVlTm9kZTx1bmtub3duLCBOb2RlQ29tcG9uZW50PiB7XG4gICAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICAgfVxufVxuIl19
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
+
/** Emitted when a TreeBranch is dropped into a valid Dropzone */
|
|
1
2
|
export class DropEvent {
|
|
2
3
|
constructor(source, parent, index) {
|
|
3
4
|
this._source = source;
|
|
4
5
|
this._parent = parent;
|
|
5
6
|
this._index = index;
|
|
6
7
|
}
|
|
7
|
-
type() {
|
|
8
|
-
return "drag end";
|
|
9
|
-
}
|
|
10
8
|
source() {
|
|
11
9
|
return this._source;
|
|
12
10
|
}
|
|
@@ -17,4 +15,4 @@ export class DropEvent {
|
|
|
17
15
|
return this._parent;
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXZlbnRzL2RyYWcvZHJvcC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxpRUFBaUU7QUFDakUsTUFBTSxPQUFPLFNBQVM7SUFLbkIsWUFDRyxNQUE4QyxFQUM5QyxNQUE4QyxFQUM5QyxLQUFhO1FBRWIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVCcmFuY2ggfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlTm9kZSwgVHJlZUV2ZW50IH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZVwiO1xuXG4vKiogRW1pdHRlZCB3aGVuIGEgVHJlZUJyYW5jaCBpcyBkcm9wcGVkIGludG8gYSB2YWxpZCBEcm9wem9uZSAqL1xuZXhwb3J0IGNsYXNzIERyb3BFdmVudDxUPiBpbXBsZW1lbnRzIFRyZWVFdmVudCB7XG4gICBwcml2YXRlIHJlYWRvbmx5IF9zb3VyY2U6IFRyZWVOb2RlPFRyZWVCcmFuY2g8VD4sIE5vZGVDb21wb25lbnQ+O1xuICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50OiBUcmVlTm9kZTxUcmVlQnJhbmNoPFQ+LCBOb2RlQ29tcG9uZW50PjtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX2luZGV4OiBudW1iZXI7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgIHNvdXJjZTogVHJlZU5vZGU8VHJlZUJyYW5jaDxUPiwgTm9kZUNvbXBvbmVudD4sXG4gICAgICBwYXJlbnQ6IFRyZWVOb2RlPFRyZWVCcmFuY2g8VD4sIE5vZGVDb21wb25lbnQ+LFxuICAgICAgaW5kZXg6IG51bWJlclxuICAgKSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICB0aGlzLl9wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICB0aGlzLl9pbmRleCA9IGluZGV4O1xuICAgfVxuXG4gICBwdWJsaWMgc291cmNlKCk6IFRyZWVOb2RlPFRyZWVCcmFuY2g8VD4sIE5vZGVDb21wb25lbnQ+IHtcbiAgICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gICB9XG5cbiAgIHB1YmxpYyBpbmRleCgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICAgfVxuXG4gICBwdWJsaWMgcGFyZW50KCk6IFRyZWVOb2RlPFRyZWVCcmFuY2g8VD4sIE5vZGVDb21wb25lbnQ+IHtcbiAgICAgIHJldHVybiB0aGlzLl9wYXJlbnQ7XG4gICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Emitted when a node is destroyed */
|
|
2
|
+
export class DestructionEvent {
|
|
3
|
+
constructor(source) {
|
|
4
|
+
this._source = source;
|
|
5
|
+
}
|
|
6
|
+
source() {
|
|
7
|
+
return this._source;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzdHJ1Y3Rpb24tZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9nZW5lcmFsL2Rlc3RydWN0aW9uLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLHVDQUF1QztBQUN2QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRzFCLFlBQW1CLE1BQXdDO1FBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTm9kZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL25vZGUtY29tcG9uZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlTm9kZSwgVHJlZUV2ZW50IH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZVwiO1xuXG4vKiogRW1pdHRlZCB3aGVuIGEgbm9kZSBpcyBkZXN0cm95ZWQgKi9cbmV4cG9ydCBjbGFzcyBEZXN0cnVjdGlvbkV2ZW50IGltcGxlbWVudHMgVHJlZUV2ZW50IHtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogVHJlZU5vZGU8dW5rbm93biwgTm9kZUNvbXBvbmVudD47XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihzb3VyY2U6IFRyZWVOb2RlPHVua25vd24sIE5vZGVDb21wb25lbnQ+KSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICB9XG5cbiAgIHB1YmxpYyBzb3VyY2UoKTogVHJlZU5vZGU8dW5rbm93biwgTm9kZUNvbXBvbmVudD4ge1xuICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./destruction-event";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9nZW5lcmFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9kZXN0cnVjdGlvbi1ldmVudFwiO1xuIl19
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from "./relational";
|
|
2
2
|
export * from "./drag";
|
|
3
|
-
|
|
3
|
+
export * from "./general";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3JlbGF0aW9uYWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RyYWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dlbmVyYWxcIjtcbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** Emits when a branch is grafted to another tree node */
|
|
1
2
|
export class GraftEvent {
|
|
2
3
|
constructor(source, relationship) {
|
|
3
4
|
this._source = source;
|
|
@@ -8,9 +9,6 @@ export class GraftEvent {
|
|
|
8
9
|
child() {
|
|
9
10
|
return this._child;
|
|
10
11
|
}
|
|
11
|
-
type() {
|
|
12
|
-
return "graft";
|
|
13
|
-
}
|
|
14
12
|
index() {
|
|
15
13
|
return this._index;
|
|
16
14
|
}
|
|
@@ -21,4 +19,4 @@ export class GraftEvent {
|
|
|
21
19
|
return this._source;
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhZnQtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9yZWxhdGlvbmFsL2dyYWZ0LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLDBEQUEwRDtBQUMxRCxNQUFNLE9BQU8sVUFBVTtJQVFwQixZQUFtQixNQUFrQixFQUFFLFlBQWU7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWxhdGlvbmFsVHJlZUV2ZW50IH0gZnJvbSBcIi4vcmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLXJlbGF0aW9uc2hpcC5pbnRlcmZhY2VcIjtcblxuLyoqIEVtaXRzIHdoZW4gYSBicmFuY2ggaXMgZ3JhZnRlZCB0byBhbm90aGVyIHRyZWUgbm9kZSAqL1xuZXhwb3J0IGNsYXNzIEdyYWZ0RXZlbnQ8VCBleHRlbmRzIFRyZWVSZWxhdGlvbnNoaXA8YW55LCBhbnk+PlxuICAgaW1wbGVtZW50cyBSZWxhdGlvbmFsVHJlZUV2ZW50PFRbXCJwYXJlbnRcIl0sIFRbXCJjaGlsZFwiXT5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogVFtcImNoaWxkXCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50OiBUW1wicGFyZW50XCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGQ6IFRbXCJjaGlsZFwiXTtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX2luZGV4OiBudW1iZXI7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihzb3VyY2U6IFRbXCJjaGlsZFwiXSwgcmVsYXRpb25zaGlwOiBUKSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICB0aGlzLl9jaGlsZCA9IHJlbGF0aW9uc2hpcC5jaGlsZDtcbiAgICAgIHRoaXMuX3BhcmVudCA9IHJlbGF0aW9uc2hpcC5wYXJlbnQ7XG4gICAgICB0aGlzLl9pbmRleCA9IHJlbGF0aW9uc2hpcC5pbmRleDtcbiAgIH1cblxuICAgcHVibGljIGNoaWxkKCk6IFRbXCJjaGlsZFwiXSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hpbGQ7XG4gICB9XG5cbiAgIHB1YmxpYyBpbmRleCgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICAgfVxuXG4gICBwdWJsaWMgcGFyZW50KCk6IFRbXCJwYXJlbnRcIl0ge1xuICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudDtcbiAgIH1cblxuICAgcHVibGljIHNvdXJjZSgpOiBUW1wiY2hpbGRcIl0ge1xuICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** Emitted when a branch is pruned from its parent branch */
|
|
1
2
|
export class PruneEvent {
|
|
2
3
|
constructor(source, relationship) {
|
|
3
4
|
this._source = source;
|
|
@@ -8,9 +9,6 @@ export class PruneEvent {
|
|
|
8
9
|
child() {
|
|
9
10
|
return this._child;
|
|
10
11
|
}
|
|
11
|
-
type() {
|
|
12
|
-
return "prune";
|
|
13
|
-
}
|
|
14
12
|
index() {
|
|
15
13
|
return this._index;
|
|
16
14
|
}
|
|
@@ -21,4 +19,4 @@ export class PruneEvent {
|
|
|
21
19
|
return this._source;
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ1bmUtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9yZWxhdGlvbmFsL3BydW5lLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLDZEQUE2RDtBQUM3RCxNQUFNLE9BQU8sVUFBVTtJQVFwQixZQUFtQixNQUFrQixFQUFFLFlBQWU7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWxhdGlvbmFsVHJlZUV2ZW50IH0gZnJvbSBcIi4vcmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLXJlbGF0aW9uc2hpcC5pbnRlcmZhY2VcIjtcblxuLyoqIEVtaXR0ZWQgd2hlbiBhIGJyYW5jaCBpcyBwcnVuZWQgZnJvbSBpdHMgcGFyZW50IGJyYW5jaCAqL1xuZXhwb3J0IGNsYXNzIFBydW5lRXZlbnQ8VCBleHRlbmRzIFRyZWVSZWxhdGlvbnNoaXA8YW55LCBhbnk+PlxuICAgaW1wbGVtZW50cyBSZWxhdGlvbmFsVHJlZUV2ZW50PFRbXCJwYXJlbnRcIl0sIFRbXCJjaGlsZFwiXT5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogVFtcImNoaWxkXCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50OiBUW1wicGFyZW50XCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGQ6IFRbXCJjaGlsZFwiXTtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX2luZGV4OiBudW1iZXI7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihzb3VyY2U6IFRbXCJjaGlsZFwiXSwgcmVsYXRpb25zaGlwOiBUKSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICB0aGlzLl9jaGlsZCA9IHJlbGF0aW9uc2hpcC5jaGlsZDtcbiAgICAgIHRoaXMuX3BhcmVudCA9IHJlbGF0aW9uc2hpcC5wYXJlbnQ7XG4gICAgICB0aGlzLl9pbmRleCA9IHJlbGF0aW9uc2hpcC5pbmRleDtcbiAgIH1cblxuICAgcHVibGljIGNoaWxkKCk6IFRbXCJjaGlsZFwiXSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hpbGQ7XG4gICB9XG5cbiAgIHB1YmxpYyBpbmRleCgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICAgfVxuXG4gICBwdWJsaWMgcGFyZW50KCk6IFRbXCJwYXJlbnRcIl0ge1xuICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudDtcbiAgIH1cblxuICAgcHVibGljIHNvdXJjZSgpOiBUW1wiY2hpbGRcIl0ge1xuICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXZlbnRzL3JlbGF0aW9uYWwvcmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUcmVlRXZlbnQgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlL3RyZWUtZXZlbnQuaW50ZXJmYWNlXCI7XG5cbi8qKiBBIFRyZWVFdmVudCB3aGljaCBpbnZvbHZlcyBhIHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVsYXRpb25hbFRyZWVFdmVudDxQYXJlbnQsIENoaWxkPiBleHRlbmRzIFRyZWVFdmVudCB7XG4gICAvKiogQHJldHVybnMgVGhlIHBhcmVudCBicmFuY2ggb2YgdGhlIHJlbGF0aW9uc2hpcCAqL1xuICAgcGFyZW50OiAoKSA9PiBQYXJlbnQ7XG4gICAvKiogQHJldHVybnMgVGhlIGNoaWxkIGJyYW5jaCBvZiB0aGUgcmVsYXRpb25zaGlwICovXG4gICBjaGlsZDogKCkgPT4gQ2hpbGQ7XG4gICAvKiogQHJldHVybnMgVGhlIGluZGV4IGxvY2F0aW9uIG9mIHRoZSBjaGlsZCAqL1xuICAgaW5kZXg6ICgpID0+IG51bWJlcjtcbn1cbiJdfQ==
|