jqtree 1.6.1 → 1.6.2

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 (84) hide show
  1. package/.eslintrc +1 -0
  2. package/_config.yml +1 -1
  3. package/_entries/10_changelog.md +5 -0
  4. package/_layouts/base.html +0 -22
  5. package/babel.config.json +11 -0
  6. package/babel.coverage.config.json +4 -0
  7. package/bower.json +1 -1
  8. package/jest-browser.config.js +0 -3
  9. package/jest-jsdom.config.js +1 -2
  10. package/jqtree.css +4 -1
  11. package/jqtree.postcss +3 -0
  12. package/lib/dataLoader.js +146 -98
  13. package/lib/dragAndDropHandler.js +668 -472
  14. package/lib/elementsRenderer.js +282 -197
  15. package/lib/jqtreeOptions.js +1 -2
  16. package/lib/keyHandler.js +134 -87
  17. package/lib/mouse.widget.js +285 -186
  18. package/lib/node.js +691 -505
  19. package/lib/nodeElement.js +329 -207
  20. package/lib/playwright/playwright.test.js +216 -189
  21. package/lib/playwright/testUtil.js +429 -193
  22. package/lib/playwright/visualRegression.js +182 -117
  23. package/lib/saveStateHandler.js +311 -204
  24. package/lib/scrollHandler.js +293 -199
  25. package/lib/selectNodeHandler.js +140 -100
  26. package/lib/simple.widget.js +184 -109
  27. package/lib/test/global.d.js +3 -0
  28. package/lib/test/jqTree/create.test.js +44 -40
  29. package/lib/test/jqTree/events.test.js +185 -138
  30. package/lib/test/jqTree/keyboard.test.js +216 -199
  31. package/lib/test/jqTree/loadOnDemand.test.js +233 -157
  32. package/lib/test/jqTree/methods.test.js +1269 -1019
  33. package/lib/test/jqTree/options.test.js +467 -398
  34. package/lib/test/node.test.js +1036 -873
  35. package/lib/test/nodeUtil.test.js +21 -20
  36. package/lib/test/support/exampleData.js +35 -23
  37. package/lib/test/support/jqTreeMatchers.js +72 -54
  38. package/lib/test/support/matchers.d.js +1 -0
  39. package/lib/test/support/setupTests.js +9 -3
  40. package/lib/test/support/testUtil.js +35 -15
  41. package/lib/test/support/treeStructure.js +41 -32
  42. package/lib/test/util.test.js +21 -20
  43. package/lib/tree.jquery.d.js +1 -0
  44. package/lib/tree.jquery.js +1264 -892
  45. package/lib/types.js +1 -2
  46. package/lib/typings.d.js +2 -0
  47. package/lib/util.js +19 -8
  48. package/lib/version.js +8 -3
  49. package/package.json +42 -34
  50. package/production +4 -4
  51. package/rollup.config.js +16 -11
  52. package/src/dataLoader.ts +6 -6
  53. package/src/dragAndDropHandler.ts +0 -4
  54. package/src/elementsRenderer.ts +4 -0
  55. package/src/jqtreeOptions.ts +1 -1
  56. package/src/mouse.widget.ts +19 -15
  57. package/src/node.ts +27 -41
  58. package/src/nodeElement.ts +17 -9
  59. package/src/playwright/.eslintrc +5 -0
  60. package/src/playwright/playwright.test.ts +29 -29
  61. package/src/saveStateHandler.ts +11 -6
  62. package/src/selectNodeHandler.ts +1 -1
  63. package/src/simple.widget.ts +1 -1
  64. package/src/test/.eslintrc +4 -0
  65. package/src/test/jqTree/create.test.ts +0 -1
  66. package/src/test/jqTree/events.test.ts +0 -1
  67. package/src/test/jqTree/keyboard.test.ts +0 -1
  68. package/src/test/jqTree/loadOnDemand.test.ts +46 -1
  69. package/src/test/jqTree/methods.test.ts +35 -10
  70. package/src/test/jqTree/options.test.ts +4 -5
  71. package/src/test/node.test.ts +2 -2
  72. package/src/test/support/jqTreeMatchers.ts +8 -9
  73. package/src/test/support/matchers.d.ts +2 -4
  74. package/src/test/support/setupTests.ts +2 -1
  75. package/src/tree.jquery.d.ts +18 -12
  76. package/src/tree.jquery.ts +25 -21
  77. package/src/version.ts +1 -1
  78. package/static/example.postcss +13 -0
  79. package/static/example_data.js +33 -36
  80. package/tree.jquery.debug.js +4806 -3325
  81. package/tree.jquery.debug.js.map +1 -1
  82. package/tree.jquery.js +2 -2
  83. package/tree.jquery.js.map +1 -1
  84. package/tsconfig.json +1 -0
