jqtree 1.6.3 → 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 (64) hide show
  1. package/.github/workflows/ci.yml +21 -19
  2. package/.tool-versions +1 -0
  3. package/README.md +1 -1
  4. package/bower.json +10 -3
  5. package/config/production +2 -2
  6. package/config/{rollup.config.js → rollup.config.mjs} +3 -8
  7. package/docs/Gemfile.lock +3 -3
  8. package/docs/_config.yml +1 -1
  9. package/docs/_entries/10_changelog.md +9 -0
  10. package/docs/_entries/93_getnextnode.md +4 -1
  11. package/docs/_entries/{95_getpreviousnode.md → 95_getnextvisiblenode.md} +1 -1
  12. package/docs/_entries/96_getpreviousnode.md +0 -0
  13. package/docs/_entries/{96_getprevioussibling.md → 97_getprevioussibling.md} +0 -0
  14. package/docs/_entries/98_getpreviousvisiblenode.md +14 -0
  15. package/docs/_entries/{97_parent.md → 99_parent.md} +0 -0
  16. package/docs/package.json +7 -7
  17. package/docs/pnpm-lock.yaml +138 -108
  18. package/docs/static/bower.json +1 -1
  19. package/docs/static/bower_components/jquery/dist/jquery.js +209 -97
  20. package/docs/static/bower_components/jquery/dist/jquery.min.js +2 -2
  21. package/docs/static/documentation.css +224 -84
  22. package/docs/static/example.css +0 -1
  23. package/docs/tree.jquery.js +2 -2
  24. package/lib/dataLoader.js +5 -31
  25. package/lib/dragAndDropHandler.js +19 -132
  26. package/lib/elementsRenderer.js +29 -59
  27. package/lib/keyHandler.js +8 -32
  28. package/lib/mouse.widget.js +13 -74
  29. package/lib/node.js +60 -125
  30. package/lib/nodeElement.js +5 -72
  31. package/lib/playwright/coverage.js +58 -97
  32. package/lib/playwright/playwright.test.js +148 -210
  33. package/lib/playwright/testUtils.js +116 -182
  34. package/lib/saveStateHandler.js +12 -61
  35. package/lib/scrollHandler.js +17 -74
  36. package/lib/selectNodeHandler.js +5 -24
  37. package/lib/simple.widget.js +18 -53
  38. package/lib/test/jqTree/create.test.js +0 -4
  39. package/lib/test/jqTree/events.test.js +0 -7
  40. package/lib/test/jqTree/keyboard.test.js +0 -6
  41. package/lib/test/jqTree/loadOnDemand.test.js +84 -121
  42. package/lib/test/jqTree/methods.test.js +107 -150
  43. package/lib/test/jqTree/options.test.js +32 -54
  44. package/lib/test/node.test.js +127 -72
  45. package/lib/test/nodeUtil.test.js +0 -1
  46. package/lib/test/support/jqTreeMatchers.js +4 -9
  47. package/lib/test/support/setupTests.js +0 -4
  48. package/lib/test/support/testUtil.js +2 -11
  49. package/lib/test/support/treeStructure.js +0 -6
  50. package/lib/test/util.test.js +0 -1
  51. package/lib/tree.jquery.js +28 -239
  52. package/lib/util.js +0 -6
  53. package/lib/version.js +1 -1
  54. package/package.json +40 -39
  55. package/src/keyHandler.ts +3 -3
  56. package/src/node.ts +43 -12
  57. package/src/test/.eslintrc +3 -1
  58. package/src/test/node.test.ts +146 -54
  59. package/src/tree.jquery.ts +6 -5
  60. package/src/version.ts +1 -1
  61. package/tree.jquery.debug.js +202 -855
  62. package/tree.jquery.debug.js.map +1 -1
  63. package/tree.jquery.js +2 -2
  64. package/tree.jquery.js.map +1 -1
