tree-element 0.1.0 → 0.2.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 (149) hide show
  1. package/README.md +49 -29
  2. package/lib/animation.js +5 -5
  3. package/lib/animation.js.map +1 -1
  4. package/lib/classNames.d.ts.map +1 -1
  5. package/lib/classNames.js +2 -2
  6. package/lib/classNames.js.map +1 -1
  7. package/lib/dataLoader.d.ts.map +1 -1
  8. package/lib/dataLoader.js +18 -21
  9. package/lib/dataLoader.js.map +1 -1
  10. package/lib/dragAndDropHandler/binarySearch.js +3 -3
  11. package/lib/dragAndDropHandler/binarySearch.js.map +1 -1
  12. package/lib/dragAndDropHandler/dragElement.d.ts.map +1 -1
  13. package/lib/dragAndDropHandler/dragElement.js +9 -12
  14. package/lib/dragAndDropHandler/dragElement.js.map +1 -1
  15. package/lib/dragAndDropHandler/generateHitAreas.d.ts.map +1 -1
  16. package/lib/dragAndDropHandler/generateHitAreas.js +25 -25
  17. package/lib/dragAndDropHandler/generateHitAreas.js.map +1 -1
  18. package/lib/dragAndDropHandler/index.d.ts.map +1 -1
  19. package/lib/dragAndDropHandler/index.js +90 -114
  20. package/lib/dragAndDropHandler/index.js.map +1 -1
  21. package/lib/dragAndDropHandler/iterateVisibleNodes.d.ts.map +1 -1
  22. package/lib/dragAndDropHandler/iterateVisibleNodes.js +10 -10
  23. package/lib/dragAndDropHandler/iterateVisibleNodes.js.map +1 -1
  24. package/lib/dragAndDropHandler/types.d.ts.map +1 -1
  25. package/lib/elementsRenderer.d.ts +15 -6
  26. package/lib/elementsRenderer.d.ts.map +1 -1
  27. package/lib/elementsRenderer.js +157 -121
  28. package/lib/elementsRenderer.js.map +1 -1
  29. package/lib/events.d.ts +11 -4
  30. package/lib/events.d.ts.map +1 -1
  31. package/lib/index.d.ts +5 -5
  32. package/lib/index.d.ts.map +1 -1
  33. package/lib/index.js +249 -252
  34. package/lib/index.js.map +1 -1
  35. package/lib/keyHandler.d.ts +2 -3
  36. package/lib/keyHandler.d.ts.map +1 -1
  37. package/lib/keyHandler.js +26 -25
  38. package/lib/keyHandler.js.map +1 -1
  39. package/lib/methodTypes.d.ts +1 -1
  40. package/lib/methodTypes.d.ts.map +1 -1
  41. package/lib/mouseHandler.d.ts.map +1 -1
  42. package/lib/mouseHandler.js +26 -42
  43. package/lib/mouseHandler.js.map +1 -1
  44. package/lib/mouseUtils.d.ts.map +1 -1
  45. package/lib/mouseUtils.js +2 -2
  46. package/lib/mouseUtils.js.map +1 -1
  47. package/lib/node.d.ts +2 -1
  48. package/lib/node.d.ts.map +1 -1
  49. package/lib/node.js +36 -35
  50. package/lib/node.js.map +1 -1
  51. package/lib/nodeElement/borderDropHint.d.ts.map +1 -1
  52. package/lib/nodeElement/borderDropHint.js +4 -5
  53. package/lib/nodeElement/borderDropHint.js.map +1 -1
  54. package/lib/nodeElement/folderElement.d.ts +7 -4
  55. package/lib/nodeElement/folderElement.d.ts.map +1 -1
  56. package/lib/nodeElement/folderElement.js +61 -42
  57. package/lib/nodeElement/folderElement.js.map +1 -1
  58. package/lib/nodeElement/ghostDropHint.d.ts.map +1 -1
  59. package/lib/nodeElement/ghostDropHint.js +5 -9
  60. package/lib/nodeElement/ghostDropHint.js.map +1 -1
  61. package/lib/nodeElement/index.d.ts +2 -1
  62. package/lib/nodeElement/index.d.ts.map +1 -1
  63. package/lib/nodeElement/index.js +34 -26
  64. package/lib/nodeElement/index.js.map +1 -1
  65. package/lib/nodeUtils.d.ts.map +1 -1
  66. package/lib/nodeUtils.js +1 -1
  67. package/lib/nodeUtils.js.map +1 -1
  68. package/lib/options.d.ts.map +1 -1
  69. package/lib/positionUtils.js +3 -3
  70. package/lib/positionUtils.js.map +1 -1
  71. package/lib/requestUrl.d.ts +1 -1
  72. package/lib/requestUrl.d.ts.map +1 -1
  73. package/lib/requestUrl.js +4 -6
  74. package/lib/requestUrl.js.map +1 -1
  75. package/lib/saveStateHandler.d.ts.map +1 -1
  76. package/lib/saveStateHandler.js +38 -48
  77. package/lib/saveStateHandler.js.map +1 -1
  78. package/lib/scrollHandler/containerScrollParent.d.ts.map +1 -1
  79. package/lib/scrollHandler/containerScrollParent.js +9 -11
  80. package/lib/scrollHandler/containerScrollParent.js.map +1 -1
  81. package/lib/scrollHandler/createScrollParent.d.ts.map +1 -1
  82. package/lib/scrollHandler/createScrollParent.js +10 -10
  83. package/lib/scrollHandler/createScrollParent.js.map +1 -1
  84. package/lib/scrollHandler/documentScrollParent.d.ts.map +1 -1
  85. package/lib/scrollHandler/documentScrollParent.js +16 -19
  86. package/lib/scrollHandler/documentScrollParent.js.map +1 -1
  87. package/lib/scrollHandler/scrollParent.d.ts.map +1 -1
  88. package/lib/scrollHandler/scrollParent.js +11 -17
  89. package/lib/scrollHandler/scrollParent.js.map +1 -1
  90. package/lib/scrollHandler.d.ts.map +1 -1
  91. package/lib/scrollHandler.js +11 -14
  92. package/lib/scrollHandler.js.map +1 -1
  93. package/lib/selectNodeHandler.d.ts +2 -2
  94. package/lib/selectNodeHandler.d.ts.map +1 -1
  95. package/lib/selectNodeHandler.js +45 -54
  96. package/lib/selectNodeHandler.js.map +1 -1
  97. package/lib/setDefaultOptions.d.ts.map +1 -1
  98. package/lib/setDefaultOptions.js +23 -28
  99. package/lib/setDefaultOptions.js.map +1 -1
  100. package/lib/triggerCustomEvent.d.ts.map +1 -1
  101. package/lib/triggerCustomEvent.js +2 -2
  102. package/lib/triggerCustomEvent.js.map +1 -1
  103. package/lib/util.d.ts.map +1 -1
  104. package/lib/util.js +2 -2
  105. package/lib/util.js.map +1 -1
  106. package/lib/version.d.ts +1 -1
  107. package/lib/version.js +1 -1
  108. package/lib/version.js.map +1 -1
  109. package/package.json +7 -3
  110. package/src/animation.ts +1 -1
  111. package/src/classNames.ts +52 -52
  112. package/src/dataLoader.ts +68 -70
  113. package/src/dragAndDropHandler/binarySearch.ts +17 -17
  114. package/src/dragAndDropHandler/dragElement.ts +50 -50
  115. package/src/dragAndDropHandler/generateHitAreas.ts +156 -161
  116. package/src/dragAndDropHandler/index.ts +342 -351
  117. package/src/dragAndDropHandler/iterateVisibleNodes.ts +59 -63
  118. package/src/dragAndDropHandler/types.ts +5 -5
  119. package/src/elementsRenderer.ts +351 -298
  120. package/src/events.ts +216 -209
  121. package/src/header.txt +1 -1
  122. package/src/index.ts +52 -82
  123. package/src/keyHandler.ts +125 -115
  124. package/src/methodTypes.ts +4 -7
  125. package/src/mouseHandler.ts +314 -317
  126. package/src/mouseUtils.ts +14 -14
  127. package/src/node.ts +761 -766
  128. package/src/nodeElement/borderDropHint.ts +25 -25
  129. package/src/nodeElement/folderElement.ts +135 -112
  130. package/src/nodeElement/ghostDropHint.ts +62 -62
  131. package/src/nodeElement/index.ts +88 -74
  132. package/src/nodeUtils.ts +5 -5
  133. package/src/options.ts +6 -2
  134. package/src/requestUrl.ts +3 -3
  135. package/src/saveStateHandler.ts +204 -206
  136. package/src/scrollHandler/containerScrollParent.ts +49 -52
  137. package/src/scrollHandler/createScrollParent.ts +27 -27
  138. package/src/scrollHandler/documentScrollParent.ts +70 -70
  139. package/src/scrollHandler/scrollParent.ts +98 -98
  140. package/src/scrollHandler.ts +45 -45
  141. package/src/selectNodeHandler.ts +176 -166
  142. package/src/setDefaultOptions.ts +25 -22
  143. package/src/triggerCustomEvent.ts +7 -3
  144. package/src/util.ts +2 -2
  145. package/src/version.ts +1 -1
  146. package/tree_element.debug.js +3770 -3799
  147. package/tree_element.debug.js.map +1 -1
  148. package/tree_element.js +2 -2
  149. package/tree_element.js.map +1 -1
