@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.
Files changed (99) hide show
  1. package/README.md +450 -17
  2. package/esm2020/lib/components/branch/branch.component.mjs +7 -15
  3. package/esm2020/lib/components/dropzone/dropzone.component.mjs +2 -2
  4. package/esm2020/lib/components/root/root.component.mjs +3 -4
  5. package/esm2020/lib/core/branch-options.interface.mjs +1 -1
  6. package/esm2020/lib/core/configuration/configuration.mjs +1 -1
  7. package/esm2020/lib/core/configuration/tree-options.interface.mjs +1 -1
  8. package/esm2020/lib/core/index.mjs +1 -2
  9. package/esm2020/lib/core/relationship.interface.mjs +1 -1
  10. package/esm2020/lib/core/tree-branch/branch-controller.mjs +99 -0
  11. package/esm2020/lib/core/tree-branch/tree-branch.mjs +260 -106
  12. package/esm2020/lib/core/tree-node-base.mjs +10 -9
  13. package/esm2020/lib/core/tree-root/root-controller.mjs +42 -0
  14. package/esm2020/lib/core/tree-root/tree-root.mjs +138 -27
  15. package/esm2020/lib/core/tree-service/tree.service.mjs +7 -1
  16. package/esm2020/lib/events/drag/drag-end-event.mjs +9 -7
  17. package/esm2020/lib/events/drag/drag-start-event.mjs +2 -4
  18. package/esm2020/lib/events/drag/drop-event.mjs +2 -4
  19. package/esm2020/lib/events/general/destruction-event.mjs +10 -0
  20. package/esm2020/lib/events/general/index.mjs +2 -0
  21. package/esm2020/lib/events/index.mjs +2 -1
  22. package/esm2020/lib/events/relational/graft-event.mjs +2 -4
  23. package/esm2020/lib/events/relational/prune-event.mjs +2 -4
  24. package/esm2020/lib/events/relational/relational-tree-event.interface.mjs +1 -1
  25. package/esm2020/lib/extras/collapse/collapse.mjs +2 -2
  26. package/esm2020/lib/extras/collapse/collapse.module.mjs +2 -1
  27. package/esm2020/lib/extras/collapse/collapse.service.mjs +26 -1
  28. package/esm2020/lib/extras/drag-and-drop/drag-and-drop.mjs +6 -10
  29. package/esm2020/lib/extras/drag-and-drop/drag-and-drop.module.mjs +5 -1
  30. package/esm2020/lib/extras/drag-and-drop/drag-and-drop.service.mjs +21 -5
  31. package/esm2020/lib/extras/drag-and-drop/draggable.directive.mjs +7 -7
  32. package/esm2020/lib/extras/drag-and-drop/dragover-no-change-detect.mjs +10 -11
  33. package/esm2020/lib/extras/drag-and-drop/dropzone-renderer.mjs +9 -7
  34. package/esm2020/lib/legacy/legacy-component-obj.interface.mjs +1 -1
  35. package/esm2020/lib/legacy/legacy-tree-data.interface.mjs +1 -1
  36. package/esm2020/lib/legacy/legacy-tree-options.interface.mjs +1 -1
  37. package/esm2020/lib/legacy/legacy-tree.mjs +30 -30
  38. package/esm2020/lib/legacy/limble-tree-root/limble-tree-root.component.mjs +1 -1
  39. package/esm2020/lib/limble-tree.module.mjs +6 -2
  40. package/esm2020/lib/structure/branchable.interface.mjs +1 -1
  41. package/esm2020/lib/structure/component-container.interface.mjs +2 -0
  42. package/esm2020/lib/structure/index.mjs +2 -5
  43. package/esm2020/lib/structure/tree-branch-node.interface.mjs +1 -1
  44. package/esm2020/lib/structure/tree-event.interface.mjs +1 -1
  45. package/esm2020/lib/structure/tree-node.interface.mjs +1 -1
  46. package/esm2020/lib/structure/tree-relationship.interface.mjs +1 -1
  47. package/fesm2015/limble-limble-tree.mjs +821 -376
  48. package/fesm2015/limble-limble-tree.mjs.map +1 -1
  49. package/fesm2020/limble-limble-tree.mjs +819 -372
  50. package/fesm2020/limble-limble-tree.mjs.map +1 -1
  51. package/lib/core/branch-options.interface.d.ts +1 -1
  52. package/lib/core/configuration/configuration.d.ts +2 -2
  53. package/lib/core/configuration/tree-options.interface.d.ts +48 -29
  54. package/lib/core/index.d.ts +0 -1
  55. package/lib/core/relationship.interface.d.ts +2 -3
  56. package/lib/core/tree-branch/branch-controller.d.ts +25 -0
  57. package/lib/core/tree-branch/tree-branch.d.ts +199 -24
  58. package/lib/core/tree-node-base.d.ts +4 -5
  59. package/lib/core/tree-root/root-controller.d.ts +19 -0
  60. package/lib/core/tree-root/tree-root.d.ts +109 -14
  61. package/lib/core/tree-service/tree.service.d.ts +8 -2
  62. package/lib/events/drag/drag-end-event.d.ts +15 -13
  63. package/lib/events/drag/drag-start-event.d.ts +6 -5
  64. package/lib/events/drag/drop-event.d.ts +7 -10
  65. package/lib/events/general/destruction-event.d.ts +8 -0
  66. package/lib/events/general/index.d.ts +1 -0
  67. package/lib/events/index.d.ts +1 -0
  68. package/lib/events/relational/graft-event.d.ts +5 -6
  69. package/lib/events/relational/prune-event.d.ts +5 -6
  70. package/lib/events/relational/relational-tree-event.interface.d.ts +5 -1
  71. package/lib/extras/collapse/collapse.module.d.ts +1 -0
  72. package/lib/extras/collapse/collapse.service.d.ts +25 -0
  73. package/lib/extras/drag-and-drop/drag-and-drop.d.ts +2 -3
  74. package/lib/extras/drag-and-drop/drag-and-drop.module.d.ts +4 -0
  75. package/lib/extras/drag-and-drop/drag-and-drop.service.d.ts +22 -3
  76. package/lib/extras/drag-and-drop/draggable.directive.d.ts +4 -5
  77. package/lib/extras/drag-and-drop/dragover-no-change-detect.d.ts +7 -3
  78. package/lib/legacy/legacy-component-obj.interface.d.ts +1 -1
  79. package/lib/legacy/legacy-tree-data.interface.d.ts +1 -1
  80. package/lib/legacy/legacy-tree-options.interface.d.ts +2 -2
  81. package/lib/legacy/legacy-tree.d.ts +4 -4
  82. package/lib/legacy/limble-tree-root/limble-tree-root.component.d.ts +4 -4
  83. package/lib/limble-tree.module.d.ts +4 -0
  84. package/lib/structure/branchable.interface.d.ts +0 -1
  85. package/lib/structure/component-container.interface.d.ts +8 -0
  86. package/lib/structure/index.d.ts +1 -4
  87. package/lib/structure/tree-branch-node.interface.d.ts +3 -3
  88. package/lib/structure/tree-event.interface.d.ts +3 -3
  89. package/lib/structure/tree-node.interface.d.ts +11 -6
  90. package/lib/structure/tree-relationship.interface.d.ts +2 -2
  91. package/package.json +1 -1
  92. package/esm2020/lib/structure/container-tree-node.interface.mjs +0 -2
  93. package/esm2020/lib/structure/content-container.interface.mjs +0 -2
  94. package/esm2020/lib/structure/event-conduit.interface.mjs +0 -2
  95. package/esm2020/lib/structure/tree-root.node.interface.mjs +0 -2
  96. package/lib/structure/container-tree-node.interface.d.ts +0 -3
  97. package/lib/structure/content-container.interface.d.ts +0 -3
  98. package/lib/structure/event-conduit.interface.d.ts +0 -6
  99. 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.deleteBranch(index);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2NvcmUvdHJlZS1ub2RlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQVE5RCxNQUFNLE9BQU8sWUFBWTtJQU90QjtRQUNHLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ2xCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNoRSxDQUFDLENBQUM7WUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUM7U0FDSixDQUFDO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDWixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFjO1FBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMs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ZVwiO1xuaW1wb3J0IHsgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTm9kZUNvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRzL25vZGUtY29tcG9uZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZUVycm9yIH0gZnJvbSBcIi4uL2Vycm9yc1wiO1xuaW1wb3J0IHsgR3JhZnRFdmVudCB9IGZyb20gXCIuLi9ldmVudHMvcmVsYXRpb25hbC9ncmFmdC1ldmVudFwiO1xuaW1wb3J0IHsgUHJ1bmVFdmVudCB9IGZyb20gXCIuLi9ldmVudHMvcmVsYXRpb25hbC9wcnVuZS1ldmVudFwiO1xuaW1wb3J0IHsgVHJlZUV2ZW50IH0gZnJvbSBcIi4uL3N0cnVjdHVyZS90cmVlLWV2ZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyVHJlZU5vZGUgfSBmcm9tIFwiLi4vc3RydWN0dXJlL2NvbnRhaW5lci10cmVlLW5vZGUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gXCIuLi9zdHJ1Y3R1cmUvdHJlZS1ub2RlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZVBsb3QgfSBmcm9tIFwiLi4vc3RydWN0dXJlL3RyZWUtcGxvdFwiO1xuaW1wb3J0IHsgUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4vcmVsYXRpb25zaGlwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZUJyYW5jaCB9IGZyb20gXCIuL3RyZWUtYnJhbmNoL3RyZWUtYnJhbmNoXCI7XG5cbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUJhc2U8VXNlcmxhbmRDb21wb25lbnQ+XG4gICBpbXBsZW1lbnRzIFBhcnRpYWw8VHJlZU5vZGU8VHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4+Plxue1xuICAgcHJpdmF0ZSByZWFkb25seSBfYnJhbmNoZXM6IEFycmF5PFRyZWVCcmFuY2g8VXNlcmxhbmRDb21wb25lbnQ+PjtcbiAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRzJDogU3ViamVjdDxUcmVlRXZlbnQ+O1xuICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+O1xuXG4gICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICB0aGlzLl9icmFuY2hlcyA9IFtdO1xuICAgICAgdGhpcy5ldmVudHMkID0gbmV3IFN1YmplY3QoKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtcbiAgICAgICAgIHRoaXMuZ3JhZnRzVG9TZWxmKCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlckNoaWxkUmVsYXRpb25zaGlwKGV2ZW50LmNoaWxkKCksIGV2ZW50LmluZGV4KCkpO1xuICAgICAgICAgfSksXG4gICAgICAgICB0aGlzLnBydW5lc1RvU2VsZigpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGVyZWdpc3RlckNoaWxkUmVsYXRpb25zaGlwKGV2ZW50LmNoaWxkKCkpO1xuICAgICAgICAgfSlcbiAgICAgIF07XG4gICB9XG5cbiAgIHB1YmxpYyBicmFuY2hlcygpOiBBcnJheTxUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50Pj4ge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLl9icmFuY2hlc107XG4gICB9XG5cbiAgIHB1YmxpYyBkZWxldGVCcmFuY2goaW5kZXg/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICB0aGlzLl9icmFuY2hlcy5wb3AoKTtcbiAgICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2JyYW5jaGVzLnNwbGljZShpbmRleCwgMSk7XG4gICB9XG5cbiAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4ge1xuICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9KTtcbiAgIH1cblxuICAgcHVibGljIGRpc3BhdGNoKGV2ZW50OiBUcmVlRXZlbnQpOiB2b2lkIHtcbiAgICAgIHRoaXMuZXZlbnRzJC5uZXh0KGV2ZW50KTtcbiAgIH1cblxuICAgcHVibGljIGV2ZW50cygpOiBPYnNlcnZhYmxlPFRyZWVFdmVudD4ge1xuICAgICAgcmV0dXJuIHRoaXMuZXZlbnRzJDtcbiAgIH1cblxuICAgcHVibGljIGdldEJyYW5jaChpbmRleDogbnVtYmVyKTogVHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD4gfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIHRoaXMuX2JyYW5jaGVzW2luZGV4XTtcbiAgIH1cblxuICAgcHVibGljIHBsb3QoKTogVHJlZVBsb3Qge1xuICAgICAgcmV0dXJuIG5ldyBNYXAoXG4gICAgICAgICB0aGlzLmJyYW5jaGVzKCkubWFwKChicmFuY2gsIGluZGV4KSA9PiBbaW5kZXgsIGJyYW5jaC5wbG90KCldKVxuICAgICAgKTtcbiAgIH1cblxuICAgcHVibGljIHRyYXZlcnNlKFxuICAgICAgY2FsbGJhY2s6IChcbiAgICAgICAgIG5vZGU6IENvbnRhaW5lclRyZWVOb2RlPFxuICAgICAgICAgICAgQ29tcG9uZW50UmVmPE5vZGVDb21wb25lbnQ+LFxuICAgICAgICAgICAgVHJlZUJyYW5jaDxVc2VybGFuZENvbXBvbmVudD5cbiAgICAgICAgID5cbiAgICAgICkgPT4gdm9pZFxuICAgKTogdm9pZCB7XG4gICAgICB0aGlzLmJyYW5jaGVzKCkuZm9yRWFjaCgoYnJhbmNoKSA9PiB7XG4gICAgICAgICBicmFuY2gudHJhdmVyc2UoY2FsbGJhY2spO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIHByaXZhdGUgZGVyZWdpc3RlckNoaWxkUmVsYXRpb25zaGlwKFxuICAgICAgY2hpbGQ6IFRyZWVCcmFuY2g8VXNlcmxhbmRDb21wb25lbnQ+XG4gICApOiB2b2lkIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5icmFuY2hlcygpLmZpbmRJbmRleCgoYnJhbmNoKSA9PiBicmFuY2ggPT09IGNoaWxkKTtcbiAgICAgIHRoaXMuZGVsZXRlQnJhbmNoKGluZGV4KTtcbiAgIH1cblxuICAgcHJpdmF0ZSBncmFmdHNUb1NlbGYoKTogT2JzZXJ2YWJsZTxcbiAgICAgIEdyYWZ0RXZlbnQ8UmVsYXRpb25zaGlwPFVzZXJsYW5kQ29tcG9uZW50Pj5cbiAgID4ge1xuICAgICAgcmV0dXJuIHRoaXMuZXZlbnRzKCkucGlwZShcbiAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChldmVudCk6IGV2ZW50IGlzIEdyYWZ0RXZlbnQ8UmVsYXRpb25zaGlwPFVzZXJsYW5kQ29tcG9uZW50Pj4gPT5cbiAgICAgICAgICAgICAgIGV2ZW50IGluc3RhbmNlb2YgR3JhZnRFdmVudFxuICAgICAgICAgKSxcbiAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnBhcmVudCgpLmV2ZW50cygpID09PSB0aGlzLmV2ZW50cyQpXG4gICAgICApO1xuICAgfVxuXG4gICBwcml2YXRlIHBydW5lc1RvU2VsZigpOiBPYnNlcnZhYmxlPFxuICAgICAgUHJ1bmVFdmVudDxSZWxhdGlvbnNoaXA8VXNlcmxhbmRDb21wb25lbnQ+PlxuICAgPiB7XG4gICAgICByZXR1cm4gdGhpcy5ldmVudHMoKS5waXBlKFxuICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgKGV2ZW50KTogZXZlbnQgaXMgUHJ1bmVFdmVudDxSZWxhdGlvbnNoaXA8VXNlcmxhbmRDb21wb25lbnQ+PiA9PlxuICAgICAgICAgICAgICAgZXZlbnQgaW5zdGFuY2VvZiBQcnVuZUV2ZW50XG4gICAgICAgICApLFxuICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQucGFyZW50KCkuZXZlbnRzKCkgPT09IHRoaXMuZXZlbnRzJClcbiAgICAgICk7XG4gICB9XG5cbiAgIHByaXZhdGUgcmVnaXN0ZXJDaGlsZFJlbGF0aW9uc2hpcChcbiAgICAgIGNoaWxkOiBUcmVlQnJhbmNoPFVzZXJsYW5kQ29tcG9uZW50PixcbiAgICAgIGluZGV4OiBudW1iZXJcbiAgICk6IHZvaWQge1xuICAgICAgY29uc3QgYnJhbmNoZXMgPSB0aGlzLmJyYW5jaGVzKCk7XG4gICAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID4gYnJhbmNoZXMubGVuZ3RoKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFxuICAgICAgICAgICAgYENhbid0IHJlZ2lzdGVyIGNoaWxkIGF0IGluZGV4ICR7aW5kZXh9LiBPdXQgb2YgcmFuZ2UuYFxuICAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2JyYW5jaGVzLnNwbGljZShpbmRleCwgMCwgY2hpbGQpO1xuICAgfVxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2NvcmUvdHJlZS1ub2RlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQU85RCxNQUFNLE9BQU8sWUFBWTtJQVF0QjtRQUhRLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFJaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQztTQUNKLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNaLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sT0FBTztRQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2hDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBZ0I7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sV0FBVztRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN6QixDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sSUFBSSxHQUFHLENBQ1gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ2hFLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUSxDQUNaLFFBRVM7UUFFVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDaEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTywyQkFBMkIsQ0FDaEMsS0FBb0M7UUFFcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sWUFBWTtRQUdqQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQ3RCLE1BQU0sQ0FDSCxDQUFDLEtBQUssRUFBd0QsRUFBRSxDQUM3RCxLQUFLLFlBQVksVUFBVSxDQUNoQyxFQUNELE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDN0QsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBR2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FDdEIsTUFBTSxDQUNILENBQUMsS0FBSyxFQUF3RCxFQUFFLENBQzdELEtBQUssWUFBWSxVQUFVLENBQ2hDLEVBQ0QsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUM3RCxDQUFDO0lBQ0wsQ0FBQztJQUVPLHlCQUF5QixDQUM5QixLQUFvQyxFQUNwQyxLQUFhO1FBRWIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUN2QyxNQUFNLElBQUksU0FBUyxDQUNoQixpQ0FBaUMsS0FBSyxpQkFBaUIsQ0FDekQsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBHcmFmdEV2ZW50IH0gZnJvbSBcIi4uL2V2ZW50cy9yZWxhdGlvbmFsL2dyYWZ0LWV2ZW50XCI7XG5pbXBvcnQgeyBQcnVuZUV2ZW50IH0gZnJvbSBcIi4uL2V2ZW50cy9yZWxhdGlvbmFsL3BydW5lLWV2ZW50XCI7XG5pbXBvcnQgeyBUcmVlRXZlbnQgfSBmcm9tIFwiLi4vc3RydWN0dXJlL3RyZWUtZXZlbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gXCIuLi9zdHJ1Y3R1cmUvdHJlZS1ub2RlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZVBsb3QgfSBmcm9tIFwiLi4vc3RydWN0dXJlL3RyZWUtcGxvdFwiO1xuaW1wb3J0IHsgUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4vcmVsYXRpb25zaGlwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZUJyYW5jaCB9IGZyb20gXCIuL3RyZWUtYnJhbmNoL3RyZWUtYnJhbmNoXCI7XG5cbmV4cG9ydCBjbGFzcyBUcmVlTm9kZUJhc2U8VXNlcmxhbmRDb21wb25lbnQ+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.rootComponentRef =
