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
@@ -4,147 +4,88 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.JqTreeWidget = void 0;
7
-
8
7
  var _version = _interopRequireDefault(require("./version"));
9
-
10
8
  var _dragAndDropHandler = require("./dragAndDropHandler");
11
-
12
9
  var _elementsRenderer = _interopRequireDefault(require("./elementsRenderer"));
13
-
14
10
  var _dataLoader = _interopRequireDefault(require("./dataLoader"));
15
-
16
11
  var _keyHandler = _interopRequireDefault(require("./keyHandler"));
17
-
18
12
  var _mouse = _interopRequireDefault(require("./mouse.widget"));
19
-
20
13
  var _saveStateHandler = _interopRequireDefault(require("./saveStateHandler"));
21
-
22
14
  var _scrollHandler = _interopRequireDefault(require("./scrollHandler"));
23
-
24
15
  var _selectNodeHandler = _interopRequireDefault(require("./selectNodeHandler"));
25
-
26
16
  var _simple = _interopRequireDefault(require("./simple.widget"));
27
-
28
17
  var _node6 = require("./node");
29
-
30
18
  var _util = require("./util");
31
-
32
19
  var _nodeElement = require("./nodeElement");
33
-
34
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
-
36
21
  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(_e2) { throw _e2; }, 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(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
37
-
38
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
-
40
23
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
-
42
24
  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); }
43
-
44
25
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
-
46
26
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
47
-
48
27
  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); }
49
-
50
- 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; }
51
-
52
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
53
-
28
+ 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; }
29
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
54
30
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
-
56
31
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
57
-
58
- 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); } }
59
-
32
+ 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); } }
60
33
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
61
-
62
- function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
63
-
34
+ function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
64
35
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
65
-
66
- 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); }
67
-
68
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
69
-
36
+ 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); }
37
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
70
38
  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); }; }
71
-
72
39
  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); }
73
-
74
40
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
75
-
76
41
  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; } }
77
-
78
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
79
-
80
- 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; }
81
-
42
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
43
+ 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; }
44
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
45
+ 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); }
82
46
  var NODE_PARAM_IS_EMPTY = "Node parameter is empty";
83
47
  var PARAM_IS_EMPTY = "Parameter is empty: ";
84
-
85
48
  var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
86
49
  _inherits(JqTreeWidget, _MouseWidget);
87
-
88
50
  var _super = _createSuper(JqTreeWidget);
89
-
90
51
  function JqTreeWidget() {
91
52
  var _this;
92
-
93
53
  _classCallCheck(this, JqTreeWidget);
94
-
95
54
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
96
55
  args[_key] = arguments[_key];
97
56
  }
98
-
99
57
  _this = _super.call.apply(_super, [this].concat(args));
100
-
101
58
  _defineProperty(_assertThisInitialized(_this), "element", void 0);
102
-
103
59
  _defineProperty(_assertThisInitialized(_this), "tree", void 0);
104
-
105
60
  _defineProperty(_assertThisInitialized(_this), "dndHandler", void 0);
106
-
107
61
  _defineProperty(_assertThisInitialized(_this), "renderer", void 0);
108
-
109
62
  _defineProperty(_assertThisInitialized(_this), "dataLoader", void 0);
110
-
111
63
  _defineProperty(_assertThisInitialized(_this), "scrollHandler", void 0);
112
-
113
64
  _defineProperty(_assertThisInitialized(_this), "selectNodeHandler", void 0);
114
-
115
65
  _defineProperty(_assertThisInitialized(_this), "isInitialized", void 0);
116
-
117
66
  _defineProperty(_assertThisInitialized(_this), "saveStateHandler", void 0);
118
-
119
67
  _defineProperty(_assertThisInitialized(_this), "keyHandler", void 0);
120
-
121
68
  _defineProperty(_assertThisInitialized(_this), "handleClick", function (e) {
122
69
  var clickTarget = _this.getClickTarget(e.target);
123
-
124
70
  if (clickTarget) {
125
71
  if (clickTarget.type === "button") {
126
72
  _this.toggle(clickTarget.node, _this.options.slide);
127
-
128
73
  e.preventDefault();
129
74
  e.stopPropagation();
130
75
  } else if (clickTarget.type === "label") {
131
76
  var _node2 = clickTarget.node;
132
-
133
77
  var event = _this._triggerEvent("tree.click", {
134
78
  node: _node2,
135
79
  click_event: e
136
80
  });
137
-
138
81
  if (!event.isDefaultPrevented()) {
139
82
  _this.doSelectNode(_node2);
140
83
  }
141
84
  }
142
85
  }
143
86
  });
