jqtree 1.7.5 → 1.8.1

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 (119) hide show
  1. package/.eslintrc +13 -3
  2. package/.github/workflows/ci.yml +6 -6
  3. package/.github/workflows/codeql-analysis.yml +4 -4
  4. package/.github/workflows/size.yml +3 -3
  5. package/.github/workflows/static.yml +1 -1
  6. package/bower.json +1 -1
  7. package/config/babel.config.json +1 -1
  8. package/config/jest.config.js +4 -0
  9. package/config/jest.polyfills.js +14 -0
  10. package/config/production +2 -0
  11. package/devserver/devserver_scroll.js +8 -0
  12. package/devserver/test_index.html +9 -0
  13. package/devserver/test_scroll.html +28 -0
  14. package/devserver/test_scroll_container.html +39 -0
  15. package/docs/.ruby-version +1 -1
  16. package/docs/_config.yml +1 -1
  17. package/docs/_entries/general/changelog.md +11 -0
  18. package/docs/_entries/multiple_selection/get-selected-nodes.md +1 -1
  19. package/docs/_entries/node/getnextnode.md +3 -6
  20. package/docs/_entries/node/getnextsibling.md +1 -1
  21. package/docs/_entries/node/getnextvisiblenode.md +8 -5
  22. package/docs/_entries/node/getpreviousnode.md +12 -0
  23. package/docs/_entries/node/getprevioussibling.md +1 -1
  24. package/docs/_entries/node/getpreviousvisiblenode.md +6 -5
  25. package/package.json +35 -29
  26. package/src/dataLoader.ts +57 -34
  27. package/src/dragAndDropHandler/dragElement.ts +54 -0
  28. package/src/dragAndDropHandler/generateHitAreas.ts +176 -0
  29. package/src/dragAndDropHandler/index.ts +454 -0
  30. package/src/dragAndDropHandler/iterateVisibleNodes.ts +91 -0
  31. package/src/dragAndDropHandler/types.ts +13 -0
  32. package/src/elementsRenderer.ts +75 -40
  33. package/src/jqtreeMethodTypes.ts +40 -0
  34. package/src/jqtreeOptions.ts +43 -25
  35. package/src/keyHandler.ts +59 -30
  36. package/src/mouseHandler.ts +385 -0
  37. package/src/mouseUtils.ts +23 -0
  38. package/src/node.ts +1 -29
  39. package/src/nodeElement/borderDropHint.ts +32 -0
  40. package/src/nodeElement/folderElement.ts +133 -0
  41. package/src/nodeElement/ghostDropHint.ts +69 -0
  42. package/src/nodeElement/index.ts +102 -0
  43. package/src/playwright/coverage.ts +4 -7
  44. package/src/playwright/playwright.test.ts +150 -53
  45. package/src/playwright/testUtils.ts +28 -5
  46. package/src/position.ts +28 -0
  47. package/src/saveStateHandler.ts +75 -26
  48. package/src/scrollHandler/containerScrollParent.ts +13 -23
  49. package/src/scrollHandler/createScrollParent.ts +22 -22
  50. package/src/scrollHandler/documentScrollParent.ts +16 -13
  51. package/src/scrollHandler.ts +13 -15
  52. package/src/selectNodeHandler.ts +10 -16
  53. package/src/test/jqTree/events.test.ts +97 -30
  54. package/src/test/jqTree/keyboard.test.ts +18 -23
  55. package/src/test/jqTree/loadOnDemand.test.ts +22 -15
  56. package/src/test/jqTree/methods.test.ts +40 -14
  57. package/src/test/jqTree/mouse.test.ts +82 -0
  58. package/src/test/jqTree/options.test.ts +24 -12
  59. package/src/test/node.test.ts +3 -2
  60. package/src/test/{nodeUtil.test.ts → position.test.ts} +1 -1
  61. package/src/tree.jquery.ts +314 -208
  62. package/src/util.ts +12 -0
  63. package/src/version.ts +1 -1
  64. package/tree.jquery.debug.js +2594 -3419
  65. package/tree.jquery.debug.js.map +1 -1
  66. package/tree.jquery.js +3 -3
  67. package/tree.jquery.js.map +1 -1
  68. package/tsconfig.json +5 -3
  69. package/docs/_entries/functions/get-selected-nodes.md +0 -10
  70. package/lib/dataLoader.js +0 -123
  71. package/lib/dragAndDropHandler.js +0 -588
  72. package/lib/elementsRenderer.js +0 -267
  73. package/lib/jqtreeOptions.js +0 -1
  74. package/lib/keyHandler.js +0 -111
  75. package/lib/mouse.widget.js +0 -255
  76. package/lib/node.js +0 -708
  77. package/lib/nodeElement.js +0 -274
  78. package/lib/nodeUtils.js +0 -10
  79. package/lib/playwright/coverage.js +0 -99
  80. package/lib/playwright/playwright.test.js +0 -606
  81. package/lib/playwright/testUtils.js +0 -210
  82. package/lib/saveStateHandler.js +0 -277
  83. package/lib/scrollHandler/containerScrollParent.js +0 -160
  84. package/lib/scrollHandler/createScrollParent.js +0 -57
  85. package/lib/scrollHandler/documentScrollParent.js +0 -169
  86. package/lib/scrollHandler/scrollParent.js +0 -58
  87. package/lib/scrollHandler/types.js +0 -1
  88. package/lib/scrollHandler.js +0 -71
  89. package/lib/selectNodeHandler.js +0 -128
  90. package/lib/simple.widget.js +0 -158
  91. package/lib/test/global.d.js +0 -3
  92. package/lib/test/jqTree/accessibility.test.js +0 -37
  93. package/lib/test/jqTree/create.test.js +0 -48
  94. package/lib/test/jqTree/events.test.js +0 -210
  95. package/lib/test/jqTree/keyboard.test.js +0 -225
  96. package/lib/test/jqTree/loadOnDemand.test.js +0 -218
  97. package/lib/test/jqTree/methods.test.js +0 -1348
  98. package/lib/test/jqTree/options.test.js +0 -548
  99. package/lib/test/jqTree/scrollHandler/containerScrollParent.test.js +0 -94
  100. package/lib/test/node.test.js +0 -1202
  101. package/lib/test/nodeUtil.test.js +0 -27
  102. package/lib/test/nodeUtils.test.js +0 -20
  103. package/lib/test/support/exampleData.js +0 -35
  104. package/lib/test/support/jqTreeMatchers.js +0 -70
  105. package/lib/test/support/matchers.d.js +0 -1
  106. package/lib/test/support/setupTests.js +0 -7
  107. package/lib/test/support/testUtil.js +0 -29
  108. package/lib/test/support/treeStructure.js +0 -38
  109. package/lib/test/util.test.js +0 -26
  110. package/lib/tree.jquery.d.js +0 -1
  111. package/lib/tree.jquery.js +0 -1105
  112. package/lib/types.js +0 -1
  113. package/lib/typings.d.js +0 -2
  114. package/lib/util.js +0 -15
  115. package/lib/version.js +0 -8
  116. package/src/dragAndDropHandler.ts +0 -713
  117. package/src/mouse.widget.ts +0 -266
  118. package/src/nodeElement.ts +0 -272
  119. package/src/types.ts +0 -19