11
- this.viewContainerRef.createComponent(RootComponent);
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
- deleteBranch(index) {
29
- this.treeNodeBase.deleteBranch(index);
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.instanceSubscriptions.forEach((sub) => {
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
- getContents() {
53
- return this.rootComponentRef;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9jb3JlL3RyZWUtc2VydmljZS90cmVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFHbEQsTUFBTSxPQUFPLFdBQVc7SUFDZCxlQUFlLENBQ25CLFNBQTJCLEVBQzNCLFVBQXVCLEVBQUU7UUFFekIsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2YsQ0FBQzs7eUdBVFMsV0FBVzs2R0FBWCxXQUFXLGNBREUsTUFBTTs0RkFDbkIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7IFRyZWVPcHRpb25zIH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb24vdHJlZS1vcHRpb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZVJvb3QgfSBmcm9tIFwiLi4vdHJlZS1yb290L3RyZWUtcm9vdFwiO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXG5leHBvcnQgY2xhc3MgVHJlZVNlcnZpY2Uge1xuICAgcHVibGljIGNyZWF0ZUVtcHR5VHJlZTxDb21wb25lbnQ+KFxuICAgICAgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgb3B0aW9uczogVHJlZU9wdGlvbnMgPSB7fVxuICAgKTogVHJlZVJvb3Q8Q29tcG9uZW50PiB7XG4gICAgICBjb250YWluZXIuY2xlYXIoKTtcbiAgICAgIGNvbnN0IHJvb3QgPSBuZXcgVHJlZVJvb3Q8Q29tcG9uZW50Pihjb250YWluZXIpO1xuICAgICAgY29uZmlnLnNldENvbmZpZyhyb290LCBvcHRpb25zKTtcbiAgICAgIHJldHVybiByb290O1xuICAgfVxufVxuIl19
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
- type() {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1lbmQtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9kcmFnL2RyYWctZW5kLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxZQUFZO0lBYXRCLFlBQ0csTUFBb0IsRUFDcEIsU0FXQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sVUFBVSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxTQUFTO1FBSWIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFCLENBQUM7SUFFTSxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxTQUFTO1FBSWIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzFCLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlQnJhbmNoIH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IENvbnRhaW5lclRyZWVOb2RlIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZVwiO1xuaW1wb3J0IHsgRXZlbnRDb25kdWl0IH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS9ldmVudC1jb25kdWl0LmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZUV2ZW50IH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLWV2ZW50LmludGVyZmFjZVwiO1xuXG5leHBvcnQgY2xhc3MgRHJhZ0VuZEV2ZW50PFQ+IGltcGxlbWVudHMgVHJlZUV2ZW50IHtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogRXZlbnRDb25kdWl0O1xuICAgcHJpdmF0ZSByZWFkb25seSBfbmV3UGFyZW50OiBDb250YWluZXJUcmVlTm9kZTxcbiAgICAgIENvbXBvbmVudFJlZjxOb2RlQ29tcG9uZW50PixcbiAgICAgIFRyZWVCcmFuY2g8VD5cbiAgID47XG4gICBwcml2YXRlIHJlYWRvbmx5IF9uZXdJbmRleDogbnVtYmVyO1xuICAgcHJpdmF0ZSByZWFkb25seSBfb2xkUGFyZW50OiBDb250YWluZXJUcmVlTm9kZTxcbiAgICAgIENvbXBvbmVudFJlZjxOb2RlQ29tcG9uZW50PixcbiAgICAgIFRyZWVCcmFuY2g8VD5cbiAgID47XG4gICBwcml2YXRlIHJlYWRvbmx5IF9vbGRJbmRleDogbnVtYmVyO1xuXG4gICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICBzb3VyY2U6IEV2ZW50Q29uZHVpdCxcbiAgICAgIGVuZHBvaW50czoge1xuICAgICAgICAgb2xkUGFyZW50OiBDb250YWluZXJUcmVlTm9kZTxcbiAgICAgICAgICAgIENvbXBvbmVudFJlZjxOb2RlQ29tcG9uZW50PixcbiAgICAgICAgICAgIFRyZWVCcmFuY2g8VD5cbiAgICAgICAgID47XG4gICAgICAgICBvbGRJbmRleDogbnVtYmVyO1xuICAgICAgICAgbmV3UGFyZW50OiBDb250YWluZXJUcmVlTm9kZTxcbiAgICAgICAgICAgIENvbXBvbmVudFJlZjxOb2RlQ29tcG9uZW50PixcbiAgICAgICAgICAgIFRyZWVCcmFuY2g8VD5cbiAgICAgICAgID47XG4gICAgICAgICBuZXdJbmRleDogbnVtYmVyO1xuICAgICAgfVxuICAgKSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICB0aGlzLl9vbGRQYXJlbnQgPSBlbmRwb2ludHMub2xkUGFyZW50O1xuICAgICAgdGhpcy5fb2xkSW5kZXggPSBlbmRwb2ludHMub2xkSW5kZXg7XG4gICAgICB0aGlzLl9uZXdQYXJlbnQgPSBlbmRwb2ludHMubmV3UGFyZW50O1xuICAgICAgdGhpcy5fbmV3SW5kZXggPSBlbmRwb2ludHMubmV3SW5kZXg7XG4gICB9XG5cbiAgIHB1YmxpYyB0eXBlKCk6IFwiZHJhZyBlbmRcIiB7XG4gICAgICByZXR1cm4gXCJkcmFnIGVuZFwiO1xuICAgfVxuXG4gICBwdWJsaWMgc291cmNlKCk6IEV2ZW50Q29uZHVpdCB7XG4gICAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICAgfVxuXG4gICBwdWJsaWMgbmV3SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9uZXdJbmRleDtcbiAgIH1cblxuICAgcHVibGljIG5ld1BhcmVudCgpOiBDb250YWluZXJUcmVlTm9kZTxcbiAgICAgIENvbXBvbmVudFJlZjxOb2RlQ29tcG9uZW50PixcbiAgICAgIFRyZWVCcmFuY2g8VD5cbiAgID4ge1xuICAgICAgcmV0dXJuIHRoaXMuX25ld1BhcmVudDtcbiAgIH1cblxuICAgcHVibGljIG9sZEluZGV4KCk6IG51bWJlciB7XG4gICAgICByZXR1cm4gdGhpcy5fb2xkSW5kZXg7XG4gICB9XG5cbiAgIHB1YmxpYyBvbGRQYXJlbnQoKTogQ29udGFpbmVyVHJlZU5vZGU8XG4gICAgICBDb21wb25lbnRSZWY8Tm9kZUNvbXBvbmVudD4sXG4gICAgICBUcmVlQnJhbmNoPFQ+XG4gICA+IHtcbiAgICAgIHJldHVybiB0aGlzLl9vbGRQYXJlbnQ7XG4gICB9XG59XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zdGFydC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXZlbnRzL2RyYWcvZHJhZy1zdGFydC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sY0FBYztJQUd4QixZQUFtQixNQUFvQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUN6QixDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sWUFBWSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50Q29uZHVpdCB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmUvZXZlbnQtY29uZHVpdC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRyZWVFdmVudCB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmUvdHJlZS1ldmVudC5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNsYXNzIERyYWdTdGFydEV2ZW50IGltcGxlbWVudHMgVHJlZUV2ZW50IHtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogRXZlbnRDb25kdWl0O1xuXG4gICBwdWJsaWMgY29uc3RydWN0b3Ioc291cmNlOiBFdmVudENvbmR1aXQpIHtcbiAgICAgIHRoaXMuX3NvdXJjZSA9IHNvdXJjZTtcbiAgIH1cblxuICAgcHVibGljIHR5cGUoKTogXCJkcmFnIHN0YXJ0XCIge1xuICAgICAgcmV0dXJuIFwiZHJhZyBzdGFydFwiO1xuICAgfVxuXG4gICBwdWJsaWMgc291cmNlKCk6IEV2ZW50Q29uZHVpdCB7XG4gICAgICByZXR1cm4gdGhpcy5fc291cmNlO1xuICAgfVxufVxuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXZlbnRzL2RyYWcvZHJvcC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sU0FBUztJQVFuQixZQUNHLE1BQW9CLEVBQ3BCLE1BQXFFLEVBQ3JFLEtBQWE7UUFFYixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sVUFBVSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxNQUFNO1FBSVYsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOb2RlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbm9kZS1jb21wb25lbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlQnJhbmNoIH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IENvbnRhaW5lclRyZWVOb2RlIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS9jb250YWluZXItdHJlZS1ub2RlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRXZlbnRDb25kdWl0IH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS9ldmVudC1jb25kdWl0LmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVHJlZUV2ZW50IH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLWV2ZW50LmludGVyZmFjZVwiO1xuXG5leHBvcnQgY2xhc3MgRHJvcEV2ZW50PFQ+IGltcGxlbWVudHMgVHJlZUV2ZW50IHtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogRXZlbnRDb25kdWl0O1xuICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50OiBDb250YWluZXJUcmVlTm9kZTxcbiAgICAgIENvbXBvbmVudFJlZjxOb2RlQ29tcG9uZW50PixcbiAgICAgIFRyZWVCcmFuY2g8VD5cbiAgID47XG4gICBwcml2YXRlIHJlYWRvbmx5IF9pbmRleDogbnVtYmVyO1xuXG4gICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICBzb3VyY2U6IEV2ZW50Q29uZHVpdCxcbiAgICAgIHBhcmVudDogQ29udGFpbmVyVHJlZU5vZGU8Q29tcG9uZW50UmVmPE5vZGVDb21wb25lbnQ+LCBUcmVlQnJhbmNoPFQ+PixcbiAgICAgIGluZGV4OiBudW1iZXJcbiAgICkge1xuICAgICAgdGhpcy5fc291cmNlID0gc291cmNlO1xuICAgICAgdGhpcy5fcGFyZW50ID0gcGFyZW50O1xuICAgICAgdGhpcy5faW5kZXggPSBpbmRleDtcbiAgIH1cblxuICAgcHVibGljIHR5cGUoKTogXCJkcmFnIGVuZFwiIHtcbiAgICAgIHJldHVybiBcImRyYWcgZW5kXCI7XG4gICB9XG5cbiAgIHB1YmxpYyBzb3VyY2UoKTogRXZlbnRDb25kdWl0IHtcbiAgICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gICB9XG5cbiAgIHB1YmxpYyBpbmRleCgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICAgfVxuXG4gICBwdWJsaWMgcGFyZW50KCk6IENvbnRhaW5lclRyZWVOb2RlPFxuICAgICAgQ29tcG9uZW50UmVmPE5vZGVDb21wb25lbnQ+LFxuICAgICAgVHJlZUJyYW5jaDxUPlxuICAgPiB7XG4gICAgICByZXR1cm4gdGhpcy5fcGFyZW50O1xuICAgfVxufVxuIl19
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
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3JlbGF0aW9uYWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RyYWdcIjtcbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhZnQtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9yZWxhdGlvbmFsL2dyYWZ0LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxVQUFVO0lBUXBCLFlBQW1CLE1BQW9CLEVBQUUsWUFBZTtRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN0QixDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sT0FBTyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50Q29uZHVpdCB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmUvZXZlbnQtY29uZHVpdC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFJlbGF0aW9uYWxUcmVlRXZlbnQgfSBmcm9tIFwiLi9yZWxhdGlvbmFsLXRyZWUtZXZlbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLXJlbGF0aW9uc2hpcC5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNsYXNzIEdyYWZ0RXZlbnQ8VCBleHRlbmRzIFRyZWVSZWxhdGlvbnNoaXA8YW55LCBhbnk+PlxuICAgaW1wbGVtZW50cyBSZWxhdGlvbmFsVHJlZUV2ZW50PFRbXCJwYXJlbnRcIl0sIFRbXCJjaGlsZFwiXT5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogRXZlbnRDb25kdWl0O1xuICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50OiBUW1wicGFyZW50XCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGQ6IFRbXCJjaGlsZFwiXTtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX2luZGV4OiBudW1iZXI7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihzb3VyY2U6IEV2ZW50Q29uZHVpdCwgcmVsYXRpb25zaGlwOiBUKSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICB0aGlzLl9jaGlsZCA9IHJlbGF0aW9uc2hpcC5jaGlsZDtcbiAgICAgIHRoaXMuX3BhcmVudCA9IHJlbGF0aW9uc2hpcC5wYXJlbnQ7XG4gICAgICB0aGlzLl9pbmRleCA9IHJlbGF0aW9uc2hpcC5pbmRleDtcbiAgIH1cblxuICAgcHVibGljIGNoaWxkKCk6IFRbXCJjaGlsZFwiXSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hpbGQ7XG4gICB9XG5cbiAgIHB1YmxpYyB0eXBlKCk6IFwiZ3JhZnRcIiB7XG4gICAgICByZXR1cm4gXCJncmFmdFwiO1xuICAgfVxuXG4gICBwdWJsaWMgaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbmRleDtcbiAgIH1cblxuICAgcHVibGljIHBhcmVudCgpOiBUW1wicGFyZW50XCJdIHtcbiAgICAgIHJldHVybiB0aGlzLl9wYXJlbnQ7XG4gICB9XG5cbiAgIHB1YmxpYyBzb3VyY2UoKTogRXZlbnRDb25kdWl0IHtcbiAgICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gICB9XG59XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ1bmUtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9yZWxhdGlvbmFsL3BydW5lLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTyxVQUFVO0lBUXBCLFlBQW1CLE1BQW9CLEVBQUUsWUFBZTtRQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN0QixDQUFDO0lBRU0sSUFBSTtRQUNSLE9BQU8sT0FBTyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxNQUFNO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50Q29uZHVpdCB9IGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmUvZXZlbnQtY29uZHVpdC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFJlbGF0aW9uYWxUcmVlRXZlbnQgfSBmcm9tIFwiLi9yZWxhdGlvbmFsLXRyZWUtZXZlbnQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLXJlbGF0aW9uc2hpcC5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNsYXNzIFBydW5lRXZlbnQ8VCBleHRlbmRzIFRyZWVSZWxhdGlvbnNoaXA8YW55LCBhbnk+PlxuICAgaW1wbGVtZW50cyBSZWxhdGlvbmFsVHJlZUV2ZW50PFRbXCJwYXJlbnRcIl0sIFRbXCJjaGlsZFwiXT5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogRXZlbnRDb25kdWl0O1xuICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50OiBUW1wicGFyZW50XCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGQ6IFRbXCJjaGlsZFwiXTtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX2luZGV4OiBudW1iZXI7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihzb3VyY2U6IEV2ZW50Q29uZHVpdCwgcmVsYXRpb25zaGlwOiBUKSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICB0aGlzLl9jaGlsZCA9IHJlbGF0aW9uc2hpcC5jaGlsZDtcbiAgICAgIHRoaXMuX3BhcmVudCA9IHJlbGF0aW9uc2hpcC5wYXJlbnQ7XG4gICAgICB0aGlzLl9pbmRleCA9IHJlbGF0aW9uc2hpcC5pbmRleDtcbiAgIH1cblxuICAgcHVibGljIGNoaWxkKCk6IFRbXCJjaGlsZFwiXSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hpbGQ7XG4gICB9XG5cbiAgIHB1YmxpYyB0eXBlKCk6IFwicHJ1bmVcIiB7XG4gICAgICByZXR1cm4gXCJwcnVuZVwiO1xuICAgfVxuXG4gICBwdWJsaWMgaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiB0aGlzLl9pbmRleDtcbiAgIH1cblxuICAgcHVibGljIHBhcmVudCgpOiBUW1wicGFyZW50XCJdIHtcbiAgICAgIHJldHVybiB0aGlzLl9wYXJlbnQ7XG4gICB9XG5cbiAgIHB1YmxpYyBzb3VyY2UoKTogRXZlbnRDb25kdWl0IHtcbiAgICAgIHJldHVybiB0aGlzLl9zb3VyY2U7XG4gICB9XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ1bmUtZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V2ZW50cy9yZWxhdGlvbmFsL3BydW5lLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLDZEQUE2RDtBQUM3RCxNQUFNLE9BQU8sVUFBVTtJQVFwQixZQUFtQixNQUFrQixFQUFFLFlBQWU7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdkIsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWxhdGlvbmFsVHJlZUV2ZW50IH0gZnJvbSBcIi4vcmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHR5cGUgeyBUcmVlUmVsYXRpb25zaGlwIH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLXJlbGF0aW9uc2hpcC5pbnRlcmZhY2VcIjtcblxuLyoqIEVtaXR0ZWQgd2hlbiBhIGJyYW5jaCBpcyBwcnVuZWQgZnJvbSBpdHMgcGFyZW50IGJyYW5jaCAqL1xuZXhwb3J0IGNsYXNzIFBydW5lRXZlbnQ8VCBleHRlbmRzIFRyZWVSZWxhdGlvbnNoaXA8YW55LCBhbnk+PlxuICAgaW1wbGVtZW50cyBSZWxhdGlvbmFsVHJlZUV2ZW50PFRbXCJwYXJlbnRcIl0sIFRbXCJjaGlsZFwiXT5cbntcbiAgIHByaXZhdGUgcmVhZG9ubHkgX3NvdXJjZTogVFtcImNoaWxkXCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfcGFyZW50OiBUW1wicGFyZW50XCJdO1xuICAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGQ6IFRbXCJjaGlsZFwiXTtcbiAgIHByaXZhdGUgcmVhZG9ubHkgX2luZGV4OiBudW1iZXI7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihzb3VyY2U6IFRbXCJjaGlsZFwiXSwgcmVsYXRpb25zaGlwOiBUKSB7XG4gICAgICB0aGlzLl9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICB0aGlzLl9jaGlsZCA9IHJlbGF0aW9uc2hpcC5jaGlsZDtcbiAgICAgIHRoaXMuX3BhcmVudCA9IHJlbGF0aW9uc2hpcC5wYXJlbnQ7XG4gICAgICB0aGlzLl9pbmRleCA9IHJlbGF0aW9uc2hpcC5pbmRleDtcbiAgIH1cblxuICAgcHVibGljIGNoaWxkKCk6IFRbXCJjaGlsZFwiXSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hpbGQ7XG4gICB9XG5cbiAgIHB1YmxpYyBpbmRleCgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuX2luZGV4O1xuICAgfVxuXG4gICBwdWJsaWMgcGFyZW50KCk6IFRbXCJwYXJlbnRcIl0ge1xuICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudDtcbiAgIH1cblxuICAgcHVibGljIHNvdXJjZSgpOiBUW1wiY2hpbGRcIl0ge1xuICAgICAgcmV0dXJuIHRoaXMuX3NvdXJjZTtcbiAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXZlbnRzL3JlbGF0aW9uYWwvcmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJlZUV2ZW50IH0gZnJvbSBcIi4uLy4uL3N0cnVjdHVyZS90cmVlLWV2ZW50LmludGVyZmFjZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlbGF0aW9uYWxUcmVlRXZlbnQ8UGFyZW50LCBDaGlsZD4gZXh0ZW5kcyBUcmVlRXZlbnQge1xuICAgcGFyZW50OiAoKSA9PiBQYXJlbnQ7XG4gICBjaGlsZDogKCkgPT4gQ2hpbGQ7XG4gICBpbmRleDogKCkgPT4gbnVtYmVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXZlbnRzL3JlbGF0aW9uYWwvcmVsYXRpb25hbC10cmVlLWV2ZW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUcmVlRXZlbnQgfSBmcm9tIFwiLi4vLi4vc3RydWN0dXJlL3RyZWUtZXZlbnQuaW50ZXJmYWNlXCI7XG5cbi8qKiBBIFRyZWVFdmVudCB3aGljaCBpbnZvbHZlcyBhIHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVsYXRpb25hbFRyZWVFdmVudDxQYXJlbnQsIENoaWxkPiBleHRlbmRzIFRyZWVFdmVudCB7XG4gICAvKiogQHJldHVybnMgVGhlIHBhcmVudCBicmFuY2ggb2YgdGhlIHJlbGF0aW9uc2hpcCAqL1xuICAgcGFyZW50OiAoKSA9PiBQYXJlbnQ7XG4gICAvKiogQHJldHVybnMgVGhlIGNoaWxkIGJyYW5jaCBvZiB0aGUgcmVsYXRpb25zaGlwICovXG4gICBjaGlsZDogKCkgPT4gQ2hpbGQ7XG4gICAvKiogQHJldHVybnMgVGhlIGluZGV4IGxvY2F0aW9uIG9mIHRoZSBjaGlsZCAqL1xuICAgaW5kZXg6ICgpID0+IG51bWJlcjtcbn1cbiJdfQ==