144
-
145
87
  _defineProperty(_assertThisInitialized(_this), "handleDblclick", function (e) {
146
88
  var clickTarget = _this.getClickTarget(e.target);
147
-
148
89
  if ((clickTarget === null || clickTarget === void 0 ? void 0 : clickTarget.type) === "label") {
149
90
  _this._triggerEvent("tree.dblclick", {
150
91
  node: clickTarget.node,
@@ -152,49 +93,37 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
152
93
  });
153
94
  }
154
95
  });
155
-
156
96
  _defineProperty(_assertThisInitialized(_this), "handleContextmenu", function (e) {
157
97
  var $div = jQuery(e.target).closest("ul.jqtree-tree .jqtree-element");
158
-
159
98
  if ($div.length) {
160
99
  var _node3 = _this.getNode($div);
161
-
162
100
  if (_node3) {
163
101
  e.preventDefault();
164
102
  e.stopPropagation();
165
-
166
103
  _this._triggerEvent("tree.contextmenu", {
167
104
  node: _node3,
168
105
  click_event: e
169
106
  });
170
-
171
107
  return false;
172
108
  }
173
109
  }
174
-
175
110
  return null;
176
111
  });
177
-
178
112
  return _this;
179
113
  }
180
-
181
114
  _createClass(JqTreeWidget, [{
182
115
  key: "toggle",
183
116
  value: function toggle(node) {
184
117
  var slideParam = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
185
-
186
118
  if (!node) {
187
119
  throw Error(NODE_PARAM_IS_EMPTY);
188
120
  }
189
-
190
121
  var slide = slideParam !== null && slideParam !== void 0 ? slideParam : this.options.slide;
191
-
192
122
  if (node.is_open) {
193
123
  this.closeNode(node, slide);
194
124
  } else {
195
125
  this.openNode(node, slide);
196
126
  }
197
-
198
127
  return this.element;
199
128
  }
200
129
  }, {
@@ -224,6 +153,7 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
224
153
  this.doLoadData(data, parentNode);
225
154
  return this.element;
226
155
  }
156
+
227
157
  /*
228
158
  signatures:
229
159
  - loadDataFromUrl(url, parent_node=null, on_finished=null)
@@ -237,7 +167,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
237
167
  loadDataFromUrl(null, function() { console.log('finished'); });
238
168
  loadDataFromUrl(node1, function() { console.log('finished'); });
239
169
  */
240
-
241
170
  }, {
242
171
  key: "loadDataFromUrl",
243
172
  value: function loadDataFromUrl(param1, param2, param3) {
@@ -248,7 +177,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
248
177
  // first parameter is not url
249
178
  this.doLoadDataFromUrl(null, param1, param2);
250
179
  }
251
-
252
180
  return this.element;
253
181
  }
254
182
  }, {
@@ -261,7 +189,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
261
189
  key: "refresh",
262
190
  value: function refresh() {
263
191
  this._refreshElements(null);
264
-
265
192
  return this.element;
266
193
  }
267
194
  }, {
@@ -298,15 +225,12 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
298
225
  key: "openNode",
299
226
  value: function openNode(node, param1, param2) {
300
227
  var _this2 = this;
301
-
302
228
  if (!node) {
303
229
  throw Error(NODE_PARAM_IS_EMPTY);
304
230
  }
305
-
306
231
  var parseParams = function parseParams() {
307
232
  var onFinished;
308
233
  var slide;
309
-
310
234
  if ((0, _util.isFunction)(param1)) {
311
235
  onFinished = param1;
312
236
  slide = null;
@@ -314,23 +238,17 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
314
238
  slide = param1;
315
239
  onFinished = param2;
316
240
  }
317
-
318
241
  if (slide == null) {
319
242
  var _this2$options$slide;
320
-
321
243
  slide = (_this2$options$slide = _this2.options.slide) !== null && _this2$options$slide !== void 0 ? _this2$options$slide : false;
322
244
  }
323
-
324
245
  return [slide, onFinished];
325
246
  };
326
-
327
247
  var _parseParams = parseParams(),
328
- _parseParams2 = _slicedToArray(_parseParams, 2),
329
- slide = _parseParams2[0],
330
- onFinished = _parseParams2[1];
331
-
248
+ _parseParams2 = _slicedToArray(_parseParams, 2),
249
+ slide = _parseParams2[0],
250
+ onFinished = _parseParams2[1];
332
251
  this._openNode(node, slide, onFinished);
333
-
334
252
  return this.element;
335
253
  }
336
254
  }, {
@@ -339,14 +257,11 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
339
257
  if (!node) {
340
258
  throw Error(NODE_PARAM_IS_EMPTY);
341
259
  }
342
-
343
260
  var slide = slideParam !== null && slideParam !== void 0 ? slideParam : this.options.slide;
344
-
345
261
  if (node.isFolder() || node.isEmptyFolder) {
346
262
  new _nodeElement.FolderElement(node, this).close(slide, this.options.animationSpeed);
347
263
  this.saveState();
348
264
  }
349
-
350
265
  return this.element;
351
266
  }
