jqtree 1.7.4 → 1.8.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 (94) hide show
  1. package/.eslintrc +5 -1
  2. package/bower.json +1 -1
  3. package/config/babel.config.json +1 -1
  4. package/config/production +2 -0
  5. package/devserver/devserver_scroll.js +8 -0
  6. package/devserver/test_scroll.html +28 -0
  7. package/devserver/test_scroll_container.html +39 -0
  8. package/docs/_config.yml +1 -1
  9. package/docs/_entries/general/changelog.md +12 -0
  10. package/docs/package.json +1 -1
  11. package/docs/pnpm-lock.yaml +30 -30
  12. package/package.json +31 -27
  13. package/src/dataLoader.ts +44 -19
  14. package/src/dragAndDropHandler/dragElement.ts +42 -0
  15. package/src/dragAndDropHandler/hitAreasGenerator.ts +175 -0
  16. package/src/dragAndDropHandler/index.ts +470 -0
  17. package/src/dragAndDropHandler/types.ts +12 -0
  18. package/src/dragAndDropHandler/visibleNodeIterator.ts +97 -0
  19. package/src/elementsRenderer.ts +75 -40
  20. package/src/jqtreeMethodTypes.ts +40 -0
  21. package/src/jqtreeOptions.ts +43 -25
  22. package/src/keyHandler.ts +59 -38
  23. package/src/mouse.widget.ts +3 -3
  24. package/src/mouseWidgetTypes.ts +6 -0
  25. package/src/node.ts +32 -48
  26. package/src/nodeElement/borderDropHint.ts +32 -0
  27. package/src/nodeElement/folderElement.ts +133 -0
  28. package/src/nodeElement/ghostDropHint.ts +68 -0
  29. package/src/nodeElement/index.ts +101 -0
  30. package/src/nodeUtils.ts +10 -0
  31. package/src/playwright/coverage.ts +1 -4
  32. package/src/playwright/playwright.test.ts +203 -15
  33. package/src/playwright/testUtils.ts +23 -15
  34. package/src/saveStateHandler.ts +75 -26
  35. package/src/scrollHandler/containerScrollParent.ts +177 -0
  36. package/src/scrollHandler/createScrollParent.ts +50 -0
  37. package/src/scrollHandler/documentScrollParent.ts +182 -0
  38. package/src/scrollHandler/types.ts +7 -0
  39. package/src/scrollHandler.ts +36 -248
  40. package/src/selectNodeHandler.ts +10 -16
  41. package/src/test/jqTree/keyboard.test.ts +18 -23
  42. package/src/test/jqTree/loadOnDemand.test.ts +2 -3
  43. package/src/test/jqTree/methods.test.ts +33 -4
  44. package/src/test/jqTree/options.test.ts +15 -4
  45. package/src/test/node.test.ts +85 -26
  46. package/src/test/nodeUtils.test.ts +21 -0
  47. package/src/tree.jquery.ts +262 -83
  48. package/src/util.ts +3 -0
  49. package/src/version.ts +1 -1
  50. package/tree.jquery.debug.js +1922 -2608
  51. package/tree.jquery.debug.js.map +1 -1
  52. package/tree.jquery.js +2 -2
  53. package/tree.jquery.js.map +1 -1
  54. package/lib/dataLoader.js +0 -124
  55. package/lib/dragAndDropHandler.js +0 -596
  56. package/lib/elementsRenderer.js +0 -268
  57. package/lib/jqtreeOptions.js +0 -1
  58. package/lib/keyHandler.js +0 -115
  59. package/lib/mouse.widget.js +0 -256
  60. package/lib/node.js +0 -717
  61. package/lib/nodeElement.js +0 -277
  62. package/lib/playwright/coverage.js +0 -96
  63. package/lib/playwright/playwright.test.js +0 -228
  64. package/lib/playwright/testUtils.js +0 -184
  65. package/lib/saveStateHandler.js +0 -278
  66. package/lib/scrollHandler.js +0 -250
  67. package/lib/selectNodeHandler.js +0 -129
  68. package/lib/simple.widget.js +0 -159
  69. package/lib/test/global.d.js +0 -3
  70. package/lib/test/jqTree/accessibility.test.js +0 -37
  71. package/lib/test/jqTree/create.test.js +0 -48
  72. package/lib/test/jqTree/events.test.js +0 -210
  73. package/lib/test/jqTree/keyboard.test.js +0 -225
  74. package/lib/test/jqTree/loadOnDemand.test.js +0 -218
  75. package/lib/test/jqTree/methods.test.js +0 -1347
  76. package/lib/test/jqTree/options.test.js +0 -548
  77. package/lib/test/node.test.js +0 -1160
  78. package/lib/test/nodeUtil.test.js +0 -27
  79. package/lib/test/support/exampleData.js +0 -36
  80. package/lib/test/support/jqTreeMatchers.js +0 -70
  81. package/lib/test/support/matchers.d.js +0 -1
  82. package/lib/test/support/setupTests.js +0 -7
  83. package/lib/test/support/testUtil.js +0 -32
  84. package/lib/test/support/treeStructure.js +0 -39
  85. package/lib/test/util.test.js +0 -26
  86. package/lib/tree.jquery.d.js +0 -1
  87. package/lib/tree.jquery.js +0 -1106
  88. package/lib/types.js +0 -1
  89. package/lib/typings.d.js +0 -2
  90. package/lib/util.js +0 -18
  91. package/lib/version.js +0 -9
  92. package/src/dragAndDropHandler.ts +0 -719
  93. package/src/nodeElement.ts +0 -272
  94. package/src/types.ts +0 -19