@@ -1,91 +1,87 @@
1
1
  import type { Node } from "../node";
2
2
 
3
3
  interface Options {
4
- handleAfterOpenFolder: (node: Node, nextNode: Node | null) => void;
5
- handleClosedFolder: (
6
- node: Node,
7
- nextNode: Node | null,
8
- element: HTMLElement,
9
- ) => void;
10
- handleFirstNode: (node: Node) => void;
11
- handleNode: (
12
- node: Node,
13
- nextNode: Node | null,
14
- element: HTMLElement,
15
- ) => void;
4
+ handleAfterOpenFolder: (node: Node, nextNode: Node | null) => void;
5
+ handleClosedFolder: (
6
+ node: Node,
7
+ nextNode: Node | null,
8
+ element: HTMLElement,
9
+ ) => void;
10
+ handleFirstNode: (node: Node) => void;
11
+ handleNode: (node: Node, nextNode: Node | null, element: HTMLElement) => void;
16
12
 
17
- /*
13
+ /*
18
14
  override
19
15
  return
20
16
  - true: continue iterating
21
17
  - false: stop iterating
22
18
  */
23
- handleOpenFolder: (node: Node, element: HTMLElement) => boolean;
19
+ handleOpenFolder: (node: Node, element: HTMLElement) => boolean;
24
20
  }
