@limble/limble-tree 5.0.0 → 6.1.0

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 (79) hide show
  1. package/README.md +26 -26
  2. package/fesm2022/limble-limble-tree.mjs +47 -47
  3. package/fesm2022/limble-limble-tree.mjs.map +1 -1
  4. package/lib/components/index.d.ts +2 -2
  5. package/lib/core/configuration/index.d.ts +1 -1
  6. package/lib/core/index.d.ts +5 -5
  7. package/lib/core/tree-branch/index.d.ts +1 -1
  8. package/lib/events/index.d.ts +1 -1
  9. package/lib/events/relational/index.d.ts +2 -2
  10. package/lib/legacy/index.d.ts +3 -3
  11. package/package.json +4 -6
  12. package/esm2022/lib/components/branch/branch.component.mjs +0 -78
  13. package/esm2022/lib/components/branch/index.mjs +0 -2
  14. package/esm2022/lib/components/dragover-no-change-detect.mjs +0 -39
  15. package/esm2022/lib/components/dropzone/dropzone.component.mjs +0 -35
  16. package/esm2022/lib/components/dropzone/index.mjs +0 -2
  17. package/esm2022/lib/components/host-component.interface.mjs +0 -2
  18. package/esm2022/lib/components/index.mjs +0 -7
  19. package/esm2022/lib/components/node-component.interface.mjs +0 -2
  20. package/esm2022/lib/components/root/index.mjs +0 -2
  21. package/esm2022/lib/components/root/root.component.mjs +0 -35
  22. package/esm2022/lib/core/branch-options.interface.mjs +0 -2
  23. package/esm2022/lib/core/branchable.interface.mjs +0 -2
  24. package/esm2022/lib/core/component-container.interface.mjs +0 -2
  25. package/esm2022/lib/core/configuration/configuration.mjs +0 -17
  26. package/esm2022/lib/core/configuration/index.mjs +0 -3
  27. package/esm2022/lib/core/configuration/tree-options.interface.mjs +0 -2
  28. package/esm2022/lib/core/index.mjs +0 -11
  29. package/esm2022/lib/core/tree-branch/branch-controller.mjs +0 -99
  30. package/esm2022/lib/core/tree-branch/graftable.interface.mjs +0 -2
  31. package/esm2022/lib/core/tree-branch/index.mjs +0 -4
  32. package/esm2022/lib/core/tree-branch/tree-branch.mjs +0 -429
  33. package/esm2022/lib/core/tree-node-base.mjs +0 -77
  34. package/esm2022/lib/core/tree-node.interface.mjs +0 -2
  35. package/esm2022/lib/core/tree-plot.interface.mjs +0 -2
  36. package/esm2022/lib/core/tree-root/index.mjs +0 -3
  37. package/esm2022/lib/core/tree-root/root-controller.mjs +0 -42
  38. package/esm2022/lib/core/tree-root/tree-root.mjs +0 -193
  39. package/esm2022/lib/core/tree-service/index.mjs +0 -2
  40. package/esm2022/lib/core/tree-service/tree.service.mjs +0 -25
  41. package/esm2022/lib/errors/index.mjs +0 -2
  42. package/esm2022/lib/errors/tree-error.mjs +0 -3
  43. package/esm2022/lib/events/drag/drag-end-event.mjs +0 -30
  44. package/esm2022/lib/events/drag/drag-start-event.mjs +0 -10
  45. package/esm2022/lib/events/drag/drop-event.mjs +0 -18
  46. package/esm2022/lib/events/drag/index.mjs +0 -4
  47. package/esm2022/lib/events/general/destruction-event.mjs +0 -10
  48. package/esm2022/lib/events/general/index.mjs +0 -2
  49. package/esm2022/lib/events/index.mjs +0 -5
  50. package/esm2022/lib/events/relational/graft-event.mjs +0 -22
  51. package/esm2022/lib/events/relational/index.mjs +0 -5
  52. package/esm2022/lib/events/relational/prune-event.mjs +0 -22
  53. package/esm2022/lib/events/relational/relational-tree-event.interface.mjs +0 -2
  54. package/esm2022/lib/events/relational/tree-relationship.interface.mjs +0 -2
  55. package/esm2022/lib/events/tree-event.interface.mjs +0 -2
  56. package/esm2022/lib/extras/collapse/collapse.mjs +0 -33
  57. package/esm2022/lib/extras/collapse/collapse.module.mjs +0 -16
  58. package/esm2022/lib/extras/collapse/collapse.service.mjs +0 -45
  59. package/esm2022/lib/extras/collapse/index.mjs +0 -4
  60. package/esm2022/lib/extras/drag-and-drop/drag-and-drop.mjs +0 -83
  61. package/esm2022/lib/extras/drag-and-drop/drag-and-drop.module.mjs +0 -22
  62. package/esm2022/lib/extras/drag-and-drop/drag-and-drop.service.mjs +0 -44
  63. package/esm2022/lib/extras/drag-and-drop/drag-state.mjs +0 -47
  64. package/esm2022/lib/extras/drag-and-drop/draggable.directive.mjs +0 -30
  65. package/esm2022/lib/extras/drag-and-drop/dropzone-renderer.mjs +0 -176
  66. package/esm2022/lib/extras/drag-and-drop/index.mjs +0 -7
  67. package/esm2022/lib/legacy/index.mjs +0 -7
  68. package/esm2022/lib/legacy/legacy-component-obj.interface.mjs +0 -2
  69. package/esm2022/lib/legacy/legacy-tree-data.interface.mjs +0 -2
  70. package/esm2022/lib/legacy/legacy-tree-options.interface.mjs +0 -2
  71. package/esm2022/lib/legacy/legacy-tree.mjs +0 -73
  72. package/esm2022/lib/legacy/limble-tree-legacy.module.mjs +0 -20
  73. package/esm2022/lib/legacy/limble-tree-root/limble-tree-root.component.mjs +0 -78
  74. package/esm2022/lib/limble-tree.module.mjs +0 -25
  75. package/esm2022/limble-limble-tree.mjs +0 -5
  76. package/esm2022/public-api.mjs +0 -12
  77. package/esm2022/shared/assert.mjs +0 -7
  78. package/esm2022/shared/has-property.mjs +0 -4
  79. package/esm2022/shared/index.mjs +0 -3