@@ -1,250 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
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
- 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); }
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; }
11
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
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; }
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); }
17
- var ScrollHandler = /*#__PURE__*/function () {
18
- function ScrollHandler(treeWidget) {
19
- _classCallCheck(this, ScrollHandler);
20
- _defineProperty(this, "treeWidget", void 0);
21
- _defineProperty(this, "previousTop", void 0);
22
- _defineProperty(this, "isInitialized", void 0);
23
- _defineProperty(this, "$scrollParent", void 0);
24
- _defineProperty(this, "scrollParentTop", void 0);
25
- this.treeWidget = treeWidget;
26
- this.previousTop = -1;
27
- this.isInitialized = false;
28
- }
29
- _createClass(ScrollHandler, [{
30
- key: "checkScrolling",
31
- value: function checkScrolling() {
32
- this.ensureInit();
33
- this.checkVerticalScrolling();
34
- this.checkHorizontalScrolling();
35
- }
36
- }, {
37
- key: "scrollToY",
38
- value: function scrollToY(top) {
39
- this.ensureInit();
40
- if (this.$scrollParent && this.$scrollParent[0]) {
41
- this.$scrollParent[0].scrollTop = top;
42
- } else {
43
- var offset = this.treeWidget.$el.offset();
44
- var treeTop = offset ? offset.top : 0;
45
- jQuery(document).scrollTop(top + treeTop);
46
- }
47
- }
48
- }, {
49
- key: "isScrolledIntoView",
50
- value: function isScrolledIntoView($element) {
51
- this.ensureInit();
52
- var elementBottom;
53
- var viewBottom;
54
- var elementTop;
55
- var viewTop;
56
- var elHeight = $element.height() || 0;
57
- if (this.$scrollParent) {
58
- viewTop = 0;
59
- viewBottom = this.$scrollParent.height() || 0;
60
- var offset = $element.offset();
61
- var originalTop = offset ? offset.top : 0;
62
- elementTop = originalTop - this.scrollParentTop;
63
- elementBottom = elementTop + elHeight;
64
- } else {
65
- viewTop = jQuery(window).scrollTop() || 0;
66
- var windowHeight = jQuery(window).height() || 0;
67
- viewBottom = viewTop + windowHeight;
68
- var _offset = $element.offset();
69
- elementTop = _offset ? _offset.top : 0;
70
- elementBottom = elementTop + elHeight;
71
- }
72
- return elementBottom <= viewBottom && elementTop >= viewTop;
73
- }
74
- }, {
75
- key: "getScrollLeft",
76
- value: function getScrollLeft() {
77
- if (!this.$scrollParent) {
78
- return 0;
79
- } else {
80
- return this.$scrollParent.scrollLeft() || 0;
81
- }
82
- }
83
- }, {
84
- key: "initScrollParent",
85
- value: function initScrollParent() {
86
- var _this = this,
87
- _$scrollParent$;
88
- var getParentWithOverflow = function getParentWithOverflow() {
89
- var cssAttributes = ["overflow", "overflow-y"];
90
- var hasOverFlow = function hasOverFlow($el) {
91
- for (var _i = 0, _cssAttributes = cssAttributes; _i < _cssAttributes.length; _i++) {
92
- var attr = _cssAttributes[_i];
93
- var overflowValue = $el.css(attr);
94
- if (overflowValue === "auto" || overflowValue === "scroll") {
95
- return true;
96
- }
97
- }
98
- return false;
99
- };
100
- if (hasOverFlow(_this.treeWidget.$el)) {
101
- return _this.treeWidget.$el;
102
- }
103
- var _iterator = _createForOfIteratorHelper(_this.treeWidget.$el.parents().get()),
104
- _step;
105
- try {
106
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
107
- var el = _step.value;
108
- var $el = jQuery(el);
109
- if (hasOverFlow($el)) {
110
- return $el;
111
- }
112
- }
113
- } catch (err) {
114
- _iterator.e(err);
115
- } finally {
116
- _iterator.f();
117
- }
118
- return null;
119
- };
120
- var setDocumentAsScrollParent = function setDocumentAsScrollParent() {
121
- _this.scrollParentTop = 0;
122
- _this.$scrollParent = null;
123
- };
124
- if (this.treeWidget.$el.css("position") === "fixed") {
125
- setDocumentAsScrollParent();
126
- }
127
- var $scrollParent = getParentWithOverflow();
128
- if ($scrollParent && $scrollParent.length && ((_$scrollParent$ = $scrollParent[0]) === null || _$scrollParent$ === void 0 ? void 0 : _$scrollParent$.tagName) !== "HTML") {
129
- this.$scrollParent = $scrollParent;
130
- var offset = this.$scrollParent.offset();
131
- this.scrollParentTop = offset ? offset.top : 0;
132
- } else {
133
- setDocumentAsScrollParent();
134
- }
135
- this.isInitialized = true;
136
- }
137
- }, {
138
- key: "ensureInit",
139
- value: function ensureInit() {
140
- if (!this.isInitialized) {
141
- this.initScrollParent();
142
- }
143
- }
144
- }, {
145
- key: "handleVerticalScrollingWithScrollParent",
146
- value: function handleVerticalScrollingWithScrollParent(area) {
147
- var scrollParent = this.$scrollParent && this.$scrollParent[0];
148
- if (!scrollParent) {
149
- return;
150
- }
151
- var distanceBottom = this.scrollParentTop + scrollParent.offsetHeight - area.bottom;
152
- if (distanceBottom < 20) {
153
- scrollParent.scrollTop += 20;
154
- this.treeWidget.refreshHitAreas();
155
- this.previousTop = -1;
156
- } else if (area.top - this.scrollParentTop < 20) {
157
- scrollParent.scrollTop -= 20;
158
- this.treeWidget.refreshHitAreas();
159
- this.previousTop = -1;
160
- }
161
- }
162
- }, {
163
- key: "handleVerticalScrollingWithDocument",
164
- value: function handleVerticalScrollingWithDocument(area) {
165
- var scrollTop = jQuery(document).scrollTop() || 0;
166
- var distanceTop = area.top - scrollTop;
167
- if (distanceTop < 20) {
168
- jQuery(document).scrollTop(scrollTop - 20);
169
- } else {
170
- var windowHeight = jQuery(window).height() || 0;
171
- if (windowHeight - (area.bottom - scrollTop) < 20) {
172
- jQuery(document).scrollTop(scrollTop + 20);
173
- }
174
- }
175
- }
176
- }, {
177
- key: "checkVerticalScrolling",
178
- value: function checkVerticalScrolling() {
179
- var hoveredArea = this.treeWidget.dndHandler.hoveredArea;
180
- if (hoveredArea && hoveredArea.top !== this.previousTop) {
181
- this.previousTop = hoveredArea.top;
182
- if (this.$scrollParent) {
183
- this.handleVerticalScrollingWithScrollParent(hoveredArea);
184
- } else {
185
- this.handleVerticalScrollingWithDocument(hoveredArea);
186
- }
187
- }
188
- }
189
- }, {
190
- key: "checkHorizontalScrolling",
191
- value: function checkHorizontalScrolling() {
192
- var positionInfo = this.treeWidget.dndHandler.positionInfo;
193
- if (!positionInfo) {
194
- return;
195
- }
196
- if (this.$scrollParent) {
197
- this.handleHorizontalScrollingWithParent(positionInfo);
198
- } else {
199
- this.handleHorizontalScrollingWithDocument(positionInfo);
200
- }
201
- }
202
- }, {
203
- key: "handleHorizontalScrollingWithParent",
204
- value: function handleHorizontalScrollingWithParent(positionInfo) {
205
- if (positionInfo.pageX === undefined || positionInfo.pageY === undefined) {
206
- return;
207
- }
208
- var $scrollParent = this.$scrollParent;
209
- var scrollParentOffset = $scrollParent && $scrollParent.offset();
210
- if (!($scrollParent && scrollParentOffset)) {
211
- return;
212
- }
213
- var scrollParent = $scrollParent[0];
214
- if (!scrollParent) {
215
- return;
216
- }
217
- var canScrollRight = scrollParent.scrollLeft + scrollParent.clientWidth < scrollParent.scrollWidth;
218
- var canScrollLeft = scrollParent.scrollLeft > 0;
219
- var rightEdge = scrollParentOffset.left + scrollParent.clientWidth;
220
- var leftEdge = scrollParentOffset.left;
221
- var isNearRightEdge = positionInfo.pageX > rightEdge - 20;
222
- var isNearLeftEdge = positionInfo.pageX < leftEdge + 20;
223
- if (isNearRightEdge && canScrollRight) {
224
- scrollParent.scrollLeft = Math.min(scrollParent.scrollLeft + 20, scrollParent.scrollWidth);
225
- } else if (isNearLeftEdge && canScrollLeft) {
226
- scrollParent.scrollLeft = Math.max(scrollParent.scrollLeft - 20, 0);
227
- }
228
- }
229
- }, {
230
- key: "handleHorizontalScrollingWithDocument",
231
- value: function handleHorizontalScrollingWithDocument(positionInfo) {
232
- if (positionInfo.pageX === undefined || positionInfo.pageY === undefined) {
233
- return;
234
- }
235
- var $document = jQuery(document);
236
- var scrollLeft = $document.scrollLeft() || 0;
237
- var windowWidth = jQuery(window).width() || 0;
238
- var canScrollLeft = scrollLeft > 0;
239
- var isNearRightEdge = positionInfo.pageX > windowWidth - 20;
240
- var isNearLeftEdge = positionInfo.pageX - scrollLeft < 20;
241
- if (isNearRightEdge) {
242
- $document.scrollLeft(scrollLeft + 20);
243
- } else if (isNearLeftEdge && canScrollLeft) {
244
- $document.scrollLeft(Math.max(scrollLeft - 20, 0));
245
- }
246
- }
247
- }]);
248
- return ScrollHandler;
249
- }();
250
- exports["default"] = ScrollHandler;
@@ -1,129 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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); } }
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; }
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); }
14
- var SelectNodeHandler = /*#__PURE__*/function () {
15
- function SelectNodeHandler(treeWidget) {
16
- _classCallCheck(this, SelectNodeHandler);
17
- _defineProperty(this, "treeWidget", void 0);
18
- _defineProperty(this, "selectedNodes", void 0);
19
- _defineProperty(this, "selectedSingleNode", void 0);
20
- this.treeWidget = treeWidget;
21
- this.selectedNodes = new Set();
22
- this.clear();
23
- }
24
- _createClass(SelectNodeHandler, [{
25
- key: "getSelectedNode",
26
- value: function getSelectedNode() {
27
- var selectedNodes = this.getSelectedNodes();
28
- if (selectedNodes.length) {
29
- return selectedNodes[0] || false;
30
- } else {
31
- return false;
32
- }
33
- }
34
- }, {
35
- key: "getSelectedNodes",
36
- value: function getSelectedNodes() {
37
- var _this = this;
38
- if (this.selectedSingleNode) {
39
- return [this.selectedSingleNode];
40
- } else {
41
- var selectedNodes = [];
42
- this.selectedNodes.forEach(function (id) {
43
- var node = _this.treeWidget.getNodeById(id);
44
- if (node) {
45
- selectedNodes.push(node);
46
- }
47
- });
48
- return selectedNodes;
49
- }
50
- }
51
- }, {
52
- key: "getSelectedNodesUnder",
53
- value: function getSelectedNodesUnder(parent) {
54
- if (this.selectedSingleNode) {
55
- if (parent.isParentOf(this.selectedSingleNode)) {
56
- return [this.selectedSingleNode];
57
- } else {
58
- return [];
59
- }
60
- } else {
61
- var selectedNodes = [];
62
- for (var id in this.selectedNodes) {
63
- if (Object.prototype.hasOwnProperty.call(this.selectedNodes, id)) {
64
- var node = this.treeWidget.getNodeById(id);
65
- if (node && parent.isParentOf(node)) {
66
- selectedNodes.push(node);
67
- }
68
- }
69
- }
70
- return selectedNodes;
71
- }
72
- }
73
- }, {
74
- key: "isNodeSelected",
75
- value: function isNodeSelected(node) {
76
- if (node.id != null) {
77
- return this.selectedNodes.has(node.id);
78
- } else if (this.selectedSingleNode) {
79
- return this.selectedSingleNode.element === node.element;
80
- } else {
81
- return false;
82
- }
83
- }
84
- }, {
85
- key: "clear",
86
- value: function clear() {
87
- this.selectedNodes.clear();
88
- this.selectedSingleNode = null;
89
- }
90
- }, {
91
- key: "removeFromSelection",
92
- value: function removeFromSelection(node) {
93
- var _this2 = this;
94
- var includeChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
95
- if (node.id == null) {
96
- if (this.selectedSingleNode && node.element === this.selectedSingleNode.element) {
97
- this.selectedSingleNode = null;
98
- }
99
- } else {
100
- this.selectedNodes["delete"](node.id);
101
- if (includeChildren) {
102
- node.iterate(function () {
103
- if (node.id != null) {
104
- _this2.selectedNodes["delete"](node.id);
105
- }
106
- return true;
107
- });
108
- }
109
- }
110
- }
111
- }, {
112
- key: "addToSelection",
113
- value: function addToSelection(node) {
114
- if (node.id != null) {
115
- this.selectedNodes.add(node.id);
116
- } else {
117
- this.selectedSingleNode = node;
118
- }
119
- }
120
- }, {
121
- key: "isFocusOnTree",
122
- value: function isFocusOnTree() {
123
- var activeElement = document.activeElement;
124
- return Boolean(activeElement && activeElement.tagName === "SPAN" && this.treeWidget._containsElement(activeElement));
125
- }
126
- }]);
127
- return SelectNodeHandler;
128
- }();
129
- exports["default"] = SelectNodeHandler;
@@ -1,159 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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, _toPropertyKey(descriptor.key), descriptor); } }
11
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
12
- 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; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- 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); }
15
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
16
- 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; } } }; }
17
- 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); }
18
- 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; }
19
- var _register = function register(widgetClass, widgetName) {
20
- var getDataKey = function getDataKey() {
21
- return "simple_widget_".concat(widgetName);
22
- };
23
- var getWidgetData = function getWidgetData(el, dataKey) {
24
- var widget = jQuery.data(el, dataKey);
25
- if (widget && widget instanceof SimpleWidget) {
26
- return widget;
27
- } else {
28
- return null;
29
- }
30
- };
31
- var createWidget = function createWidget($el, options) {
32
- var dataKey = getDataKey();
33
- var _iterator = _createForOfIteratorHelper($el.get()),
34
- _step;
35
- try {
36
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
37
- var el = _step.value;
38
- var existingWidget = getWidgetData(el, dataKey);
39
- if (!existingWidget) {
40
- var simpleWidgetClass = widgetClass;
41
- var widget = new simpleWidgetClass(el, options);
42
- if (!jQuery.data(el, dataKey)) {
43
- jQuery.data(el, dataKey, widget);
44
- }
45
-
46
- // Call init after setting data, so we can call methods
47
- widget.init();
48
- }
49
- }
50
- } catch (err) {
51
- _iterator.e(err);
52
- } finally {
53
- _iterator.f();
54
- }
55
- return $el;
56
- };
57
- var destroyWidget = function destroyWidget($el) {
58
- var dataKey = getDataKey();
59
- var _iterator2 = _createForOfIteratorHelper($el.get()),
60
- _step2;
61
- try {
62
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
63
- var el = _step2.value;
64
- var widget = getWidgetData(el, dataKey);
65
- if (widget) {
66
- widget.destroy();
67
- }
68
- jQuery.removeData(el, dataKey);
69
- }
70
- } catch (err) {
71
- _iterator2.e(err);
72
- } finally {
73
- _iterator2.f();
74
- }
75
- };
76
- var callFunction = function callFunction($el, functionName, args) {
77
- var result = null;
78
- var _iterator3 = _createForOfIteratorHelper($el.get()),
79
- _step3;
80
- try {
81
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
82
- var el = _step3.value;
83
- var widget = jQuery.data(el, getDataKey());
84
- if (widget && widget instanceof SimpleWidget) {
85
- var simpleWidget = widget;
86
- var widgetFunction = simpleWidget[functionName];
87
- if (widgetFunction && typeof widgetFunction === "function") {
88
- result = widgetFunction.apply(widget, args);
89
- }
90
- }
91
- }
92
- } catch (err) {
93
- _iterator3.e(err);
94
- } finally {
95
- _iterator3.f();
96
- }
97
- return result;
98
- };
99
-
100
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
101
- jQuery.fn[widgetName] = function (argument1) {
102
- if (!argument1) {
103
- return createWidget(this, null);
104
- } else if (_typeof(argument1) === "object") {
105
- var options = argument1;
106
- return createWidget(this, options);
107
- } else if (typeof argument1 === "string" && argument1[0] !== "_") {
108
- var functionName = argument1;
109
- if (functionName === "destroy") {
110
- return destroyWidget(this);
111
- } else if (functionName === "get_widget_class") {
112
- return widgetClass;
113
- } else {
114
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
115
- args[_key - 1] = arguments[_key];
116
- }
117
- return callFunction(this, functionName, args);
118
- }
119
- } else {
120
- return undefined;
121
- }
122
- };
123
- };
124
- var SimpleWidget = /*#__PURE__*/function () {
125
- function SimpleWidget(el, options) {
126
- _classCallCheck(this, SimpleWidget);
127
- _defineProperty(this, "options", void 0);
128
- _defineProperty(this, "$el", void 0);
129
- this.$el = jQuery(el);
130
-
131
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
132
- var defaults = this.constructor["defaults"];
133
- this.options = _objectSpread(_objectSpread({}, defaults), options);
134
- }
135
- _createClass(SimpleWidget, [{
136
- key: "destroy",
137
- value: function destroy() {
138
- this.deinit();
139
- }
140
- }, {
141
- key: "init",
142
- value: function init() {
143
- //
144
- }
145
- }, {
146
- key: "deinit",
147
- value: function deinit() {
148
- //
149
- }
150
- }], [{
151
- key: "register",
152
- value: function register(widgetClass, widgetName) {
153
- _register(widgetClass, widgetName);
154
- }
155
- }]);
156
- return SimpleWidget;
157
- }();
158
- exports["default"] = SimpleWidget;
159
- _defineProperty(SimpleWidget, "defaults", {});
@@ -1,3 +0,0 @@
1
- "use strict";
2
-
3
- require("jest-extended");
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- var _jestAxe = require("jest-axe");
5
- require("../../tree.jquery");
6
- var _exampleData = _interopRequireDefault(require("../support/exampleData"));
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
9
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
- expect.extend(_jestAxe.toHaveNoViolations);
12
- beforeEach(function () {
13
- $("body").append('<div id="tree1"></div>');
14
- });
15
- afterEach(function () {
16
- var $tree = $("#tree1");
17
- $tree.tree("destroy");
18
- $tree.remove();
19
- });
20
- it("has an accessible ui", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
21
- var $tree, element;
22
- return _regeneratorRuntime().wrap(function _callee$(_context) {
23
- while (1) switch (_context.prev = _context.next) {
24
- case 0:
25
- $tree = $("#tree1");
26
- $tree.tree({
27
- data: _exampleData["default"]
28
- });
29
- element = $tree.get()[0];
30
- _context.next = 5;
31
- return expect((0, _jestAxe.axe)(element)).resolves.toHaveNoViolations();
32
- case 5:
33
- case "end":
34
- return _context.stop();
35
- }
36
- }, _callee);
37
- })));
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- var _givens = _interopRequireDefault(require("givens"));
4
- require("../../tree.jquery");
5
- var _exampleData = _interopRequireDefault(require("../support/exampleData"));
6
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
7
- beforeEach(function () {
8
- $("body").append('<div id="tree1"></div>');
9
- });
10
- afterEach(function () {
11
- var $tree = $("#tree1");
12
- $tree.tree("destroy");
13
- $tree.remove();
14
- });
15
- describe("create with data", function () {
16
- var given = (0, _givens["default"])();
17
- given("$tree", function () {
18
- return $("#tree1");
19
- });
20
- beforeEach(function () {
21
- given.$tree.tree({
22
- data: _exampleData["default"]
23
- });
24
- });
25
- it("creates a tree", function () {
26
- expect(given.$tree).toHaveTreeStructure([expect.objectContaining({
27
- name: "node1",
28
- open: false,
29
- selected: false,
30
- children: [expect.objectContaining({
31
- name: "child1"
32
- }), expect.objectContaining({
33
- name: "child2"
34
- })]
35
- }), expect.objectContaining({
36
- name: "node2",
37
- open: false,
38
- selected: false,
39
- children: [expect.objectContaining({
40
- name: "node3",
41
- open: false,
42
- children: [expect.objectContaining({
43
- name: "child3"
44
- })]
45
- })]
46
- })]);
47
- });
48
- });