tree-element 0.1.1 → 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 (148) hide show
  1. package/README.md +33 -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 +14 -20
  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.map +1 -1
  30. package/lib/index.d.ts +5 -5
  31. package/lib/index.d.ts.map +1 -1
  32. package/lib/index.js +249 -252
  33. package/lib/index.js.map +1 -1
  34. package/lib/keyHandler.d.ts +2 -3
  35. package/lib/keyHandler.d.ts.map +1 -1
  36. package/lib/keyHandler.js +26 -25
  37. package/lib/keyHandler.js.map +1 -1
  38. package/lib/methodTypes.d.ts +1 -1
  39. package/lib/methodTypes.d.ts.map +1 -1
  40. package/lib/mouseHandler.d.ts.map +1 -1
  41. package/lib/mouseHandler.js +26 -42
  42. package/lib/mouseHandler.js.map +1 -1
  43. package/lib/mouseUtils.d.ts.map +1 -1
  44. package/lib/mouseUtils.js +2 -2
  45. package/lib/mouseUtils.js.map +1 -1
  46. package/lib/node.d.ts +2 -1
  47. package/lib/node.d.ts.map +1 -1
  48. package/lib/node.js +36 -35
  49. package/lib/node.js.map +1 -1
  50. package/lib/nodeElement/borderDropHint.d.ts.map +1 -1
  51. package/lib/nodeElement/borderDropHint.js +4 -5
  52. package/lib/nodeElement/borderDropHint.js.map +1 -1
  53. package/lib/nodeElement/folderElement.d.ts +7 -4
  54. package/lib/nodeElement/folderElement.d.ts.map +1 -1
  55. package/lib/nodeElement/folderElement.js +61 -42
  56. package/lib/nodeElement/folderElement.js.map +1 -1
  57. package/lib/nodeElement/ghostDropHint.d.ts.map +1 -1
  58. package/lib/nodeElement/ghostDropHint.js +5 -9
  59. package/lib/nodeElement/ghostDropHint.js.map +1 -1
  60. package/lib/nodeElement/index.d.ts +2 -1
  61. package/lib/nodeElement/index.d.ts.map +1 -1
  62. package/lib/nodeElement/index.js +34 -26
  63. package/lib/nodeElement/index.js.map +1 -1
  64. package/lib/nodeUtils.d.ts.map +1 -1
  65. package/lib/nodeUtils.js +1 -1
  66. package/lib/nodeUtils.js.map +1 -1
  67. package/lib/options.d.ts.map +1 -1
  68. package/lib/positionUtils.js +3 -3
  69. package/lib/positionUtils.js.map +1 -1
  70. package/lib/requestUrl.d.ts +1 -1
  71. package/lib/requestUrl.d.ts.map +1 -1
  72. package/lib/requestUrl.js +4 -6
  73. package/lib/requestUrl.js.map +1 -1
  74. package/lib/saveStateHandler.d.ts.map +1 -1
  75. package/lib/saveStateHandler.js +38 -48
  76. package/lib/saveStateHandler.js.map +1 -1
  77. package/lib/scrollHandler/containerScrollParent.d.ts.map +1 -1
  78. package/lib/scrollHandler/containerScrollParent.js +9 -11
  79. package/lib/scrollHandler/containerScrollParent.js.map +1 -1
  80. package/lib/scrollHandler/createScrollParent.d.ts.map +1 -1
  81. package/lib/scrollHandler/createScrollParent.js +10 -10
  82. package/lib/scrollHandler/createScrollParent.js.map +1 -1
  83. package/lib/scrollHandler/documentScrollParent.d.ts.map +1 -1
  84. package/lib/scrollHandler/documentScrollParent.js +16 -19
  85. package/lib/scrollHandler/documentScrollParent.js.map +1 -1
  86. package/lib/scrollHandler/scrollParent.d.ts.map +1 -1
  87. package/lib/scrollHandler/scrollParent.js +11 -17
  88. package/lib/scrollHandler/scrollParent.js.map +1 -1
  89. package/lib/scrollHandler.d.ts.map +1 -1
  90. package/lib/scrollHandler.js +11 -14
  91. package/lib/scrollHandler.js.map +1 -1
  92. package/lib/selectNodeHandler.d.ts +2 -2
  93. package/lib/selectNodeHandler.d.ts.map +1 -1
  94. package/lib/selectNodeHandler.js +45 -54
  95. package/lib/selectNodeHandler.js.map +1 -1
  96. package/lib/setDefaultOptions.d.ts.map +1 -1
  97. package/lib/setDefaultOptions.js +23 -28
  98. package/lib/setDefaultOptions.js.map +1 -1
  99. package/lib/triggerCustomEvent.d.ts.map +1 -1
  100. package/lib/triggerCustomEvent.js +2 -2
  101. package/lib/triggerCustomEvent.js.map +1 -1
  102. package/lib/util.d.ts.map +1 -1
  103. package/lib/util.js +2 -2
  104. package/lib/util.js.map +1 -1
  105. package/lib/version.d.ts +1 -1
  106. package/lib/version.js +1 -1
  107. package/lib/version.js.map +1 -1
  108. package/package.json +5 -3
  109. package/src/animation.ts +1 -1
  110. package/src/classNames.ts +52 -52
  111. package/src/dataLoader.ts +68 -71
  112. package/src/dragAndDropHandler/binarySearch.ts +17 -17
  113. package/src/dragAndDropHandler/dragElement.ts +50 -50
  114. package/src/dragAndDropHandler/generateHitAreas.ts +156 -161
  115. package/src/dragAndDropHandler/index.ts +342 -351
  116. package/src/dragAndDropHandler/iterateVisibleNodes.ts +59 -63
  117. package/src/dragAndDropHandler/types.ts +5 -5
  118. package/src/elementsRenderer.ts +351 -298
  119. package/src/events.ts +216 -216
  120. package/src/header.txt +1 -1
  121. package/src/index.ts +52 -82
  122. package/src/keyHandler.ts +125 -115
  123. package/src/methodTypes.ts +4 -7
  124. package/src/mouseHandler.ts +314 -317
  125. package/src/mouseUtils.ts +14 -14
  126. package/src/node.ts +761 -766
  127. package/src/nodeElement/borderDropHint.ts +25 -25
  128. package/src/nodeElement/folderElement.ts +135 -112
  129. package/src/nodeElement/ghostDropHint.ts +62 -62
  130. package/src/nodeElement/index.ts +88 -74
  131. package/src/nodeUtils.ts +5 -5
  132. package/src/options.ts +6 -2
  133. package/src/requestUrl.ts +3 -3
  134. package/src/saveStateHandler.ts +204 -206
  135. package/src/scrollHandler/containerScrollParent.ts +49 -52
  136. package/src/scrollHandler/createScrollParent.ts +27 -27
  137. package/src/scrollHandler/documentScrollParent.ts +70 -70
  138. package/src/scrollHandler/scrollParent.ts +98 -98
  139. package/src/scrollHandler.ts +45 -45
  140. package/src/selectNodeHandler.ts +176 -166
  141. package/src/setDefaultOptions.ts +25 -22
  142. package/src/triggerCustomEvent.ts +7 -3
  143. package/src/util.ts +2 -2
  144. package/src/version.ts +1 -1
  145. package/tree_element.debug.js +3752 -3784
  146. package/tree_element.debug.js.map +1 -1
  147. package/tree_element.js +2 -2
  148. package/tree_element.js.map +1 -1
@@ -2,45 +2,46 @@ import BorderDropHint from './borderDropHint.js';
2
2
  import GhostDropHint from './ghostDropHint.js';
3
3
 