25
21
 
26
22
  const iterateVisibleNodes = (
27
- tree: Node,
28
- {
29
- handleAfterOpenFolder,
30
- handleClosedFolder,
31
- handleFirstNode,
32
- handleNode,
33
- handleOpenFolder,
34
- }: Options,
23
+ tree: Node,
24
+ {
25
+ handleAfterOpenFolder,
26
+ handleClosedFolder,
27
+ handleFirstNode,
28
+ handleNode,
29
+ handleOpenFolder,
30
+ }: Options,
35
31
  ) => {
36
- let isFirstNode = true;
32
+ let isFirstNode = true;
37
33
 
38
- const iterate = (node: Node, nextNode: Node | null): void => {
39
- let mustIterateInside =
40
- (node.is_open === true || !node.element) && node.hasChildren();
34
+ const iterate = (node: Node, nextNode: Node | null): void => {
35
+ let mustIterateInside =
36
+ (node.is_open === true || !node.element) && node.hasChildren();
41
37
 
42
- let element: HTMLElement | null = null;
38
+ let element: HTMLElement | null = null;
43
39
 
44
- // Is the element visible?
45
- if (node.element?.offsetParent) {
46
- element = node.element;
40
+ // Is the element visible?
41
+ if (node.element?.offsetParent) {
42
+ element = node.element;
47
43
 
48
- if (isFirstNode) {
49
- handleFirstNode(node);
50
- isFirstNode = false;
51
- }
44
+ if (isFirstNode) {
45
+ handleFirstNode(node);
46
+ isFirstNode = false;
47
+ }
52
48
 
53
- if (!node.hasChildren()) {
54
- handleNode(node, nextNode, node.element);
55
- } else if (node.is_open) {
56
- if (!handleOpenFolder(node, node.element)) {
57
- mustIterateInside = false;
58
- }
59
- } else {
60
- handleClosedFolder(node, nextNode, element);
61
- }
49
+ if (!node.hasChildren()) {
50
+ handleNode(node, nextNode, node.element);
51
+ } else if (node.is_open) {
52
+ if (!handleOpenFolder(node, node.element)) {
53
+ mustIterateInside = false;
62
54
  }
55
+ } else {
56
+ handleClosedFolder(node, nextNode, element);
57
+ }
58
+ }
63
59
 
64
- if (mustIterateInside) {
65
- const childrenLength = node.children.length;
66
- node.children.forEach((_, i) => {
67
- const child = node.children[i];
60
+ if (mustIterateInside) {
61
+ const childrenLength = node.children.length;
62
+ node.children.forEach((_, i) => {
63
+ const child = node.children[i];
68
64
 
69
- if (child) {
70
- if (i === childrenLength - 1) {
71
- iterate(child, null);
72
- } else {
73
- const nextChild = node.children[i + 1];
65
+ if (child) {
66
+ if (i === childrenLength - 1) {
67
+ iterate(child, null);
68
+ } else {
69
+ const nextChild = node.children[i + 1];
74
70
 
75
- if (nextChild) {
76
- iterate(child, nextChild);
77
- }
78
- }
79
- }
80
- });
81
-
82
- if (node.is_open && element) {
83
- handleAfterOpenFolder(node, nextNode);
71
+ if (nextChild) {
72
+ iterate(child, nextChild);
84
73
  }
74
+ }
85
75
  }
86
- };
76
+ });
77
+
78
+ if (node.is_open && element) {
79
+ handleAfterOpenFolder(node, nextNode);
80
+ }
81
+ }
82
+ };
87
83
 
88
- iterate(tree, null);
84
+ iterate(tree, null);
89
85
  };
90
86
 
91
87
  export default iterateVisibleNodes;
@@ -1,12 +1,12 @@
1
1
  import type { Node, Position } from "../node";
2
2
 
3
3
  export interface DropHint {
4
- remove: () => void;
4
+ remove: () => void;
5
5
  }
6
6
 
7
7
  export interface HitArea {
8
- bottom: number;
9
- node: Node;
10
- position: Position;
11
- top: number;
8
+ bottom: number;
9
+ node: Node;
10
+ position: Position;
11
+ top: number;
12
12
  }