@@ -1,83 +0,0 @@
1
- import { Subject } from "rxjs";
2
- import { config } from "../../core";
3
- import { TreeError } from "../../errors";
4
- import { DragEndEvent, DragStartEvent, DropEvent } from "../../events";
5
- import { dragState, DragStates } from "./drag-state";
6
- import { assert } from "../../../shared";
7
- class DragAndDrop {
8
- constructor() {
9
- this.dragAborted$ = new Subject();
10
- }
11
- dragStart(treeBranch, event) {
12
- if (!this.draggingAllowed(treeBranch)) {
13
- event.preventDefault();
14
- return;
15
- }
16
- treeBranch.dispatch(new DragStartEvent(treeBranch));
17
- this.setDragEffects(treeBranch, event);
18
- this.watchForDragend(treeBranch, event);
19
- /* We have to do a setTimeout because DOM changes are not allowed during a
20
- * dragstart event. */
21
- setTimeout(() => {
22
- dragState.starting(treeBranch);
23
- treeBranch.prune();
24
- dragState.dragging();
25
- });
26
- }
27
- drop(parent, index) {
28
- const treeBranch = dragState.getDragData();
29
- if (treeBranch === undefined) {
30
- throw new TreeError("Cannot get dragged branch");
31
- }
32
- this.graftDraggedBranch(treeBranch, parent, index);
33
- treeBranch.dispatch(new DropEvent(treeBranch, parent, index));
34
- }
35
- getDragImageOffsets(event, element) {
36
- const bounds = element.getBoundingClientRect();
37
- const xOffset = event.clientX - bounds.left;
38
- const yOffset = event.clientY - bounds.top;
39
- return [xOffset, yOffset];
40
- }
41
- setDragEffects(treeBranch, event) {
42
- const dataTransfer = event.dataTransfer;
43
- assert(dataTransfer instanceof DataTransfer);
44
- const nativeElement = treeBranch.getNativeElement();
45
- const [xOffset, yOffset] = this.getDragImageOffsets(event, nativeElement);
46
- dataTransfer.setDragImage(nativeElement, xOffset, yOffset);
47
- }
48
- watchForDragend(treeBranch, event) {
49
- const oldParent = treeBranch.parent();
50
- const oldIndex = treeBranch.index();
51
- assert(oldParent !== undefined && oldIndex !== undefined);
52
- event.target?.addEventListener("dragend", (dragend) => {
53
- if (dragState.state() !== DragStates.Dropped) {
54
- // The drag ended but a drop never occurred, so put the dragged branch back where it started.
55
- this.dragAborted$.next(dragend);
56
- this.graftDraggedBranch(treeBranch, oldParent, oldIndex);
57
- }
58
- dragState.restart();
59
- const newParent = treeBranch.parent();
60
- assert(newParent !== undefined);
61
- const newIndex = treeBranch.index();
62
- assert(newIndex !== undefined);
63
- treeBranch.dispatch(new DragEndEvent(treeBranch, {
64
- oldParent,
65
- oldIndex,
66
- newParent,
67
- newIndex
68
- }));
69
- }, { once: true });
70
- }
71
- draggingAllowed(treeBranch) {
72
- const allowDragging = config.getConfig(treeBranch.root())?.dragAndDrop?.allowDragging ??
73
- (() => true);
74
- return allowDragging(treeBranch);
75
- }
76
- graftDraggedBranch(treeBranch, parent, index) {
77
- treeBranch.graftTo(parent, index);
78
- treeBranch.getNativeElement().style.display = "block";
79
- dragState.dropped();
80
- }
81
- }
82
- export const dragAndDrop = new DragAndDrop();
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXh0cmFzL2RyYWctYW5kLWRyb3AvZHJhZy1hbmQtZHJvcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBa0MsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxNQUFNLFdBQVc7SUFBakI7UUFDbUIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO0lBa0czRCxDQUFDO0lBaEdTLFNBQVMsQ0FBSSxVQUF5QixFQUFFLEtBQWdCO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDckMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDVixDQUFDO1FBQ0QsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hDOzhCQUNzQjtRQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENB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QUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBSSxVQUF5QjtRQUNqRCxNQUFNLGFBQWEsR0FDaEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsYUFBYTtZQUMvRCxDQUFDLEdBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxrQkFBa0IsQ0FDdkIsVUFBeUIsRUFDekIsTUFBbUIsRUFDbkIsS0FBYTtRQUViLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3RELFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN2QixDQUFDO0NBQ0g7QUFFRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgdHlwZSBUcmVlQnJhbmNoLCB0eXBlIFRyZWVOb2RlLCBjb25maWcgfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgVHJlZUVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yc1wiO1xuaW1wb3J0IHsgRHJhZ0VuZEV2ZW50LCBEcmFnU3RhcnRFdmVudCwgRHJvcEV2ZW50IH0gZnJvbSBcIi4uLy4uL2V2ZW50c1wiO1xuaW1wb3J0IHsgZHJhZ1N0YXRlLCBEcmFnU3RhdGVzIH0gZnJvbSBcIi4vZHJhZy1zdGF0ZVwiO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSBcIi4uLy4uLy4uL3NoYXJlZFwiO1xuXG5jbGFzcyBEcmFnQW5kRHJvcCB7XG4gICBwdWJsaWMgcmVhZG9ubHkgZHJhZ0Fib3J0ZWQkID0gbmV3IFN1YmplY3Q8RHJhZ0V2ZW50PigpO1xuXG4gICBwdWJsaWMgZHJhZ1N0YXJ0PFQ+KHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD4sIGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5kcmFnZ2luZ0FsbG93ZWQodHJlZUJyYW5jaCkpIHtcbiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0cmVlQnJhbmNoLmRpc3BhdGNoKG5ldyBEcmFnU3RhcnRFdmVudCh0cmVlQnJhbmNoKSk7XG4gICAgICB0aGlzLnNldERyYWdFZmZlY3RzKHRyZWVCcmFuY2gsIGV2ZW50KTtcbiAgICAgIHRoaXMud2F0Y2hGb3JEcmFnZW5kKHRyZWVCcmFuY2gsIGV2ZW50KTtcbiAgICAgIC8qIFdlIGhhdmUgdG8gZG8gYSBzZXRUaW1lb3V0IGJlY2F1c2UgRE9NIGNoYW5nZXMgYXJlIG5vdCBhbGxvd2VkIGR1cmluZyBhXG4gICAgICAgKiBkcmFnc3RhcnQgZXZlbnQuICovXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgIGRyYWdTdGF0ZS5zdGFydGluZyh0cmVlQnJhbmNoKTtcbiAgICAgICAgIHRyZWVCcmFuY2gucHJ1bmUoKTtcbiAgICAgICAgIGRyYWdTdGF0ZS5kcmFnZ2luZygpO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIHB1YmxpYyBkcm9wPFQ+KHBhcmVudDogVHJlZU5vZGU8VD4sIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHRyZWVCcmFuY2ggPSBkcmFnU3RhdGUuZ2V0RHJhZ0RhdGE8VD4oKTtcbiAgICAgIGlmICh0cmVlQnJhbmNoID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgIHRocm93IG5ldyBUcmVlRXJyb3IoXCJDYW5ub3QgZ2V0IGRyYWdnZWQgYnJhbmNoXCIpO1xuICAgICAgfVxuICAgICAgdGhpcy5ncmFmdERyYWdnZWRCcmFuY2godHJlZUJyYW5jaCwgcGFyZW50LCBpbmRleCk7XG4gICAgICB0cmVlQnJhbmNoLmRpc3BhdGNoKG5ldyBEcm9wRXZlbnQodHJlZUJyYW5jaCwgcGFyZW50LCBpbmRleCkpO1xuICAgfVxuXG4gICBwcml2YXRlIGdldERyYWdJbWFnZU9mZnNldHMoXG4gICAgICBldmVudDogRHJhZ0V2ZW50LFxuICAgICAgZWxlbWVudDogRWxlbWVudFxuICAgKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICBjb25zdCBib3VuZHMgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgeE9mZnNldCA9IGV2ZW50LmNsaWVudFggLSBib3VuZHMubGVmdDtcbiAgICAgIGNvbnN0IHlPZmZzZXQgPSBldmVudC5jbGllbnRZIC0gYm91bmRzLnRvcDtcbiAgICAgIHJldHVybiBbeE9mZnNldCwgeU9mZnNldF07XG4gICB9XG5cbiAgIHByaXZhdGUgc2V0RHJhZ0VmZmVjdHM8VD4oXG4gICAgICB0cmVlQnJhbmNoOiBUcmVlQnJhbmNoPFQ+LFxuICAgICAgZXZlbnQ6IERyYWdFdmVudFxuICAgKTogdm9pZCB7XG4gICAgICBjb25zdCBkYXRhVHJhbnNmZXIgPSBldmVudC5kYXRhVHJhbnNmZXI7XG4gICAgICBhc3NlcnQoZGF0YVRyYW5zZmVyIGluc3RhbmNlb2YgRGF0YVRyYW5zZmVyKTtcbiAgICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0cmVlQnJhbmNoLmdldE5hdGl2ZUVsZW1lbnQoKTtcbiAgICAgIGNvbnN0IFt4T2Zmc2V0LCB5T2Zmc2V0XSA9IHRoaXMuZ2V0RHJhZ0ltYWdlT2Zmc2V0cyhldmVudCwgbmF0aXZlRWxlbWVudCk7XG4gICAgICBkYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKG5hdGl2ZUVsZW1lbnQsIHhPZmZzZXQsIHlPZmZzZXQpO1xuICAgfVxuXG4gICBwcml2YXRlIHdhdGNoRm9yRHJhZ2VuZDxUPihcbiAgICAgIHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD4sXG4gICAgICBldmVudDogRHJhZ0V2ZW50XG4gICApOiB2b2lkIHtcbiAgICAgIGNvbnN0IG9sZFBhcmVudCA9IHRyZWVCcmFuY2gucGFyZW50KCk7XG4gICAgICBjb25zdCBvbGRJbmRleCA9IHRyZWVCcmFuY2guaW5kZXgoKTtcbiAgICAgIGFzc2VydChvbGRQYXJlbnQgIT09IHVuZGVmaW5lZCAmJiBvbGRJbmRleCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIGV2ZW50LnRhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgIFwiZHJhZ2VuZFwiLFxuICAgICAgICAgKGRyYWdlbmQpID0+IHtcbiAgICAgICAgICAgIGlmIChkcmFnU3RhdGUuc3RhdGUoKSAhPT0gRHJhZ1N0YXRlcy5Ecm9wcGVkKSB7XG4gICAgICAgICAgICAgICAvLyBUaGUgZHJhZyBlbmRlZCBidXQgYSBkcm9wIG5ldmVyIG9jY3VycmVkLCBzbyBwdXQgdGhlIGRyYWdnZWQgYnJhbmNoIGJhY2sgd2hlcmUgaXQgc3RhcnRlZC5cbiAgICAgICAgICAgICAgIHRoaXMuZHJhZ0Fib3J0ZWQkLm5leHQoZHJhZ2VuZCBhcyBEcmFnRXZlbnQpO1xuICAgICAgICAgICAgICAgdGhpcy5ncmFmdERyYWdnZWRCcmFuY2godHJlZUJyYW5jaCwgb2xkUGFyZW50LCBvbGRJbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkcmFnU3RhdGUucmVzdGFydCgpO1xuICAgICAgICAgICAgY29uc3QgbmV3UGFyZW50ID0gdHJlZUJyYW5jaC5wYXJlbnQoKTtcbiAgICAgICAgICAgIGFzc2VydChuZXdQYXJlbnQgIT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBjb25zdCBuZXdJbmRleCA9IHRyZWVCcmFuY2guaW5kZXgoKTtcbiAgICAgICAgICAgIGFzc2VydChuZXdJbmRleCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIHRyZWVCcmFuY2guZGlzcGF0Y2goXG4gICAgICAgICAgICAgICBuZXcgRHJhZ0VuZEV2ZW50KHRyZWVCcmFuY2gsIHtcbiAgICAgICAgICAgICAgICAgIG9sZFBhcmVudCxcbiAgICAgICAgICAgICAgICAgIG9sZEluZGV4LFxuICAgICAgICAgICAgICAgICAgbmV3UGFyZW50LFxuICAgICAgICAgICAgICAgICAgbmV3SW5kZXhcbiAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgfSxcbiAgICAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgICApO1xuICAgfVxuXG4gICBwcml2YXRlIGRyYWdnaW5nQWxsb3dlZDxUPih0cmVlQnJhbmNoOiBUcmVlQnJhbmNoPFQ+KTogYm9vbGVhbiB7XG4gICAgICBjb25zdCBhbGxvd0RyYWdnaW5nID1cbiAgICAgICAgIGNvbmZpZy5nZXRDb25maWcodHJlZUJyYW5jaC5yb290KCkpPy5kcmFnQW5kRHJvcD8uYWxsb3dEcmFnZ2luZyA/P1xuICAgICAgICAgKCgpOiB0cnVlID0+IHRydWUpO1xuICAgICAgcmV0dXJuIGFsbG93RHJhZ2dpbmcodHJlZUJyYW5jaCk7XG4gICB9XG5cbiAgIHByaXZhdGUgZ3JhZnREcmFnZ2VkQnJhbmNoPFQ+KFxuICAgICAgdHJlZUJyYW5jaDogVHJlZUJyYW5jaDxUPixcbiAgICAgIHBhcmVudDogVHJlZU5vZGU8VD4sXG4gICAgICBpbmRleDogbnVtYmVyXG4gICApOiB2b2lkIHtcbiAgICAgIHRyZWVCcmFuY2guZ3JhZnRUbyhwYXJlbnQsIGluZGV4KTtcbiAgICAgIHRyZWVCcmFuY2guZ2V0TmF0aXZlRWxlbWVudCgpLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgICBkcmFnU3RhdGUuZHJvcHBlZCgpO1xuICAgfVxufVxuXG5leHBvcnQgY29uc3QgZHJhZ0FuZERyb3AgPSBuZXcgRHJhZ0FuZERyb3AoKTtcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { TreeDragAndDropService } from "./drag-and-drop.service";
3
- import { DraggableDirective } from "./draggable.directive";
4
- import * as i0 from "@angular/core";
5
- /**
6
- * An Angular module containing all of the entities which provide Drag-And-Drop
7
- * functionality.
8
- */
9
- export class TreeDragAndDropModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeDragAndDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: TreeDragAndDropModule, imports: [DraggableDirective], exports: [DraggableDirective] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeDragAndDropModule, providers: [TreeDragAndDropService] }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeDragAndDropModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- imports: [DraggableDirective],
18
- providers: [TreeDragAndDropService],
19
- exports: [DraggableDirective]
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V4dHJhcy9kcmFnLWFuZC1kcm9wL2RyYWctYW5kLWRyb3AubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNEOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7OEdBQXJCLHFCQUFxQjsrR0FBckIscUJBQXFCLFlBSnJCLGtCQUFrQixhQUVsQixrQkFBa0I7K0dBRWxCLHFCQUFxQixhQUhwQixDQUFDLHNCQUFzQixDQUFDOzsyRkFHekIscUJBQXFCO2tCQUxqQyxRQUFRO21CQUFDO29CQUNQLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUM3QixTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJlZURyYWdBbmREcm9wU2VydmljZSB9IGZyb20gXCIuL2RyYWctYW5kLWRyb3Auc2VydmljZVwiO1xuaW1wb3J0IHsgRHJhZ2dhYmxlRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJhZ2dhYmxlLmRpcmVjdGl2ZVwiO1xuXG4vKipcbiAqIEFuIEFuZ3VsYXIgbW9kdWxlIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBlbnRpdGllcyB3aGljaCBwcm92aWRlIERyYWctQW5kLURyb3BcbiAqIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbkBOZ01vZHVsZSh7XG4gICBpbXBvcnRzOiBbRHJhZ2dhYmxlRGlyZWN0aXZlXSxcbiAgIHByb3ZpZGVyczogW1RyZWVEcmFnQW5kRHJvcFNlcnZpY2VdLFxuICAgZXhwb3J0czogW0RyYWdnYWJsZURpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVHJlZURyYWdBbmREcm9wTW9kdWxlIHt9XG4iXX0=
@@ -1,44 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { dragState } from "./drag-state";
3
- import { dropzoneRenderer } from "./dropzone-renderer";
4
- import * as i0 from "@angular/core";
5
- export class TreeDragAndDropService {
6
- /** Hides all Dropzones */
7
- clearDropzones() {
8
- dropzoneRenderer.clearCurrentDisplay();
9
- }
10
- /**
11
- * @returns An object that indicates which dropzones are currently being displayed.
12
- * If no dropzones are being displayed, then null is returned.
13
- */
14
- getCurrentlyDisplayedDropzoneFamily() {
15
- return dropzoneRenderer.getCurrentDisplay();
16
- }
17
- /**
18
- * Causes the dropzone of the TreeRoot to be displayed.
19
- *
20
- * @remarks
21
- * This is a useful function when you want to show the dropzone of a TreeRoot
22
- * that has no child branches.
23
- *
24
- * @param root - The TreeRoot whose dropzone you want to show.
25
- */
26
- showRootDropzone(root) {
27
- dropzoneRenderer.showLowerZones(root);
28
- }
29
- /**
30
- * @returns An observable that emits a number whenever the drag state changes.
31
- *
32
- * @remarks
33
- * See the `DragStates` enum for a list of possible states.
34
- */
35
- state() {
36
- return dragState.events();
37
- }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeDragAndDropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeDragAndDropService }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: TreeDragAndDropService, decorators: [{
42
- type: Injectable
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9leHRyYXMvZHJhZy1hbmQtZHJvcC9kcmFnLWFuZC1kcm9wLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFHdkQsTUFBTSxPQUFPLHNCQUFzQjtJQUNoQywwQkFBMEI7SUFDbkIsY0FBYztRQUNsQixnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxtQ0FBbUM7UUFJdkMsT0FBTyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLGdCQUFnQixDQUFJLElBQWlCO1FBQ3pDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLO1FBQ1QsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0F0Q1Msc0JBQXNCO2tIQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB0eXBlIHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVOb2RlLCBUcmVlUm9vdCB9IGZyb20gXCIuLi8uLi9jb3JlXCI7XG5pbXBvcnQgeyBkcmFnU3RhdGUsIHR5cGUgRHJhZ1N0YXRlcyB9IGZyb20gXCIuL2RyYWctc3RhdGVcIjtcbmltcG9ydCB7IGRyb3B6b25lUmVuZGVyZXIgfSBmcm9tIFwiLi9kcm9wem9uZS1yZW5kZXJlclwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHJlZURyYWdBbmREcm9wU2VydmljZSB7XG4gICAvKiogSGlkZXMgYWxsIERyb3B6b25lcyAqL1xuICAgcHVibGljIGNsZWFyRHJvcHpvbmVzKCk6IHZvaWQge1xuICAgICAgZHJvcHpvbmVSZW5kZXJlci5jbGVhckN1cnJlbnREaXNwbGF5KCk7XG4gICB9XG5cbiAgIC8qKlxuICAgICogQHJldHVybnMgQW4gb2JqZWN0IHRoYXQgaW5kaWNhdGVzIHdoaWNoIGRyb3B6b25lcyBhcmUgY3VycmVudGx5IGJlaW5nIGRpc3BsYXllZC5cbiAgICAqIElmIG5vIGRyb3B6b25lcyBhcmUgYmVpbmcgZGlzcGxheWVkLCB0aGVuIG51bGwgaXMgcmV0dXJuZWQuXG4gICAgKi9cbiAgIHB1YmxpYyBnZXRDdXJyZW50bHlEaXNwbGF5ZWREcm9wem9uZUZhbWlseSgpOiB7XG4gICAgICB0cmVlQnJhbmNoOiBUcmVlTm9kZTxhbnk+O1xuICAgICAgZGlyZWN0aW9uOiBcInVwcGVyXCIgfCBcImxvd2VyXCI7XG4gICB9IHwgbnVsbCB7XG4gICAgICByZXR1cm4gZHJvcHpvbmVSZW5kZXJlci5nZXRDdXJyZW50RGlzcGxheSgpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIENhdXNlcyB0aGUgZHJvcHpvbmUgb2YgdGhlIFRyZWVSb290IHRvIGJlIGRpc3BsYXllZC5cbiAgICAqXG4gICAgKiBAcmVtYXJrc1xuICAgICogVGhpcyBpcyBhIHVzZWZ1bCBmdW5jdGlvbiB3aGVuIHlvdSB3YW50IHRvIHNob3cgdGhlIGRyb3B6b25lIG9mIGEgVHJlZVJvb3RcbiAgICAqIHRoYXQgaGFzIG5vIGNoaWxkIGJyYW5jaGVzLlxuICAgICpcbiAgICAqIEBwYXJhbSByb290IC0gVGhlIFRyZWVSb290IHdob3NlIGRyb3B6b25lIHlvdSB3YW50IHRvIHNob3cuXG4gICAgKi9cbiAgIHB1YmxpYyBzaG93Um9vdERyb3B6b25lPFQ+KHJvb3Q6IFRyZWVSb290PFQ+KTogdm9pZCB7XG4gICAgICBkcm9wem9uZVJlbmRlcmVyLnNob3dMb3dlclpvbmVzKHJvb3QpO1xuICAgfVxuXG4gICAvKipcbiAgICAqIEByZXR1cm5zIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyBhIG51bWJlciB3aGVuZXZlciB0aGUgZHJhZyBzdGF0ZSBjaGFuZ2VzLlxuICAgICpcbiAgICAqIEByZW1hcmtzXG4gICAgKiBTZWUgdGhlIGBEcmFnU3RhdGVzYCBlbnVtIGZvciBhIGxpc3Qgb2YgcG9zc2libGUgc3RhdGVzLlxuICAgICovXG4gICBwdWJsaWMgc3RhdGUoKTogT2JzZXJ2YWJsZTxEcmFnU3RhdGVzPiB7XG4gICAgICByZXR1cm4gZHJhZ1N0YXRlLmV2ZW50cygpO1xuICAgfVxufVxuIl19
@@ -1,47 +0,0 @@
1
- import { assert } from "../../../shared";
2
- import { BehaviorSubject } from "rxjs";
3
- export var DragStates;
4
- (function (DragStates) {
5
- DragStates[DragStates["Idle"] = 0] = "Idle";
6
- DragStates[DragStates["Starting"] = 1] = "Starting";
7
- DragStates[DragStates["Dragging"] = 2] = "Dragging";
8
- DragStates[DragStates["Dropped"] = 3] = "Dropped";
9
- })(DragStates || (DragStates = {}));
10
- class DragState {
11
- constructor() {
12
- this._state = DragStates.Idle;
13
- this.state$ = new BehaviorSubject(DragStates.Idle);
14
- this.state$.subscribe((state) => {
15
- this._state = state;
16
- });
17
- this.dragData = undefined;
18
- }
19
- getDragData() {
20
- return this.dragData;
21
- }
22
- starting(treeBranch) {
23
- assert(this._state === DragStates.Idle);
24
- this.dragData = treeBranch;
25
- this.state$.next(DragStates.Starting);
26
- }
27
- dragging() {
28
- assert(this._state === DragStates.Starting);
29
- this.state$.next(DragStates.Dragging);
30
- }
31
- dropped() {
32
- assert(this._state === DragStates.Dragging);
33
- this.state$.next(DragStates.Dropped);
34
- }
35
- restart() {
36
- this.dragData = undefined;
37
- this.state$.next(DragStates.Idle);
38
- }
39
- events() {
40
- return this.state$;
41
- }
42
- state() {
43
- return this._state;
44
- }
45
- }
46
- export const dragState = new DragState();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXh0cmFzL2RyYWctYW5kLWRyb3AvZHJhZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBbUIsTUFBTSxNQUFNLENBQUM7QUFHeEQsTUFBTSxDQUFOLElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNuQiwyQ0FBUSxDQUFBO0lBQ1IsbURBQVksQ0FBQTtJQUNaLG1EQUFZLENBQUE7SUFDWixpREFBVyxDQUFBO0FBQ2QsQ0FBQyxFQUxXLFVBQVUsS0FBVixVQUFVLFFBS3JCO0FBRUQsTUFBTSxTQUFTO0lBS1o7UUFIUSxXQUFNLEdBQWUsVUFBVSxDQUFDLElBQUksQ0FBQztRQUkxQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFhLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVNLFdBQVc7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQztJQUVNLFFBQVEsQ0FBSSxVQUF5QjtRQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxRQUFRO1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sT0FBTztRQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLE9BQU87UUFDWCxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLE1BQU07UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUs7UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztDQUNIO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NlcnQgfSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHR5cGUgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBUcmVlQnJhbmNoIH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcblxuZXhwb3J0IGVudW0gRHJhZ1N0YXRlcyB7XG4gICBJZGxlID0gMCxcbiAgIFN0YXJ0aW5nID0gMSxcbiAgIERyYWdnaW5nID0gMixcbiAgIERyb3BwZWQgPSAzXG59XG5cbmNsYXNzIERyYWdTdGF0ZSB7XG4gICBwcml2YXRlIGRyYWdEYXRhOiBUcmVlQnJhbmNoPGFueT4gfCB1bmRlZmluZWQ7XG4gICBwcml2YXRlIF9zdGF0ZTogRHJhZ1N0YXRlcyA9IERyYWdTdGF0ZXMuSWRsZTtcbiAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGUkOiBCZWhhdmlvclN1YmplY3Q8RHJhZ1N0YXRlcz47XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHRoaXMuc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEcmFnU3RhdGVzPihEcmFnU3RhdGVzLklkbGUpO1xuICAgICAgdGhpcy5zdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5kcmFnRGF0YSA9IHVuZGVmaW5lZDtcbiAgIH1cblxuICAgcHVibGljIGdldERyYWdEYXRhPFQ+KCk6IFRyZWVCcmFuY2g8VD4gfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIHRoaXMuZHJhZ0RhdGE7XG4gICB9XG5cbiAgIHB1YmxpYyBzdGFydGluZzxUPih0cmVlQnJhbmNoOiBUcmVlQnJhbmNoPFQ+KTogdm9pZCB7XG4gICAgICBhc3NlcnQodGhpcy5fc3RhdGUgPT09IERyYWdTdGF0ZXMuSWRsZSk7XG4gICAgICB0aGlzLmRyYWdEYXRhID0gdHJlZUJyYW5jaDtcbiAgICAgIHRoaXMuc3RhdGUkLm5leHQoRHJhZ1N0YXRlcy5TdGFydGluZyk7XG4gICB9XG5cbiAgIHB1YmxpYyBkcmFnZ2luZygpOiB2b2lkIHtcbiAgICAgIGFzc2VydCh0aGlzLl9zdGF0ZSA9PT0gRHJhZ1N0YXRlcy5TdGFydGluZyk7XG4gICAgICB0aGlzLnN0YXRlJC5uZXh0KERyYWdTdGF0ZXMuRHJhZ2dpbmcpO1xuICAgfVxuXG4gICBwdWJsaWMgZHJvcHBlZCgpOiB2b2lkIHtcbiAgICAgIGFzc2VydCh0aGlzLl9zdGF0ZSA9PT0gRHJhZ1N0YXRlcy5EcmFnZ2luZyk7XG4gICAgICB0aGlzLnN0YXRlJC5uZXh0KERyYWdTdGF0ZXMuRHJvcHBlZCk7XG4gICB9XG5cbiAgIHB1YmxpYyByZXN0YXJ0KCk6IHZvaWQge1xuICAgICAgdGhpcy5kcmFnRGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RhdGUkLm5leHQoRHJhZ1N0YXRlcy5JZGxlKTtcbiAgIH1cblxuICAgcHVibGljIGV2ZW50cygpOiBPYnNlcnZhYmxlPERyYWdTdGF0ZXM+IHtcbiAgICAgIHJldHVybiB0aGlzLnN0YXRlJDtcbiAgIH1cblxuICAgcHVibGljIHN0YXRlKCk6IERyYWdTdGF0ZXMge1xuICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgfVxufVxuXG5leHBvcnQgY29uc3QgZHJhZ1N0YXRlID0gbmV3IERyYWdTdGF0ZSgpO1xuIl19
@@ -1,30 +0,0 @@
1
- import { Directive, HostListener, Input } from "@angular/core";
2
- import { dragAndDrop } from "./drag-and-drop";
3
- import * as i0 from "@angular/core";
4
- /** Makes an TreeBranch draggable when the host element is dragged */
5
- export class DraggableDirective {
6
- constructor(renderer, hostElement) {
7
- renderer.setAttribute(hostElement.nativeElement, "draggable", "true");
8
- renderer.setStyle(hostElement.nativeElement, "cursor", "grab");
9
- }
10
- onDragstart(event) {
11
- if (this.limbleTreeDraggable === undefined)
12
- return;
13
- dragAndDrop.dragStart(this.limbleTreeDraggable, event);
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DraggableDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
16
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.0", type: DraggableDirective, isStandalone: true, selector: "[limbleTreeDraggable]", inputs: { limbleTreeDraggable: "limbleTreeDraggable" }, host: { listeners: { "dragstart": "onDragstart($event)" } }, ngImport: i0 }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DraggableDirective, decorators: [{
19
- type: Directive,
20
- args: [{
21
- selector: "[limbleTreeDraggable]",
22
- standalone: true
23
- }]
24
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { limbleTreeDraggable: [{
25
- type: Input
26
- }], onDragstart: [{
27
- type: HostListener,
28
- args: ["dragstart", ["$event"]]
29
- }] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2dhYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvZXh0cmFzL2RyYWctYW5kLWRyb3AvZHJhZ2dhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0osU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUU5QyxxRUFBcUU7QUFLckUsTUFBTSxPQUFPLGtCQUFrQjtJQUc1QixZQUNHLFFBQW1CLEVBQ25CLFdBQW9DO1FBRXBDLFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRTZDLFdBQVcsQ0FDdEQsS0FBZ0I7UUFFaEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssU0FBUztZQUFFLE9BQU87UUFDbkQsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs4R0FoQlMsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1IsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsVUFBVSxFQUFFLElBQUk7aUJBQ2xCO3VHQUVXLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFVd0MsV0FBVztzQkFBeEQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgRGlyZWN0aXZlLFxuICAgRWxlbWVudFJlZixcbiAgIEhvc3RMaXN0ZW5lcixcbiAgIElucHV0LFxuICAgUmVuZGVyZXIyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IFRyZWVCcmFuY2ggfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgZHJhZ0FuZERyb3AgfSBmcm9tIFwiLi9kcmFnLWFuZC1kcm9wXCI7XG5cbi8qKiBNYWtlcyBhbiBUcmVlQnJhbmNoIGRyYWdnYWJsZSB3aGVuIHRoZSBob3N0IGVsZW1lbnQgaXMgZHJhZ2dlZCAqL1xuQERpcmVjdGl2ZSh7XG4gICBzZWxlY3RvcjogXCJbbGltYmxlVHJlZURyYWdnYWJsZV1cIixcbiAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ2dhYmxlRGlyZWN0aXZlIHtcbiAgIEBJbnB1dCgpIGxpbWJsZVRyZWVEcmFnZ2FibGU/OiBUcmVlQnJhbmNoPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICBob3N0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgICkge1xuICAgICAgcmVuZGVyZXIuc2V0QXR0cmlidXRlKGhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIFwiZHJhZ2dhYmxlXCIsIFwidHJ1ZVwiKTtcbiAgICAgIHJlbmRlcmVyLnNldFN0eWxlKGhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIFwiY3Vyc29yXCIsIFwiZ3JhYlwiKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdzdGFydFwiLCBbXCIkZXZlbnRcIl0pIHB1YmxpYyBvbkRyYWdzdGFydChcbiAgICAgIGV2ZW50OiBEcmFnRXZlbnRcbiAgICk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMubGltYmxlVHJlZURyYWdnYWJsZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gICAgICBkcmFnQW5kRHJvcC5kcmFnU3RhcnQodGhpcy5saW1ibGVUcmVlRHJhZ2dhYmxlLCBldmVudCk7XG4gICB9XG59XG4iXX0=
@@ -1,176 +0,0 @@
1
- import { assert } from "../../../shared";
2
- import { BranchComponent } from "../../components";
3
- import { dragState, DragStates } from "./drag-state";
4
- import { dragAndDrop } from "./drag-and-drop";
5
- import { TreeBranch, TreeRoot, config } from "../../core";
6
- import { filter, first } from "rxjs";
7
- import { PruneEvent } from "../../events";
8
- class DropzoneRenderer {
9
- constructor() {
10
- this.registry = new Map();
11
- this.currentDisplay = null;
12
- dragAndDrop.dragAborted$.subscribe(() => {
13
- this.clearCurrentDisplay();
14
- });
15
- dragState
16
- .events()
17
- .pipe(filter((event) => event === DragStates.Starting))
18
- .subscribe(() => {
19
- const branch = dragState.getDragData();
20
- assert(branch !== undefined);
21
- let cursor = branch.parent()?.getBranch((branch.index() ?? 0) - 1);
22
- let final = branch.parent();
23
- while (cursor !== undefined) {
24
- final = cursor;
25
- cursor = cursor.branches().at(-1);
26
- }
27
- branch
28
- .events()
29
- .pipe(filter((event) => event instanceof PruneEvent), first())
30
- .subscribe(() => {
31
- assert(final !== undefined);
32
- this.showLowerZones(final);
33
- });
34
- });
35
- }
36
- clearCurrentDisplay() {
37
- if (this.currentDisplay === null)
38
- return;
39
- for (const branch of this.registry.values()) {
40
- const instance = branch.getComponentInstance();
41
- instance.showInnerDropzone = false;
42
- if (instance instanceof BranchComponent) {
43
- instance.showLateralDropzone = false;
44
- }
45
- }
46
- this.currentDisplay = null;
47
- }
48
- clearTreeFromRegistry(tree) {
49
- const nodes = [];
50
- tree.traverse((node) => nodes.push(node));
51
- for (const [dropzoneComponent, treeNode] of this.registry) {
52
- if (nodes.includes(treeNode)) {
53
- this.registry.delete(dropzoneComponent);
54
- }
55
- }
56
- }
57
- getCurrentDisplay() {
58
- if (this.currentDisplay === null)
59
- return null;
60
- return { ...this.currentDisplay };
61
- }
62
- getDropzoneLocation(dropzone) {
63
- const branch = this.registry.get(dropzone);
64
- const placement = dropzone.placement;
65
- if (branch === undefined) {
66
- throw new Error("dropzone not found in registry");
67
- }
68
- if (placement === undefined) {
69
- throw new Error("dropzone has an undefined placement");
70
- }
71
- return [branch, placement];
72
- }
73
- handleDrop(treeNode, placement) {
74
- if (placement === "inner") {
75
- dragAndDrop.drop(treeNode, 0);
76
- }
77
- else if (treeNode instanceof TreeBranch && placement === "lateral") {
78
- const currentParent = treeNode.parent();
79
- const index = treeNode.index();
80
- if (currentParent === undefined || index === undefined) {
81
- throw new Error("branch must have a parent");
82
- }
83
- dragAndDrop.drop(currentParent, index + 1);
84
- }
85
- this.clearCurrentDisplay();
86
- }
87
- registerDropzone(dropzone, treeNode) {
88
- this.registry.set(dropzone, treeNode);
89
- }
90
- registerDropzones(dropzones, treeBranch) {
91
- for (const dropzone of dropzones) {
92
- this.registry.set(dropzone, treeBranch);
93
- }
94
- }
95
- showLowerZones(treeNode) {
96
- this.clearCurrentDisplay();
97
- this.showInnerZone(treeNode);
98
- if (treeNode.branches().length === 0) {
99
- this.loopThroughLowerZones(treeNode);
100
- }
101
- this.currentDisplay = { treeBranch: treeNode, direction: "lower" };
102
- }
103
- showUpperZones(treeBranch) {
104
- this.clearCurrentDisplay();
105
- this.loopThroughUpperZones(treeBranch);
106
- this.currentDisplay = { treeBranch, direction: "upper" };
107
- }
108
- loopThroughLowerZones(treeNode) {
109
- let cursor = treeNode;
110
- while (cursor instanceof TreeBranch) {
111
- this.showLateralZone(cursor);
112
- const parent = cursor.parent();
113
- const index = cursor.index();
114
- assert(parent !== undefined && index !== undefined);
115
- if (parent.branches().length > index + 1) {
116
- return;
117
- }
118
- cursor = cursor.parent();
119
- }
120
- }
121
- loopThroughUpperZones(treeBranch) {
122
- let cursor = treeBranch
123
- .parent()
124
- ?.getBranch((treeBranch.index() ?? 0) - 1);
125
- let final = treeBranch.parent();
126
- while (cursor !== undefined) {
127
- this.showLateralZone(cursor);
128
- final = cursor;
129
- cursor = cursor.branches().at(-1);
130
- }
131
- if (final !== undefined &&
132
- (final instanceof TreeRoot || final instanceof TreeBranch)) {
133
- this.showInnerZone(final);
134
- }
135
- }
136
- nestingAllowed(treeNode) {
137
- if (treeNode instanceof TreeRoot) {
138
- return true;
139
- }
140
- if (treeNode instanceof TreeBranch) {
141
- const allowNesting = config.getConfig(treeNode.root())?.dragAndDrop?.allowNesting ??
142
- (() => true);
143
- return allowNesting(treeNode);
144
- }
145
- throw new Error("unsupported treeNode type");
146
- }
147
- dropAllowed(parent, index) {
148
- const sourceNode = dragState.getDragData();
149
- assert(sourceNode instanceof TreeBranch);
150
- if (parent instanceof TreeRoot) {
151
- const allowDrop = config.getConfig(parent)?.dragAndDrop?.allowDrop ??
152
- (() => true);
153
- return allowDrop(sourceNode, parent, index);
154
- }
155
- if (parent instanceof TreeBranch) {
156
- const allowDrop = config.getConfig(parent.root())?.dragAndDrop?.allowDrop ??
157
- (() => true);
158
- return allowDrop(sourceNode, parent, index);
159
- }
160
- throw new Error("unsupported treeNode type");
161
- }
162
- showInnerZone(treeNode) {
163
- if (!this.nestingAllowed(treeNode) || !this.dropAllowed(treeNode, 0))
164
- return;
165
- treeNode.getComponentInstance().showInnerDropzone = true;
166
- }
167
- showLateralZone(treeBranch) {
168
- const index = treeBranch.index();
169
- assert(index !== undefined);
170
- if (!this.dropAllowed(treeBranch.parent(), index + 1))
171
- return;
172
- treeBranch.getComponentInstance().showLateralDropzone = true;
173
- }
174
- }
175
- export const dropzoneRenderer = new DropzoneRenderer();
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcHpvbmUtcmVuZGVyZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V4dHJhcy9kcmFnLWFuZC1kcm9wL2Ryb3B6b25lLXJlbmRlcmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFpQixRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsTUFBTSxnQkFBZ0I7SUFPbkI7UUFDRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUzthQUNMLE1BQU0sRUFBRTthQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDdEQsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxXQUFXLEVBQUUs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LG9CQUFvQixFQUFFLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2hFLENBQUM7Q0FDSDtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydCB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWRcIjtcbmltcG9ydCB7IEJyYW5jaENvbXBvbmVudCwgdHlwZSBEcm9wem9uZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBkcmFnU3RhdGUsIERyYWdTdGF0ZXMgfSBmcm9tIFwiLi9kcmFnLXN0YXRlXCI7XG5pbXBvcnQgeyBkcmFnQW5kRHJvcCB9IGZyb20gXCIuL2RyYWctYW5kLWRyb3BcIjtcbmltcG9ydCB7IFRyZWVCcmFuY2gsIHR5cGUgVHJlZU5vZGUsIFRyZWVSb290LCBjb25maWcgfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBQcnVuZUV2ZW50IH0gZnJvbSBcIi4uLy4uL2V2ZW50c1wiO1xuXG5jbGFzcyBEcm9wem9uZVJlbmRlcmVyIHtcbiAgIHByaXZhdGUgY3VycmVudERpc3BsYXk6IHtcbiAgICAgIHRyZWVCcmFuY2g6IFRyZWVOb2RlPGFueT47XG4gICAgICBkaXJlY3Rpb246IFwidXBwZXJcIiB8IFwibG93ZXJcIjtcbiAgIH0gfCBudWxsO1xuICAgcHJpdmF0ZSByZWFkb25seSByZWdpc3RyeTogTWFwPERyb3B6b25lQ29tcG9uZW50LCBUcmVlTm9kZTxhbnk+PjtcblxuICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgdGhpcy5yZWdpc3RyeSA9IG5ldyBNYXAoKTtcbiAgICAgIHRoaXMuY3VycmVudERpc3BsYXkgPSBudWxsO1xuICAgICAgZHJhZ0FuZERyb3AuZHJhZ0Fib3J0ZWQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICB0aGlzLmNsZWFyQ3VycmVudERpc3BsYXkoKTtcbiAgICAgIH0pO1xuICAgICAgZHJhZ1N0YXRlXG4gICAgICAgICAuZXZlbnRzKClcbiAgICAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50ID09PSBEcmFnU3RhdGVzLlN0YXJ0aW5nKSlcbiAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnJhbmNoID0gZHJhZ1N0YXRlLmdldERyYWdEYXRhKCk7XG4gICAgICAgICAgICBhc3NlcnQoYnJhbmNoICE9PSB1bmRlZmluZWQpO1xuICAgICAgICAgICAgbGV0IGN1cnNvciA9IGJyYW5jaC5wYXJlbnQoKT8uZ2V0QnJhbmNoKChicmFuY2guaW5kZXgoKSA/PyAwKSAtIDEpO1xuICAgICAgICAgICAgbGV0IGZpbmFsID0gYnJhbmNoLnBhcmVudCgpO1xuICAgICAgICAgICAgd2hpbGUgKGN1cnNvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICBmaW5hbCA9IGN1cnNvcjtcbiAgICAgICAgICAgICAgIGN1cnNvciA9IGN1cnNvci5icmFuY2hlcygpLmF0KC0xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyYW5jaFxuICAgICAgICAgICAgICAgLmV2ZW50cygpXG4gICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgUHJ1bmVFdmVudCksXG4gICAgICAgICAgICAgICAgICBmaXJzdCgpXG4gICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGFzc2VydChmaW5hbCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0xvd2VyWm9uZXMoZmluYWwpO1xuICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICB9KTtcbiAgIH1cblxuICAgcHVibGljIGNsZWFyQ3VycmVudERpc3BsYXkoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50RGlzcGxheSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgICAgZm9yIChjb25zdCBicmFuY2ggb2YgdGhpcy5yZWdpc3RyeS52YWx1ZXMoKSkge1xuICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBicmFuY2guZ2V0Q29tcG9uZW50SW5zdGFuY2UoKTtcbiAgICAgICAgIGluc3RhbmNlLnNob3dJbm5lckRyb3B6b25lID0gZmFsc2U7XG4gICAgICAgICBpZiAoaW5zdGFuY2UgaW5zdGFuY2VvZiBCcmFuY2hDb21wb25lbnQpIHtcbiAgICAgICAgICAgIGluc3RhbmNlLnNob3dMYXRlcmFsRHJvcHpvbmUgPSBmYWxzZTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuY3VycmVudERpc3BsYXkgPSBudWxsO1xuICAgfVxuXG4gICBwdWJsaWMgY2xlYXJUcmVlRnJvbVJlZ2lzdHJ5KHRyZWU6IFRyZWVOb2RlPGFueT4pOiB2b2lkIHtcbiAgICAgIGNvbnN0IG5vZGVzOiBBcnJheTxUcmVlTm9kZTxhbnk+PiA9IFtdO1xuICAgICAgdHJlZS50cmF2ZXJzZSgobm9kZSkgPT4gbm9kZXMucHVzaChub2RlKSk7XG4gICAgICBmb3IgKGNvbnN0IFtkcm9wem9uZUNvbXBvbmVudCwgdHJlZU5vZGVdIG9mIHRoaXMucmVnaXN0cnkpIHtcbiAgICAgICAgIGlmIChub2Rlcy5pbmNsdWRlcyh0cmVlTm9kZSkpIHtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0cnkuZGVsZXRlKGRyb3B6b25lQ29tcG9uZW50KTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIGdldEN1cnJlbnREaXNwbGF5KCk6IHtcbiAgICAgIHRyZWVCcmFuY2g6IFRyZWVOb2RlPGFueT47XG4gICAgICBkaXJlY3Rpb246IFwidXBwZXJcIiB8IFwibG93ZXJcIjtcbiAgIH0gfCBudWxsIHtcbiAgICAgIGlmICh0aGlzLmN1cnJlbnREaXNwbGF5ID09PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiB7IC4uLnRoaXMuY3VycmVudERpc3BsYXkgfTtcbiAgIH1cblxuICAgcHVibGljIGdldERyb3B6b25lTG9jYXRpb248VD4oXG4gICAgICBkcm9wem9uZTogRHJvcHpvbmVDb21wb25lbnRcbiAgICk6IFtUcmVlTm9kZTxUPiwgXCJpbm5lclwiIHwgXCJsYXRlcmFsXCJdIHtcbiAgICAgIGNvbnN0IGJyYW5jaCA9IHRoaXMucmVnaXN0cnkuZ2V0KGRyb3B6b25lKTtcbiAgICAgIGNvbnN0IHBsYWNlbWVudCA9IGRyb3B6b25lLnBsYWNlbWVudDtcbiAgICAgIGlmIChicmFuY2ggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZHJvcHpvbmUgbm90IGZvdW5kIGluIHJlZ2lzdHJ5XCIpO1xuICAgICAgfVxuICAgICAgaWYgKHBsYWNlbWVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJkcm9wem9uZSBoYXMgYW4gdW5kZWZpbmVkIHBsYWNlbWVudFwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbYnJhbmNoLCBwbGFjZW1lbnRdO1xuICAgfVxuXG4gICBwdWJsaWMgaGFuZGxlRHJvcDxUPihcbiAgICAgIHRyZWVOb2RlOiBUcmVlTm9kZTxUPixcbiAgICAgIHBsYWNlbWVudDogXCJpbm5lclwiIHwgXCJsYXRlcmFsXCJcbiAgICk6IHZvaWQge1xuICAgICAgaWYgKHBsYWNlbWVudCA9PT0gXCJpbm5lclwiKSB7XG4gICAgICAgICBkcmFnQW5kRHJvcC5kcm9wKHRyZWVOb2RlLCAwKTtcbiAgICAgIH0gZWxzZSBpZiAodHJlZU5vZGUgaW5zdGFuY2VvZiBUcmVlQnJhbmNoICYmIHBsYWNlbWVudCA9PT0gXCJsYXRlcmFsXCIpIHtcbiAgICAgICAgIGNvbnN0IGN1cnJlbnRQYXJlbnQgPSB0cmVlTm9kZS5wYXJlbnQoKTtcbiAgICAgICAgIGNvbnN0IGluZGV4ID0gdHJlZU5vZGUuaW5kZXgoKTtcbiAgICAgICAgIGlmIChjdXJyZW50UGFyZW50ID09PSB1bmRlZmluZWQgfHwgaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYnJhbmNoIG11c3QgaGF2ZSBhIHBhcmVudFwiKTtcbiAgICAgICAgIH1cbiAgICAgICAgIGRyYWdBbmREcm9wLmRyb3AoY3VycmVudFBhcmVudCwgaW5kZXggKyAxKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2xlYXJDdXJyZW50RGlzcGxheSgpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVnaXN0ZXJEcm9wem9uZTxUPihcbiAgICAgIGRyb3B6b25lOiBEcm9wem9uZUNvbXBvbmVudCxcbiAgICAgIHRyZWVOb2RlOiBUcmVlTm9kZTxUPlxuICAgKTogdm9pZCB7XG4gICAgICB0aGlzLnJlZ2lzdHJ5LnNldChkcm9wem9uZSwgdHJlZU5vZGUpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVnaXN0ZXJEcm9wem9uZXM8VD4oXG4gICAgICBkcm9wem9uZXM6IEl0ZXJhYmxlPERyb3B6b25lQ29tcG9uZW50PixcbiAgICAgIHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD5cbiAgICk6IHZvaWQge1xuICAgICAgZm9yIChjb25zdCBkcm9wem9uZSBvZiBkcm9wem9uZXMpIHtcbiAgICAgICAgIHRoaXMucmVnaXN0cnkuc2V0KGRyb3B6b25lLCB0cmVlQnJhbmNoKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIHNob3dMb3dlclpvbmVzPFQ+KHRyZWVOb2RlOiBUcmVlTm9kZTxUPik6IHZvaWQge1xuICAgICAgdGhpcy5jbGVhckN1cnJlbnREaXNwbGF5KCk7XG4gICAgICB0aGlzLnNob3dJbm5lclpvbmUodHJlZU5vZGUpO1xuICAgICAgaWYgKHRyZWVOb2RlLmJyYW5jaGVzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICB0aGlzLmxvb3BUaHJvdWdoTG93ZXJab25lcyh0cmVlTm9kZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmN1cnJlbnREaXNwbGF5ID0geyB0cmVlQnJhbmNoOiB0cmVlTm9kZSwgZGlyZWN0aW9uOiBcImxvd2VyXCIgfTtcbiAgIH1cblxuICAgcHVibGljIHNob3dVcHBlclpvbmVzPFQ+KHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD4pOiB2b2lkIHtcbiAgICAgIHRoaXMuY2xlYXJDdXJyZW50RGlzcGxheSgpO1xuICAgICAgdGhpcy5sb29wVGhyb3VnaFVwcGVyWm9uZXModHJlZUJyYW5jaCk7XG4gICAgICB0aGlzLmN1cnJlbnREaXNwbGF5ID0geyB0cmVlQnJhbmNoLCBkaXJlY3Rpb246IFwidXBwZXJcIiB9O1xuICAgfVxuXG4gICBwcml2YXRlIGxvb3BUaHJvdWdoTG93ZXJab25lczxUPih0cmVlTm9kZTogVHJlZU5vZGU8VD4pOiB2b2lkIHtcbiAgICAgIGxldCBjdXJzb3I6IFRyZWVOb2RlPFQ+IHwgdW5kZWZpbmVkID0gdHJlZU5vZGU7XG4gICAgICB3aGlsZSAoY3Vyc29yIGluc3RhbmNlb2YgVHJlZUJyYW5jaCkge1xuICAgICAgICAgdGhpcy5zaG93TGF0ZXJhbFpvbmUoY3Vyc29yKTtcbiAgICAgICAgIGNvbnN0IHBhcmVudCA9IGN1cnNvci5wYXJlbnQoKTtcbiAgICAgICAgIGNvbnN0IGluZGV4ID0gY3Vyc29yLmluZGV4KCk7XG4gICAgICAgICBhc3NlcnQocGFyZW50ICE9PSB1bmRlZmluZWQgJiYgaW5kZXggIT09IHVuZGVmaW5lZCk7XG4gICAgICAgICBpZiAocGFyZW50LmJyYW5jaGVzKCkubGVuZ3RoID4gaW5kZXggKyAxKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICB9XG4gICAgICAgICBjdXJzb3IgPSBjdXJzb3IucGFyZW50KCk7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgbG9vcFRocm91Z2hVcHBlclpvbmVzPFQ+KHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD4pOiB2b2lkIHtcbiAgICAgIGxldCBjdXJzb3IgPSB0cmVlQnJhbmNoXG4gICAgICAgICAucGFyZW50KClcbiAgICAgICAgID8uZ2V0QnJhbmNoKCh0cmVlQnJhbmNoLmluZGV4KCkgPz8gMCkgLSAxKTtcbiAgICAgIGxldCBmaW5hbCA9IHRyZWVCcmFuY2gucGFyZW50KCk7XG4gICAgICB3aGlsZSAoY3Vyc29yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgIHRoaXMuc2hvd0xhdGVyYWxab25lKGN1cnNvcik7XG4gICAgICAgICBmaW5hbCA9IGN1cnNvcjtcbiAgICAgICAgIGN1cnNvciA9IGN1cnNvci5icmFuY2hlcygpLmF0KC0xKTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgIGZpbmFsICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgIChmaW5hbCBpbnN0YW5jZW9mIFRyZWVSb290IHx8IGZpbmFsIGluc3RhbmNlb2YgVHJlZUJyYW5jaClcbiAgICAgICkge1xuICAgICAgICAgdGhpcy5zaG93SW5uZXJab25lKGZpbmFsKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBuZXN0aW5nQWxsb3dlZDxUPih0cmVlTm9kZTogVHJlZU5vZGU8VD4pOiBib29sZWFuIHtcbiAgICAgIGlmICh0cmVlTm9kZSBpbnN0YW5jZW9mIFRyZWVSb290KSB7XG4gICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0cmVlTm9kZSBpbnN0YW5jZW9mIFRyZWVCcmFuY2gpIHtcbiAgICAgICAgIGNvbnN0IGFsbG93TmVzdGluZyA9XG4gICAgICAgICAgICBjb25maWcuZ2V0Q29uZmlnKHRyZWVOb2RlLnJvb3QoKSk/LmRyYWdBbmREcm9wPy5hbGxvd05lc3RpbmcgPz9cbiAgICAgICAgICAgICgoKTogdHJ1ZSA9PiB0cnVlKTtcbiAgICAgICAgIHJldHVybiBhbGxvd05lc3RpbmcodHJlZU5vZGUpO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidW5zdXBwb3J0ZWQgdHJlZU5vZGUgdHlwZVwiKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBkcm9wQWxsb3dlZChwYXJlbnQ6IHVua25vd24sIGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgIGNvbnN0IHNvdXJjZU5vZGUgPSBkcmFnU3RhdGUuZ2V0RHJhZ0RhdGEoKTtcbiAgICAgIGFzc2VydChzb3VyY2VOb2RlIGluc3RhbmNlb2YgVHJlZUJyYW5jaCk7XG4gICAgICBpZiAocGFyZW50IGluc3RhbmNlb2YgVHJlZVJvb3QpIHtcbiAgICAgICAgIGNvbnN0IGFsbG93RHJvcCA9XG4gICAgICAgICAgICBjb25maWcuZ2V0Q29uZmlnKHBhcmVudCk/LmRyYWdBbmREcm9wPy5hbGxvd0Ryb3AgPz9cbiAgICAgICAgICAgICgoKTogdHJ1ZSA9PiB0cnVlKTtcbiAgICAgICAgIHJldHVybiBhbGxvd0Ryb3Aoc291cmNlTm9kZSwgcGFyZW50LCBpbmRleCk7XG4gICAgICB9XG4gICAgICBpZiAocGFyZW50IGluc3RhbmNlb2YgVHJlZUJyYW5jaCkge1xuICAgICAgICAgY29uc3QgYWxsb3dEcm9wID1cbiAgICAgICAgICAgIGNvbmZpZy5nZXRDb25maWcocGFyZW50LnJvb3QoKSk/LmRyYWdBbmREcm9wPy5hbGxvd0Ryb3AgPz9cbiAgICAgICAgICAgICgoKTogdHJ1ZSA9PiB0cnVlKTtcbiAgICAgICAgIHJldHVybiBhbGxvd0Ryb3Aoc291cmNlTm9kZSwgcGFyZW50LCBpbmRleCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bnN1cHBvcnRlZCB0cmVlTm9kZSB0eXBlXCIpO1xuICAgfVxuXG4gICBwcml2YXRlIHNob3dJbm5lclpvbmU8VD4odHJlZU5vZGU6IFRyZWVOb2RlPFQ+KTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMubmVzdGluZ0FsbG93ZWQodHJlZU5vZGUpIHx8ICF0aGlzLmRyb3BBbGxvd2VkKHRyZWVOb2RlLCAwKSlcbiAgICAgICAgIHJldHVybjtcbiAgICAgIHRyZWVOb2RlLmdldENvbXBvbmVudEluc3RhbmNlKCkuc2hvd0lubmVyRHJvcHpvbmUgPSB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIHNob3dMYXRlcmFsWm9uZTxUPih0cmVlQnJhbmNoOiBUcmVlQnJhbmNoPFQ+KTogdm9pZCB7XG4gICAgICBjb25zdCBpbmRleCA9IHRyZWVCcmFuY2guaW5kZXgoKTtcbiAgICAgIGFzc2VydChpbmRleCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIGlmICghdGhpcy5kcm9wQWxsb3dlZCh0cmVlQnJhbmNoLnBhcmVudCgpLCBpbmRleCArIDEpKSByZXR1cm47XG4gICAgICB0cmVlQnJhbmNoLmdldENvbXBvbmVudEluc3RhbmNlKCkuc2hvd0xhdGVyYWxEcm9wem9uZSA9IHRydWU7XG4gICB9XG59XG5cbmV4cG9ydCBjb25zdCBkcm9wem9uZVJlbmRlcmVyID0gbmV3IERyb3B6b25lUmVuZGVyZXIoKTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- export * from "./drag-and-drop.module";
2
- export * from "./drag-and-drop.service";
3
- export * from "./drag-and-drop";
4
- export * from "./drag-state";
5
- export * from "./draggable.directive";
6
- export * from "./dropzone-renderer";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2V4dHJhcy9kcmFnLWFuZC1kcm9wL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2RyYWctYW5kLWRyb3AubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kcmFnLWFuZC1kcm9wLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RyYWctYW5kLWRyb3BcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RyYWctc3RhdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RyYWdnYWJsZS5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Ryb3B6b25lLXJlbmRlcmVyXCI7XG4iXX0=
@@ -1,7 +0,0 @@
1
- export * from "./legacy-component-obj.interface";
2
- export * from "./legacy-tree-data.interface";
3
- export * from "./legacy-tree-options.interface";
4
- export * from "./legacy-tree";
5
- export * from "./limble-tree-root/limble-tree-root.component";
6
- export * from "./limble-tree-legacy.module";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2xlZ2FjeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9sZWdhY3ktY29tcG9uZW50LW9iai5pbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xlZ2FjeS10cmVlLWRhdGEuaW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sZWdhY3ktdHJlZS1vcHRpb25zLmludGVyZmFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGVnYWN5LXRyZWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpbWJsZS10cmVlLXJvb3QvbGltYmxlLXRyZWUtcm9vdC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpbWJsZS10cmVlLWxlZ2FjeS5tb2R1bGVcIjtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LWNvbXBvbmVudC1vYmouaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGltYmxlLXRyZWUvc3JjL2xpYi9sZWdhY3kvbGVnYWN5LWNvbXBvbmVudC1vYmouaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG4vKipcbiAqIEFuIG9iamVjdCB0aGF0IHJlZmVyZW5jZXMgdGhlIGNvbXBvbmVudCB0byBiZSByZW5kZXJlZCBhbmQgaXRzIGJpbmRpbmdzXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudE9iaiB7XG4gICAvKiogVGhlIGNvbXBvbmVudCBjbGFzcyAqL1xuICAgY2xhc3M6IFR5cGU8dW5rbm93bj47XG4gICAvKiogVGhlIGJpbmRpbmdzIChpbnB1dHMgYW5kIG91dHB1dHMpIG9mIHRoZSBjbGFzcyAqL1xuICAgYmluZGluZ3M/OiB7XG4gICAgICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG4gICB9O1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LXRyZWUtZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2xlZ2FjeS9sZWdhY3ktdHJlZS1kYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb21wb25lbnRPYmogfSBmcm9tIFwiLi9sZWdhY3ktY29tcG9uZW50LW9iai5pbnRlcmZhY2VcIjtcblxuLyoqXG4gKiBBbiBvYmplY3QgZGVzY3JpYmluZyBhIG5vZGUgb2YgdGhlIHRyZWVcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGltYmxlVHJlZU5vZGUge1xuICAgLyoqIEEgbGlzdCBvZiBub2RlcyB0byBiZSByZW5kZXJlZCBcInVuZGVyXCIgdGhpcyBvbmUsIG9uZSBsZXZlbCBkZWVwZXIgaW4gdGhlIHRyZWUuICovXG4gICBub2Rlcz86IExpbWJsZVRyZWVEYXRhO1xuICAgLyoqIEFuIG9iamVjdCB0aGF0IGRlc2NyaWJlcyB0aGUgY29tcG9uZW50IHdoaWNoIHdpbGwgcmVwcmVzZW50IHRoaXMgbm9kZSBpbiB0aGUgdmlzdWFsIHRyZWUgKi9cbiAgIGNvbXBvbmVudD86IENvbXBvbmVudE9iajtcbiAgIGNvbGxhcHNlZD86IGJvb2xlYW47XG4gICBbaW5kZXg6IHN0cmluZ106IHVua25vd247XG59XG5cbi8qKlxuICogQW4gb2JqZWN0IHRoYXQgdGhlIGxpbWJsZS10cmVlLXJvb3QgY29tcG9uZW50IHVzZXMgdG8gYnVpbGQgdGhlIHRyZWVcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCB0eXBlIExpbWJsZVRyZWVEYXRhID0gQXJyYXk8TGltYmxlVHJlZU5vZGU+O1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LXRyZWUtb3B0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2xlZ2FjeS9sZWdhY3ktdHJlZS1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUcmVlQnJhbmNoLCBUcmVlUm9vdCB9IGZyb20gXCIuLi9jb3JlXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudE9iaiB9IGZyb20gXCIuL2xlZ2FjeS1jb21wb25lbnQtb2JqLmludGVyZmFjZVwiO1xuXG4vKipcbiAqIEEgZ3JvdXAgb2Ygc2V0dGluZ3MgZm9yIGNoYW5naW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSB0cmVlXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpbWJsZVRyZWVPcHRpb25zIHtcbiAgIC8qKiBUaGUgY29tcG9uZW50IG9iamVjdCB0byB1c2UgaWYgb25lIGlzIG5vdCBzcGVjaWZpZWQgZm9yIGEgcGFydGljdWxhciBub2RlICovXG4gICBkZWZhdWx0Q29tcG9uZW50PzogQ29tcG9uZW50T2JqO1xuXG4gICAvKiogVGhlIG51bWJlciBvZiBwaXhlbHMgdG8gaW5kZW50IGVhY2ggbGV2ZWwgb2YgdGhlIHRyZWUuIERlZmF1bHRzIHRvIDQ1ICovXG4gICBpbmRlbnQ/OiBudW1iZXI7XG5cbiAgIC8qKlxuICAgICogV2hldGhlciB0byBhbGxvdyBcIm5lc3RpbmdcIiAocGxhY2luZyBhIG5vZGUgb25lIGxldmVsIGRlZXBlciB0aGFuIGN1cnJlbnRseSBleGlzdHMgb24gdGhlIGJyYW5jaCkuXG4gICAgKiBXaGVuIHRoaXMgaXMgYSBib29sZWFuLCBpdCBhcHBsaWVzIHRvIGFsbCBub2Rlcy4gV2hlbiB0aGlzIGlzIGEgZnVuY3Rpb24sIHRoZSBub2RlIGluIHF1ZXN0aW9uXG4gICAgKiBpcyBwYXNzZWQgaW4uIERlZmF1bHRzIHRvIHRydWUuXG4gICAgKi9cbiAgIGFsbG93TmVzdGluZz86IGJvb2xlYW4gfCAoPFQ+KHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD4pID0+IGJvb2xlYW4pO1xuXG4gICAvKipcbiAgICAqIFdoZXRoZXIgdG8gYWxsb3cgYSBub2RlIHRvIGJlIGRyYWdnZWQuIFdoZW4gdGhpcyBpcyBhIGJvb2xlYW4sIGl0IGFwcGxpZXMgdG8gYWxsIG5vZGVzLiBXaGVuIHRoaXNcbiAgICAqIGlzIGEgZnVuY3Rpb24sIHRoZSBub2RlIGluIHF1ZXN0aW9uIGlzIHBhc3NlZCBpbi4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICAqL1xuICAgYWxsb3dEcmFnZ2luZz86IGJvb2xlYW4gfCAoPFQ+KHRyZWVCcmFuY2g6IFRyZWVCcmFuY2g8VD4pID0+IGJvb2xlYW4pO1xuXG4gICAvKiogQSBjYWxsYmFjayB0byBkZXRlcm1pbmUgd2hldGhlciBhIHNvdXJjZU5vZGUgY2FuIGJlIGRyb3BwZWQgYXQgYSBwYXJ0aWN1bGFyIGxvY2F0aW9uLiAqL1xuICAgYWxsb3dEcm9wPzogPFQ+KFxuICAgICAgc291cmNlTm9kZTogVHJlZUJyYW5jaDxUPixcbiAgICAgIHByb3Bvc2VkUGFyZW50OiBUcmVlQnJhbmNoPFQ+IHwgVHJlZVJvb3Q8VD4sXG4gICAgICBwcm9wb3NlZEluZGV4OiBudW1iZXJcbiAgICkgPT4gYm9vbGVhbjtcblxuICAgLyoqXG4gICAgKiBXaGVuIHNldCB0byB0cnVlLCBsaXN0IG1vZGUgd2lsbCBlbmZvcmNlIGEgZmxhdCB0cmVlIHN0cnVjdHVyZSwgbWVhbmluZyB0aGVyZVxuICAgICogY2FuIG9ubHkgYmUgb25lIGxldmVsIG9mIHRoZSB0cmVlLiBgYWxsb3dOZXN0aW5nYCBpcyBhdXRvbWF0aWNhbGx5IHNldCB0byBgZmFsc2VgLlxuICAgICpcbiAgICAqIFRoaXMgbW9kZSBjYW4gYmUgdXNlZCB3aGVuIHRoZSBzYW1lIGR5bmFtaWMgZHJhZyBhbmQgZHJvcCBmdW5jdGlvbmFsaXR5IG9mXG4gICAgKiB0aGUgdHJlZSBpcyBkZXNpcmVkLCBidXQgdGhlIHRyZWUgc3RydWN0dXJlIGl0c2VsZiBpcyBub3QgbmVjZXNzYXJ5LiBUaGlzXG4gICAgKiBhbHNvIG9wZW5zIHVwIHRoZSBwYWdpbmF0aW9uIEFQSSBvbiB0aGUgbGltYmxlLXRyZWUtcm9vdCBjb21wb25lbnQuXG4gICAgKi9cbiAgIGxpc3RNb2RlPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,73 +0,0 @@
1
- import { TreeRoot, config } from "../core";
2
- import { TreeError } from "../errors";
3
- import { treeCollapser } from "../extras/collapse";
4
- /**
5
- * A shim to help with the transition from v0 to v1.
6
- * @deprecated
7
- */
8
- export class LegacyTree {
9
- /** Creates a v1 tree structure from a v0 data array and v0 tree options. */
10
- createTreeFromLegacyArray(container, data, treeOptions = {}) {
11
- const root = new TreeRoot(container);
12
- config.setConfig(root, this.upgradeOptions(treeOptions));
13
- for (const node of data) {
14
- this.renderTreeNode(root, node, treeOptions);
15
- }
16
- return root;
17
- }
18
- upgradeOptions(legacyOptions) {
19
- return {
20
- indentation: legacyOptions.indent,
21
- dragAndDrop: {
22
- allowNesting: (branch) => {
23
- if (legacyOptions.listMode === true) {
24
- return false;
25
- }
26
- if (legacyOptions.allowNesting === undefined) {
27
- return true;
28
- }
29
- if (typeof legacyOptions.allowNesting === "boolean") {
30
- return legacyOptions.allowNesting;
31
- }
32
- return legacyOptions.allowNesting(branch);
33
- },
34
- allowDragging: (branch) => {
35
- if (legacyOptions.allowDragging === undefined) {
36
- return true;
37
- }
38
- if (typeof legacyOptions.allowDragging === "boolean") {
39
- return legacyOptions.allowDragging;
40
- }
41
- return legacyOptions.allowDragging(branch);
42
- },
43
- allowDrop: (source, parent, index) => {
44
- if (legacyOptions.allowDrop === undefined) {
45
- return true;
46
- }
47
- return legacyOptions.allowDrop(source, parent, index);
48
- }
49
- }
50
- };
51
- }
52
- renderTreeNode(parent, node, options) {
53
- const component = node.component?.class ?? options.defaultComponent?.class;
54
- if (component === undefined) {
55
- throw new TreeError("A component must be provided");
56
- }
57
- const bindings = (node.component?.bindings ??
58
- options.defaultComponent?.bindings ??
59
- {});
60
- const nodeData = node;
61
- const branch = parent.grow(component, {
62
- inputBindings: bindings,
63
- meta: { nodeData }
64
- });
65
- for (const childNode of node.nodes ?? []) {
66
- this.renderTreeNode(branch, childNode, options);
67
- }
68
- if (node.collapsed === true) {
69
- treeCollapser.collapse(branch);
70
- }
71
- }
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LXRyZWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saW1ibGUtdHJlZS9zcmMvbGliL2xlZ2FjeS9sZWdhY3ktdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFxQyxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFNOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDcEIsNEVBQTRFO0lBQ3JFLHlCQUF5QixDQUM3QixTQUEyQixFQUMzQixJQUFvQixFQUNwQixjQUF1QyxFQUFFO1FBRXpDLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN6RCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRU0sY0FBYyxDQUFDLGFBQXNDO1FBQ3pELE9BQU87WUFDSixXQUFXLEVBQUUsYUFBYSxDQUFDLE1BQU07WUFDakMsV0FBVyxFQUFFO2dCQUNWLFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBVyxFQUFFO29CQUMvQixJQUFJLGFBQWEsQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQ25DLE9BQU8sS0FBSyxDQUFDO29CQUNoQixDQUFDO29CQUNELElBQUksYUFBYSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDNUMsT0FBTyxJQUFJLENBQUM7b0JBQ2YsQ0FBQztvQkFDRCxJQUFJLE9BQU8sYUFBYSxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDbkQsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDO29CQUNyQyxDQUFDO29CQUNELE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQyxNQUFhLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztnQkFDRCxhQUFhLEVBQUUsQ0FBQyxNQUFNLEVBQVcsRUFBRTtvQkFDaEMsSUFBSSxhQUFhLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO3dCQUM3QyxPQUFPLElBQUksQ0FBQztvQkFDZixDQUFDO29CQUNELElBQUksT0FBTyxhQUFhLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO3dCQUNwRCxPQUFPLGFBQWEsQ0FBQyxhQUFhLENBQUM7b0JBQ3RDLENBQUM7b0JBQ0QsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQWEsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO2dCQUNELFNBQVMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFXLEVBQUU7b0JBQzNDLElBQUksYUFBYSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDekMsT0FBTyxJQUFJLENBQUM7b0JBQ2YsQ0FBQztvQkFDRCxPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQzNCLE1BQWEsRUFDYixNQUFhLEVBQ2IsS0FBSyxDQUNQLENBQUM7Z0JBQ0wsQ0FBQzthQUNIO1NBQ0gsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQ25CLE1BQW1DLEVBQ25DLElBQW9CLEVBQ3BCLE9BQWdDO1FBRWhDLE1BQU0sU0FBUyxHQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUM7UUFDNUQsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUTtZQUN2QyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsUUFBUTtZQUNsQyxFQUFFLENBQTBDLENBQUM7UUFDaEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBb0IsRUFBRTtZQUM5QyxhQUFhLEVBQUUsUUFBUTtZQUN2QixJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUU7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzNCLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNKLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmVlUm9vdCwgdHlwZSBUcmVlQnJhbmNoLCB0eXBlIFRyZWVPcHRpb25zLCBjb25maWcgfSBmcm9tIFwiLi4vY29yZVwiO1xuaW1wb3J0IHR5cGUgeyBMaW1ibGVUcmVlT3B0aW9ucyBhcyBMZWdhY3lMaW1ibGVUcmVlT3B0aW9ucyB9IGZyb20gXCIuL2xlZ2FjeS10cmVlLW9wdGlvbnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQgdHlwZSB7XG4gICBMaW1ibGVUcmVlRGF0YSxcbiAgIExpbWJsZVRyZWVOb2RlXG59IGZyb20gXCIuL2xlZ2FjeS10cmVlLWRhdGEuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBUcmVlRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5pbXBvcnQgeyB0cmVlQ29sbGFwc2VyIH0gZnJvbSBcIi4uL2V4dHJhcy9jb2xsYXBzZVwiO1xuXG4vKipcbiAqIEEgc2hpbSB0byBoZWxwIHdpdGggdGhlIHRyYW5zaXRpb24gZnJvbSB2MCB0byB2MS5cbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMZWdhY3lUcmVlIHtcbiAgIC8qKiBDcmVhdGVzIGEgdjEgdHJlZSBzdHJ1Y3R1cmUgZnJvbSBhIHYwIGRhdGEgYXJyYXkgYW5kIHYwIHRyZWUgb3B0aW9ucy4gKi9cbiAgIHB1YmxpYyBjcmVhdGVUcmVlRnJvbUxlZ2FjeUFycmF5PENvbXBvbmVudD4oXG4gICAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICBkYXRhOiBMaW1ibGVUcmVlRGF0YSxcbiAgICAgIHRyZWVPcHRpb25zOiBMZWdhY3lMaW1ibGVUcmVlT3B0aW9ucyA9IHt9XG4gICApOiBUcmVlUm9vdDxDb21wb25lbnQ+IHtcbiAgICAgIGNvbnN0IHJvb3QgPSBuZXcgVHJlZVJvb3Q8Q29tcG9uZW50Pihjb250YWluZXIpO1xuICAgICAgY29uZmlnLnNldENvbmZpZyhyb290LCB0aGlzLnVwZ3JhZGVPcHRpb25zKHRyZWVPcHRpb25zKSk7XG4gICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgZGF0YSkge1xuICAgICAgICAgdGhpcy5yZW5kZXJUcmVlTm9kZShyb290LCBub2RlLCB0cmVlT3B0aW9ucyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcm9vdDtcbiAgIH1cblxuICAgcHVibGljIHVwZ3JhZGVPcHRpb25zKGxlZ2FjeU9wdGlvbnM6IExlZ2FjeUxpbWJsZVRyZWVPcHRpb25zKTogVHJlZU9wdGlvbnMge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgIGluZGVudGF0aW9uOiBsZWdhY3lPcHRpb25zLmluZGVudCxcbiAgICAgICAgIGRyYWdBbmREcm9wOiB7XG4gICAgICAgICAgICBhbGxvd05lc3Rpbmc6IChicmFuY2gpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgICAgIGlmIChsZWdhY3lPcHRpb25zLmxpc3RNb2RlID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAobGVnYWN5T3B0aW9ucy5hbGxvd05lc3RpbmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAodHlwZW9mIGxlZ2FjeU9wdGlvbnMuYWxsb3dOZXN0aW5nID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGxlZ2FjeU9wdGlvbnMuYWxsb3dOZXN0aW5nO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgcmV0dXJuIGxlZ2FjeU9wdGlvbnMuYWxsb3dOZXN0aW5nKGJyYW5jaCBhcyBhbnkpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFsbG93RHJhZ2dpbmc6IChicmFuY2gpOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgICAgIGlmIChsZWdhY3lPcHRpb25zLmFsbG93RHJhZ2dpbmcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBpZiAodHlwZW9mIGxlZ2FjeU9wdGlvbnMuYWxsb3dEcmFnZ2luZyA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBsZWdhY3lPcHRpb25zLmFsbG93RHJhZ2dpbmc7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICByZXR1cm4gbGVnYWN5T3B0aW9ucy5hbGxvd0RyYWdnaW5nKGJyYW5jaCBhcyBhbnkpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFsbG93RHJvcDogKHNvdXJjZSwgcGFyZW50LCBpbmRleCk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgICAgaWYgKGxlZ2FjeU9wdGlvbnMuYWxsb3dEcm9wID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgcmV0dXJuIGxlZ2FjeU9wdGlvbnMuYWxsb3dEcm9wKFxuICAgICAgICAgICAgICAgICAgc291cmNlIGFzIGFueSxcbiAgICAgICAgICAgICAgICAgIHBhcmVudCBhcyBhbnksXG4gICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH07XG4gICB9XG5cbiAgIHByaXZhdGUgcmVuZGVyVHJlZU5vZGU8VD4oXG4gICAgICBwYXJlbnQ6IFRyZWVSb290PFQ+IHwgVHJlZUJyYW5jaDxUPixcbiAgICAgIG5vZGU6IExpbWJsZVRyZWVOb2RlLFxuICAgICAgb3B0aW9uczogTGVnYWN5TGltYmxlVHJlZU9wdGlvbnNcbiAgICk6IHZvaWQge1xuICAgICAgY29uc3QgY29tcG9uZW50ID1cbiAgICAgICAgIG5vZGUuY29tcG9uZW50Py5jbGFzcyA/PyBvcHRpb25zLmRlZmF1bHRDb21wb25lbnQ/LmNsYXNzO1xuICAgICAgaWYgKGNvbXBvbmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICB0aHJvdyBuZXcgVHJlZUVycm9yKFwiQSBjb21wb25lbnQgbXVzdCBiZSBwcm92aWRlZFwiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJpbmRpbmdzID0gKG5vZGUuY29tcG9uZW50Py5iaW5kaW5ncyA/P1xuICAgICAgICAgb3B0aW9ucy5kZWZhdWx0Q29tcG9uZW50Py5iaW5kaW5ncyA/P1xuICAgICAgICAge30pIGFzIHsgW0sgaW4ga2V5b2YgVF0/OiBUW0tdIHwgdW5kZWZpbmVkIH07XG4gICAgICBjb25zdCBub2RlRGF0YSA9IG5vZGU7XG4gICAgICBjb25zdCBicmFuY2ggPSBwYXJlbnQuZ3Jvdyhjb21wb25lbnQgYXMgVHlwZTxUPiwge1xuICAgICAgICAgaW5wdXRCaW5kaW5nczogYmluZGluZ3MsXG4gICAgICAgICBtZXRhOiB7IG5vZGVEYXRhIH1cbiAgICAgIH0pO1xuICAgICAgZm9yIChjb25zdCBjaGlsZE5vZGUgb2Ygbm9kZS5ub2RlcyA/PyBbXSkge1xuICAgICAgICAgdGhpcy5yZW5kZXJUcmVlTm9kZShicmFuY2gsIGNoaWxkTm9kZSwgb3B0aW9ucyk7XG4gICAgICB9XG4gICAgICBpZiAobm9kZS5jb2xsYXBzZWQgPT09IHRydWUpIHtcbiAgICAgICAgIHRyZWVDb2xsYXBzZXIuY29sbGFwc2UoYnJhbmNoKTtcbiAgICAgIH1cbiAgIH1cbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { LimbleTreeRootComponent } from "./limble-tree-root/limble-tree-root.component";
3
- import { LegacyTree } from "./legacy-tree";
4
- import * as i0 from "@angular/core";
5
- /** @deprecated */
6
- export class LimbleTreeLegacyModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LimbleTreeLegacyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.0", ngImport: i0, type: LimbleTreeLegacyModule, imports: [LimbleTreeRootComponent], exports: [LimbleTreeRootComponent] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LimbleTreeLegacyModule, providers: [LegacyTree] }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: LimbleTreeLegacyModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [],
15
- imports: [LimbleTreeRootComponent],
16
- providers: [LegacyTree],
17
- exports: [LimbleTreeRootComponent]
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGltYmxlLXRyZWUtbGVnYWN5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xpbWJsZS10cmVlL3NyYy9saWIvbGVnYWN5L2xpbWJsZS10cmVlLWxlZ2FjeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUzQyxrQkFBa0I7QUFPbEIsTUFBTSxPQUFPLHNCQUFzQjs4R0FBdEIsc0JBQXNCOytHQUF0QixzQkFBc0IsWUFKdEIsdUJBQXVCLGFBRXZCLHVCQUF1QjsrR0FFdkIsc0JBQXNCLGFBSHJCLENBQUMsVUFBVSxDQUFDOzsyRkFHYixzQkFBc0I7a0JBTmxDLFFBQVE7bUJBQUM7b0JBQ1AsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExpbWJsZVRyZWVSb290Q29tcG9uZW50IH0gZnJvbSBcIi4vbGltYmxlLXRyZWUtcm9vdC9saW1ibGUtdHJlZS1yb290LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTGVnYWN5VHJlZSB9IGZyb20gXCIuL2xlZ2FjeS10cmVlXCI7XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuQE5nTW9kdWxlKHtcbiAgIGRlY2xhcmF0aW9uczogW10sXG4gICBpbXBvcnRzOiBbTGltYmxlVHJlZVJvb3RDb21wb25lbnRdLFxuICAgcHJvdmlkZXJzOiBbTGVnYWN5VHJlZV0sXG4gICBleHBvcnRzOiBbTGltYmxlVHJlZVJvb3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIExpbWJsZVRyZWVMZWdhY3lNb2R1bGUge31cbiJdfQ==