352
267
  }, {
@@ -364,11 +279,9 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
364
279
  key: "addNodeAfter",
365
280
  value: function addNodeAfter(newNodeInfo, existingNode) {
366
281
  var newNode = existingNode.addAfter(newNodeInfo);
367
-
368
282
  if (newNode) {
369
283
  this._refreshElements(existingNode.parent);
370
284
  }
371
-
372
285
  return newNode;
373
286
  }
374
287
  }, {
@@ -377,13 +290,10 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
377
290
  if (!existingNode) {
378
291
  throw Error(PARAM_IS_EMPTY + "existingNode");
379
292
  }
380
-
381
293
  var newNode = existingNode.addBefore(newNodeInfo);
382
-
383
294
  if (newNode) {
384
295
  this._refreshElements(existingNode.parent);
385
296
  }
386
-
387
297
  return newNode;
388
298
  }
389
299
  }, {
@@ -392,13 +302,10 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
392
302
  if (!existingNode) {
393
303
  throw Error(PARAM_IS_EMPTY + "existingNode");
394
304
  }
395
-
396
305
  var newNode = existingNode.addParent(newNodeInfo);
397
-
398
306
  if (newNode) {
399
307
  this._refreshElements(newNode.parent);
400
308
  }
401
-
402
309
  return newNode;
403
310
  }
404
311
  }, {
@@ -407,18 +314,14 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
407
314
  if (!node) {
408
315
  throw Error(NODE_PARAM_IS_EMPTY);
409
316
  }
410
-
411
317
  if (!node.parent) {
412
318
  throw Error("Node has no parent");
413
319
  }
414
-
415
320
  this.selectNodeHandler.removeFromSelection(node, true); // including children
416
321
 
417
322
  var parent = node.parent;
418
323
  node.remove();
419
-
420
324
  this._refreshElements(parent);
421
-
422
325
  return this.element;
423
326
  }
424
327
  }, {
@@ -426,9 +329,7 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
426
329
  value: function appendNode(newNodeInfo, parentNodeParam) {
427
330
  var parentNode = parentNodeParam || this.tree;
428
331
  var node = parentNode.append(newNodeInfo);
429
-
430
332
  this._refreshElements(parentNode);
431
-
432
333
  return node;
433
334
  }
434
335
  }, {
@@ -436,9 +337,7 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
436
337
  value: function prependNode(newNodeInfo, parentNodeParam) {
437
338
  var parentNode = parentNodeParam !== null && parentNodeParam !== void 0 ? parentNodeParam : this.tree;
438
339
  var node = parentNode.prepend(newNodeInfo);
439
-
440
340
  this._refreshElements(parentNode);
441
-
442
341
  return node;
443
342
  }
444
343
  }, {
@@ -447,36 +346,27 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
447
346
  if (!node) {
448
347
  throw Error(NODE_PARAM_IS_EMPTY);
449
348
  }
450
-
451
349
  var idIsChanged = _typeof(data) === "object" && data.id && data.id !== node.id;
452
-
453
350
  if (idIsChanged) {
454
351
  this.tree.removeNodeFromIndex(node);
455
352
  }
456
-
457
353
  node.setData(data);
458
-
459
354
  if (idIsChanged) {
460
355
  this.tree.addNodeToIndex(node);
461
356
  }
462
-
463
357
  if (_typeof(data) === "object" && data["children"] && data["children"] instanceof Array) {
464
358
  node.removeChildren();
465
-
466
359
  if (data.children.length) {
467
360
  node.loadFromData(data.children);
468
361
  }
469
362
  }
470
-
471
363
  this._refreshElements(node);
472
-
473
364
  return this.element;
474
365
  }