@@ -1,27 +1,28 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var node_1 = require("../node");
2
+
3
+ var _node = require("../node");
4
+
4
5
  var context = describe;
5
6
  describe("getPosition", function () {
6
- it("returns the position", function () {
7
- expect(node_1.getPosition("inside")).toBe(node_1.Position.Inside);
8
- });
9
- context("with an unknown position", function () {
10
- it("returns undefined", function () {
11
- expect(node_1.getPosition("unknown")).toBeUndefined();
12
- });
7
+ it("returns the position", function () {
8
+ expect((0, _node.getPosition)("inside")).toBe(_node.Position.Inside);
9
+ });
10
+ context("with an unknown position", function () {
11
+ it("returns undefined", function () {
12
+ expect((0, _node.getPosition)("unknown")).toBeUndefined();
13
13
  });
14
+ });
14
15
  });
15
16
  describe("getPositionName", function () {
16
- it("returns the name of the position", function () {
17
- expect(node_1.getPositionName(node_1.Position.After)).toBe("after");
18
- expect(node_1.getPositionName(node_1.Position.Before)).toBe("before");
19
- expect(node_1.getPositionName(node_1.Position.Inside)).toBe("inside");
20
- expect(node_1.getPositionName(node_1.Position.None)).toBe("none");
21
- });
22
- context("with an unknown position", function () {
23
- it("returns an empty string", function () {
24
- expect(node_1.getPositionName(10)).toBe("");
25
- });
17
+ it("returns the name of the position", function () {
18
+ expect((0, _node.getPositionName)(_node.Position.After)).toBe("after");
19
+ expect((0, _node.getPositionName)(_node.Position.Before)).toBe("before");
20
+ expect((0, _node.getPositionName)(_node.Position.Inside)).toBe("inside");
21
+ expect((0, _node.getPositionName)(_node.Position.None)).toBe("none");
22
+ });
23
+ context("with an unknown position", function () {
24
+ it("returns an empty string", function () {
25
+ expect((0, _node.getPositionName)(10)).toBe("");
26
26
  });
27
- });
27
+ });
28
+ });
@@ -1,24 +1,36 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var exampleData = [
4
- {
5
- name: "node1",
6
- id: 123,
7
- intProperty: 1,
8
- strProperty: "1",
9
- children: [
10
- { name: "child1", id: 125, intProperty: 2 },
11
- { name: "child2", id: 126 },
12
- ]
13
- },
14
- {
15
- name: "node2",
16
- id: 124,
17
- intProperty: 3,
18
- strProperty: "3",
19
- children: [
20
- { name: "node3", id: 127, children: [{ name: "child3", id: 128 }] },
21
- ]
22
- },
23
- ];
24
- exports["default"] = exampleData;
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 = exampleData;
36
+ exports["default"] = _default;
@@ -1,57 +1,75 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var treeStructure_1 = require("./treeStructure");
4
- var assertJqTreeFolder = function ($el) {
5
- /* istanbul ignore if */
6
- if (!$el.hasClass("jqtree-folder")) {
7
- throw new Error("Node is not a folder");
8
- }
2
+
3
+ var _treeStructure = _interopRequireDefault(require("./treeStructure"));
4
+
5
+ var _testUtil = require("./testUtil");
6
+
7
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
+
9
+ var assertJqTreeFolder = function assertJqTreeFolder($el) {
10
+ /* istanbul ignore if */
11
+ if (!$el.hasClass("jqtree-folder")) {
12
+ throw new Error("Node is not a folder");
13
+ }
9
14
  };
15
+
10
16
  expect.extend({
11
- notToBeSelected: function (el) {
12
- var $el = jQuery(el);
13
- /* istanbul ignore next */
14
- return {
15
- message: function () { return "The node is selected"; },
16
- pass: !$el.hasClass("jqtree-selected")
17
- };
18
- },
19
- toBeClosed: function (el) {
20
- var $el = jQuery(el);
21
- assertJqTreeFolder($el);
22
- /* istanbul ignore next */
23
- return {
24
- message: function () { return "The node is open"; },
25
- pass: $el.hasClass("jqtree-closed")
26
- };
27
- },
28
- toBeOpen: function (el) {
29
- var $el = jQuery(el);
30
- assertJqTreeFolder($el);
31
- /* istanbul ignore next */
32
- return {
33
- message: function () { return "The node is closed"; },
34
- pass: !$el.hasClass("jqtree-closed")
35
- };
36
- },
37
- toBeSelected: function (el) {
38
- var $el = jQuery(el);
39
- /* istanbul ignore next */
40
- return {
41
- message: function () { return "The node is not selected"; },
42
- pass: $el.hasClass("jqtree-selected")
43
- };
44
- },
45
- toHaveTreeStructure: function (el, expectedStructure) {
46
- var _this = this;
47
- var $el = jQuery(el);
48
- var receivedStructure = treeStructure_1["default"]($el);
49
- /* istanbul ignore next */
50
- return {
51
- message: function () {
52
- return _this.utils.printDiffOrStringify(expectedStructure, receivedStructure, "expected", "received", true);
53
- },
54
- pass: this.equals(receivedStructure, expectedStructure)
55
- };
56
- }
57
- });
17
+ toBeClosed: function toBeClosed(el) {
18
+ var $el = jQuery(el);
19
+ assertJqTreeFolder($el);
20
+ /* istanbul ignore next */
21
+
22
+ return {
23
+ message: function message() {
24
+ return "The node is open";
25
+ },
26
+ pass: $el.hasClass("jqtree-closed")
27
+ };
28
+ },
29
+ toBeFocused: function toBeFocused(el) {
30
+ /* istanbul ignore next */
31
+ return {
32
+ message: function message() {
33
+ return "The is node is not focused";
34
+ },
35
+ pass: document.activeElement === (0, _testUtil.titleSpan)(el)[0]
36
+ };
37
+ },
38
+ toBeOpen: function toBeOpen(el) {
39
+ var $el = jQuery(el);
40
+ assertJqTreeFolder($el);
41
+ /* istanbul ignore next */
42
+
43
+ return {
44
+ message: function message() {
45
+ return "The node is closed";
46
+ },
47
+ pass: !$el.hasClass("jqtree-closed")
48
+ };
49
+ },
50
+ toBeSelected: function toBeSelected(el) {
51
+ var $el = jQuery(el);
52
+ /* istanbul ignore next */
53
+
54
+ return {
55
+ message: function message() {
56
+ return "The node is not selected";
57
+ },
58
+ pass: $el.hasClass("jqtree-selected")
59
+ };
60
+ },
61
+ toHaveTreeStructure: function toHaveTreeStructure(el, expectedStructure) {
62
+ var _this = this;
63
+
64
+ var $el = jQuery(el);
65
+ var receivedStructure = (0, _treeStructure["default"])($el);
66
+ /* istanbul ignore next */
67
+
68
+ return {
69
+ message: function message() {
70
+ return _this.utils.printDiffOrStringify(expectedStructure, receivedStructure, "expected", "received", true);
71
+ },
72
+ pass: this.equals(receivedStructure, expectedStructure)
73
+ };
74
+ }
75
+ });
@@ -0,0 +1 @@
1
+ "use strict";
@@ -1,5 +1,11 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var jQuery = require("jquery");
2
+
3
+ var _jquery = _interopRequireDefault(require("jquery"));
4
+
4
5
  require("./jqTreeMatchers");
5
- window.jQuery = jQuery; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
6
+
7
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
8
+
9
+ window.$ = _jquery["default"]; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
10
+
11
+ window.jQuery = _jquery["default"]; // eslint-disable-line @typescript-eslint/no-unsafe-member-access
@@ -1,21 +1,41 @@
1
1
  "use strict";
2
- exports.__esModule = true;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
3
6
  exports.togglerLink = exports.titleSpan = exports.singleChild = void 0;
4
- var singleChild = function ($el, selector) {
5
- var $result = $el.children(selector);
6
- /* istanbul ignore if */
7
- if ($result.length === 0) {
8
- throw "No child found for selector '" + selector + "'";
9
- }
10
- /* istanbul ignore if */
11
- if ($result.length > 1) {
12
- throw "Multiple elements found for selector '" + selector + "'";
13
- }
14
- return $result;
7
+
8
+ var singleChild = function singleChild($el, selector) {
9
+ var $result = $el.children(selector);
10
+ /* istanbul ignore if */
11
+
12
+ if ($result.length === 0) {
13
+ throw "No child found for selector '".concat(selector, "'");
14
+ }
15
+ /* istanbul ignore if */
16
+
17
+
18
+ if ($result.length > 1) {
19
+ throw "Multiple elements found for selector '".concat(selector, "'");
20
+ }
21
+
22
+ return $result;
15
23
  };
24
+
16
25
  exports.singleChild = singleChild;
17
- var titleSpan = function (liNode) { return exports.singleChild(nodeElement(liNode), "span.jqtree-title"); };
26
+
27
+ var titleSpan = function titleSpan(liNode) {
28
+ return singleChild(nodeElement(liNode), "span.jqtree-title");
29
+ };
30
+
18
31
  exports.titleSpan = titleSpan;
19
- var togglerLink = function (liNode) { return exports.singleChild(nodeElement(liNode), "a.jqtree-toggler"); };
32
+
33
+ var togglerLink = function togglerLink(liNode) {
34
+ return singleChild(nodeElement(liNode), "a.jqtree-toggler");
35
+ };
36
+
20
37
  exports.togglerLink = togglerLink;
21
- var nodeElement = function (liNode) { return exports.singleChild(jQuery(liNode), "div.jqtree-element "); };
38
+
39
+ var nodeElement = function nodeElement(liNode) {
40
+ return singleChild(jQuery(liNode), "div.jqtree-element ");
41
+ };
@@ -1,36 +1,45 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var testUtil_1 = require("./testUtil");
4
- var getTreeNode = function ($li) {
5
- var $div = testUtil_1.singleChild($li, "div.jqtree-element");
6
- var $span = testUtil_1.singleChild($div, "span.jqtree-title");
7
- var name = $span.html();
8
- var selected = $li.hasClass("jqtree-selected");
9
- if ($li.hasClass("jqtree-folder")) {
10
- var $ul = $li.children("ul.jqtree_common");
11
- return {
12
- nodeType: "folder",
13
- children: getChildren($ul),
14
- name: name,
15
- open: !$li.hasClass("jqtree-closed"),
16
- selected: selected
17
- };
18
- }
19
- else {
20
- return {
21
- nodeType: "child",
22
- name: name,
23
- selected: selected
24
- };
25
- }
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _testUtil = require("./testUtil");
9
+
10
+ var getTreeNode = function getTreeNode($li) {
11
+ var $div = (0, _testUtil.singleChild)($li, "div.jqtree-element");
12
+ var $span = (0, _testUtil.singleChild)($div, "span.jqtree-title");
13
+ var name = $span.html();
14
+ var selected = $li.hasClass("jqtree-selected");
15
+
16
+ if ($li.hasClass("jqtree-folder")) {
17
+ var $ul = $li.children("ul.jqtree_common");
18
+ return {
19
+ nodeType: "folder",
20
+ children: getChildren($ul),
21
+ name: name,
22
+ open: !$li.hasClass("jqtree-closed"),
23
+ selected: selected
24
+ };
25
+ } else {
26
+ return {
27
+ nodeType: "child",
28
+ name: name,
29
+ selected: selected
30
+ };
31
+ }
26
32
  };
27
- var getChildren = function ($ul) {
28
- return $ul
29
- .children("li.jqtree_common")
30
- .map(function (_, li) { return getTreeNode(jQuery(li)); })
31
- .get();
33
+
34
+ var getChildren = function getChildren($ul) {
35
+ return $ul.children("li.jqtree_common").map(function (_, li) {
36
+ return getTreeNode(jQuery(li));
37
+ }).get();
32
38
  };
33
- var treeStructure = function ($el) {
34
- return getChildren(testUtil_1.singleChild($el, "ul.jqtree-tree"));
39
+
40
+ var treeStructure = function treeStructure($el) {
41
+ return getChildren((0, _testUtil.singleChild)($el, "ul.jqtree-tree"));
35
42
  };
36
- exports["default"] = treeStructure;
43
+
44
+ var _default = treeStructure;
45
+ exports["default"] = _default;
@@ -1,26 +1,27 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- var util_1 = require("../util");
2
+
3
+ var _util = require("../util");
4
+
4
5
  describe("getBoolString", function () {
5
- it("returns true or false", function () {
6
- expect(util_1.getBoolString(true)).toBe("true");
7
- expect(util_1.getBoolString(false)).toBe("false");
8
- expect(util_1.getBoolString(1)).toBe("true");
9
- expect(util_1.getBoolString(null)).toBe("false");
10
- });
6
+ it("returns true or false", function () {
7
+ expect((0, _util.getBoolString)(true)).toBe("true");
8
+ expect((0, _util.getBoolString)(false)).toBe("false");
9
+ expect((0, _util.getBoolString)(1)).toBe("true");
10
+ expect((0, _util.getBoolString)(null)).toBe("false");
11
+ });
11
12
  });
12
13
  describe("isFunction", function () {
13
- it("returns a boolean", function () {
14
- expect(util_1.isFunction(util_1.isInt)).toBe(true);
15
- expect(util_1.isFunction("isInt")).toBe(false);
16
- });
14
+ it("returns a boolean", function () {
15
+ expect((0, _util.isFunction)(_util.isInt)).toBe(true);
16
+ expect((0, _util.isFunction)("isInt")).toBe(false);
17
+ });
17
18
  });
18
19
  describe("isInt", function () {
19
- it("returns a boolean", function () {
20
- expect(util_1.isInt(10)).toBe(true);
21
- expect(util_1.isInt(0)).toBe(true);
22
- expect(util_1.isInt(-1)).toBe(true);
23
- expect(util_1.isInt("1")).toBe(false);
24
- expect(util_1.isInt(null)).toBe(false);
25
- });
26
- });
20
+ it("returns a boolean", function () {
21
+ expect((0, _util.isInt)(10)).toBe(true);
22
+ expect((0, _util.isInt)(0)).toBe(true);
23
+ expect((0, _util.isInt)(-1)).toBe(true);
24
+ expect((0, _util.isInt)("1")).toBe(false);
25
+ expect((0, _util.isInt)(null)).toBe(false);
26
+ });
27
+ });
@@ -0,0 +1 @@
1
+ "use strict";