4
4
  class NodeElement {
5
- element;
6
- node;
7
- _classNames;
8
- _getScrollLeft;
9
- _tabIndex;
10
- _treeElement;
11
5
  constructor({
12
- classNames,
13
- getScrollLeft,
14
- node,
15
- tabIndex,
16
- treeElement
6
+ _classNames: classNames,
7
+ _getScrollLeft: getScrollLeft,
8
+ _node: node,
9
+ _tabIndex: tabIndex,
10
+ _treeElement: treeElement
17
11
  }) {
18
12
  this._classNames = classNames;
19
13
  this._getScrollLeft = getScrollLeft;
20
- this.node = node;
14
+ this._node = node;
21
15
  this._tabIndex = tabIndex;
22
16
  this._treeElement = treeElement;
23
- node.element ??= this._treeElement;
24
- this.element = node.element;
17
+
18
+ // The root node has no element of its own; it uses the tree element.
19
+ this._element = node.element ?? this._treeElement;
25
20
  }
26
- addDropHint(position) {
21
+ _addDropHint(position) {
27
22
  if (this._mustShowBorderDropHint(position)) {
28
- return new BorderDropHint(this.element, this._getScrollLeft(), this._classNames);
23
+ return new BorderDropHint(this._element, this._getScrollLeft(), this._classNames);
29
24
  } else {
30
- return new GhostDropHint(this.node, this.element, position, this._classNames);
25
+ return new GhostDropHint(this._node, this._element, position, this._classNames);
31
26
  }
32
27
  }
33
- deselect() {
34
- this.element.classList.remove(this._classNames.selected);
35
- const titleSpan = this._getTitleSpan();
28
+ _deselect() {
29
+ if (!this._isRendered()) {
30
+ return;
31
+ }
32
+ this._element.classList.remove(this._classNames.selected);
33
+ let titleSpan = this._getTitleSpan();
36
34
  titleSpan.removeAttribute("tabindex");
37
35
  titleSpan.setAttribute("aria-selected", "false");
38
36
  titleSpan.blur();
39
37
  }
40
- select(mustSetFocus) {
41
- this.element.classList.add(this._classNames.selected);
42
- const titleSpan = this._getTitleSpan();
43
- const tabIndex = this._tabIndex;
38
+ _select(mustSetFocus) {
39
+ if (!this._isRendered()) {
40
+ return;
41
+ }
42
+ this._element.classList.add(this._classNames.selected);
43
+ let titleSpan = this._getTitleSpan();
44
+ let tabIndex = this._tabIndex;
44
45
 
45
46
  // Check for null or undefined
46
47
  if (tabIndex != null) {
@@ -52,10 +53,17 @@ class NodeElement {
52
53
  }
53
54
  }
54
55
  _getTitleSpan() {
55
- return this.element.querySelector(`:scope > .${this._classNames.element} > span.${this._classNames.title}`);
56
+ return this._element.querySelector(`:scope > .${this._classNames.element} > span.${this._classNames.title}`);
56
57
  }
57
58
  _getUl() {
58
- return this.element.querySelector(":scope > ul");
59
+ return this._element.querySelector(":scope > ul");
60
+ }
61
+
62
+ /* A node inside a closed folder is not rendered. Its selected and open
63
+ * state is applied when it is rendered.
64
+ */
65
+ _isRendered() {
66
+ return Boolean(this._node.element);
59
67
  }
60
68
  _mustShowBorderDropHint(position) {
61
69
  return position === "inside";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/nodeElement/index.ts"],"sourcesContent":["import type { ClassNames } from \"../classNames\";\nimport type { DropHint } from \"../dragAndDropHandler/types\";\nimport type { GetScrollLeft } from \"../methodTypes\";\nimport type { Node, Position } from \"../node\";\n\nimport BorderDropHint from \"./borderDropHint\";\nimport GhostDropHint from \"./ghostDropHint\";\n\nexport interface NodeElementParams {\n classNames: ClassNames;\n getScrollLeft: GetScrollLeft;\n node: Node;\n tabIndex?: number;\n treeElement: HTMLElement;\n}\n\nclass NodeElement {\n public element: HTMLElement;\n public node: Node;\n protected classNames: ClassNames;\n private getScrollLeft: GetScrollLeft;\n private tabIndex?: number;\n private treeElement: HTMLElement;\n\n constructor({\n classNames,\n getScrollLeft,\n node,\n tabIndex,\n treeElement,\n }: NodeElementParams) {\n this.classNames = classNames;\n this.getScrollLeft = getScrollLeft;\n this.node = node;\n this.tabIndex = tabIndex;\n this.treeElement = treeElement;\n\n node.element ??= this.treeElement;\n this.element = node.element;\n\n }\n\n public addDropHint(position: Position): DropHint {\n if (this.mustShowBorderDropHint(position)) {\n return new BorderDropHint(\n this.element,\n this.getScrollLeft(),\n this.classNames,\n );\n } else {\n return new GhostDropHint(\n this.node,\n this.element,\n position,\n this.classNames,\n );\n }\n }\n\n public deselect(): void {\n this.element.classList.remove(this.classNames.selected);\n\n const titleSpan = this.getTitleSpan();\n titleSpan.removeAttribute(\"tabindex\");\n titleSpan.setAttribute(\"aria-selected\", \"false\");\n\n titleSpan.blur();\n }\n\n public select(mustSetFocus: boolean): void {\n this.element.classList.add(this.classNames.selected);\n\n const titleSpan = this.getTitleSpan();\n const tabIndex = this.tabIndex;\n\n // Check for null or undefined\n if (tabIndex != null) {\n titleSpan.setAttribute(\"tabindex\", tabIndex.toString());\n }\n\n titleSpan.setAttribute(\"aria-selected\", \"true\");\n\n if (mustSetFocus) {\n titleSpan.focus();\n }\n }\n\n protected getTitleSpan(): HTMLSpanElement {\n return this.element.querySelector(\n `:scope > .${this.classNames.element} > span.${this.classNames.title}`,\n ) as HTMLSpanElement;\n }\n\n protected getUl(): HTMLUListElement {\n return this.element.querySelector(\":scope > ul\") as HTMLUListElement;\n }\n\n protected mustShowBorderDropHint(position: Position): boolean {\n return position === \"inside\";\n }\n}\n\nexport default NodeElement;\n"],"names":["classNames","getScrollLeft","tabIndex","treeElement","mustShowBorderDropHint","getTitleSpan","getUl"],"mappings":";;;AAgBA,MAAM,WAAW,CAAC;EACP,OAAO;EACP,IAAI;EACDA,WAAU;EACZC,cAAa;EACbC,SAAQ;EACRC,YAAW;AAEnB,EAAA,WAAW,CAAC;IACR,UAAU;IACV,aAAa;IACb,IAAI;IACJ,QAAQ;AACR,IAAA;AACe,GAAC,EAAE;IAClB,IAAI,CAACH,WAAU,GAAG,UAAU;IAC5B,IAAI,CAACC,cAAa,GAAG,aAAa;IAClC,IAAI,CAAC,IAAI,GAAG,IAAI;IAChB,IAAI,CAACC,SAAQ,GAAG,QAAQ;IACxB,IAAI,CAACC,YAAW,GAAG,WAAW;AAE9B,IAAA,IAAI,CAAC,OAAO,KAAK,IAAI,CAACA,YAAW;AACjC,IAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AAE/B,EAAA;EAEO,WAAW,CAAC,QAAkB,EAAY;AAC7C,IAAA,IAAI,IAAI,CAACC,uBAAsB,CAAC,QAAQ,CAAC,EAAE;AACvC,MAAA,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,OAAO,EACZ,IAAI,CAACH,cAAa,EAAE,EACpB,IAAI,CAACD,WACT,CAAC;AACL,IAAA,CAAC,MAAM;AACH,MAAA,OAAO,IAAI,aAAa,CACpB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,QAAQ,EACR,IAAI,CAACA,WACT,CAAC;AACL,IAAA;AACJ,EAAA;AAEO,EAAA,QAAQ,GAAS;AACpB,IAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAACA,WAAU,CAAC,QAAQ,CAAC;AAEvD,IAAA,MAAM,SAAS,GAAG,IAAI,CAACK,aAAY,EAAE;AACrC,IAAA,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC;AACrC,IAAA,SAAS,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;IAEhD,SAAS,CAAC,IAAI,EAAE;AACpB,EAAA;EAEO,MAAM,CAAC,YAAqB,EAAQ;AACvC,IAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAACL,WAAU,CAAC,QAAQ,CAAC;AAEpD,IAAA,MAAM,SAAS,GAAG,IAAI,CAACK,aAAY,EAAE;AACrC,IAAA,MAAM,QAAQ,GAAG,IAAI,CAACH,SAAQ;;AAE9B;IACA,IAAI,QAAQ,IAAI,IAAI,EAAE;MAClB,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,IAAA;AAEA,IAAA,SAAS,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAE/C,IAAA,IAAI,YAAY,EAAE;MACd,SAAS,CAAC,KAAK,EAAE;AACrB,IAAA;AACJ,EAAA;AAEUG,EAAAA,aAAYA,GAAoB;AACtC,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC7B,aAAa,IAAI,CAACL,WAAU,CAAC,OAAO,WAAW,IAAI,CAACA,WAAU,CAAC,KAAK,EACxE,CAAC;AACL,EAAA;AAEUM,EAAAA,MAAKA,GAAqB;AAChC,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC;AACpD,EAAA;EAEUF,uBAAsBA,CAAC,QAAkB,EAAW;IAC1D,OAAO,QAAQ,KAAK,QAAQ;AAChC,EAAA;AACJ;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/nodeElement/index.ts"],"sourcesContent":["import type { ClassNames } from \"../classNames\";\nimport type { DropHint } from \"../dragAndDropHandler/types\";\nimport type { GetScrollLeft } from \"../methodTypes\";\nimport type { Node, Position } from \"../node\";\n\nimport BorderDropHint from \"./borderDropHint\";\nimport GhostDropHint from \"./ghostDropHint\";\n\nexport interface NodeElementParams {\n classNames: ClassNames;\n getScrollLeft: GetScrollLeft;\n node: Node;\n tabIndex?: number;\n treeElement: HTMLElement;\n}\n\nclass NodeElement {\n public element: HTMLElement;\n public node: Node;\n protected classNames: ClassNames;\n private getScrollLeft: GetScrollLeft;\n private tabIndex?: number;\n private treeElement: HTMLElement;\n\n constructor({\n classNames,\n getScrollLeft,\n node,\n tabIndex,\n treeElement,\n }: NodeElementParams) {\n this.classNames = classNames;\n this.getScrollLeft = getScrollLeft;\n this.node = node;\n this.tabIndex = tabIndex;\n this.treeElement = treeElement;\n\n // The root node has no element of its own; it uses the tree element.\n this.element = node.element ?? this.treeElement;\n }\n\n public addDropHint(position: Position): DropHint {\n if (this.mustShowBorderDropHint(position)) {\n return new BorderDropHint(\n this.element,\n this.getScrollLeft(),\n this.classNames,\n );\n } else {\n return new GhostDropHint(\n this.node,\n this.element,\n position,\n this.classNames,\n );\n }\n }\n\n public deselect(): void {\n if (!this.isRendered()) {\n return;\n }\n\n this.element.classList.remove(this.classNames.selected);\n\n const titleSpan = this.getTitleSpan();\n titleSpan.removeAttribute(\"tabindex\");\n titleSpan.setAttribute(\"aria-selected\", \"false\");\n\n titleSpan.blur();\n }\n\n public select(mustSetFocus: boolean): void {\n if (!this.isRendered()) {\n return;\n }\n\n this.element.classList.add(this.classNames.selected);\n\n const titleSpan = this.getTitleSpan();\n const tabIndex = this.tabIndex;\n\n // Check for null or undefined\n if (tabIndex != null) {\n titleSpan.setAttribute(\"tabindex\", tabIndex.toString());\n }\n\n titleSpan.setAttribute(\"aria-selected\", \"true\");\n\n if (mustSetFocus) {\n titleSpan.focus();\n }\n }\n\n protected getTitleSpan(): HTMLSpanElement {\n return this.element.querySelector(\n `:scope > .${this.classNames.element} > span.${this.classNames.title}`,\n ) as HTMLSpanElement;\n }\n\n protected getUl(): HTMLUListElement | null {\n return this.element.querySelector(\":scope > ul\");\n }\n\n /* A node inside a closed folder is not rendered. Its selected and open\n * state is applied when it is rendered.\n */\n protected isRendered(): boolean {\n return Boolean(this.node.element);\n }\n\n protected mustShowBorderDropHint(position: Position): boolean {\n return position === \"inside\";\n }\n}\n\nexport default NodeElement;\n"],"names":["classNames","getScrollLeft","node","tabIndex","treeElement","element","addDropHint","mustShowBorderDropHint","deselect","isRendered","getTitleSpan","select","getUl"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nodeUtils.d.ts","sourceRoot":"","sources":["../src/nodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnD,UAAU,sBAAuB,SAAQ,UAAU;IAC/C,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,wBAAwB,GACjC,MAAM,QAAQ,KACf,IAAI,IAAI,sBAGuB,CAAC"}
1
+ {"version":3,"file":"nodeUtils.d.ts","sourceRoot":"","sources":["../src/nodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnD,UAAU,sBAAuB,SAAQ,UAAU;IACjD,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,wBAAwB,GACnC,MAAM,QAAQ,KACb,IAAI,IAAI,sBAGqB,CAAC"}
package/lib/nodeUtils.js CHANGED
@@ -1,4 +1,4 @@
1
- const isNodeRecordWithChildren = data => typeof data === "object" && "children" in data && data.children instanceof Array;
1
+ let isNodeRecordWithChildren = data => typeof data === "object" && "children" in data && data.children instanceof Array;
2
2
 
3
3
  export { isNodeRecordWithChildren };
4
4
  //# sourceMappingURL=nodeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeUtils.js","sources":["../src/nodeUtils.ts"],"sourcesContent":["import type { NodeData, NodeRecord } from \"./node\";\n\ninterface NodeRecordWithChildren extends NodeRecord {\n children: NodeData[];\n}\n\nexport const isNodeRecordWithChildren = (\n data: NodeData,\n): data is NodeRecordWithChildren =>\n typeof data === \"object\" &&\n \"children\" in data &&\n data.children instanceof Array;\n"],"names":[],"mappings":"MAMa,wBAAwB,GACjC,IAAc,IAEd,OAAO,IAAI,KAAK,QAAQ,IACxB,UAAU,IAAI,IAAI,IAClB,IAAI,CAAC,QAAQ,YAAY;;"}
1
+ {"version":3,"file":"nodeUtils.js","sources":["../src/nodeUtils.ts"],"sourcesContent":["import type { NodeData, NodeRecord } from \"./node\";\n\ninterface NodeRecordWithChildren extends NodeRecord {\n children: NodeData[];\n}\n\nexport const isNodeRecordWithChildren = (\n data: NodeData,\n): data is NodeRecordWithChildren =>\n typeof data === \"object\" &&\n \"children\" in data &&\n data.children instanceof Array;\n"],"names":[],"mappings":"IAMa,wBAAwB,GACnC,IAAc,IAEd,OAAO,IAAI,KAAK,QAAQ,IACxB,UAAU,IAAI,IAAI,IAClB,IAAI,CAAC,QAAQ,YAAY;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  // Get the top position of the HTML element.
2
- const getOffsetTop = element => getElementPosition(element).top;
2
+ let getOffsetTop = element => getElementPosition(element).top;
3
3
 
4
4
  // Get the top left position of the HTML element.
5
- const getElementPosition = element => {
6
- const rect = element.getBoundingClientRect();
5
+ let getElementPosition = element => {
6
+ let rect = element.getBoundingClientRect();
7
7
  return {
8
8
  left: rect.x + window.scrollX,
9
9
  top: rect.y + window.scrollY
@@ -1 +1 @@
1
- {"version":3,"file":"positionUtils.js","sources":["../src/positionUtils.ts"],"sourcesContent":["interface TopLeftPosition {\n left: number;\n top: number;\n}\n\n// Get the top position of the HTML element.\nexport const getOffsetTop = (element: HTMLElement): number =>\n getElementPosition(element).top;\n\n// Get the top left position of the HTML element.\nexport const getElementPosition = (element: HTMLElement): TopLeftPosition => {\n const rect = element.getBoundingClientRect();\n\n return {\n left: rect.x + window.scrollX,\n top: rect.y + window.scrollY,\n };\n};\n"],"names":[],"mappings":"AAKA;AACO,MAAM,YAAY,GAAI,OAAoB,IAC/C,kBAAkB,CAAC,OAAO,CAAC,CAAC;;AAE9B;AACO,MAAM,kBAAkB,GAAI,OAAoB,IAAsB;AAC3E,EAAA,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE;EAE5C,OAAO;AACL,IAAA,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO;AAC7B,IAAA,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;GACtB;AACH;;"}
1
+ {"version":3,"file":"positionUtils.js","sources":["../src/positionUtils.ts"],"sourcesContent":["interface TopLeftPosition {\n left: number;\n top: number;\n}\n\n// Get the top position of the HTML element.\nexport const getOffsetTop = (element: HTMLElement): number =>\n getElementPosition(element).top;\n\n// Get the top left position of the HTML element.\nexport const getElementPosition = (element: HTMLElement): TopLeftPosition => {\n const rect = element.getBoundingClientRect();\n\n return {\n left: rect.x + window.scrollX,\n top: rect.y + window.scrollY,\n };\n};\n"],"names":[],"mappings":"AAKA;AACO,IAAM,YAAY,GAAI,OAAoB,IAC/C,kBAAkB,CAAC,OAAO,CAAC,CAAC;;AAE9B;AACO,IAAM,kBAAkB,GAAI,OAAoB,IAAsB;AAC3E,EAAA,IAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE;EAE5C,OAAO;AACL,IAAA,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO;AAC7B,IAAA,GAAG,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;GACtB;AACH;;"}
@@ -3,7 +3,7 @@ declare class RequestUrl {
3
3
  private url;
4
4
  constructor(inputUrl: string);
5
5
  setSearchParam(key: string, value: string): void;
6
- toString(): string;
6
+ value(): string;
7
7
  }
8
8
  export default RequestUrl;
9
9
  //# sourceMappingURL=requestUrl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestUrl.d.ts","sourceRoot":"","sources":["../src/requestUrl.ts"],"names":[],"mappings":"AAaA,cAAM,UAAU;IACd,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,GAAG,CAAM;gBAEL,QAAQ,EAAE,MAAM;IAU5B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIzC,QAAQ;CAOT;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"requestUrl.d.ts","sourceRoot":"","sources":["../src/requestUrl.ts"],"names":[],"mappings":"AAaA,cAAM,UAAU;IACd,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,GAAG,CAAM;gBAEL,QAAQ,EAAE,MAAM;IAU5B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAIzC,KAAK;CAON;AAED,eAAe,UAAU,CAAC"}
package/lib/requestUrl.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Url class for absolute and relative urls.
2
2
 
3
- const isAbsoluteUrl = inputUrl => {
3
+ let isAbsoluteUrl = inputUrl => {
4
4
  try {
5
5
  new URL(inputUrl);
6
6
  return true;
@@ -8,10 +8,8 @@ const isAbsoluteUrl = inputUrl => {
8
8
  return false;
9
9
  }
10
10
  };
11
- const LOCALHOST = "http://localhost";
11
+ let LOCALHOST = "http://localhost";
12
12
  class RequestUrl {
13
- _isAbsolute;
14
- _url;
15
13
  constructor(inputUrl) {
16
14
  if (isAbsoluteUrl(inputUrl)) {
17
15
  this._url = new URL(inputUrl);
@@ -21,10 +19,10 @@ class RequestUrl {
21
19
  this._isAbsolute = false;
22
20
  }
23
21
  }
24
- setSearchParam(key, value) {
22
+ _setSearchParam(key, value) {
25
23
  this._url.searchParams.set(key, value);
26
24
  }
27
- toString() {
25
+ _value() {
28
26
  if (this._isAbsolute) {
29
27
  return this._url.href;
30
28
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"requestUrl.js","sources":["../src/requestUrl.ts"],"sourcesContent":["// Url class for absolute and relative urls.\n\nconst isAbsoluteUrl = (inputUrl: string) => {\n try {\n new URL(inputUrl);\n return true;\n } catch {\n return false;\n }\n}\n\nconst LOCALHOST = \"http://localhost\";\n\nclass RequestUrl {\n private isAbsolute: boolean;\n private url: URL;\n\n constructor(inputUrl: string) {\n if (isAbsoluteUrl(inputUrl)) {\n this.url = new URL(inputUrl);\n this.isAbsolute = true;\n } else {\n this.url = new URL(inputUrl, LOCALHOST);\n this.isAbsolute = false;\n }\n }\n\n setSearchParam(key: string, value: string) {\n this.url.searchParams.set(key, value);\n }\n\n toString() {\n if (this.isAbsolute) {\n return this.url.href;\n } else {\n return this.url.href.slice(LOCALHOST.length);\n }\n }\n}\n\nexport default RequestUrl;"],"names":["isAbsolute","url"],"mappings":"AAAA;;AAEA,MAAM,aAAa,GAAI,QAAgB,IAAK;EAC1C,IAAI;IACF,IAAI,GAAG,CAAC,QAAQ,CAAC;AACjB,IAAA,OAAO,IAAI;AACb,EAAA,CAAC,CAAC,MAAM;AACN,IAAA,OAAO,KAAK;AACd,EAAA;AACF,CAAC;AAED,MAAM,SAAS,GAAG,kBAAkB;AAEpC,MAAM,UAAU,CAAC;EACPA,WAAU;EACVC,IAAG;EAEX,WAAW,CAAC,QAAgB,EAAE;AAC5B,IAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC3B,MAAA,IAAI,CAACA,IAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC;MAC5B,IAAI,CAACD,WAAU,GAAG,IAAI;AACxB,IAAA,CAAC,MAAM;MACL,IAAI,CAACC,IAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;MACvC,IAAI,CAACD,WAAU,GAAG,KAAK;AACzB,IAAA;AACF,EAAA;AAEA,EAAA,cAAc,CAAC,GAAW,EAAE,KAAa,EAAE;IACzC,IAAI,CAACC,IAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACvC,EAAA;AAEA,EAAA,QAAQ,GAAG;IACT,IAAI,IAAI,CAACD,WAAU,EAAE;AACnB,MAAA,OAAO,IAAI,CAACC,IAAG,CAAC,IAAI;AACtB,IAAA,CAAC,MAAM;MACL,OAAO,IAAI,CAACA,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AAC9C,IAAA;AACF,EAAA;AACF;;"}
1
+ {"version":3,"file":"requestUrl.js","sources":["../src/requestUrl.ts"],"sourcesContent":["// Url class for absolute and relative urls.\n\nconst isAbsoluteUrl = (inputUrl: string) => {\n try {\n new URL(inputUrl);\n return true;\n } catch {\n return false;\n }\n};\n\nconst LOCALHOST = \"http://localhost\";\n\nclass RequestUrl {\n private isAbsolute: boolean;\n private url: URL;\n\n constructor(inputUrl: string) {\n if (isAbsoluteUrl(inputUrl)) {\n this.url = new URL(inputUrl);\n this.isAbsolute = true;\n } else {\n this.url = new URL(inputUrl, LOCALHOST);\n this.isAbsolute = false;\n }\n }\n\n setSearchParam(key: string, value: string) {\n this.url.searchParams.set(key, value);\n }\n\n value() {\n if (this.isAbsolute) {\n return this.url.href;\n } else {\n return this.url.href.slice(LOCALHOST.length);\n }\n }\n}\n\nexport default RequestUrl;\n"],"names":["url","isAbsolute","setSearchParam","value"],"mappings":"AAAA;;AAEA,IAAM,aAAa,GAAI,QAAgB,IAAK;EAC1C,IAAI;IACF,IAAI,GAAG,CAAC,QAAQ,CAAC;AACjB,IAAA,OAAO,IAAI;AACb,EAAA,CAAC,CAAC,MAAM;AACN,IAAA,OAAO,KAAK;AACd,EAAA;AACF,CAAC;AAED,IAAM,SAAS,GAAG,kBAAkB;AAEpC,MAAM,UAAU,CAAC;EAIf,WAAW,CAAC,QAAgB,EAAE;AAC5B,IAAA,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;AAC3B,MAAA,IAAI,CAACA,IAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC;MAC5B,IAAI,CAACC,WAAU,GAAG,IAAI;AACxB,IAAA,CAAC,MAAM;MACL,IAAI,CAACD,IAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;MACvC,IAAI,CAACC,WAAU,GAAG,KAAK;AACzB,IAAA;AACF,EAAA;AAEAC,EAAAA,eAAcA,CAAC,GAAW,EAAE,KAAa,EAAE;IACzC,IAAI,CAACF,IAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACvC,EAAA;AAEAG,EAAAA,MAAKA,GAAG;IACN,IAAI,IAAI,CAACF,WAAU,EAAE;AACnB,MAAA,OAAO,IAAI,CAACD,IAAG,CAAC,IAAI;AACtB,IAAA,CAAC,MAAM;MACL,OAAO,IAAI,CAACA,IAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AAC9C,IAAA;AACF,EAAA;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"saveStateHandler.d.ts","sourceRoot":"","sources":["../src/saveStateHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,eAAe,EACf,mBAAmB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAI9E,MAAM,WAAW,UAAU;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,UAAU,sBAAsB;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/B;AAED,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,eAAe,CAAmB;gBAE9B,EACR,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,SAAS,GACZ,EAAE,sBAAsB;IAalB,qBAAqB,IAAI,MAAM,GAAG,IAAI;IActC,QAAQ,IAAI,UAAU;IAgCtB,mBAAmB,IAAI,IAAI,GAAG,UAAU;IAcxC,SAAS,IAAI,IAAI;IAoBjB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAgBrC,uBAAuB,CAChC,KAAK,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC;IA2ChB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,kBAAkB;CAe7B"}
1
+ {"version":3,"file":"saveStateHandler.d.ts","sourceRoot":"","sources":["../src/saveStateHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,eAAe,EACf,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAI9E,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,UAAU,sBAAsB;IAC9B,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,eAAe,CAAmB;gBAE9B,EACV,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,qBAAqB,EACrB,qBAAqB,EACrB,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,SAAS,GACV,EAAE,sBAAsB;IAalB,qBAAqB,IAAI,MAAM,GAAG,IAAI;IActC,QAAQ,IAAI,UAAU;IAgCtB,mBAAmB,IAAI,IAAI,GAAG,UAAU;IAcxC,SAAS,IAAI,IAAI;IAoBjB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAgBrC,uBAAuB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CtE,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,kBAAkB;CAe3B"}
@@ -1,27 +1,17 @@
1
1
  import { isInt } from './util.js';
2
2
 
3
3
  class SaveStateHandler {
4
- _addToSelection;
5
- _getNodeById;
6
- _getSelectedNodes;
7
- _getTree;
8
- _onGetStateFromStorage;
9
- _onSetStateFromStorage;
10
- _openNode;
11
- _refreshElements;
12
- _removeFromSelection;
13
- _saveStateOption;
14
4
  constructor({
15
- addToSelection,
16
- getNodeById,
17
- getSelectedNodes,
18
- getTree,
19
- onGetStateFromStorage,
20
- onSetStateFromStorage,
21
- openNode,
22
- refreshElements,
23
- removeFromSelection,
24
- saveState
5
+ _addToSelection: addToSelection,
6
+ _getNodeById: getNodeById,
7
+ _getSelectedNodes: getSelectedNodes,
8
+ _getTree: getTree,
9
+ _onGetStateFromStorage: onGetStateFromStorage,
10
+ _onSetStateFromStorage: onSetStateFromStorage,
11
+ _openNode: openNode,
12
+ _refreshElements: refreshElements,
13
+ _removeFromSelection: removeFromSelection,
14
+ _saveState: saveState
25
15
  }) {
26
16
  this._addToSelection = addToSelection;
27
17
  this._getNodeById = getNodeById;
@@ -34,20 +24,20 @@ class SaveStateHandler {
34
24
  this._removeFromSelection = removeFromSelection;
35
25
  this._saveStateOption = saveState;
36
26
  }
37
- getNodeIdToBeSelected() {
27
+ _getNodeIdToBeSelected() {
38
28
  if (!this._saveStateOption) {
39
29
  return null;
40
30
  }
41
- const state = this.getStateFromStorage();
31
+ let state = this._getStateFromStorage();
42
32
  if (state?.selected_node) {
43
33
  return state.selected_node[0] ?? null;
44
34
  } else {
45
35
  return null;
46
36
  }
47
37
  }
48
- getState() {
49
- const getOpenNodeIds = () => {
50
- const openNodes = [];
38
+ _getState() {
39
+ let getOpenNodeIds = () => {
40
+ let openNodes = [];
51
41
  this._getTree()?.iterate(node => {
52
42
  if (node.is_open && node.id && node.hasChildren()) {
53
43
  openNodes.push(node.id);
@@ -56,8 +46,8 @@ class SaveStateHandler {
56
46
  });
57
47
  return openNodes;
58
48
  };
59
- const getSelectedNodeIds = () => {
60
- const selectedNodeIds = [];
49
+ let getSelectedNodeIds = () => {
50
+ let selectedNodeIds = [];
61
51
  this._getSelectedNodes().forEach(node => {
62
52
  if (node.id != null) {
63
53
  selectedNodeIds.push(node.id);
@@ -70,22 +60,22 @@ class SaveStateHandler {
70
60
  selected_node: getSelectedNodeIds()
71
61
  };
72
62
  }
73
- getStateFromStorage() {
63
+ _getStateFromStorage() {
74
64
  if (!this._saveStateOption) {
75
65
  return null;
76
66
  }
77
- const jsonData = this._loadFromStorage();
67
+ let jsonData = this._loadFromStorage();
78
68
  if (jsonData) {
79
69
  return this._parseState(jsonData);
80
70
  } else {
81
71
  return null;
82
72
  }
83
73
  }
84
- saveState() {
74
+ _saveState() {
85
75
  if (!this._saveStateOption) {
86
76
  return;
87
77
  }
88
- const state = JSON.stringify(this.getState());
78
+ let state = JSON.stringify(this._getState());
89
79
  if (this._onSetStateFromStorage) {
90
80
  this._onSetStateFromStorage(state);
91
81
  } else {
@@ -94,11 +84,11 @@ class SaveStateHandler {
94
84
  }
95
85
 
96
86
  /*
97
- Set initial state
98
- Don't handle nodes that are loaded on demand
99
- result: must load on demand (boolean)
100
- */
101
- setInitialState(state) {
87
+ Set initial state
88
+ Don't handle nodes that are loaded on demand
89
+ result: must load on demand (boolean)
90
+ */
91
+ _setInitialState(state) {
102
92
  let mustLoadOnDemand = false;
103
93
  if (state.open_nodes) {
104
94
  mustLoadOnDemand = this._openInitialNodes(state.open_nodes);
@@ -109,15 +99,15 @@ class SaveStateHandler {
109
99
  }
110
100
  return mustLoadOnDemand;
111
101
  }
112
- async setInitialStateOnDemand(state) {
102
+ async _setInitialStateOnDemand(state) {
113
103
  let nodeIds = state.open_nodes;
114
- const openNodes = async () => {
104
+ let openNodes = async () => {
115
105
  if (!nodeIds) {
116
106
  return;
117
107
  }
118
- const newNodesIds = [];
119
- for (const nodeId of nodeIds) {
120
- const node = this._getNodeById(nodeId);
108
+ let newNodesIds = [];
109
+ for (let nodeId of nodeIds) {
110
+ let node = this._getNodeById(nodeId);
121
111
  if (!node) {
122
112
  newNodesIds.push(nodeId);
123
113
  } else {
@@ -137,7 +127,7 @@ class SaveStateHandler {
137
127
  }
138
128
  }
139
129
  };
140
- const loadAndOpenNode = async node => {
130
+ let loadAndOpenNode = async node => {
141
131
  await this._openNode(node, false);
142
132
  await openNodes();
143
133
  };
@@ -159,8 +149,8 @@ class SaveStateHandler {
159
149
  }
160
150
  _openInitialNodes(nodeIds) {
161
151
  let mustLoadOnDemand = false;
162
- for (const nodeId of nodeIds) {
163
- const node = this._getNodeById(nodeId);
152
+ for (let nodeId of nodeIds) {
153
+ let node = this._getNodeById(nodeId);
164
154
  if (node) {
165
155
  if (!node.load_on_demand) {
166
156
  node.is_open = true;
@@ -172,7 +162,7 @@ class SaveStateHandler {
172
162
  return mustLoadOnDemand;
173
163
  }
174
164
  _parseState(jsonData) {
175
- const state = JSON.parse(jsonData);
165
+ let state = JSON.parse(jsonData);
176
166
 
177
167
  // Check if selected_node is an int (instead of an array)
178
168
  if (state.selected_node && isInt(state.selected_node)) {
@@ -182,15 +172,15 @@ class SaveStateHandler {
182
172
  return state;
183
173
  }
184
174
  _resetSelection() {
185
- const selectedNodes = this._getSelectedNodes();
175
+ let selectedNodes = this._getSelectedNodes();
186
176
  selectedNodes.forEach(node => {
187
177
  this._removeFromSelection(node);
188
178
  });
189
179
  }
190
180
  _selectInitialNodes(nodeIds) {
191
181
  let selectCount = 0;
192
- for (const nodeId of nodeIds) {
193
- const node = this._getNodeById(nodeId);
182
+ for (let nodeId of nodeIds) {
183
+ let node = this._getNodeById(nodeId);
194
184
  if (node) {
195
185
  selectCount += 1;
196
186
  this._addToSelection(node);
@@ -1 +1 @@
1
- {"version":3,"file":"saveStateHandler.js","sources":["../src/saveStateHandler.ts"],"sourcesContent":["import type {\n AddToSelection,\n GetNodeById,\n GetSelectedNodes,\n GetTree,\n OpenNode,\n RefreshElements,\n RemoveFromSelection,\n} from \"./methodTypes\";\nimport type { Node, NodeId } from \"./node\";\nimport type { OnGetStateFromStorage, OnSetStateFromStorage } from \"./options\";\n\nimport { isInt } from \"./util\";\n\nexport interface SavedState {\n open_nodes?: NodeId[];\n selected_node?: NodeId[];\n}\n\ninterface SaveStateHandlerParams {\n addToSelection: AddToSelection;\n getNodeById: GetNodeById;\n getSelectedNodes: GetSelectedNodes;\n getTree: GetTree;\n onGetStateFromStorage?: OnGetStateFromStorage;\n onSetStateFromStorage?: OnSetStateFromStorage;\n openNode: OpenNode;\n refreshElements: RefreshElements;\n removeFromSelection: RemoveFromSelection;\n saveState: boolean | string;\n}\n\nexport default class SaveStateHandler {\n private addToSelection: AddToSelection;\n private getNodeById: GetNodeById;\n private getSelectedNodes: GetSelectedNodes;\n private getTree: GetTree;\n private onGetStateFromStorage?: OnGetStateFromStorage;\n private onSetStateFromStorage?: OnSetStateFromStorage;\n private openNode: OpenNode;\n private refreshElements: RefreshElements;\n private removeFromSelection: RemoveFromSelection;\n private saveStateOption: boolean | string;\n\n constructor({\n addToSelection,\n getNodeById,\n getSelectedNodes,\n getTree,\n onGetStateFromStorage,\n onSetStateFromStorage,\n openNode,\n refreshElements,\n removeFromSelection,\n saveState,\n }: SaveStateHandlerParams) {\n this.addToSelection = addToSelection;\n this.getNodeById = getNodeById;\n this.getSelectedNodes = getSelectedNodes;\n this.getTree = getTree;\n this.onGetStateFromStorage = onGetStateFromStorage;\n this.onSetStateFromStorage = onSetStateFromStorage;\n this.openNode = openNode;\n this.refreshElements = refreshElements;\n this.removeFromSelection = removeFromSelection;\n this.saveStateOption = saveState;\n }\n\n public getNodeIdToBeSelected(): NodeId | null {\n if (!this.saveStateOption) {\n return null;\n }\n\n const state = this.getStateFromStorage();\n\n if (state?.selected_node) {\n return state.selected_node[0] ?? null;\n } else {\n return null;\n }\n }\n\n public getState(): SavedState {\n const getOpenNodeIds = (): NodeId[] => {\n const openNodes: NodeId[] = [];\n\n this.getTree()?.iterate((node: Node) => {\n if (node.is_open && node.id && node.hasChildren()) {\n openNodes.push(node.id);\n }\n return true;\n });\n\n return openNodes;\n };\n\n const getSelectedNodeIds = (): NodeId[] => {\n const selectedNodeIds: NodeId[] = [];\n\n this.getSelectedNodes().forEach((node) => {\n if (node.id != null) {\n selectedNodeIds.push(node.id);\n }\n });\n\n return selectedNodeIds;\n };\n\n return {\n open_nodes: getOpenNodeIds(),\n selected_node: getSelectedNodeIds(),\n };\n }\n\n public getStateFromStorage(): null | SavedState {\n if (!this.saveStateOption) {\n return null;\n }\n\n const jsonData = this.loadFromStorage();\n\n if (jsonData) {\n return this.parseState(jsonData);\n } else {\n return null;\n }\n }\n\n public saveState(): void {\n if (!this.saveStateOption) {\n return;\n }\n\n const state = JSON.stringify(this.getState());\n\n if (this.onSetStateFromStorage) {\n this.onSetStateFromStorage(state);\n } else {\n localStorage.setItem(this.getKeyName(), state);\n }\n }\n\n /*\n Set initial state\n Don't handle nodes that are loaded on demand\n\n result: must load on demand (boolean)\n */\n public setInitialState(state: SavedState): boolean {\n let mustLoadOnDemand = false;\n\n if (state.open_nodes) {\n mustLoadOnDemand = this.openInitialNodes(state.open_nodes);\n }\n\n this.resetSelection();\n\n if (state.selected_node) {\n this.selectInitialNodes(state.selected_node);\n }\n\n return mustLoadOnDemand;\n }\n\n public async setInitialStateOnDemand(\n state: SavedState,\n ): Promise<void> {\n let nodeIds = state.open_nodes;\n\n const openNodes = async () => {\n if (!nodeIds) {\n return;\n }\n\n const newNodesIds = [];\n\n for (const nodeId of nodeIds) {\n const node = this.getNodeById(nodeId);\n\n if (!node) {\n newNodesIds.push(nodeId);\n } else {\n if (!node.is_loading) {\n if (node.load_on_demand) {\n await loadAndOpenNode(node);\n } else {\n await this.openNode(node, false);\n }\n }\n }\n }\n\n nodeIds = newNodesIds;\n\n if (state.selected_node) {\n if (this.selectInitialNodes(state.selected_node)) {\n this.refreshElements(null);\n }\n }\n };\n\n const loadAndOpenNode = async (node: Node) => {\n await this.openNode(node, false);\n await openNodes();\n };\n\n await openNodes();\n }\n\n private getKeyName(): string {\n if (typeof this.saveStateOption === \"string\") {\n return this.saveStateOption;\n } else {\n return \"tree\";\n }\n }\n\n private loadFromStorage(): null | string {\n if (this.onGetStateFromStorage) {\n return this.onGetStateFromStorage();\n } else {\n return localStorage.getItem(this.getKeyName());\n }\n }\n\n private openInitialNodes(nodeIds: NodeId[]): boolean {\n let mustLoadOnDemand = false;\n\n for (const nodeId of nodeIds) {\n const node = this.getNodeById(nodeId);\n\n if (node) {\n if (!node.load_on_demand) {\n node.is_open = true;\n } else {\n mustLoadOnDemand = true;\n }\n }\n }\n\n return mustLoadOnDemand;\n }\n\n private parseState(jsonData: string): SavedState {\n const state = JSON.parse(jsonData) as Record<string, unknown>;\n\n // Check if selected_node is an int (instead of an array)\n if (state.selected_node && isInt(state.selected_node)) {\n // Convert to array\n state.selected_node = [state.selected_node];\n }\n\n return state;\n }\n\n private resetSelection(): void {\n const selectedNodes = this.getSelectedNodes();\n\n selectedNodes.forEach((node) => {\n this.removeFromSelection(node);\n });\n }\n\n private selectInitialNodes(nodeIds: NodeId[]): boolean {\n let selectCount = 0;\n\n for (const nodeId of nodeIds) {\n const node = this.getNodeById(nodeId);\n\n if (node) {\n selectCount += 1;\n\n this.addToSelection(node);\n }\n }\n\n return selectCount !== 0;\n }\n}\n"],"names":["addToSelection","getNodeById","getSelectedNodes","getTree","onGetStateFromStorage","onSetStateFromStorage","openNode","refreshElements","removeFromSelection","saveStateOption","loadFromStorage","parseState","getKeyName","openInitialNodes","resetSelection","selectInitialNodes"],"mappings":"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"}
1
+ {"version":3,"file":"saveStateHandler.js","sources":["../src/saveStateHandler.ts"],"sourcesContent":["import type {\n AddToSelection,\n GetNodeById,\n GetSelectedNodes,\n GetTree,\n OpenNode,\n RefreshElements,\n RemoveFromSelection,\n} from \"./methodTypes\";\nimport type { Node, NodeId } from \"./node\";\nimport type { OnGetStateFromStorage, OnSetStateFromStorage } from \"./options\";\n\nimport { isInt } from \"./util\";\n\nexport interface SavedState {\n open_nodes?: NodeId[];\n selected_node?: NodeId[];\n}\n\ninterface SaveStateHandlerParams {\n addToSelection: AddToSelection;\n getNodeById: GetNodeById;\n getSelectedNodes: GetSelectedNodes;\n getTree: GetTree;\n onGetStateFromStorage?: OnGetStateFromStorage;\n onSetStateFromStorage?: OnSetStateFromStorage;\n openNode: OpenNode;\n refreshElements: RefreshElements;\n removeFromSelection: RemoveFromSelection;\n saveState: boolean | string;\n}\n\nexport default class SaveStateHandler {\n private addToSelection: AddToSelection;\n private getNodeById: GetNodeById;\n private getSelectedNodes: GetSelectedNodes;\n private getTree: GetTree;\n private onGetStateFromStorage?: OnGetStateFromStorage;\n private onSetStateFromStorage?: OnSetStateFromStorage;\n private openNode: OpenNode;\n private refreshElements: RefreshElements;\n private removeFromSelection: RemoveFromSelection;\n private saveStateOption: boolean | string;\n\n constructor({\n addToSelection,\n getNodeById,\n getSelectedNodes,\n getTree,\n onGetStateFromStorage,\n onSetStateFromStorage,\n openNode,\n refreshElements,\n removeFromSelection,\n saveState,\n }: SaveStateHandlerParams) {\n this.addToSelection = addToSelection;\n this.getNodeById = getNodeById;\n this.getSelectedNodes = getSelectedNodes;\n this.getTree = getTree;\n this.onGetStateFromStorage = onGetStateFromStorage;\n this.onSetStateFromStorage = onSetStateFromStorage;\n this.openNode = openNode;\n this.refreshElements = refreshElements;\n this.removeFromSelection = removeFromSelection;\n this.saveStateOption = saveState;\n }\n\n public getNodeIdToBeSelected(): NodeId | null {\n if (!this.saveStateOption) {\n return null;\n }\n\n const state = this.getStateFromStorage();\n\n if (state?.selected_node) {\n return state.selected_node[0] ?? null;\n } else {\n return null;\n }\n }\n\n public getState(): SavedState {\n const getOpenNodeIds = (): NodeId[] => {\n const openNodes: NodeId[] = [];\n\n this.getTree()?.iterate((node: Node) => {\n if (node.is_open && node.id && node.hasChildren()) {\n openNodes.push(node.id);\n }\n return true;\n });\n\n return openNodes;\n };\n\n const getSelectedNodeIds = (): NodeId[] => {\n const selectedNodeIds: NodeId[] = [];\n\n this.getSelectedNodes().forEach((node) => {\n if (node.id != null) {\n selectedNodeIds.push(node.id);\n }\n });\n\n return selectedNodeIds;\n };\n\n return {\n open_nodes: getOpenNodeIds(),\n selected_node: getSelectedNodeIds(),\n };\n }\n\n public getStateFromStorage(): null | SavedState {\n if (!this.saveStateOption) {\n return null;\n }\n\n const jsonData = this.loadFromStorage();\n\n if (jsonData) {\n return this.parseState(jsonData);\n } else {\n return null;\n }\n }\n\n public saveState(): void {\n if (!this.saveStateOption) {\n return;\n }\n\n const state = JSON.stringify(this.getState());\n\n if (this.onSetStateFromStorage) {\n this.onSetStateFromStorage(state);\n } else {\n localStorage.setItem(this.getKeyName(), state);\n }\n }\n\n /*\n Set initial state\n Don't handle nodes that are loaded on demand\n\n result: must load on demand (boolean)\n */\n public setInitialState(state: SavedState): boolean {\n let mustLoadOnDemand = false;\n\n if (state.open_nodes) {\n mustLoadOnDemand = this.openInitialNodes(state.open_nodes);\n }\n\n this.resetSelection();\n\n if (state.selected_node) {\n this.selectInitialNodes(state.selected_node);\n }\n\n return mustLoadOnDemand;\n }\n\n public async setInitialStateOnDemand(state: SavedState): Promise<void> {\n let nodeIds = state.open_nodes;\n\n const openNodes = async () => {\n if (!nodeIds) {\n return;\n }\n\n const newNodesIds = [];\n\n for (const nodeId of nodeIds) {\n const node = this.getNodeById(nodeId);\n\n if (!node) {\n newNodesIds.push(nodeId);\n } else {\n if (!node.is_loading) {\n if (node.load_on_demand) {\n await loadAndOpenNode(node);\n } else {\n await this.openNode(node, false);\n }\n }\n }\n }\n\n nodeIds = newNodesIds;\n\n if (state.selected_node) {\n if (this.selectInitialNodes(state.selected_node)) {\n this.refreshElements(null);\n }\n }\n };\n\n const loadAndOpenNode = async (node: Node) => {\n await this.openNode(node, false);\n await openNodes();\n };\n\n await openNodes();\n }\n\n private getKeyName(): string {\n if (typeof this.saveStateOption === \"string\") {\n return this.saveStateOption;\n } else {\n return \"tree\";\n }\n }\n\n private loadFromStorage(): null | string {\n if (this.onGetStateFromStorage) {\n return this.onGetStateFromStorage();\n } else {\n return localStorage.getItem(this.getKeyName());\n }\n }\n\n private openInitialNodes(nodeIds: NodeId[]): boolean {\n let mustLoadOnDemand = false;\n\n for (const nodeId of nodeIds) {\n const node = this.getNodeById(nodeId);\n\n if (node) {\n if (!node.load_on_demand) {\n node.is_open = true;\n } else {\n mustLoadOnDemand = true;\n }\n }\n }\n\n return mustLoadOnDemand;\n }\n\n private parseState(jsonData: string): SavedState {\n const state = JSON.parse(jsonData) as Record<string, unknown>;\n\n // Check if selected_node is an int (instead of an array)\n if (state.selected_node && isInt(state.selected_node)) {\n // Convert to array\n state.selected_node = [state.selected_node];\n }\n\n return state;\n }\n\n private resetSelection(): void {\n const selectedNodes = this.getSelectedNodes();\n\n selectedNodes.forEach((node) => {\n this.removeFromSelection(node);\n });\n }\n\n private selectInitialNodes(nodeIds: NodeId[]): boolean {\n let selectCount = 0;\n\n for (const nodeId of nodeIds) {\n const node = this.getNodeById(nodeId);\n\n if (node) {\n selectCount += 1;\n\n this.addToSelection(node);\n }\n }\n\n return selectCount !== 0;\n }\n}\n"],"names":["addToSelection","getNodeById","getSelectedNodes","getTree","onGetStateFromStorage","onSetStateFromStorage","openNode","refreshElements","removeFromSelection","saveStateOption","getNodeIdToBeSelected","getStateFromStorage","getState","loadFromStorage","parseState","saveState","getKeyName","setInitialState","openInitialNodes","resetSelection","selectInitialNodes","setInitialStateOnDemand"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"containerScrollParent.d.ts","sourceRoot":"","sources":["../../src/scrollHandler/containerScrollParent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,yBAAyB,EACzB,uBAAuB,EAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,YAAY;IAC3D,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,eAAe,CAAC,CAAS;IAE1B,aAAa;IAOpB,SAAS,CAAC,+BAA+B,CACrC,KAAK,EAAE,MAAM,GACd,yBAAyB,GAAG,SAAS;IAkBxC,SAAS,CAAC,6BAA6B,CACnC,KAAK,EAAE,MAAM,GACd,SAAS,GAAG,uBAAuB;IAYtC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,kBAAkB;CAK7B"}
1
+ {"version":3,"file":"containerScrollParent.d.ts","sourceRoot":"","sources":["../../src/scrollHandler/containerScrollParent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,YAAY;IAC7D,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,eAAe,CAAC,CAAS;IAE1B,aAAa;IAOpB,SAAS,CAAC,+BAA+B,CACvC,KAAK,EAAE,MAAM,GACZ,yBAAyB,GAAG,SAAS;IAkBxC,SAAS,CAAC,6BAA6B,CACrC,KAAK,EAAE,MAAM,GACZ,SAAS,GAAG,uBAAuB;IAYtC,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,kBAAkB;CAK3B"}
@@ -2,20 +2,18 @@ import { getElementPosition, getOffsetTop } from '../positionUtils.js';
2
2
  import { ScrollParent } from './scrollParent.js';
3
3
 
4
4
  class ContainerScrollParent extends ScrollParent {
5
- _scrollParentBottom;
6
- _scrollParentTop;
7
- stopScrolling() {
8
- super.stopScrolling();
5
+ _stopScrolling() {
6
+ super._stopScrolling();
9
7
  this._horizontalScrollDirection = undefined;
10
8
  this._verticalScrollDirection = undefined;
11
9
  }
12
10
  _getNewHorizontalScrollDirection(pageX) {
13
- const scrollParentOffset = getElementPosition(this._container);
14
- const containerWidth = this._container.getBoundingClientRect().width;
15
- const rightEdge = scrollParentOffset.left + containerWidth;
16
- const leftEdge = scrollParentOffset.left;
17
- const isNearRightEdge = pageX > rightEdge - 20;
18
- const isNearLeftEdge = pageX < leftEdge + 20;
11
+ let scrollParentOffset = getElementPosition(this._container);
12
+ let containerWidth = this._container.getBoundingClientRect().width;
13
+ let rightEdge = scrollParentOffset.left + containerWidth;
14
+ let leftEdge = scrollParentOffset.left;
15
+ let isNearRightEdge = pageX > rightEdge - 20;
16
+ let isNearLeftEdge = pageX < leftEdge + 20;
19
17
  if (isNearRightEdge) {
20
18
  return "right";
21
19
  } else if (isNearLeftEdge) {
@@ -34,7 +32,7 @@ class ContainerScrollParent extends ScrollParent {
34
32
  }
35
33
  _getScrollParentBottom() {
36
34
  if (this._scrollParentBottom == null) {
37
- const containerHeight = this._container.getBoundingClientRect().height;
35
+ let containerHeight = this._container.getBoundingClientRect().height;
38
36
  this._scrollParentBottom = this._getScrollParentTop() + containerHeight;
39
37
  }
40
38
  return this._scrollParentBottom;
@@ -1 +1 @@
1
- {"version":3,"file":"containerScrollParent.js","sources":["../../src/scrollHandler/containerScrollParent.ts"],"sourcesContent":["import type {\n HorizontalScrollDirection,\n VerticalScrollDirection,\n} from \"./scrollParent\";\n\nimport { getElementPosition, getOffsetTop } from \"../positionUtils\";\nimport { ScrollParent } from \"./scrollParent\";\n\n\nexport default class ContainerScrollParent extends ScrollParent {\n private scrollParentBottom?: number;\n private scrollParentTop?: number;\n\n public stopScrolling() {\n super.stopScrolling();\n\n this.horizontalScrollDirection = undefined;\n this.verticalScrollDirection = undefined;\n }\n\n protected getNewHorizontalScrollDirection(\n pageX: number,\n ): HorizontalScrollDirection | undefined {\n const scrollParentOffset = getElementPosition(this.container);\n const containerWidth = this.container.getBoundingClientRect().width;\n\n const rightEdge = scrollParentOffset.left + containerWidth;\n const leftEdge = scrollParentOffset.left;\n const isNearRightEdge = pageX > rightEdge - 20;\n const isNearLeftEdge = pageX < leftEdge + 20;\n\n if (isNearRightEdge) {\n return \"right\";\n } else if (isNearLeftEdge) {\n return \"left\";\n }\n\n return undefined;\n }\n\n protected getNewVerticalScrollDirection(\n pageY: number,\n ): undefined | VerticalScrollDirection {\n if (pageY < this.getScrollParentTop()) {\n return \"top\";\n }\n\n if (pageY > this.getScrollParentBottom()) {\n return \"bottom\";\n }\n\n return undefined;\n }\n\n private getScrollParentBottom() {\n if (this.scrollParentBottom == null) {\n const containerHeight =\n this.container.getBoundingClientRect().height;\n this.scrollParentBottom =\n this.getScrollParentTop() + containerHeight;\n }\n\n return this.scrollParentBottom;\n }\n\n private getScrollParentTop() {\n this.scrollParentTop ??= getOffsetTop(this.container);\n\n return this.scrollParentTop;\n }\n}\n"],"names":["scrollParentBottom","scrollParentTop","horizontalScrollDirection","verticalScrollDirection","getNewHorizontalScrollDirection","container","getNewVerticalScrollDirection","getScrollParentTop","getScrollParentBottom"],"mappings":";;;AASe,MAAM,qBAAqB,SAAS,YAAY,CAAC;EACpDA,mBAAkB;EAClBC,gBAAe;AAEhB,EAAA,aAAa,GAAG;IACnB,KAAK,CAAC,aAAa,EAAE;IAErB,IAAI,CAACC,0BAAyB,GAAG,SAAS;IAC1C,IAAI,CAACC,wBAAuB,GAAG,SAAS;AAC5C,EAAA;EAEUC,gCAA+BA,CACrC,KAAa,EACwB;AACrC,IAAA,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAACC,UAAS,CAAC;IAC7D,MAAM,cAAc,GAAG,IAAI,CAACA,UAAS,CAAC,qBAAqB,EAAE,CAAC,KAAK;AAEnE,IAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,GAAG,cAAc;AAC1D,IAAA,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI;AACxC,IAAA,MAAM,eAAe,GAAG,KAAK,GAAG,SAAS,GAAG,EAAE;AAC9C,IAAA,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,EAAE;AAE5C,IAAA,IAAI,eAAe,EAAE;AACjB,MAAA,OAAO,OAAO;IAClB,CAAC,MAAM,IAAI,cAAc,EAAE;AACvB,MAAA,OAAO,MAAM;AACjB,IAAA;AAEA,IAAA,OAAO,SAAS;AACpB,EAAA;EAEUC,8BAA6BA,CACnC,KAAa,EACsB;AACnC,IAAA,IAAI,KAAK,GAAG,IAAI,CAACC,mBAAkB,EAAE,EAAE;AACnC,MAAA,OAAO,KAAK;AAChB,IAAA;AAEA,IAAA,IAAI,KAAK,GAAG,IAAI,CAACC,sBAAqB,EAAE,EAAE;AACtC,MAAA,OAAO,QAAQ;AACnB,IAAA;AAEA,IAAA,OAAO,SAAS;AACpB,EAAA;AAEQA,EAAAA,sBAAqBA,GAAG;AAC5B,IAAA,IAAI,IAAI,CAACR,mBAAkB,IAAI,IAAI,EAAE;MACjC,MAAM,eAAe,GACjB,IAAI,CAACK,UAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM;MACjD,IAAI,CAACL,mBAAkB,GACnB,IAAI,CAACO,mBAAkB,EAAE,GAAG,eAAe;AACnD,IAAA;IAEA,OAAO,IAAI,CAACP,mBAAkB;AAClC,EAAA;AAEQO,EAAAA,mBAAkBA,GAAG;IACzB,IAAI,CAACN,gBAAe,KAAK,YAAY,CAAC,IAAI,CAACI,UAAS,CAAC;IAErD,OAAO,IAAI,CAACJ,gBAAe;AAC/B,EAAA;AACJ;;"}
1
+ {"version":3,"file":"containerScrollParent.js","sources":["../../src/scrollHandler/containerScrollParent.ts"],"sourcesContent":["import type {\n HorizontalScrollDirection,\n VerticalScrollDirection,\n} from \"./scrollParent\";\n\nimport { getElementPosition, getOffsetTop } from \"../positionUtils\";\nimport { ScrollParent } from \"./scrollParent\";\n\nexport default class ContainerScrollParent extends ScrollParent {\n private scrollParentBottom?: number;\n private scrollParentTop?: number;\n\n public stopScrolling() {\n super.stopScrolling();\n\n this.horizontalScrollDirection = undefined;\n this.verticalScrollDirection = undefined;\n }\n\n protected getNewHorizontalScrollDirection(\n pageX: number,\n ): HorizontalScrollDirection | undefined {\n const scrollParentOffset = getElementPosition(this.container);\n const containerWidth = this.container.getBoundingClientRect().width;\n\n const rightEdge = scrollParentOffset.left + containerWidth;\n const leftEdge = scrollParentOffset.left;\n const isNearRightEdge = pageX > rightEdge - 20;\n const isNearLeftEdge = pageX < leftEdge + 20;\n\n if (isNearRightEdge) {\n return \"right\";\n } else if (isNearLeftEdge) {\n return \"left\";\n }\n\n return undefined;\n }\n\n protected getNewVerticalScrollDirection(\n pageY: number,\n ): undefined | VerticalScrollDirection {\n if (pageY < this.getScrollParentTop()) {\n return \"top\";\n }\n\n if (pageY > this.getScrollParentBottom()) {\n return \"bottom\";\n }\n\n return undefined;\n }\n\n private getScrollParentBottom() {\n if (this.scrollParentBottom == null) {\n const containerHeight = this.container.getBoundingClientRect().height;\n this.scrollParentBottom = this.getScrollParentTop() + containerHeight;\n }\n\n return this.scrollParentBottom;\n }\n\n private getScrollParentTop() {\n this.scrollParentTop ??= getOffsetTop(this.container);\n\n return this.scrollParentTop;\n }\n}\n"],"names":["stopScrolling","horizontalScrollDirection","verticalScrollDirection","getNewHorizontalScrollDirection","container","getNewVerticalScrollDirection","getScrollParentTop","getScrollParentBottom","scrollParentBottom","scrollParentTop"],"mappings":";;;AAQe,MAAM,qBAAqB,SAAS,YAAY,CAAC;AAIvDA,EAAAA,cAAaA,GAAG;IACrB,KAAK,CAACA,cAAa,EAAE;IAErB,IAAI,CAACC,0BAAyB,GAAG,SAAS;IAC1C,IAAI,CAACC,wBAAuB,GAAG,SAAS;AAC1C,EAAA;EAEUC,gCAA+BA,CACvC,KAAa,EAC0B;AACvC,IAAA,IAAM,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAACC,UAAS,CAAC;IAC7D,IAAM,cAAc,GAAG,IAAI,CAACA,UAAS,CAAC,qBAAqB,EAAE,CAAC,KAAK;AAEnE,IAAA,IAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,GAAG,cAAc;AAC1D,IAAA,IAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI;AACxC,IAAA,IAAM,eAAe,GAAG,KAAK,GAAG,SAAS,GAAG,EAAE;AAC9C,IAAA,IAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,EAAE;AAE5C,IAAA,IAAI,eAAe,EAAE;AACnB,MAAA,OAAO,OAAO;IAChB,CAAC,MAAM,IAAI,cAAc,EAAE;AACzB,MAAA,OAAO,MAAM;AACf,IAAA;AAEA,IAAA,OAAO,SAAS;AAClB,EAAA;EAEUC,8BAA6BA,CACrC,KAAa,EACwB;AACrC,IAAA,IAAI,KAAK,GAAG,IAAI,CAACC,mBAAkB,EAAE,EAAE;AACrC,MAAA,OAAO,KAAK;AACd,IAAA;AAEA,IAAA,IAAI,KAAK,GAAG,IAAI,CAACC,sBAAqB,EAAE,EAAE;AACxC,MAAA,OAAO,QAAQ;AACjB,IAAA;AAEA,IAAA,OAAO,SAAS;AAClB,EAAA;AAEQA,EAAAA,sBAAqBA,GAAG;AAC9B,IAAA,IAAI,IAAI,CAACC,mBAAkB,IAAI,IAAI,EAAE;MACnC,IAAM,eAAe,GAAG,IAAI,CAACJ,UAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM;MACrE,IAAI,CAACI,mBAAkB,GAAG,IAAI,CAACF,mBAAkB,EAAE,GAAG,eAAe;AACvE,IAAA;IAEA,OAAO,IAAI,CAACE,mBAAkB;AAChC,EAAA;AAEQF,EAAAA,mBAAkBA,GAAG;IAC3B,IAAI,CAACG,gBAAe,KAAK,YAAY,CAAC,IAAI,CAACL,UAAS,CAAC;IAErD,OAAO,IAAI,CAACK,gBAAe;AAC7B,EAAA;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"createScrollParent.d.ts","sourceRoot":"","sources":["../../src/scrollHandler/createScrollParent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkCnD,QAAA,MAAM,kBAAkB,GACpB,aAAa,WAAW,EACxB,iBAAiB,MAAM,IAAI,KAC5B,YAWF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"createScrollParent.d.ts","sourceRoot":"","sources":["../../src/scrollHandler/createScrollParent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkCnD,QAAA,MAAM,kBAAkB,GACtB,aAAa,WAAW,EACxB,iBAAiB,MAAM,IAAI,KAC1B,YAWF,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import ContainerScrollParent from './containerScrollParent.js';
2
2
  import DocumentScrollParent from './documentScrollParent.js';
3
3
 
4
- const isOverflow = overflowValue => overflowValue === "auto" || overflowValue === "scroll";
5
- const hasOverFlow = element => {
6
- const style = getComputedStyle(element);
4
+ let isOverflow = overflowValue => overflowValue === "auto" || overflowValue === "scroll";
5
+ let hasOverFlow = element => {
6
+ let style = getComputedStyle(element);
7
7
  return isOverflow(style.overflowX) || isOverflow(style.overflowY);
8
8
  };
9
- const getParentWithOverflow = treeElement => {
9
+ let getParentWithOverflow = treeElement => {
10
10
  if (hasOverFlow(treeElement)) {
11
11
  return treeElement;
12
12
  }
@@ -19,17 +19,17 @@ const getParentWithOverflow = treeElement => {
19
19
  }
20
20
  return null;
21
21
  };
22
- const createScrollParent = (treeElement, refreshHitAreas) => {
23
- const container = getParentWithOverflow(treeElement);
22
+ let createScrollParent = (treeElement, refreshHitAreas) => {
23
+ let container = getParentWithOverflow(treeElement);
24
24
  if (container && container.tagName !== "HTML") {
25
25
  return new ContainerScrollParent({
26
- container,
27
- refreshHitAreas
26
+ _container: container,
27
+ _refreshHitAreas: refreshHitAreas
28
28
  });
29
29
  } else {
30
30
  return new DocumentScrollParent({
31
- refreshHitAreas,
32
- treeElement
31
+ _refreshHitAreas: refreshHitAreas,
32
+ _treeElement: treeElement
33
33
  });
34
34
  }
35
35
  };