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.
- package/.eslintrc +13 -3
- package/.github/workflows/ci.yml +6 -6
- package/.github/workflows/codeql-analysis.yml +4 -4
- package/.github/workflows/size.yml +3 -3
- package/.github/workflows/static.yml +1 -1
- package/bower.json +1 -1
- package/config/babel.config.json +1 -1
- package/config/jest.config.js +4 -0
- package/config/jest.polyfills.js +14 -0
- package/config/production +2 -0
- package/devserver/devserver_scroll.js +8 -0
- package/devserver/test_index.html +9 -0
- package/devserver/test_scroll.html +28 -0
- package/devserver/test_scroll_container.html +39 -0
- package/docs/.ruby-version +1 -1
- package/docs/_config.yml +1 -1
- package/docs/_entries/general/changelog.md +11 -0
- package/docs/_entries/multiple_selection/get-selected-nodes.md +1 -1
- package/docs/_entries/node/getnextnode.md +3 -6
- package/docs/_entries/node/getnextsibling.md +1 -1
- package/docs/_entries/node/getnextvisiblenode.md +8 -5
- package/docs/_entries/node/getpreviousnode.md +12 -0
- package/docs/_entries/node/getprevioussibling.md +1 -1
- package/docs/_entries/node/getpreviousvisiblenode.md +6 -5
- package/package.json +35 -29
- package/src/dataLoader.ts +57 -34
- package/src/dragAndDropHandler/dragElement.ts +54 -0
- package/src/dragAndDropHandler/generateHitAreas.ts +176 -0
- package/src/dragAndDropHandler/index.ts +454 -0
- package/src/dragAndDropHandler/iterateVisibleNodes.ts +91 -0
- package/src/dragAndDropHandler/types.ts +13 -0
- package/src/elementsRenderer.ts +75 -40
- package/src/jqtreeMethodTypes.ts +40 -0
- package/src/jqtreeOptions.ts +43 -25
- package/src/keyHandler.ts +59 -30
- package/src/mouseHandler.ts +385 -0
- package/src/mouseUtils.ts +23 -0
- package/src/node.ts +1 -29
- package/src/nodeElement/borderDropHint.ts +32 -0
- package/src/nodeElement/folderElement.ts +133 -0
- package/src/nodeElement/ghostDropHint.ts +69 -0
- package/src/nodeElement/index.ts +102 -0
- package/src/playwright/coverage.ts +4 -7
- package/src/playwright/playwright.test.ts +150 -53
- package/src/playwright/testUtils.ts +28 -5
- package/src/position.ts +28 -0
- package/src/saveStateHandler.ts +75 -26
- package/src/scrollHandler/containerScrollParent.ts +13 -23
- package/src/scrollHandler/createScrollParent.ts +22 -22
- package/src/scrollHandler/documentScrollParent.ts +16 -13
- package/src/scrollHandler.ts +13 -15
- package/src/selectNodeHandler.ts +10 -16
- package/src/test/jqTree/events.test.ts +97 -30
- package/src/test/jqTree/keyboard.test.ts +18 -23
- package/src/test/jqTree/loadOnDemand.test.ts +22 -15
- package/src/test/jqTree/methods.test.ts +40 -14
- package/src/test/jqTree/mouse.test.ts +82 -0
- package/src/test/jqTree/options.test.ts +24 -12
- package/src/test/node.test.ts +3 -2
- package/src/test/{nodeUtil.test.ts → position.test.ts} +1 -1
- package/src/tree.jquery.ts +314 -208
- package/src/util.ts +12 -0
- package/src/version.ts +1 -1
- package/tree.jquery.debug.js +2594 -3419
- package/tree.jquery.debug.js.map +1 -1
- package/tree.jquery.js +3 -3
- package/tree.jquery.js.map +1 -1
- package/tsconfig.json +5 -3
- package/docs/_entries/functions/get-selected-nodes.md +0 -10
- package/lib/dataLoader.js +0 -123
- package/lib/dragAndDropHandler.js +0 -588
- package/lib/elementsRenderer.js +0 -267
- package/lib/jqtreeOptions.js +0 -1
- package/lib/keyHandler.js +0 -111
- package/lib/mouse.widget.js +0 -255
- package/lib/node.js +0 -708
- package/lib/nodeElement.js +0 -274
- package/lib/nodeUtils.js +0 -10
- package/lib/playwright/coverage.js +0 -99
- package/lib/playwright/playwright.test.js +0 -606
- package/lib/playwright/testUtils.js +0 -210
- package/lib/saveStateHandler.js +0 -277
- package/lib/scrollHandler/containerScrollParent.js +0 -160
- package/lib/scrollHandler/createScrollParent.js +0 -57
- package/lib/scrollHandler/documentScrollParent.js +0 -169
- package/lib/scrollHandler/scrollParent.js +0 -58
- package/lib/scrollHandler/types.js +0 -1
- package/lib/scrollHandler.js +0 -71
- package/lib/selectNodeHandler.js +0 -128
- package/lib/simple.widget.js +0 -158
- package/lib/test/global.d.js +0 -3
- package/lib/test/jqTree/accessibility.test.js +0 -37
- package/lib/test/jqTree/create.test.js +0 -48
- package/lib/test/jqTree/events.test.js +0 -210
- package/lib/test/jqTree/keyboard.test.js +0 -225
- package/lib/test/jqTree/loadOnDemand.test.js +0 -218
- package/lib/test/jqTree/methods.test.js +0 -1348
- package/lib/test/jqTree/options.test.js +0 -548
- package/lib/test/jqTree/scrollHandler/containerScrollParent.test.js +0 -94
- package/lib/test/node.test.js +0 -1202
- package/lib/test/nodeUtil.test.js +0 -27
- package/lib/test/nodeUtils.test.js +0 -20
- package/lib/test/support/exampleData.js +0 -35
- package/lib/test/support/jqTreeMatchers.js +0 -70
- package/lib/test/support/matchers.d.js +0 -1
- package/lib/test/support/setupTests.js +0 -7
- package/lib/test/support/testUtil.js +0 -29
- package/lib/test/support/treeStructure.js +0 -38
- package/lib/test/util.test.js +0 -26
- package/lib/tree.jquery.d.js +0 -1
- package/lib/tree.jquery.js +0 -1105
- package/lib/types.js +0 -1
- package/lib/typings.d.js +0 -2
- package/lib/util.js +0 -15
- package/lib/version.js +0 -8
- package/src/dragAndDropHandler.ts +0 -713
- package/src/mouse.widget.ts +0 -266
- package/src/nodeElement.ts +0 -272
- 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;
|
package/lib/test/util.test.js
DELETED
|
@@ -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
|
-
});
|
package/lib/tree.jquery.d.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|