jqtree 1.6.2 → 1.7.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 (276) hide show
  1. package/.eslintrc +3 -12
  2. package/.github/workflows/ci.yml +57 -30
  3. package/.github/workflows/codeql-analysis.yml +9 -5
  4. package/.prettier +3 -0
  5. package/.tool-versions +1 -0
  6. package/README.md +12 -9
  7. package/bower.json +10 -3
  8. package/{.postcssrc → config/.postcssrc} +0 -0
  9. package/{babel.config.json → config/babel.config.json} +0 -0
  10. package/{babel.coverage.config.json → config/babel.coverage.config.json} +0 -0
  11. package/{jest-jsdom.config.js → config/jest.config.js} +8 -3
  12. package/config/playwright.config.js +18 -0
  13. package/config/production +4 -0
  14. package/{rollup.config.js → config/rollup.config.mjs} +3 -8
  15. package/{jqtree.postcss → css/jqtree.postcss} +0 -0
  16. package/devserver/index.html +1 -9
  17. package/docs/Gemfile +2 -0
  18. package/docs/Gemfile.lock +263 -0
  19. package/{_config.yml → docs/_config.yml} +8 -1
  20. package/{_entries → docs/_entries}/01_general.md +0 -0
  21. package/{_entries → docs/_entries}/02_introduction.md +0 -0
  22. package/{_entries → docs/_entries}/03_features.md +1 -1
  23. package/{_entries → docs/_entries}/04_demo.html +1 -7
  24. package/{_entries → docs/_entries}/05_requirements.md +0 -0
  25. package/{_entries → docs/_entries}/06_downloads.md +0 -0
  26. package/{_entries → docs/_entries}/07_tutorial.md +0 -0
  27. package/{_entries → docs/_entries}/08_examples.md +0 -0
  28. package/{_entries → docs/_entries}/09_usecases.md +0 -0
  29. package/{_entries → docs/_entries}/10_changelog.md +13 -0
  30. package/{_entries → docs/_entries}/11_options.md +0 -0
  31. package/{_entries → docs/_entries}/12_animationspeed.md +0 -0
  32. package/{_entries → docs/_entries}/13_autoescape.md +0 -0
  33. package/{_entries → docs/_entries}/14_autoopen.md +0 -0
  34. package/{_entries → docs/_entries}/15_buttonleft.md +0 -0
  35. package/{_entries → docs/_entries}/16_closedicon.md +0 -0
  36. package/{_entries → docs/_entries}/17_data.md +0 -0
  37. package/{_entries → docs/_entries}/18_datafilter.md +0 -0
  38. package/{_entries → docs/_entries}/19_data-url.md +0 -0
  39. package/{_entries → docs/_entries}/20_draganddrop.md +0 -0
  40. package/{_entries → docs/_entries}/21_keyboardsupport.md +0 -0
  41. package/{_entries → docs/_entries}/22_oncanmove.md +0 -0
  42. package/{_entries → docs/_entries}/23_oncanmoveto.md +2 -2
  43. package/{_entries → docs/_entries}/24_oncanselectnode.md +0 -0
  44. package/{_entries → docs/_entries}/25_oncreateli.md +2 -2
  45. package/{_entries → docs/_entries}/26_ondragmove.md +0 -0
  46. package/{_entries → docs/_entries}/27_ondragstop.md +0 -0
  47. package/{_entries → docs/_entries}/28_onismovehandle.md +0 -0
  48. package/{_entries → docs/_entries}/29_onloadfailed.md +0 -0
  49. package/{_entries → docs/_entries}/30_onloading.md +2 -2
  50. package/{_entries → docs/_entries}/31_openedicon.md +0 -0
  51. package/{_entries → docs/_entries}/32_openfolderdelay.md +2 -0
  52. package/{_entries → docs/_entries}/33_rtl.md +0 -0
  53. package/{_entries → docs/_entries}/34_savestate.md +0 -0
  54. package/{_entries → docs/_entries}/35_selectable.md +0 -0
  55. package/{_entries → docs/_entries}/36_showemptyfolder.md +0 -0
  56. package/{_entries → docs/_entries}/37_slide.md +0 -0
  57. package/{_entries → docs/_entries}/38_start_dnd_delay.md +0 -0
  58. package/{_entries → docs/_entries}/39_tabindex.md +0 -0
  59. package/{_entries → docs/_entries}/40_usecontextmenu.md +0 -0
  60. package/{_entries → docs/_entries}/41_functions.md +0 -0
  61. package/{_entries → docs/_entries}/42_addparentnode.md +1 -1
  62. package/{_entries → docs/_entries}/43_addnodeafter.md +1 -1
  63. package/{_entries → docs/_entries}/44_addnodebefore.md +1 -1
  64. package/{_entries → docs/_entries}/45_appendnode.md +5 -5
  65. package/{_entries → docs/_entries}/46_closenode.md +0 -0
  66. package/{_entries → docs/_entries}/47_destroy.md +0 -0
  67. package/{_entries → docs/_entries}/48_getnodebycallback.md +0 -0
  68. package/{_entries → docs/_entries}/49_getnodebyid.md +0 -0
  69. package/{_entries → docs/_entries}/50_getnodebyhtmlelement.md +2 -2
  70. package/{_entries → docs/_entries}/51_getselectednode.md +0 -0
  71. package/{_entries → docs/_entries}/52_getstate.md +0 -0
  72. package/{_entries → docs/_entries}/53_gettree.md +1 -1
  73. package/{_entries → docs/_entries}/54_isdragging.md +1 -1
  74. package/{_entries → docs/_entries}/55_loaddata.md +3 -3
  75. package/{_entries → docs/_entries}/56_loaddatafromurl.md +4 -4
  76. package/{_entries → docs/_entries}/57_movedown.md +0 -0
  77. package/{_entries → docs/_entries}/58_movenode.md +3 -3
  78. package/{_entries → docs/_entries}/59_moveup.md +0 -0
  79. package/{_entries → docs/_entries}/60_opennode.md +3 -3
  80. package/docs/_entries/61_prependnode.md +21 -0
  81. package/{_entries → docs/_entries}/62_refresh.md +0 -0
  82. package/{_entries → docs/_entries}/63_reload.md +2 -2
  83. package/{_entries → docs/_entries}/64_removenode.md +0 -0
  84. package/{_entries → docs/_entries}/65_selectnode.md +0 -0
  85. package/{_entries → docs/_entries}/66_scrolltonode.md +0 -0
  86. package/{_entries → docs/_entries}/67_setoption.md +0 -0
  87. package/{_entries → docs/_entries}/68_setstate.md +0 -0
  88. package/{_entries → docs/_entries}/69_toggle.md +0 -0
  89. package/{_entries → docs/_entries}/70_tojson.md +0 -0
  90. package/{_entries → docs/_entries}/71_updatenode.md +1 -1
  91. package/{_entries → docs/_entries}/72_events.md +0 -0
  92. package/{_entries → docs/_entries}/73_tree-click.md +0 -0
  93. package/{_entries → docs/_entries}/74_tree-close.md +0 -0
  94. package/{_entries → docs/_entries}/75_tree-contextmenu.md +0 -0
  95. package/{_entries → docs/_entries}/76_tree-dblclick.md +0 -0
  96. package/{_entries → docs/_entries}/77_tree-init.md +0 -0
  97. package/{_entries → docs/_entries}/78_tree-load-data.md +0 -0
  98. package/{_entries → docs/_entries}/79_tree-loading-data.md +0 -0
  99. package/{_entries → docs/_entries}/80_tree-move.md +0 -0
  100. package/{_entries → docs/_entries}/81_tree-refresh.md +0 -0
  101. package/{_entries → docs/_entries}/82_tree-open.md +0 -0
  102. package/{_entries → docs/_entries}/83_tree-select.md +0 -0
  103. package/{_entries → docs/_entries}/84_multiple-selection.md +0 -0
  104. package/{_entries → docs/_entries}/85_add-to-selection.md +0 -0
  105. package/{_entries → docs/_entries}/86_get-selected-nodes.md +0 -0
  106. package/{_entries → docs/_entries}/87_is-node-selected.md +1 -1
  107. package/{_entries → docs/_entries}/88_remove-from-selection.md +0 -0
  108. package/{_entries → docs/_entries}/89_node-functions.md +0 -0
  109. package/{_entries → docs/_entries}/90_children.md +0 -0
  110. package/{_entries → docs/_entries}/91_getdata.md +2 -2
  111. package/{_entries → docs/_entries}/92_getlevel.md +0 -0
  112. package/docs/_entries/93_getnextnode.md +15 -0
  113. package/{_entries → docs/_entries}/94_getnextsibling.md +0 -0
  114. package/{_entries/95_getpreviousnode.md → docs/_entries/95_getnextvisiblenode.md} +1 -1
  115. package/docs/_entries/96_getpreviousnode.md +0 -0
  116. package/{_entries/96_getprevioussibling.md → docs/_entries/97_getprevioussibling.md} +0 -0
  117. package/docs/_entries/98_getpreviousvisiblenode.md +14 -0
  118. package/{_entries/97_parent.md → docs/_entries/99_parent.md} +1 -1
  119. package/{_entries → docs/_entries}/insert.py +0 -0
  120. package/{_entries → docs/_entries}/renumber.py +0 -0
  121. package/{_examples → docs/_examples}/01_load_json_data.html +3 -5
  122. package/{_examples → docs/_examples}/02_load_json_data_from_server.html +3 -5
  123. package/{_examples → docs/_examples}/03_drag_and_drop.html +3 -5
  124. package/{_examples → docs/_examples}/04_save_state.html +3 -5
  125. package/{_examples → docs/_examples}/05_load_on_demand.html +3 -5
  126. package/{_examples → docs/_examples}/06_autoescape.html +3 -5
  127. package/{_examples → docs/_examples}/07_autoscroll.html +3 -5
  128. package/{_examples → docs/_examples}/08_multiple_select.html +3 -5
  129. package/{_examples → docs/_examples}/09_custom_html.html +3 -5
  130. package/{_examples → docs/_examples}/10_icon_buttons.html +3 -5
  131. package/{_examples → docs/_examples}/11_right-to-left.html +3 -5
  132. package/{_examples → docs/_examples}/12_button_on_right.html +3 -5
  133. package/docs/_examples/13_drag_outside.html +48 -0
  134. package/{_examples → docs/_examples}/14_filter.html +7 -9
  135. package/docs/_layouts/example.html +7 -0
  136. package/{_layouts/base.html → docs/_layouts/page.html} +4 -11
  137. package/docs/documentation.css +3 -0
  138. package/docs/index.html +65 -0
  139. package/docs/jqtree.css +189 -0
  140. package/docs/package.json +22 -0
  141. package/docs/pnpm-lock.yaml +798 -0
  142. package/docs/postcss.config.js +7 -0
  143. package/{static → docs/static}/bower.json +1 -2
  144. package/{static → docs/static}/bower_components/fontawesome/css/all.min.css +0 -0
  145. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.eot +0 -0
  146. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.svg +0 -0
  147. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  148. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.woff +0 -0
  149. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  150. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.eot +0 -0
  151. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.svg +0 -0
  152. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  153. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.woff +0 -0
  154. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  155. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.eot +0 -0
  156. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.svg +0 -0
  157. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  158. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.woff +0 -0
  159. package/{static → docs/static}/bower_components/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  160. package/{static → docs/static}/bower_components/jquery/dist/jquery.js +209 -97
  161. package/docs/static/bower_components/jquery/dist/jquery.min.js +2 -0
  162. package/{static → docs/static}/bower_components/jquery-mockjax/dist/jquery.mockjax.js +0 -0
  163. package/docs/static/documentation.css +1453 -0
  164. package/docs/static/documentation.js +26 -0
  165. package/{static → docs/static}/example.css +5 -38
  166. package/{static → docs/static}/example.postcss +5 -35
  167. package/{static → docs/static}/example_data.js +0 -0
  168. package/{static → docs/static}/examples/autoescape.js +0 -0
  169. package/{static → docs/static}/examples/autoscroll.js +0 -0
  170. package/{static → docs/static}/examples/button-on-right.js +0 -0
  171. package/{static → docs/static}/examples/custom_html.js +5 -9
  172. package/{static → docs/static}/examples/drag-outside.js +0 -0
  173. package/{static → docs/static}/examples/drag_and_drop.js +0 -0
  174. package/{static → docs/static}/examples/filter.js +2 -2
  175. package/{static → docs/static}/examples/icon_buttons.js +0 -0
  176. package/{static → docs/static}/examples/load_json_data.js +0 -0
  177. package/{static → docs/static}/examples/load_json_data_from_server.js +0 -0
  178. package/{static → docs/static}/examples/load_on_demand.js +0 -0
  179. package/{static → docs/static}/examples/multiple_select.js +0 -0
  180. package/{static → docs/static}/examples/right-to-left.js +0 -0
  181. package/{static → docs/static}/examples/save_state.js +0 -0
  182. package/{static → docs/static}/monokai.css +0 -0
  183. package/{static → docs/static}/spinner.gif +0 -0
  184. package/docs/tailwind.config.js +16 -0
  185. package/docs/tree.jquery.js +21 -0
  186. package/lib/dataLoader.js +5 -31
  187. package/lib/dragAndDropHandler.js +26 -135
  188. package/lib/elementsRenderer.js +29 -59
  189. package/lib/keyHandler.js +8 -32
  190. package/lib/mouse.widget.js +16 -77
  191. package/lib/node.js +60 -125
  192. package/lib/nodeElement.js +8 -75
  193. package/lib/playwright/coverage.js +101 -0
  194. package/lib/playwright/playwright.test.js +212 -182
  195. package/lib/playwright/testUtils.js +201 -0
  196. package/lib/saveStateHandler.js +12 -61
  197. package/lib/scrollHandler.js +17 -74
  198. package/lib/selectNodeHandler.js +5 -24
  199. package/lib/simple.widget.js +18 -53
  200. package/lib/test/jqTree/create.test.js +0 -4
  201. package/lib/test/jqTree/events.test.js +10 -16
  202. package/lib/test/jqTree/keyboard.test.js +0 -6
  203. package/lib/test/jqTree/loadOnDemand.test.js +107 -139
  204. package/lib/test/jqTree/methods.test.js +136 -159
  205. package/lib/test/jqTree/options.test.js +53 -63
  206. package/lib/test/node.test.js +127 -72
  207. package/lib/test/nodeUtil.test.js +0 -1
  208. package/lib/test/support/jqTreeMatchers.js +4 -9
  209. package/lib/test/support/setupTests.js +0 -4
  210. package/lib/test/support/testUtil.js +2 -11
  211. package/lib/test/support/treeStructure.js +0 -6
  212. package/lib/test/util.test.js +0 -1
  213. package/lib/tree.jquery.js +32 -243
  214. package/lib/util.js +0 -6
  215. package/lib/version.js +1 -1
  216. package/package.json +54 -54
  217. package/src/dragAndDropHandler.ts +8 -4
  218. package/src/jqtreeOptions.ts +1 -1
  219. package/src/keyHandler.ts +3 -3
  220. package/src/node.ts +43 -12
  221. package/src/playwright/.eslintrc +2 -2
  222. package/src/playwright/coverage.ts +41 -0
  223. package/src/playwright/playwright.test.ts +50 -52
  224. package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-darwin.png +0 -0
  225. package/src/playwright/playwright.test.ts-snapshots/with-dragAndDrop-moves-a-node-1-Chromium-linux.png +0 -0
  226. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-darwin.png +0 -0
  227. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-displays-a-tree-1-Chromium-linux.png +0 -0
  228. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-darwin.png +0 -0
  229. package/src/playwright/playwright.test.ts-snapshots/without-dragAndDrop-selects-a-node-1-Chromium-linux.png +0 -0
  230. package/src/playwright/testUtils.ts +122 -0
  231. package/src/test/.eslintrc +15 -3
  232. package/src/test/jqTree/events.test.ts +10 -9
  233. package/src/test/jqTree/loadOnDemand.test.ts +10 -10
  234. package/src/test/jqTree/methods.test.ts +37 -45
  235. package/src/test/jqTree/options.test.ts +26 -28
  236. package/src/test/node.test.ts +146 -54
  237. package/src/tree.jquery.d.ts +1 -1
  238. package/src/tree.jquery.ts +6 -5
  239. package/src/version.ts +1 -1
  240. package/tree.jquery.debug.js +217 -867
  241. package/tree.jquery.debug.js.map +1 -1
  242. package/tree.jquery.js +3 -3
  243. package/tree.jquery.js.map +1 -1
  244. package/_entries/61_prependnode.md +0 -21
  245. package/_entries/93_getnextnode.md +0 -12
  246. package/_examples/13_drag_outside.html +0 -26
  247. package/_layouts/frontpage.html +0 -20
  248. package/_layouts/page.html +0 -7
  249. package/index.html +0 -48
  250. package/jest-browser.config.js +0 -15
  251. package/jest-playwright.config.js +0 -21
  252. package/jest.config.js +0 -8
  253. package/lib/playwright/testUtil.js +0 -459
  254. package/lib/playwright/visualRegression.js +0 -193
  255. package/production +0 -5
  256. package/src/playwright/screenshots/displays_a_tree_Desktop.png +0 -0
  257. package/src/playwright/screenshots/displays_a_tree_iPhone 6.png +0 -0
  258. package/src/playwright/screenshots/moves_a_node_Desktop.png +0 -0
  259. package/src/playwright/screenshots/moves_a_node_iPhone 6.png +0 -0
  260. package/src/playwright/screenshots/opens_a_node_Desktop.png +0 -0
  261. package/src/playwright/screenshots/opens_a_node_iPhone 6.png +0 -0
  262. package/src/playwright/screenshots/selects_a_node_Desktop.png +0 -0
  263. package/src/playwright/screenshots/selects_a_node_iPhone 6.png +0 -0
  264. package/src/playwright/testUtil.ts +0 -170
  265. package/src/playwright/visualRegression.ts +0 -88
  266. package/static/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +0 -6
  267. package/static/bower_components/bootstrap/dist/css/bootstrap.min.css +0 -6
  268. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  269. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +0 -288
  270. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  271. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  272. package/static/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  273. package/static/bower_components/bootstrap/dist/js/bootstrap.min.js +0 -6
  274. package/static/bower_components/jquery/dist/jquery.min.js +0 -2
  275. package/static/documentation.css +0 -171
  276. package/static/documentation.js +0 -48
