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
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- var _node = require("../node");
4
- var context = describe;
5
- describe("getPosition", function () {
6
- it("returns the position", function () {
7
- expect((0, _node.getPosition)("inside")).toBe(_node.Position.Inside);
8
- });
9
- context("with an unknown position", function () {
10
- it("returns undefined", function () {
11
- expect((0, _node.getPosition)("unknown")).toBeUndefined();
12
- });
13
- });
14
- });
15
- describe("getPositionName", function () {
16
- it("returns the name of the position", function () {
17
- expect((0, _node.getPositionName)(_node.Position.After)).toBe("after");
18
- expect((0, _node.getPositionName)(_node.Position.Before)).toBe("before");
19
- expect((0, _node.getPositionName)(_node.Position.Inside)).toBe("inside");
20
- expect((0, _node.getPositionName)(_node.Position.None)).toBe("none");
21
- });
22
- context("with an unknown position", function () {
23
- it("returns an empty string", function () {
24
- expect((0, _node.getPositionName)(10)).toBe("");
25
- });
26
- });
27
- });
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- var _nodeUtils = require("../nodeUtils");
4
- describe("isNodeRecordWithChildren", function () {
5
- it("returns true when the data is an object with the children attribute of type array", function () {
6
- var data = {
7
- children: []
8
- };
9
- expect((0, _nodeUtils.isNodeRecordWithChildren)(data)).toBe(true);
10
- });
11
- it("returns when the data is an object without the children attribute", function () {
12
- var data = {
13
- name: "test"
14
- };
15
- expect((0, _nodeUtils.isNodeRecordWithChildren)(data)).toBe(false);
16
- });
17
- it("returns when the data is a string", function () {
18
- expect((0, _nodeUtils.isNodeRecordWithChildren)("test")).toBe(false);
19
- });
20
- });
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var exampleData = [{
8
- name: "node1",
9
- id: 123,
10
- // extra data
11
- intProperty: 1,
12
- strProperty: "1",
13
- children: [{
14
- name: "child1",
15
- id: 125,
16
- intProperty: 2
17
- }, {
18
- name: "child2",
19
- id: 126
20
- }]
21
- }, {
22
- name: "node2",
23
- id: 124,
24
- intProperty: 3,
25
- strProperty: "3",
26
- children: [{
27
- name: "node3",
28
- id: 127,
29
- children: [{
30
- name: "child3",
31
- id: 128
32
- }]
33
- }]
34
- }];
35
- var _default = exports["default"] = exampleData;
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- var _treeStructure = _interopRequireDefault(require("./treeStructure"));
4
- var _testUtil = require("./testUtil");
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6
- var assertJqTreeFolder = function assertJqTreeFolder($el) {
7
- /* istanbul ignore if */
8
- if (!$el.hasClass("jqtree-folder")) {
9
- throw new Error("Node is not a folder");
10
- }
11
- };
12
- expect.extend({
13
- toBeClosed: function toBeClosed(el) {
14
- var $el = jQuery(el);
15
- assertJqTreeFolder($el);
16
-
17
- /* istanbul ignore next */
18
- return {
19
- message: function message() {
20
- return "The node is open";
21
- },
22
- pass: $el.hasClass("jqtree-closed")
23
- };
24
- },
25
- toBeFocused: function toBeFocused(el) {
26
- /* istanbul ignore next */
27
- return {
28
- message: function message() {
29
- return "The is node is not focused";
30
- },
31
- pass: document.activeElement === (0, _testUtil.titleSpan)(el)[0]
32
- };
33
- },
34
- toBeOpen: function toBeOpen(el) {
35
- var $el = jQuery(el);
36
- assertJqTreeFolder($el);
37
-
38
- /* istanbul ignore next */
39
- return {
40
- message: function message() {
41
- return "The node is closed";
42
- },
43
- pass: !$el.hasClass("jqtree-closed")
44
- };
45
- },
46
- toBeSelected: function toBeSelected(el) {
47
- var $el = jQuery(el);
48
-
49
- /* istanbul ignore next */
50
- return {
51
- message: function message() {
52
- return "The node is not selected";
53
- },
54
- pass: $el.hasClass("jqtree-selected")
55
- };
56
- },
57
- toHaveTreeStructure: function toHaveTreeStructure(el, expectedStructure) {
58
- var _this = this;
59
- var $el = jQuery(el);
60
- var receivedStructure = (0, _treeStructure["default"])($el);
61
-
62
- /* istanbul ignore next */
63
- return {
64
- message: function message() {
65
- return _this.utils.printDiffOrStringify(expectedStructure, receivedStructure, "expected", "received", true);
66
- },
67
- pass: this.equals(receivedStructure, expectedStructure)
68
- };
69
- }
70
- });
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- var _jquery = _interopRequireDefault(require("jquery"));
4
- require("./jqTreeMatchers");
5
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
6
- window.$ = _jquery["default"]; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
7
- window.jQuery = _jquery["default"]; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.togglerLink = exports.titleSpan = exports.singleChild = void 0;
7
- var singleChild = exports.singleChild = function singleChild($el, selector) {
8
- var $result = $el.children(selector);
9
-
10
- /* istanbul ignore if */
11
- if ($result.length === 0) {
12
- throw "No child found for selector '".concat(selector, "'");
13
- }
14
-
15
- /* istanbul ignore if */
16
- if ($result.length > 1) {
17
- throw "Multiple elements found for selector '".concat(selector, "'");
18
- }
19
- return $result;
20
- };
21
- var titleSpan = exports.titleSpan = function titleSpan(liNode) {
22
- return singleChild(nodeElement(liNode), "span.jqtree-title");
23
- };
24
- var togglerLink = exports.togglerLink = function togglerLink(liNode) {
25
- return singleChild(nodeElement(liNode), "a.jqtree-toggler");
26
- };
27
- var nodeElement = function nodeElement(liNode) {
28
- return singleChild(jQuery(liNode), "div.jqtree-element ");
29
- };
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
- var _testUtil = require("./testUtil");
8
- var getTreeNode = function getTreeNode($li) {
9
- var $div = (0, _testUtil.singleChild)($li, "div.jqtree-element");
10
- var $span = (0, _testUtil.singleChild)($div, "span.jqtree-title");
11
- var name = $span.html();
12
- var selected = $li.hasClass("jqtree-selected");
13
- if ($li.hasClass("jqtree-folder")) {
14
- var $ul = $li.children("ul.jqtree_common");
15
- return {
16
- nodeType: "folder",
17
- children: getChildren($ul),
18
- name: name,
19
- open: !$li.hasClass("jqtree-closed"),
20
- selected: selected
21
- };
22
- } else {
23
- return {
24
- nodeType: "child",
25
- name: name,
26
- selected: selected
27
- };
28
- }
29
- };
30
- var getChildren = function getChildren($ul) {
31
- return $ul.children("li.jqtree_common").map(function (_, li) {
32
- return getTreeNode(jQuery(li));
33
- }).get();
34
- };
35
- var treeStructure = function treeStructure($el) {
36
- return getChildren((0, _testUtil.singleChild)($el, "ul.jqtree-tree"));
37
- };
38
- var _default = exports["default"] = treeStructure;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _util = require("../util");
4
- describe("getBoolString", function () {
5
- it("returns true or false", function () {
6
- expect((0, _util.getBoolString)(true)).toBe("true");
7
- expect((0, _util.getBoolString)(false)).toBe("false");
8
- expect((0, _util.getBoolString)(1)).toBe("true");
9
- expect((0, _util.getBoolString)(null)).toBe("false");
10
- });
11
- });
12
- describe("isFunction", function () {
13
- it("returns a boolean", function () {
14
- expect((0, _util.isFunction)(_util.isInt)).toBe(true);
15
- expect((0, _util.isFunction)("isInt")).toBe(false);
16
- });
17
- });
18
- describe("isInt", function () {
19
- it("returns a boolean", function () {
20
- expect((0, _util.isInt)(10)).toBe(true);
21
- expect((0, _util.isInt)(0)).toBe(true);
22
- expect((0, _util.isInt)(-1)).toBe(true);
23
- expect((0, _util.isInt)("1")).toBe(false);
24
- expect((0, _util.isInt)(null)).toBe(false);
25
- });
26
- });
@@ -1 +0,0 @@
1
- "use strict";