475
366
  }, {
476
367
  key: "isSelectedNodeInSubtree",
477
368
  value: function isSelectedNodeInSubtree(subtree) {
478
369
  var selectedNode = this.getSelectedNode();
479
-
480
370
  if (!selectedNode) {
481
371
  return false;
482
372
  } else {
@@ -489,19 +379,14 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
489
379
  if (!node) {
490
380
  throw Error(NODE_PARAM_IS_EMPTY);
491
381
  }
492
-
493
382
  if (!targetNode) {
494
383
  throw Error(PARAM_IS_EMPTY + "targetNode");
495
384
  }
496
-
497
385
  var positionIndex = (0, _node6.getPosition)(position);
498
-
499
386
  if (positionIndex !== undefined) {
500
387
  this.tree.moveNode(node, targetNode, positionIndex);
501
-
502
388
  this._refreshElements(null);
503
389
  }
504
-
505
390
  return this.element;
506
391
  }
507
392
  }, {
@@ -515,11 +400,8 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
515
400
  if (!node) {
516
401
  throw Error(NODE_PARAM_IS_EMPTY);
517
402
  }
518
-
519
403
  this.selectNodeHandler.addToSelection(node);
520
-
521
404
  this._getNodeElementForNode(node).select(mustSetFocus === undefined ? true : mustSetFocus);
522
-
523
405
  this.saveState();
524
406
  return this.element;
525
407
  }
@@ -534,7 +416,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
534
416
  if (!node) {
535
417
  throw Error(NODE_PARAM_IS_EMPTY);
536
418
  }
537
-
538
419
  return this.selectNodeHandler.isNodeSelected(node);
539
420
  }
540
421
  }, {
@@ -543,11 +424,8 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
543
424
  if (!node) {
544
425
  throw Error(NODE_PARAM_IS_EMPTY);
545
426
  }
546
-
547
427
  this.selectNodeHandler.removeFromSelection(node);
548
-
549
428
  this._getNodeElementForNode(node).deselect();
550
-
551
429
  this.saveState();
552
430
  return this.element;
553
431
  }
@@ -557,7 +435,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
557
435
  if (!node) {
558
436
  throw Error(NODE_PARAM_IS_EMPTY);
559
437
  }
560
-
561
438
  var nodeOffset = jQuery(node.element).offset();
562
439
  var nodeTop = nodeOffset ? nodeOffset.top : 0;
563
440
  var treeOffset = this.$el.offset();
@@ -575,9 +452,7 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
575
452
  key: "setState",
576
453
  value: function setState(state) {
577
454
  this.saveStateHandler.setInitialState(state);
578
-
579
455
  this._refreshElements(null);
580
-
581
456
  return this.element;
582
457
  }