@@ -1,64 +1,39 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.HitAreasGenerator = exports.DragAndDropHandler = void 0;
9
-
10
7
  var _node = require("./node");
11
-
8
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
12
9
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
13
-
14
10
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
-
16
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
17
-
18
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } Object.defineProperty(subClass, "prototype", { value: Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }), writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
19
-
20
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
21
-
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
13
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
22
14
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
23
-
24
15
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
25
-
26
16
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
27
-
28
17
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
-
30
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
31
-
18
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
32
19
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
-
34
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
35
-
20
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
36
21
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
37
-
38
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
-
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
40
25
  var DragAndDropHandler = /*#__PURE__*/function () {
41
26
  function DragAndDropHandler(treeWidget) {
42
27
  _classCallCheck(this, DragAndDropHandler);
43
-
44
28
  _defineProperty(this, "hitAreas", void 0);
45
-
46
29
  _defineProperty(this, "isDragging", void 0);
47
-
48
30
  _defineProperty(this, "currentItem", void 0);
49
-
50
31
  _defineProperty(this, "hoveredArea", void 0);
51
-
52
32
  _defineProperty(this, "positionInfo", void 0);
53
-
54
33
  _defineProperty(this, "treeWidget", void 0);
55
-
56
34
  _defineProperty(this, "dragElement", void 0);
57
-
58
35
  _defineProperty(this, "previousGhost", void 0);
59
-
60
36
  _defineProperty(this, "openFolderTimer", void 0);
61
-
62
37
  this.treeWidget = treeWidget;
63
38
  this.hoveredArea = null;
64
39
  this.hitAreas = [];
@@ -66,28 +41,22 @@ var DragAndDropHandler = /*#__PURE__*/function () {
66
41
  this.currentItem = null;
67
42
  this.positionInfo = null;
68
43
  }
69
-
70
44
  _createClass(DragAndDropHandler, [{
71
45
  key: "mouseCapture",
72
46
  value: function mouseCapture(positionInfo) {
73
47
  var $element = jQuery(positionInfo.target);
74
-
75
48
  if (!this.mustCaptureElement($element)) {
76
49
  return null;
77
50
  }
78
-
79
51
  if (this.treeWidget.options.onIsMoveHandle && !this.treeWidget.options.onIsMoveHandle($element)) {
80
52
  return null;
81
53
  }
82
-
83
54
  var nodeElement = this.treeWidget._getNodeElement($element);
84
-
85
55
  if (nodeElement && this.treeWidget.options.onCanMove) {
86
56
  if (!this.treeWidget.options.onCanMove(nodeElement.node)) {
87
57
  nodeElement = null;
88
58
  }
89
59
  }
90
-
91
60
  this.currentItem = nodeElement;
92
61
  return this.currentItem != null;
93
62
  }
@@ -95,11 +64,9 @@ var DragAndDropHandler = /*#__PURE__*/function () {
95
64
  key: "mouseStart",
96
65
  value: function mouseStart(positionInfo) {
97
66
  var _this$treeWidget$opti;
98
-
99
67
  if (!this.currentItem || positionInfo.pageX === undefined || positionInfo.pageY === undefined) {
100
68
  return false;
101
69
  }
102
-
103
70
  this.refresh();
104
71
  var offset = jQuery(positionInfo.target).offset();
105
72
  var left = offset ? offset.left : 0;
@@ -117,25 +84,22 @@ var DragAndDropHandler = /*#__PURE__*/function () {
117
84
  if (!this.currentItem || !this.dragElement || positionInfo.pageX === undefined || positionInfo.pageY === undefined) {
118
85
  return false;
119
86
  }
120
-
121
87
  this.dragElement.move(positionInfo.pageX, positionInfo.pageY);
122
88
  this.positionInfo = positionInfo;
123
89
  var area = this.findHoveredArea(positionInfo.pageX, positionInfo.pageY);
124
-
125
90
  if (area && this.canMoveToArea(area)) {
126
91
  if (!area.node.isFolder()) {
127
92
  this.stopOpenFolderTimer();
128
93
  }
129
-
130
94
  if (this.hoveredArea !== area) {
131
- this.hoveredArea = area; // If this is a closed folder, start timer to open it
95
+ this.hoveredArea = area;
132
96
 
97
+ // If this is a closed folder, start timer to open it
133
98
  if (this.mustOpenFolderTimer(area)) {
134
99
  this.startOpenFolderTimer(area.node);
135
100
  } else {
136
101
  this.stopOpenFolderTimer();
137
102
  }
138
-
139
103
  this.updateDropHint();
140
104
  }
141
105
  } else {
@@ -143,13 +107,11 @@ var DragAndDropHandler = /*#__PURE__*/function () {
143
107
  this.stopOpenFolderTimer();
144
108
  this.hoveredArea = area;
145
109
  }
146
-
147
110
  if (!area) {
148
111
  if (this.treeWidget.options.onDragMove) {
149
112
  this.treeWidget.options.onDragMove(this.currentItem.node, positionInfo.originalEvent);
150
113
  }
151
114
  }
152
-
153
115
  return true;
154
116
  }
155
117
  }, {
@@ -161,32 +123,26 @@ var DragAndDropHandler = /*#__PURE__*/function () {
161
123
  this.removeDropHint();
162
124
  this.removeHitAreas();
163
125
  var currentItem = this.currentItem;
164
-
165
126
  if (this.currentItem) {
166
127
  this.currentItem.$element.removeClass("jqtree-moving");
167
128
  this.currentItem = null;
168
129
  }
169
-
170
130
  this.isDragging = false;
171
131
  this.positionInfo = null;
172
-
173
132
  if (!this.hoveredArea && currentItem) {
174
133
  if (this.treeWidget.options.onDragStop) {
175
134
  this.treeWidget.options.onDragStop(currentItem.node, positionInfo.originalEvent);
176
135
  }
177
136
  }
178
-
179
137
  return false;
180
138
  }
181
139
  }, {
182
140
  key: "refresh",
183
141
  value: function refresh() {
184
142
  this.removeHitAreas();
185
-
186
143
  if (this.currentItem) {
187
144
  this.generateHitAreas();
188
145
  this.currentItem = this.treeWidget._getNodeElementForNode(this.currentItem.node);
189
-
190
146
  if (this.isDragging) {
191
147
  this.currentItem.$element.addClass("jqtree-moving");
192
148
  }
@@ -213,11 +169,9 @@ var DragAndDropHandler = /*#__PURE__*/function () {
213
169
  if (!this.treeWidget.options.onCanMoveTo) {
214
170
  return true;
215
171
  }
216
-
217
172
  if (!this.currentItem) {
218
173
  return false;
219
174
  }
220
-
221
175
  var positionName = (0, _node.getPositionName)(area.position);
222
176
  return this.treeWidget.options.onCanMoveTo(this.currentItem.node, area.node, positionName);
223
177
  }
@@ -250,18 +204,14 @@ var DragAndDropHandler = /*#__PURE__*/function () {
250
204
  key: "findHoveredArea",
251
205
  value: function findHoveredArea(x, y) {
252
206
  var dimensions = this.getTreeDimensions();
253
-
254
207
  if (x < dimensions.left || y < dimensions.top || x > dimensions.right || y > dimensions.bottom) {
255
208
  return null;
256
209
  }
257
-
258
210
  var low = 0;
259
211
  var high = this.hitAreas.length;
260
-
261
212
  while (low < high) {
262
213
  var mid = low + high >> 1;
263
214
  var area = this.hitAreas[mid];
264
-
265
215
  if (y < area.top) {
266
216
  high = mid;
267
217
  } else if (y > area.bottom) {
@@ -270,7 +220,6 @@ var DragAndDropHandler = /*#__PURE__*/function () {
270
220
  return area;
271
221
  }
272
222
  }
273
-
274
223
  return null;
275
224
  }
276
225
  }, {
@@ -284,30 +233,30 @@ var DragAndDropHandler = /*#__PURE__*/function () {
284
233
  value: function updateDropHint() {
285
234
  if (!this.hoveredArea) {
286
235
  return;
287
- } // remove previous drop hint
288
-
236
+ }
289
237
 
290
- this.removeDropHint(); // add new drop hint
238
+ // remove previous drop hint
239
+ this.removeDropHint();
291
240
 
241
+ // add new drop hint
292
242
  var nodeElement = this.treeWidget._getNodeElementForNode(this.hoveredArea.node);
293
-
294
243
  this.previousGhost = nodeElement.addDropHint(this.hoveredArea.position);
295
244
  }
296
245
  }, {
297
246
  key: "startOpenFolderTimer",
298
247
  value: function startOpenFolderTimer(folder) {
299
248
  var _this = this;
300
-
301
249
  var openFolder = function openFolder() {
302
250
  _this.treeWidget._openNode(folder, _this.treeWidget.options.slide, function () {
303
251
  _this.refresh();
304
-
305
252
  _this.updateDropHint();
306
253
  });
307
254
  };
308
-
309
255
  this.stopOpenFolderTimer();
310
- this.openFolderTimer = window.setTimeout(openFolder, this.treeWidget.options.openFolderDelay);
256
+ var openFolderDelay = this.treeWidget.options.openFolderDelay;
257
+ if (openFolderDelay !== false) {
258
+ this.openFolderTimer = window.setTimeout(openFolder, openFolderDelay);
259
+ }
311
260
  }
312
261
  }, {
313
262
  key: "stopOpenFolderTimer",
@@ -321,25 +270,19 @@ var DragAndDropHandler = /*#__PURE__*/function () {
321
270
  key: "moveItem",
322
271
  value: function moveItem(positionInfo) {
323
272
  var _this2 = this;
324
-
325
273
  if (this.currentItem && this.hoveredArea && this.hoveredArea.position !== _node.Position.None && this.canMoveToArea(this.hoveredArea)) {
326
274
  var movedNode = this.currentItem.node;
327
275
  var targetNode = this.hoveredArea.node;
328
276
  var position = this.hoveredArea.position;
329
277
  var previousParent = movedNode.parent;
330
-
331
278
  if (position === _node.Position.Inside) {
332
279
  this.hoveredArea.node.is_open = true;
333
280
  }
334
-
335
281
  var doMove = function doMove() {
336
282
  _this2.treeWidget.tree.moveNode(movedNode, targetNode, position);
337
-
338
283
  _this2.treeWidget.element.empty();
339
-
340
284
  _this2.treeWidget._refreshElements(null);
341
285
  };
342
-
343
286
  var event = this.treeWidget._triggerEvent("tree.move", {
344
287
  move_info: {
345
288
  moved_node: movedNode,
@@ -350,7 +293,6 @@ var DragAndDropHandler = /*#__PURE__*/function () {
350
293
  original_event: positionInfo.originalEvent
351
294
  }
352
295
  });
353
-
354
296
  if (!event.isDefaultPrevented()) {
355
297
  doMove();
356
298
  }
@@ -362,7 +304,6 @@ var DragAndDropHandler = /*#__PURE__*/function () {
362
304
  // Return the dimensions of the tree. Add a margin to the bottom to allow
363
305
  // to drag-and-drop after the last element.
364
306
  var offset = this.treeWidget.element.offset();
365
-
366
307
  if (!offset) {
367
308
  return {
368
309
  left: 0,
@@ -374,9 +315,7 @@ var DragAndDropHandler = /*#__PURE__*/function () {
374
315
  var el = this.treeWidget.element;
375
316
  var width = el.width() || 0;
376
317
  var height = el.height() || 0;
377
-
378
318
  var left = offset.left + this.treeWidget._getScrollLeft();
379
-
380
319
  return {
381
320
  left: left,
382
321
  top: offset.top,
@@ -386,45 +325,32 @@ var DragAndDropHandler = /*#__PURE__*/function () {
386
325
  }
387
326
  }
388
327
  }]);
389
-
390
328
  return DragAndDropHandler;
391
329
  }();
392
-
393
330
  exports.DragAndDropHandler = DragAndDropHandler;
394
-
395
331
  var VisibleNodeIterator = /*#__PURE__*/function () {
396
332
  function VisibleNodeIterator(tree) {
397
333
  _classCallCheck(this, VisibleNodeIterator);
398
-
399
334
  _defineProperty(this, "tree", void 0);
400
-
401
335
  this.tree = tree;
402
336
  }
403
-
404
337
  _createClass(VisibleNodeIterator, [{
405
338
  key: "iterate",
406
339
  value: function iterate() {
407
340
  var _this3 = this;
408
-
409
341
  var isFirstNode = true;
410
-
411
342
  var _iterateNode = function _iterateNode(node, nextNode) {
412
343
  var mustIterateInside = (node.is_open || !node.element) && node.hasChildren();
413
344
  var $element = null;
414
-
415
345
  if (node.element) {
416
346
  $element = jQuery(node.element);
417
-
418
347
  if (!$element.is(":visible")) {
419
348
  return;
420
349
  }
421
-
422
350
  if (isFirstNode) {
423
351
  _this3.handleFirstNode(node);
424
-
425
352
  isFirstNode = false;
426
353
  }
427
-
428
354
  if (!node.hasChildren()) {
429
355
  _this3.handleNode(node, nextNode, $element);
430
356
  } else if (node.is_open) {
@@ -435,7 +361,6 @@ var VisibleNodeIterator = /*#__PURE__*/function () {
435
361
  _this3.handleClosedFolder(node, nextNode, $element);
436
362
  }
437
363
  }
438
-
439
364
  if (mustIterateInside) {
440
365
  var childrenLength = node.children.length;
441
366
  node.children.forEach(function (_, i) {
@@ -445,45 +370,31 @@ var VisibleNodeIterator = /*#__PURE__*/function () {
445
370
  _iterateNode(node.children[i], node.children[i + 1]);
446
371
  }
447
372
  });
448
-
449
373
  if (node.is_open && $element) {
450
374
  _this3.handleAfterOpenFolder(node, nextNode);
451
375
  }
452
376
  }
453
377
  };
454
-
455
378
  _iterateNode(this.tree, null);
456
379
  }
457
380
  }]);
458
-
459
381
  return VisibleNodeIterator;
460
382
  }();
461
-
462
383
  var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
463
384
  _inherits(HitAreasGenerator, _VisibleNodeIterator);
464
-
465
385
  var _super = _createSuper(HitAreasGenerator);
466
-
467
386
  function HitAreasGenerator(tree, currentNode, treeBottom) {
468
387
  var _this4;
469
-
470
388
  _classCallCheck(this, HitAreasGenerator);
471
-
472
389
  _this4 = _super.call(this, tree);
473
-
474
390
  _defineProperty(_assertThisInitialized(_this4), "currentNode", void 0);
475
-
476
391
  _defineProperty(_assertThisInitialized(_this4), "treeBottom", void 0);
477
-
478
392
  _defineProperty(_assertThisInitialized(_this4), "positions", void 0);
479
-
480
393
  _defineProperty(_assertThisInitialized(_this4), "lastTop", void 0);
481
-
482
394
  _this4.currentNode = currentNode;
483
395
  _this4.treeBottom = treeBottom;
484
396
  return _this4;
485
397
  }
486
-
487
398
  _createClass(HitAreasGenerator, [{
488
399
  key: "generate",
489
400
  value: function generate() {
@@ -498,23 +409,18 @@ var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
498
409
  var previousTop = -1;
499
410
  var group = [];
500
411
  var hitAreas = [];
501
-
502
412
  var _iterator = _createForOfIteratorHelper(positions),
503
- _step;
504
-
413
+ _step;
505
414
  try {
506
415
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
507
416
  var position = _step.value;
508
-
509
417
  if (position.top !== previousTop && group.length) {
510
418
  if (group.length) {
511
419
  this.generateHitAreasForGroup(hitAreas, group, previousTop, position.top);
512
420
  }
513
-
514
421
  previousTop = position.top;
515
422
  group = [];
516
423
  }
517
-
518
424
  group.push(position);
519
425
  }
520
426
  } catch (err) {
@@ -522,7 +428,6 @@ var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
522
428
  } finally {
523
429
  _iterator.f();
524
430
  }
525
-
526
431
  this.generateHitAreasForGroup(hitAreas, group, previousTop, this.treeBottom);
527
432
  return hitAreas;
528
433
  }
@@ -533,27 +438,27 @@ var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
533
438
  // Cannot move inside current item
534
439
  // Stop iterating
535
440
  return false;
536
- } // Cannot move before current item
537
-
441
+ }
538
442
 
443
+ // Cannot move before current item
539
444
  if (node.children[0] !== this.currentNode) {
540
445
  this.addPosition(node, _node.Position.Inside, this.getTop($element));
541
- } // Continue iterating
542
-
446
+ }
543
447
 
448
+ // Continue iterating
544
449
  return true;
545
450
  }
546
451
  }, {
547
452
  key: "handleClosedFolder",
548
453
  value: function handleClosedFolder(node, nextNode, $element) {
549
454
  var top = this.getTop($element);
550
-
551
455
  if (node === this.currentNode) {
552
456
  // Cannot move after current item
553
457
  this.addPosition(node, _node.Position.None, top);
554
458
  } else {
555
- this.addPosition(node, _node.Position.Inside, top); // Cannot move before current item
459
+ this.addPosition(node, _node.Position.Inside, top);
556
460
 
461
+ // Cannot move before current item
557
462
  if (nextNode !== this.currentNode) {
558
463
  this.addPosition(node, _node.Position.After, top);
559
464
  }
@@ -580,14 +485,12 @@ var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
580
485
  key: "handleNode",
581
486
  value: function handleNode(node, nextNode, $element) {
582
487
  var top = this.getTop($element);
583
-
584
488
  if (node === this.currentNode) {
585
489
  // Cannot move inside current item
586
490
  this.addPosition(node, _node.Position.None, top);
587
491
  } else {
588
492
  this.addPosition(node, _node.Position.Inside, top);
589
493
  }
590
-
591
494
  if (nextNode === this.currentNode || node === this.currentNode) {
592
495
  // Cannot move before or after current item
593
496
  this.addPosition(node, _node.Position.None, top);
@@ -621,7 +524,6 @@ var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
621
524
  var areaHeight = Math.round((bottom - top) / positionCount);
622
525
  var areaTop = top;
623
526
  var i = 0;
624
-
625
527
  while (i < positionCount) {
626
528
  var position = positionsInGroup[i];
627
529
  hitAreas.push({
@@ -635,36 +537,26 @@ var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
635
537
  }
636
538
  }
637
539
  }]);
638
-
639
540
  return HitAreasGenerator;
640
541
  }(VisibleNodeIterator);
641
-
642
542
  exports.HitAreasGenerator = HitAreasGenerator;
643
-
644
543
  var DragElement = /*#__PURE__*/function () {
645
544
  function DragElement(nodeName, offsetX, offsetY, $tree, autoEscape) {
646
545
  _classCallCheck(this, DragElement);
647
-
648
546
  _defineProperty(this, "offsetX", void 0);
649
-
650
547
  _defineProperty(this, "offsetY", void 0);
651
-
652
548
  _defineProperty(this, "$element", void 0);
653
-
654
549
  this.offsetX = offsetX;
655
550
  this.offsetY = offsetY;
656
551
  this.$element = jQuery("<span>").addClass("jqtree-title jqtree-dragging");
657
-
658
552
  if (autoEscape) {
659
553
  this.$element.text(nodeName);
660
554
  } else {
661
555
  this.$element.html(nodeName);
662
556
  }
663
-
664
557
  this.$element.css("position", "absolute");
665
558
  $tree.append(this.$element);
666
559
  }
667
-
668
560
  _createClass(DragElement, [{
669
561
  key: "move",
670
562
  value: function move(pageX, pageY) {
@@ -679,6 +571,5 @@ var DragElement = /*#__PURE__*/function () {
679
571
  this.$element.remove();
680
572
  }
681
573
  }]);
682
-
683
574
  return DragElement;
684
575
  }();