package/tsconfig.json CHANGED
@@ -4,8 +4,9 @@
4
4
  "include": ["src/**/*"],
5
5
  "compilerOptions": {
6
6
  "esModuleInterop": true,
7
- "lib": ["es2015", "es2015.iterable", "dom"],
8
- "moduleResolution": "node",
7
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
8
+ "module": "ESNext",
9
+ "moduleResolution": "bundler",
9
10
  "noEmit": true,
10
11
  "noFallthroughCasesInSwitch": true,
11
12
  "noImplicitAny": true,
@@ -17,6 +18,7 @@
17
18
  "rootDir": "src",
18
19
  "strictNullChecks": true,
19
20
  "strictPropertyInitialization": false,
20
- "strict": true
21
+ "strict": true,
22
+ "target": "ES2022",
21
23
  }
22
24
  }
@@ -1,10 +0,0 @@
1
- ---
2
- title: getSelectedNodes
3
- name: multiple-selection-get-selected-nodes
4
- ---
5
-
6
- Return a list of selected nodes.
7
-
8
- {% highlight js %}
9
- var nodes = $('#tree1').tree('getSelectedNodes');
10
- {% endhighlight %}
package/lib/dataLoader.js DELETED
@@ -1,123 +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 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; }
9
- 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; }
10
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
- 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
- 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
- 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; }
14
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
- 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
- var DataLoader = exports["default"] = /*#__PURE__*/function () {
17
- function DataLoader(treeWidget) {
18
- _classCallCheck(this, DataLoader);
19
- _defineProperty(this, "treeWidget", void 0);
20
- this.treeWidget = treeWidget;
21
- }
22
- _createClass(DataLoader, [{
23
- key: "loadFromUrl",
24
- value: function loadFromUrl(urlInfo, parentNode, onFinished) {
25
- var _this = this;
26
- if (!urlInfo) {
27
- return;
28
- }
29
- var $el = this.getDomElement(parentNode);
30
- this.addLoadingClass($el);
31
- this.notifyLoading(true, parentNode, $el);
32
- var stopLoading = function stopLoading() {
33
- _this.removeLoadingClass($el);
34
- _this.notifyLoading(false, parentNode, $el);
35
- };
36
- var handleSuccess = function handleSuccess(data) {
37
- stopLoading();
38
- _this.treeWidget.loadData(_this.parseData(data), parentNode);
39
- if (onFinished && typeof onFinished === "function") {
40
- onFinished();
41
- }
42
- };
43
- var handleError = function handleError(jqXHR) {
44
- stopLoading();
45
- if (_this.treeWidget.options.onLoadFailed) {
46
- _this.treeWidget.options.onLoadFailed(jqXHR);
47
- }
48
- };
49
- this.submitRequest(urlInfo, handleSuccess, handleError);
50
- }
51
- }, {
52
- key: "addLoadingClass",
53
- value: function addLoadingClass($el) {
54
- if ($el) {
55
- $el.addClass("jqtree-loading");
56
- }
57
- }
58
- }, {
59
- key: "removeLoadingClass",
60
- value: function removeLoadingClass($el) {
61
- if ($el) {
62
- $el.removeClass("jqtree-loading");
63
- }
64
- }
65
- }, {
66
- key: "getDomElement",
67
- value: function getDomElement(parentNode) {
68
- if (parentNode) {
69
- return jQuery(parentNode.element);
70
- } else {
71
- return this.treeWidget.element;
72
- }
73
- }
74
- }, {
75
- key: "notifyLoading",
76
- value: function notifyLoading(isLoading, node, $el) {
77
- if (this.treeWidget.options.onLoading) {
78
- this.treeWidget.options.onLoading(isLoading, node, $el);
79
- }
80
- this.treeWidget._triggerEvent("tree.loading_data", {
81
- isLoading: isLoading,
82
- node: node,
83
- $el: $el
84
- });
85
- }
86
- }, {
87
- key: "submitRequest",
88
- value: function submitRequest(urlInfoInput, handleSuccess, handleError) {
89
- var _ajaxSettings$method;
90
- var urlInfo = typeof urlInfoInput === "string" ? {
91
- url: urlInfoInput
92
- } : urlInfoInput;
93
- var ajaxSettings = _objectSpread({
94
- method: "GET",
95
- cache: false,
96
- dataType: "json",
97
- success: handleSuccess,
98
- error: handleError
99
- }, urlInfo);
100
- ajaxSettings.method = ((_ajaxSettings$method = ajaxSettings.method) === null || _ajaxSettings$method === void 0 ? void 0 : _ajaxSettings$method.toUpperCase()) || "GET";
101
- void jQuery.ajax(ajaxSettings);
102
- }
103
- }, {
104
- key: "parseData",
105
- value: function parseData(data) {
106
- var dataFilter = this.treeWidget.options.dataFilter;
107
- var getParsedData = function getParsedData() {
108
- if (typeof data === "string") {
109
- return JSON.parse(data);
110
- } else {
111
- return data;
112
- }
113
- };
114
- var parsedData = getParsedData();
115
- if (dataFilter) {
116
- return dataFilter(parsedData);
117
- } else {
118
- return parsedData;
119
- }
120
- }
121
- }]);
122
- return DataLoader;
123
- }();