583
458
  }, {
@@ -590,22 +465,18 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
590
465
  key: "moveDown",
591
466
  value: function moveDown() {
592
467
  var selectedNode = this.getSelectedNode();
593
-
594
468
  if (selectedNode) {
595
469
  this.keyHandler.moveDown(selectedNode);
596
470
  }
597
-
598
471
  return this.element;
599
472
  }
600
473
  }, {
601
474
  key: "moveUp",
602
475
  value: function moveUp() {
603
476
  var selectedNode = this.getSelectedNode();
604
-
605
477
  if (selectedNode) {
606
478
  this.keyHandler.moveUp(selectedNode);
607
479
  }
608
-
609
480
  return this.element;
610
481
  }
611
482
  }, {
@@ -624,51 +495,43 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
624
495
  key: "_openNode",
625
496
  value: function _openNode(node) {
626
497
  var _this3 = this;
627
-
628
498
  var slide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
629
499
  var onFinished = arguments.length > 2 ? arguments[2] : undefined;
630
-
631
500
  var doOpenNode = function doOpenNode(_node, _slide, _onFinished) {
632
501
  var folderElement = new _nodeElement.FolderElement(_node, _this3);
633
502
  folderElement.open(_onFinished, _slide, _this3.options.animationSpeed);
634
503
  };
635
-
636
504
  if (node.isFolder() || node.isEmptyFolder) {
637
505
  if (node.load_on_demand) {
638
506
  this.loadFolderOnDemand(node, slide, onFinished);
639
507
  } else {
640
508
  var parent = node.parent;
641
-
642
509
  while (parent) {
643
510
  // nb: do not open root element
644
511
  if (parent.parent) {
645
512
  doOpenNode(parent, false, null);
646
513
  }
647
-
648
514
  parent = parent.parent;
649
515
  }
650
-
651
516
  doOpenNode(node, slide, onFinished);
652
517
  this.saveState();
653
518
  }
654
519
  }
655
520
  }
521
+
656
522
  /*
657
523
  Redraw the tree or part of the tree.
658
524
  from_node: redraw this subtree
659
525
  */
660
-
661
526
  }, {
662
527
  key: "_refreshElements",
663
528
  value: function _refreshElements(fromNode) {
664
529
  var mustSetFocus = this.selectNodeHandler.isFocusOnTree();
665
530
  var mustSelect = fromNode ? this.isSelectedNodeInSubtree(fromNode) : false;
666
531
  this.renderer.render(fromNode);
667
-
668
532
  if (mustSelect) {
669
533
  this.selectCurrentNode(mustSetFocus);
670
534
  }
671
-
672
535
  this._triggerEvent("tree.refresh");
673
536
  }
674
537
  }, {
@@ -684,7 +547,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
684
547
  key: "_getNodeElement",
685
548
  value: function _getNodeElement($element) {
686
549
  var node = this.getNode($element);
687
-
688
550
  if (node) {
689
551
  return this._getNodeElementForNode(node);
690
552
  } else {
@@ -706,15 +568,12 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
706
568
  key: "init",
707
569
  value: function init() {
708
570
  _get(_getPrototypeOf(JqTreeWidget.prototype), "init", this).call(this);
709
-
710
571
  this.element = this.$el;
711
572
  this.isInitialized = false;
712
573
  this.options.rtl = this.getRtlOption();
713
-
714
574
  if (this.options.closedIcon == null) {
715
575
  this.options.closedIcon = this.getDefaultClosedIcon();
716
576
  }
717
-
718
577
  this.renderer = new _elementsRenderer["default"](this);
719
578
  this.dataLoader = new _dataLoader["default"](this);
720
579
  this.saveStateHandler = new _saveStateHandler["default"](this);
@@ -725,7 +584,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
725
584
  this.initData();
726
585
  this.element.on("click", this.handleClick);
727
586
  this.element.on("dblclick", this.handleDblclick);
728
-
729
587
  if (this.options.useContextMenu) {
730
588
  this.element.on("contextmenu", this.handleContextmenu);
731
589
  }
@@ -737,7 +595,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
737
595
  this.element.off();
738
596
  this.keyHandler.deinit();
739
597
  this.tree = new _node6.Node({}, true);
740
-
741
598
  _get(_getPrototypeOf(JqTreeWidget.prototype), "deinit", this).call(this);
742
599
  }
743
600
  }, {
@@ -782,7 +639,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
782
639
  key: "getMouseDelay",
783
640
  value: function getMouseDelay() {
784
641
  var _this$options$startDn;
785
-
786
642
  return (_this$options$startDn = this.options.startDndDelay) !== null && _this$options$startDn !== void 0 ? _this$options$startDn : 0;
787
643
  }
788
644
  }, {
@@ -792,7 +648,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
792
648
  this.doLoadData(this.options.data, null);
793
649
  } else {
794
650
  var dataUrl = this.getDataUrlInfo(null);
795
-
796
651
  if (dataUrl) {
797
652
  this.doLoadDataFromUrl(null, null, null);
798
653
  } else {
@@ -804,9 +659,7 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
804
659
  key: "getDataUrlInfo",
805
660
  value: function getDataUrlInfo(node) {
806
661
  var _this4 = this;
807
-
808
662
  var dataUrl = this.options.dataUrl || this.element.data("url");
809
-
810
663
  var getUrlFromString = function getUrlFromString(url) {
811
664
  var urlInfo = {
812
665
  url: url
@@ -814,7 +667,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
814
667
  setUrlInfoData(urlInfo);
815
668
  return urlInfo;
816
669
  };
817
-
818
670
  var setUrlInfoData = function setUrlInfoData(urlInfo) {
819
671
  if (node !== null && node !== void 0 && node.id) {
820
672
  // Load on demand of a subtree; add node parameter
@@ -825,7 +677,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
825
677
  } else {
826
678
  // Add selected_node parameter
827
679
  var selectedNodeId = _this4.getNodeIdToBeSelected();
828
-
829
680
  if (selectedNodeId) {
830
681
  var _data = {
831
682
  selected_node: selectedNodeId
@@ -834,7 +685,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
834
685
  }
835
686
  }
836
687
  };
837
-
838
688
  if (typeof dataUrl === "function") {
839
689
  return dataUrl(node);
840
690
  } else if (typeof dataUrl === "string") {
@@ -859,68 +709,57 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
859
709
  key: "initTree",
860
710
  value: function initTree(data) {
861
711
  var _this5 = this;
862
-
863
712
  var doInit = function doInit() {
864
713
  if (!_this5.isInitialized) {
865
714
  _this5.isInitialized = true;
866
-
867
715
  _this5._triggerEvent("tree.init");
868
716
  }
869
717
  };
870
-
871
718
  if (!this.options.nodeClass) {
872
719
  return;
873
720
  }
874
-
875
721
  this.tree = new this.options.nodeClass(null, true, this.options.nodeClass);
876
722
  this.selectNodeHandler.clear();
877
723
  this.tree.loadFromData(data);
878
724
  var mustLoadOnDemand = this.setInitialState();
879
-
880
725
  this._refreshElements(null);
881
-
882
726
  if (!mustLoadOnDemand) {
883
727
  doInit();
884
728
  } else {
885
729
  // Load data on demand and then init the tree
886
730
  this.setInitialStateOnDemand(doInit);
887
731
  }
888
- } // Set initial state, either by restoring the state or auto-opening nodes
889
- // result: must load nodes on demand?
732
+ }
890
733
 
734
+ // Set initial state, either by restoring the state or auto-opening nodes
735
+ // result: must load nodes on demand?
891
736
  }, {
892
737
  key: "setInitialState",
893
738
  value: function setInitialState() {
894
739
  var _this6 = this;
895
-
896
740
  var restoreState = function restoreState() {
897
741
  // result: is state restored, must load on demand?
898
742
  if (!_this6.options.saveState) {
899
743
  return [false, false];
900
744
  } else {
901
745
  var state = _this6.saveStateHandler.getStateFromStorage();
902
-
903
746
  if (!state) {
904
747
  return [false, false];
905
748
  } else {
906
- var _mustLoadOnDemand = _this6.saveStateHandler.setInitialState(state); // return true: the state is restored
907
-
749
+ var _mustLoadOnDemand = _this6.saveStateHandler.setInitialState(state);
908
750
 
751
+ // return true: the state is restored
909
752
  return [true, _mustLoadOnDemand];
910
753
  }
911
754
  }
912
755
  };
913
-
914
756
  var autoOpenNodes = function autoOpenNodes() {
915
757
  // result: must load on demand?
916
758
  if (_this6.options.autoOpen === false) {
917
759
  return false;
918
760
  }
919
-
920
761
  var maxLevel = _this6.getAutoOpenMaxLevel();
921
-
922
762
  var mustLoadOnDemand = false;
923
-
924
763
  _this6.tree.iterate(function (node, level) {
925
764
  if (node.load_on_demand) {
926
765
  mustLoadOnDemand = true;
@@ -932,82 +771,66 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
932
771
  return level !== maxLevel;
933
772
  }
934
773
  });
935
-
936
774
  return mustLoadOnDemand;
937
775
  };
938
-
939
776
  var _restoreState = restoreState(),
940
- _restoreState2 = _slicedToArray(_restoreState, 2),
941
- isRestored = _restoreState2[0],
942
- mustLoadOnDemand = _restoreState2[1]; // eslint-disable-line prefer-const
943
-
777
+ _restoreState2 = _slicedToArray(_restoreState, 2),
778
+ isRestored = _restoreState2[0],
779
+ mustLoadOnDemand = _restoreState2[1]; // eslint-disable-line prefer-const
944
780
 
945
781
  if (!isRestored) {
946
782
  mustLoadOnDemand = autoOpenNodes();
947
783
  }
948
-
949
784
  return mustLoadOnDemand;
950
- } // Set the initial state for nodes that are loaded on demand
951
- // Call cb_finished when done
785
+ }
952
786
 
787
+ // Set the initial state for nodes that are loaded on demand
788
+ // Call cb_finished when done
953
789
  }, {
954
790
  key: "setInitialStateOnDemand",
955
791
  value: function setInitialStateOnDemand(cbFinished) {
956
792
  var _this7 = this;
957
-
958
793
  var restoreState = function restoreState() {
959
794
  if (!_this7.options.saveState) {
960
795
  return false;
961
796
  } else {
962
797
  var state = _this7.saveStateHandler.getStateFromStorage();
963
-
964
798
  if (!state) {
965
799
  return false;
966
800
  } else {
967
801
  _this7.saveStateHandler.setInitialStateOnDemand(state, cbFinished);
968
-
969
802
  return true;
970
803
  }
971
804
  }
972
805
  };
973
-
974
806
  var autoOpenNodes = function autoOpenNodes() {
975
807
  var maxLevel = _this7.getAutoOpenMaxLevel();
976
-
977
808
  var loadingCount = 0;
978
-
979
809
  var loadAndOpenNode = function loadAndOpenNode(node) {
980
810
  loadingCount += 1;
981
-
982
811
  _this7._openNode(node, false, function () {
983
812
  loadingCount -= 1;
984
813
  openNodes();
985
814
  });
986
815
  };
987
-
988
816
  var openNodes = function openNodes() {
989
817
  _this7.tree.iterate(function (node, level) {
990
818
  if (node.load_on_demand) {
991
819
  if (!node.is_loading) {
992
820
  loadAndOpenNode(node);
993
821
  }
994
-
995
822
  return false;
996
823
  } else {
997
824
  _this7._openNode(node, false, null);
998
-
999
825
  return level !== maxLevel;
1000
826
  }
1001
827
  });
1002
-
1003
828
  if (loadingCount === 0) {
1004
829
  cbFinished();
1005
830
  }
1006
831
  };
1007
-
1008
832
  openNodes();
1009
833
  };
1010
-
1011
834
  if (!restoreState()) {
1012
835
  autoOpenNodes();
1013
836
  }
@@ -1030,10 +853,8 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1030
853
  value: function getClickTarget(element) {
1031
854
  var $target = jQuery(element);
1032
855
  var $button = $target.closest(".jqtree-toggler");
1033
-
1034
856
  if ($button.length) {
1035
857
  var _node4 = this.getNode($button);
1036
-
1037
858
  if (_node4) {
1038
859
  return {
1039
860
  type: "button",
@@ -1042,10 +863,8 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1042
863
  }
1043
864
  } else {
1044
865
  var $el = $target.closest(".jqtree-element");
1045
-
1046
866
  if ($el.length) {
1047
867
  var _node5 = this.getNode($el);
1048
-
1049
868
  if (_node5) {
1050
869
  return {
1051
870
  type: "label",
@@ -1054,14 +873,12 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1054
873
  }
1055
874
  }
1056
875
  }
1057
-
1058
876
  return null;
1059
877
  }
1060
878
  }, {
1061
879
  key: "getNode",
1062
880
  value: function getNode($element) {
1063
881
  var $li = $element.closest("li.jqtree_common");
1064
-
1065
882
  if ($li.length === 0) {
1066
883
  return null;
1067
884
  } else {
@@ -1079,10 +896,8 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1079
896
  key: "selectCurrentNode",
1080
897
  value: function selectCurrentNode(mustSetFocus) {
1081
898
  var node = this.getSelectedNode();
1082
-
1083
899
  if (node) {
1084
900
  var nodeElement = this._getNodeElementForNode(node);
1085
-
1086
901
  if (nodeElement) {
1087
902
  nodeElement.select(mustSetFocus);
1088
903
  }
@@ -1092,7 +907,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1092
907
  key: "deselectCurrentNode",
1093
908
  value: function deselectCurrentNode() {
1094
909
  var node = this.getSelectedNode();
1095
-
1096
910
  if (node) {
1097
911
  this.removeFromSelection(node);
1098
912
  }
@@ -1115,7 +929,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1115
929
  return this.options.rtl;
1116
930
  } else {
1117
931
  var dataRtl = this.element.data("rtl");
1118
-
1119
932
  if (dataRtl !== null && dataRtl !== false && dataRtl !== undefined) {
1120
933
  return true;
1121
934
  } else {
@@ -1127,27 +940,22 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1127
940
  key: "doSelectNode",
1128
941
  value: function doSelectNode(node, optionsParam) {
1129
942
  var _this8 = this;
1130
-
1131
943
  var saveState = function saveState() {
1132
944
  if (_this8.options.saveState) {
1133
945
  _this8.saveStateHandler.saveState();
1134
946
  }
1135
947
  };
1136
-
1137
948
  if (!node) {
1138
949
  // Called with empty node -> deselect current node
1139
950
  this.deselectCurrentNode();
1140
951
  saveState();
1141
952
  return;
1142
953
  }
1143
-
1144
954
  var defaultOptions = {
1145
955
  mustSetFocus: true,
1146
956
  mustToggle: true
1147
957
  };
1148
-
1149
958
  var selectOptions = _objectSpread(_objectSpread({}, defaultOptions), optionsParam || {});
1150
-
1151
959
  var canSelect = function canSelect() {
1152
960
  if (_this8.options.onCanSelectNode) {
1153
961
  return _this8.options.selectable === true && _this8.options.onCanSelectNode(node);
@@ -1155,23 +963,18 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1155
963
  return _this8.options.selectable === true;
1156
964
  }
1157
965
  };
1158
-
1159
966
  var openParents = function openParents() {
1160
967
  var parent = node.parent;
1161
-
1162
968
  if (parent && parent.parent && !parent.is_open) {
1163
969
  _this8.openNode(parent, false);
1164
970
  }
1165
971
  };
1166
-
1167
972
  if (!canSelect()) {
1168
973
  return;
1169
974
  }
1170
-
1171
975
  if (this.selectNodeHandler.isNodeSelected(node)) {
1172
976
  if (selectOptions.mustToggle) {
1173
977
  this.deselectCurrentNode();
1174
-
1175
978
  this._triggerEvent("tree.select", {
1176
979
  node: null,
1177
980
  previous_node: node
@@ -1181,47 +984,39 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1181
984
  var deselectedNode = this.getSelectedNode() || null;
1182
985
  this.deselectCurrentNode();
1183
986
  this.addToSelection(node, selectOptions.mustSetFocus);
1184
-
1185
987
  this._triggerEvent("tree.select", {
1186
988
  node: node,
1187
989
  deselected_node: deselectedNode
1188
990
  });
1189
-
1190
991
  openParents();
1191
992
  }
1192
-
1193
993
  saveState();
1194
994
  }
1195
995
  }, {
1196
996
  key: "doLoadData",
1197
997
  value: function doLoadData(data, parentNode) {
1198
- if (!data) {
1199
- return;
1200
- } else {
1201
- this._triggerEvent("tree.load_data", {
1202
- tree_data: data
1203
- });
1204
-
998
+ if (data) {
1205
999
  if (parentNode) {
1206
1000
  this.deselectNodes(parentNode);
1207
1001
  this.loadSubtree(data, parentNode);
1208
1002
  } else {
1209
1003
  this.initTree(data);
1210
1004
  }
1211
-
1212
1005
  if (this.isDragging()) {
1213
1006
  this.dndHandler.refresh();
1214
1007
  }
1215
1008
  }
1009
+ this._triggerEvent("tree.load_data", {
1010
+ tree_data: data,
1011
+ parent_node: parentNode
1012
+ });
1216
1013
  }
1217
1014
  }, {
1218
1015
  key: "deselectNodes",
1219
1016
  value: function deselectNodes(parentNode) {
1220
1017
  var selectedNodesUnderParent = this.selectNodeHandler.getSelectedNodesUnder(parentNode);
1221
-
1222
1018
  var _iterator = _createForOfIteratorHelper(selectedNodesUnderParent),
1223
- _step;
1224
-
1019
+ _step;
1225
1020
  try {
1226
1021
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
1227
1022
  var n = _step.value;
@@ -1239,7 +1034,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1239
1034
  parentNode.loadFromData(data);
1240
1035
  parentNode.load_on_demand = false;
1241
1036
  parentNode.is_loading = false;
1242
-
1243
1037
  this._refreshElements(parentNode);
1244
1038
  }
1245
1039
  }, {
@@ -1252,7 +1046,6 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1252
1046
  key: "loadFolderOnDemand",
1253
1047
  value: function loadFolderOnDemand(node) {
1254
1048
  var _this9 = this;
1255
-
1256
1049
  var slide = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1257
1050
  var onFinished = arguments.length > 2 ? arguments[2] : undefined;
1258
1051
  node.is_loading = true;
@@ -1261,12 +1054,9 @@ var JqTreeWidget = /*#__PURE__*/function (_MouseWidget) {
1261
1054
  });
1262
1055
  }
1263
1056
  }]);
1264
-
1265
1057
  return JqTreeWidget;
1266
1058
  }(_mouse["default"]);
1267
-
1268
1059
  exports.JqTreeWidget = JqTreeWidget;
1269
-
1270
1060
  _defineProperty(JqTreeWidget, "defaults", {
1271
1061
  animationSpeed: "fast",
1272
1062
  autoEscape: true,
@@ -1313,5 +1103,4 @@ _defineProperty(JqTreeWidget, "defaults", {
1313
1103
  tabIndex: 0,
1314
1104
  useContextMenu: true
1315
1105
  });
1316
-
1317
1106
  _simple["default"].register(JqTreeWidget, "tree");