@@ -4,39 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _util = require("./util");
9
-
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); }
10
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; } } }; }
11
-
12
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); }
13
-
14
- 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; }
15
-
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; }
16
12
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
-
18
- 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); } }
19
-
13
+ 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); } }
20
14
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
21
-
22
- 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; }
23
-
15
+ 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; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
17
+ 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); }
24
18
  var SaveStateHandler = /*#__PURE__*/function () {
25
19
  function SaveStateHandler(treeWidget) {
26
20
  _classCallCheck(this, SaveStateHandler);
27
-
28
21
  _defineProperty(this, "treeWidget", void 0);
29
-
30
22
  _defineProperty(this, "_supportsLocalStorage", void 0);
31
-
32
23
  this.treeWidget = treeWidget;
33
24
  }
34
-
35
25
  _createClass(SaveStateHandler, [{
36
26
  key: "saveState",
37
27
  value: function saveState() {
38
28
  var state = JSON.stringify(this.getState());
39
-
40
29
  if (this.treeWidget.options.onSetStateFromStorage) {
41
30
  this.treeWidget.options.onSetStateFromStorage(state);
42
31
  } else if (this.supportsLocalStorage()) {
@@ -47,7 +36,6 @@ var SaveStateHandler = /*#__PURE__*/function () {
47
36
  key: "getStateFromStorage",
48
37
  value: function getStateFromStorage() {
49
38
  var jsonData = this.loadFromStorage();
50
-
51
39
  if (jsonData) {
52
40
  return this.parseState(jsonData);
53
41
  } else {
@@ -58,44 +46,36 @@ var SaveStateHandler = /*#__PURE__*/function () {
58
46
  key: "getState",
59
47
  value: function getState() {
60
48
  var _this = this;
61
-
62
49
  var getOpenNodeIds = function getOpenNodeIds() {
63
50
  var openNodes = [];
64
-
65
51
  _this.treeWidget.tree.iterate(function (node) {
66
52
  if (node.is_open && node.id && node.hasChildren()) {
67
53
  openNodes.push(node.id);
68
54
  }
69
-
70
55
  return true;
71
56
  });
72
-
73
57
  return openNodes;
74
58
  };
75
-
76
59
  var getSelectedNodeIds = function getSelectedNodeIds() {
77
60
  var selectedNodeIds = [];
78
-
79
61
  _this.treeWidget.getSelectedNodes().forEach(function (node) {
80
62
  if (node.id != null) {
81
63
  selectedNodeIds.push(node.id);
82
64
  }
83
65
  });
84
-
85
66
  return selectedNodeIds;
86
67
  };
87
-
88
68
  return {
89
69
  open_nodes: getOpenNodeIds(),
90
70
  selected_node: getSelectedNodeIds()
91
71
  };
92
72
  }
73
+
93
74
  /*
94
75
  Set initial state
95
76
  Don't handle nodes that are loaded on demand
96
77
  result: must load on demand
97
78
  */
98
-
99
79
  }, {
100
80
  key: "setInitialState",
101
81
  value: function setInitialState(state) {
@@ -103,16 +83,13 @@ var SaveStateHandler = /*#__PURE__*/function () {
103
83
  return false;
104
84
  } else {
105
85
  var mustLoadOnDemand = false;
106
-
107
86
  if (state.open_nodes) {
108
87
  mustLoadOnDemand = this.openInitialNodes(state.open_nodes);
109
88
  }
110
-
111
89
  if (state.selected_node) {
112
90
  this.resetSelection();
113
91
  this.selectInitialNodes(state.selected_node);
114
92
  }
115
-
116
93
  return mustLoadOnDemand;
117
94
  }
118
95
  }
@@ -129,7 +106,6 @@ var SaveStateHandler = /*#__PURE__*/function () {
129
106
  key: "getNodeIdToBeSelected",
130
107
  value: function getNodeIdToBeSelected() {
131
108
  var state = this.getStateFromStorage();
132
-
133
109
  if (state && state.selected_node) {
134
110
  return state.selected_node[0];
135
111
  } else {
@@ -139,13 +115,13 @@ var SaveStateHandler = /*#__PURE__*/function () {
139
115
  }, {
140
116
  key: "parseState",
141
117
  value: function parseState(jsonData) {
142
- var state = JSON.parse(jsonData); // Check if selected_node is an int (instead of an array)
118
+ var state = JSON.parse(jsonData);
143
119
 
120
+ // Check if selected_node is an int (instead of an array)
144
121
  if (state && state.selected_node && (0, _util.isInt)(state.selected_node)) {
145
122
  // Convert to array
146
123
  state.selected_node = [state.selected_node];
147
124
  }
148
-
149
125
  return state;
150
126
  }
151
127
  }, {
@@ -163,15 +139,12 @@ var SaveStateHandler = /*#__PURE__*/function () {
163
139
  key: "openInitialNodes",
164
140
  value: function openInitialNodes(nodeIds) {
165
141
  var mustLoadOnDemand = false;
166
-
167
142
  var _iterator = _createForOfIteratorHelper(nodeIds),
168
- _step;
169
-
143
+ _step;
170
144
  try {
171
145
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
172
146
  var nodeId = _step.value;
173
147
  var node = this.treeWidget.getNodeById(nodeId);
174
-
175
148
  if (node) {
176
149
  if (!node.load_on_demand) {
177
150
  node.is_open = true;
@@ -185,22 +158,18 @@ var SaveStateHandler = /*#__PURE__*/function () {
185
158
  } finally {
186
159
  _iterator.f();
187
160
  }
188
-
189
161
  return mustLoadOnDemand;
190
162
  }
191
163
  }, {
192
164
  key: "selectInitialNodes",
193
165
  value: function selectInitialNodes(nodeIds) {
194
166
  var selectCount = 0;
195
-
196
167
  var _iterator2 = _createForOfIteratorHelper(nodeIds),
197
- _step2;
198
-
168
+ _step2;
199
169
  try {
200
170
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
201
171
  var nodeId = _step2.value;
202
172
  var node = this.treeWidget.getNodeById(nodeId);
203
-
204
173
  if (node) {
205
174
  selectCount += 1;
206
175
  this.treeWidget.selectNodeHandler.addToSelection(node);
@@ -211,7 +180,6 @@ var SaveStateHandler = /*#__PURE__*/function () {
211
180
  } finally {
212
181
  _iterator2.f();
213
182
  }
214
-
215
183
  return selectCount !== 0;
216
184
  }
217
185
  }, {
@@ -227,22 +195,16 @@ var SaveStateHandler = /*#__PURE__*/function () {
227
195
  key: "doSetInitialStateOnDemand",
228
196
  value: function doSetInitialStateOnDemand(nodeIdsParam, selectedNodes, cbFinished) {
229
197
  var _this2 = this;
230
-
231
198
  var loadingCount = 0;
232
199
  var nodeIds = nodeIdsParam;
233
-
234
200
  var openNodes = function openNodes() {
235
201
  var newNodesIds = [];
236
-
237
202
  var _iterator3 = _createForOfIteratorHelper(nodeIds),
238
- _step3;
239
-
203
+ _step3;
240
204
  try {
241
205
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
242
206
  var nodeId = _step3.value;
243
-
244
207
  var node = _this2.treeWidget.getNodeById(nodeId);
245
-
246
208
  if (!node) {
247
209
  newNodesIds.push(nodeId);
248
210
  } else {
@@ -260,27 +222,21 @@ var SaveStateHandler = /*#__PURE__*/function () {
260
222
  } finally {
261
223
  _iterator3.f();
262
224
  }
263
-
264
225
  nodeIds = newNodesIds;
265
-
266
226
  if (_this2.selectInitialNodes(selectedNodes)) {
267
227
  _this2.treeWidget._refreshElements(null);
268
228
  }
269
-
270
229
  if (loadingCount === 0) {
271
230
  cbFinished();
272
231
  }
273
232
  };
274
-
275
233
  var loadAndOpenNode = function loadAndOpenNode(node) {
276
234
  loadingCount += 1;
277
-
278
235
  _this2.treeWidget._openNode(node, false, function () {
279
236
  loadingCount -= 1;
280
237
  openNodes();
281
238
  });
282
239
  };
283
-
284
240
  openNodes();
285
241
  }
286
242
  }, {
@@ -308,20 +264,15 @@ var SaveStateHandler = /*#__PURE__*/function () {
308
264
  } catch (error) {
309
265
  return false;
310
266
  }
311
-
312
267
  return true;
313
268
  }
314
269
  };
315
-
316
270
  if (this._supportsLocalStorage == null) {
317
271
  this._supportsLocalStorage = testSupport();
318
272
  }
319
-
320
273
  return this._supportsLocalStorage;
321
274
  }
322
275
  }]);
323
-
324
276
  return SaveStateHandler;
325
277
  }();
326
-
327
278
  exports["default"] = SaveStateHandler;
@@ -4,40 +4,28 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
7
+ 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); }
8
8
  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; } } }; }
9
-
10
9
  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); }
11
-
12
- 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; }
13
-
10
+ 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; }
14
11
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
-
16
- 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); } }
17
-
12
+ 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); } }
18
13
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
-
20
- 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; }
21
-
14
+ 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; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
16
+ 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); }
22
17
  var ScrollHandler = /*#__PURE__*/function () {
23
18
  function ScrollHandler(treeWidget) {
24
19
  _classCallCheck(this, ScrollHandler);
25
-
26
20
  _defineProperty(this, "treeWidget", void 0);
27
-
28
21
  _defineProperty(this, "previousTop", void 0);
29
-
30
22
  _defineProperty(this, "isInitialized", void 0);
31
-
32
23
  _defineProperty(this, "$scrollParent", void 0);
33
-
34
24
  _defineProperty(this, "scrollParentTop", void 0);
35
-
36
25
  this.treeWidget = treeWidget;
37
26
  this.previousTop = -1;
38
27
  this.isInitialized = false;
39
28
  }
40
-
41
29
  _createClass(ScrollHandler, [{
42
30
  key: "checkScrolling",
43
31
  value: function checkScrolling() {
@@ -49,7 +37,6 @@ var ScrollHandler = /*#__PURE__*/function () {
49
37
  key: "scrollToY",
50
38
  value: function scrollToY(top) {
51
39
  this.ensureInit();
52
-
53
40
  if (this.$scrollParent) {
54
41
  this.$scrollParent[0].scrollTop = top;
55
42
  } else {
@@ -67,7 +54,6 @@ var ScrollHandler = /*#__PURE__*/function () {
67
54
  var elementTop;
68
55
  var viewTop;
69
56
  var elHeight = $element.height() || 0;
70
-
71
57
  if (this.$scrollParent) {
72
58
  viewTop = 0;
73
59
  viewBottom = this.$scrollParent.height() || 0;
@@ -79,13 +65,10 @@ var ScrollHandler = /*#__PURE__*/function () {
79
65
  viewTop = jQuery(window).scrollTop() || 0;
80
66
  var windowHeight = jQuery(window).height() || 0;
81
67
  viewBottom = viewTop + windowHeight;
82
-
83
68
  var _offset = $element.offset();
84
-
85
69
  elementTop = _offset ? _offset.top : 0;
86
70
  elementBottom = elementTop + elHeight;
87
71
  }
88
-
89
72
  return elementBottom <= viewBottom && elementTop >= viewTop;
90
73
  }
91
74
  }, {
@@ -101,68 +84,46 @@ var ScrollHandler = /*#__PURE__*/function () {
101
84
  key: "initScrollParent",
102
85
  value: function initScrollParent() {
103
86
  var _this = this;
104
-
105
87
  var getParentWithOverflow = function getParentWithOverflow() {
106
88
  var cssAttributes = ["overflow", "overflow-y"];
107
-
108
89
  var hasOverFlow = function hasOverFlow($el) {
109
- var _iterator = _createForOfIteratorHelper(cssAttributes),
110
- _step;
111
-
112
- try {
113
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
114
- var attr = _step.value;
115
- var overflowValue = $el.css(attr);
116
-
117
- if (overflowValue === "auto" || overflowValue === "scroll") {
118
- return true;
119
- }
90
+ for (var _i = 0, _cssAttributes = cssAttributes; _i < _cssAttributes.length; _i++) {
91
+ var attr = _cssAttributes[_i];
92
+ var overflowValue = $el.css(attr);
93
+ if (overflowValue === "auto" || overflowValue === "scroll") {
94
+ return true;
120
95
  }
121
- } catch (err) {
122
- _iterator.e(err);
123
- } finally {
124
- _iterator.f();
125
96
  }
126
-
127
97
  return false;
128
98
  };
129
-
130
99
  if (hasOverFlow(_this.treeWidget.$el)) {
131
100
  return _this.treeWidget.$el;
132
101
  }
133
-
134
- var _iterator2 = _createForOfIteratorHelper(_this.treeWidget.$el.parents().get()),
135
- _step2;
136
-
102
+ var _iterator = _createForOfIteratorHelper(_this.treeWidget.$el.parents().get()),
103
+ _step;
137
104
  try {
138
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
139
- var el = _step2.value;
105
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
106
+ var el = _step.value;
140
107
  var $el = jQuery(el);
141
-
142
108
  if (hasOverFlow($el)) {
143
109
  return $el;
144
110
  }
145
111
  }
146
112
  } catch (err) {
147
- _iterator2.e(err);
113
+ _iterator.e(err);
148
114
  } finally {
149
- _iterator2.f();
115
+ _iterator.f();
150
116
  }
151
-
152
117
  return null;
153
118
  };
154
-
155
119
  var setDocumentAsScrollParent = function setDocumentAsScrollParent() {
156
120
  _this.scrollParentTop = 0;
157
121
  _this.$scrollParent = null;
158
122
  };
159
-
160
123
  if (this.treeWidget.$el.css("position") === "fixed") {
161
124
  setDocumentAsScrollParent();
162
125
  }
163
-
164
126
  var $scrollParent = getParentWithOverflow();
165
-
166
127
  if ($scrollParent && $scrollParent.length && $scrollParent[0].tagName !== "HTML") {
167
128
  this.$scrollParent = $scrollParent;
168
129
  var offset = this.$scrollParent.offset();
@@ -170,7 +131,6 @@ var ScrollHandler = /*#__PURE__*/function () {
170
131
  } else {
171
132
  setDocumentAsScrollParent();
172
133
  }
173
-
174
134
  this.isInitialized = true;
175
135
  }
176
136
  }, {
@@ -184,13 +144,10 @@ var ScrollHandler = /*#__PURE__*/function () {
184
144
  key: "handleVerticalScrollingWithScrollParent",
185
145
  value: function handleVerticalScrollingWithScrollParent(area) {
186
146
  var scrollParent = this.$scrollParent && this.$scrollParent[0];
187
-
188
147
  if (!scrollParent) {
189
148
  return;
190
149
  }
191
-
192
150
  var distanceBottom = this.scrollParentTop + scrollParent.offsetHeight - area.bottom;
193
-
194
151
  if (distanceBottom < 20) {
195
152
  scrollParent.scrollTop += 20;
196
153
  this.treeWidget.refreshHitAreas();
@@ -206,12 +163,10 @@ var ScrollHandler = /*#__PURE__*/function () {
206
163
  value: function handleVerticalScrollingWithDocument(area) {
207
164
  var scrollTop = jQuery(document).scrollTop() || 0;
208
165
  var distanceTop = area.top - scrollTop;
209
-
210
166
  if (distanceTop < 20) {
211
167
  jQuery(document).scrollTop(scrollTop - 20);
212
168
  } else {
213
169
  var windowHeight = jQuery(window).height() || 0;
214
-
215
170
  if (windowHeight - (area.bottom - scrollTop) < 20) {
216
171
  jQuery(document).scrollTop(scrollTop + 20);
217
172
  }
@@ -221,10 +176,8 @@ var ScrollHandler = /*#__PURE__*/function () {
221
176
  key: "checkVerticalScrolling",
222
177
  value: function checkVerticalScrolling() {
223
178
  var hoveredArea = this.treeWidget.dndHandler.hoveredArea;
224
-
225
179
  if (hoveredArea && hoveredArea.top !== this.previousTop) {
226
180
  this.previousTop = hoveredArea.top;
227
-
228
181
  if (this.$scrollParent) {
229
182
  this.handleVerticalScrollingWithScrollParent(hoveredArea);
230
183
  } else {
@@ -236,11 +189,9 @@ var ScrollHandler = /*#__PURE__*/function () {
236
189
  key: "checkHorizontalScrolling",
237
190
  value: function checkHorizontalScrolling() {
238
191
  var positionInfo = this.treeWidget.dndHandler.positionInfo;
239
-
240
192
  if (!positionInfo) {
241
193
  return;
242
194
  }
243
-
244
195
  if (this.$scrollParent) {
245
196
  this.handleHorizontalScrollingWithParent(positionInfo);
246
197
  } else {
@@ -253,14 +204,11 @@ var ScrollHandler = /*#__PURE__*/function () {
253
204
  if (positionInfo.pageX === undefined || positionInfo.pageY === undefined) {
254
205
  return;
255
206
  }
256
-
257
207
  var $scrollParent = this.$scrollParent;
258
208
  var scrollParentOffset = $scrollParent && $scrollParent.offset();
259
-
260
209
  if (!($scrollParent && scrollParentOffset)) {
261
210
  return;
262
211
  }
263
-
264
212
  var scrollParent = $scrollParent[0];
265
213
  var canScrollRight = scrollParent.scrollLeft + scrollParent.clientWidth < scrollParent.scrollWidth;
266
214
  var canScrollLeft = scrollParent.scrollLeft > 0;
@@ -268,7 +216,6 @@ var ScrollHandler = /*#__PURE__*/function () {
268
216
  var leftEdge = scrollParentOffset.left;
269
217
  var isNearRightEdge = positionInfo.pageX > rightEdge - 20;
270
218
  var isNearLeftEdge = positionInfo.pageX < leftEdge + 20;
271
-
272
219
  if (isNearRightEdge && canScrollRight) {
273
220
  scrollParent.scrollLeft = Math.min(scrollParent.scrollLeft + 20, scrollParent.scrollWidth);
274
221
  } else if (isNearLeftEdge && canScrollLeft) {
@@ -281,14 +228,12 @@ var ScrollHandler = /*#__PURE__*/function () {
281
228
  if (positionInfo.pageX === undefined || positionInfo.pageY === undefined) {
282
229
  return;
283
230
  }
284
-
285
231
  var $document = jQuery(document);
286
232
  var scrollLeft = $document.scrollLeft() || 0;
287
233
  var windowWidth = jQuery(window).width() || 0;
288
234
  var canScrollLeft = scrollLeft > 0;
289
235
  var isNearRightEdge = positionInfo.pageX > windowWidth - 20;
290
236
  var isNearLeftEdge = positionInfo.pageX - scrollLeft < 20;
291
-
292
237
  if (isNearRightEdge) {
293
238
  $document.scrollLeft(scrollLeft + 20);
294
239
  } else if (isNearLeftEdge && canScrollLeft) {
@@ -296,8 +241,6 @@ var ScrollHandler = /*#__PURE__*/function () {
296
241
  }
297
242
  }
298
243
  }]);
299
-
300
244
  return ScrollHandler;
301
245
  }();
302
-
303
246
  exports["default"] = ScrollHandler;
@@ -4,35 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
7
+ 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); }
8
8
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
-
10
- 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); } }
11
-
9
+ 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); } }
12
10
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
-
14
- 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; }
15
-
11
+ 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; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
13
+ 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); }
16
14
  var SelectNodeHandler = /*#__PURE__*/function () {
17
15
  function SelectNodeHandler(treeWidget) {
18
16
  _classCallCheck(this, SelectNodeHandler);
19
-
20
17
  _defineProperty(this, "treeWidget", void 0);
21
-
22
18
  _defineProperty(this, "selectedNodes", void 0);
23
-
24
19
  _defineProperty(this, "selectedSingleNode", void 0);
25
-
26
20
  this.treeWidget = treeWidget;
27
21
  this.selectedNodes = new Set();
28
22
  this.clear();
29
23
  }
30
-
31
24
  _createClass(SelectNodeHandler, [{
32
25
  key: "getSelectedNode",
33
26
  value: function getSelectedNode() {
34
27
  var selectedNodes = this.getSelectedNodes();
35
-
36
28
  if (selectedNodes.length) {
37
29
  return selectedNodes[0];
38
30
  } else {
@@ -43,14 +35,12 @@ var SelectNodeHandler = /*#__PURE__*/function () {
43
35
  key: "getSelectedNodes",
44
36
  value: function getSelectedNodes() {
45
37
  var _this = this;
46
-
47
38
  if (this.selectedSingleNode) {
48
39
  return [this.selectedSingleNode];
49
40
  } else {
50
41
  var selectedNodes = [];
51
42
  this.selectedNodes.forEach(function (id) {
52
43
  var node = _this.treeWidget.getNodeById(id);
53
-
54
44
  if (node) {
55
45
  selectedNodes.push(node);
56
46
  }
@@ -69,17 +59,14 @@ var SelectNodeHandler = /*#__PURE__*/function () {
69
59
  }
70
60
  } else {
71
61
  var selectedNodes = [];
72
-
73
62
  for (var id in this.selectedNodes) {
74
63
  if (Object.prototype.hasOwnProperty.call(this.selectedNodes, id)) {
75
64
  var node = this.treeWidget.getNodeById(id);
76
-
77
65
  if (node && parent.isParentOf(node)) {
78
66
  selectedNodes.push(node);
79
67
  }
80
68
  }
81
69
  }
82
-
83
70
  return selectedNodes;
84
71
  }
85
72
  }
@@ -104,22 +91,18 @@ var SelectNodeHandler = /*#__PURE__*/function () {
104
91
  key: "removeFromSelection",
105
92
  value: function removeFromSelection(node) {
106
93
  var _this2 = this;
107
-
108
94
  var includeChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
109
-
110
95
  if (node.id == null) {
111
96
  if (this.selectedSingleNode && node.element === this.selectedSingleNode.element) {
112
97
  this.selectedSingleNode = null;
113
98
  }
114
99
  } else {
115
100
  this.selectedNodes["delete"](node.id);
116
-
117
101
  if (includeChildren) {
118
102
  node.iterate(function () {
119
103
  if (node.id != null) {
120
104
  _this2.selectedNodes["delete"](node.id);
121
105
  }
122
-
123
106
  return true;
124
107
  });
125
108
  }
@@ -141,8 +124,6 @@ var SelectNodeHandler = /*#__PURE__*/function () {
141
124
  return Boolean(activeElement && activeElement.tagName === "SPAN" && this.treeWidget._containsElement(activeElement));
142
125
  }
143
126
  }]);
144
-
145
127
  return SelectNodeHandler;
146
128
  }();
147
-
148
129
  exports["default"] = SelectNodeHandler;