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.
- package/.eslintrc +1 -0
- package/_config.yml +1 -1
- package/_entries/10_changelog.md +5 -0
- package/_layouts/base.html +0 -22
- package/babel.config.json +11 -0
- package/babel.coverage.config.json +4 -0
- package/bower.json +1 -1
- package/jest-browser.config.js +0 -3
- package/jest-jsdom.config.js +1 -2
- package/jqtree.css +4 -1
- package/jqtree.postcss +3 -0
- package/lib/dataLoader.js +146 -98
- package/lib/dragAndDropHandler.js +668 -472
- package/lib/elementsRenderer.js +282 -197
- package/lib/jqtreeOptions.js +1 -2
- package/lib/keyHandler.js +134 -87
- package/lib/mouse.widget.js +285 -186
- package/lib/node.js +691 -505
- package/lib/nodeElement.js +329 -207
- package/lib/playwright/playwright.test.js +216 -189
- package/lib/playwright/testUtil.js +429 -193
- package/lib/playwright/visualRegression.js +182 -117
- package/lib/saveStateHandler.js +311 -204
- package/lib/scrollHandler.js +293 -199
- package/lib/selectNodeHandler.js +140 -100
- package/lib/simple.widget.js +184 -109
- package/lib/test/global.d.js +3 -0
- package/lib/test/jqTree/create.test.js +44 -40
- package/lib/test/jqTree/events.test.js +185 -138
- package/lib/test/jqTree/keyboard.test.js +216 -199
- package/lib/test/jqTree/loadOnDemand.test.js +233 -157
- package/lib/test/jqTree/methods.test.js +1269 -1019
- package/lib/test/jqTree/options.test.js +467 -398
- package/lib/test/node.test.js +1036 -873
- package/lib/test/nodeUtil.test.js +21 -20
- package/lib/test/support/exampleData.js +35 -23
- package/lib/test/support/jqTreeMatchers.js +72 -54
- package/lib/test/support/matchers.d.js +1 -0
- package/lib/test/support/setupTests.js +9 -3
- package/lib/test/support/testUtil.js +35 -15
- package/lib/test/support/treeStructure.js +41 -32
- package/lib/test/util.test.js +21 -20
- package/lib/tree.jquery.d.js +1 -0
- package/lib/tree.jquery.js +1264 -892
- package/lib/types.js +1 -2
- package/lib/typings.d.js +2 -0
- package/lib/util.js +19 -8
- package/lib/version.js +8 -3
- package/package.json +42 -34
- package/production +4 -4
- package/rollup.config.js +16 -11
- package/src/dataLoader.ts +6 -6
- package/src/dragAndDropHandler.ts +0 -4
- package/src/elementsRenderer.ts +4 -0
- package/src/jqtreeOptions.ts +1 -1
- package/src/mouse.widget.ts +19 -15
- package/src/node.ts +27 -41
- package/src/nodeElement.ts +17 -9
- package/src/playwright/.eslintrc +5 -0
- package/src/playwright/playwright.test.ts +29 -29
- package/src/saveStateHandler.ts +11 -6
- package/src/selectNodeHandler.ts +1 -1
- package/src/simple.widget.ts +1 -1
- package/src/test/.eslintrc +4 -0
- package/src/test/jqTree/create.test.ts +0 -1
- package/src/test/jqTree/events.test.ts +0 -1
- package/src/test/jqTree/keyboard.test.ts +0 -1
- package/src/test/jqTree/loadOnDemand.test.ts +46 -1
- package/src/test/jqTree/methods.test.ts +35 -10
- package/src/test/jqTree/options.test.ts +4 -5
- package/src/test/node.test.ts +2 -2
- package/src/test/support/jqTreeMatchers.ts +8 -9
- package/src/test/support/matchers.d.ts +2 -4
- package/src/test/support/setupTests.ts +2 -1
- package/src/tree.jquery.d.ts +18 -12
- package/src/tree.jquery.ts +25 -21
- package/src/version.ts +1 -1
- package/static/example.postcss +13 -0
- package/static/example_data.js +33 -36
- package/tree.jquery.debug.js +4806 -3325
- package/tree.jquery.debug.js.map +1 -1
- package/tree.jquery.js +2 -2
- package/tree.jquery.js.map +1 -1
- package/tsconfig.json +1 -0
package/lib/selectNodeHandler.js
CHANGED
|
@@ -1,108 +1,148 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
+
|
|
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, descriptor.key, descriptor); } }
|
|
11
|
+
|
|
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
|
+
|
|
14
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
|
|
16
|
+
var SelectNodeHandler = /*#__PURE__*/function () {
|
|
17
|
+
function SelectNodeHandler(treeWidget) {
|
|
18
|
+
_classCallCheck(this, SelectNodeHandler);
|
|
19
|
+
|
|
20
|
+
_defineProperty(this, "treeWidget", void 0);
|
|
21
|
+
|
|
22
|
+
_defineProperty(this, "selectedNodes", void 0);
|
|
23
|
+
|
|
24
|
+
_defineProperty(this, "selectedSingleNode", void 0);
|
|
25
|
+
|
|
26
|
+
this.treeWidget = treeWidget;
|
|
27
|
+
this.selectedNodes = new Set();
|
|
28
|
+
this.clear();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
_createClass(SelectNodeHandler, [{
|
|
32
|
+
key: "getSelectedNode",
|
|
33
|
+
value: function getSelectedNode() {
|
|
34
|
+
var selectedNodes = this.getSelectedNodes();
|
|
35
|
+
|
|
36
|
+
if (selectedNodes.length) {
|
|
37
|
+
return selectedNodes[0];
|
|
38
|
+
} else {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
8
41
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if (parent.isParentOf(this.selectedSingleNode)) {
|
|
37
|
-
return [this.selectedSingleNode];
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
return [];
|
|
41
|
-
}
|
|
42
|
+
}, {
|
|
43
|
+
key: "getSelectedNodes",
|
|
44
|
+
value: function getSelectedNodes() {
|
|
45
|
+
var _this = this;
|
|
46
|
+
|
|
47
|
+
if (this.selectedSingleNode) {
|
|
48
|
+
return [this.selectedSingleNode];
|
|
49
|
+
} else {
|
|
50
|
+
var selectedNodes = [];
|
|
51
|
+
this.selectedNodes.forEach(function (id) {
|
|
52
|
+
var node = _this.treeWidget.getNodeById(id);
|
|
53
|
+
|
|
54
|
+
if (node) {
|
|
55
|
+
selectedNodes.push(node);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
return selectedNodes;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}, {
|
|
62
|
+
key: "getSelectedNodesUnder",
|
|
63
|
+
value: function getSelectedNodesUnder(parent) {
|
|
64
|
+
if (this.selectedSingleNode) {
|
|
65
|
+
if (parent.isParentOf(this.selectedSingleNode)) {
|
|
66
|
+
return [this.selectedSingleNode];
|
|
67
|
+
} else {
|
|
68
|
+
return [];
|
|
42
69
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
70
|
+
} else {
|
|
71
|
+
var selectedNodes = [];
|
|
72
|
+
|
|
73
|
+
for (var id in this.selectedNodes) {
|
|
74
|
+
if (Object.prototype.hasOwnProperty.call(this.selectedNodes, id)) {
|
|
75
|
+
var node = this.treeWidget.getNodeById(id);
|
|
76
|
+
|
|
77
|
+
if (node && parent.isParentOf(node)) {
|
|
78
|
+
selectedNodes.push(node);
|
|
52
79
|
}
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
SelectNodeHandler.prototype.isNodeSelected = function (node) {
|
|
57
|
-
if (node.id != null) {
|
|
58
|
-
return this.selectedNodes.has(node.id);
|
|
59
|
-
}
|
|
60
|
-
else if (this.selectedSingleNode) {
|
|
61
|
-
return this.selectedSingleNode.element === node.element;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
return false;
|
|
80
|
+
}
|
|
65
81
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
82
|
+
|
|
83
|
+
return selectedNodes;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "isNodeSelected",
|
|
88
|
+
value: function isNodeSelected(node) {
|
|
89
|
+
if (node.id != null) {
|
|
90
|
+
return this.selectedNodes.has(node.id);
|
|
91
|
+
} else if (this.selectedSingleNode) {
|
|
92
|
+
return this.selectedSingleNode.element === node.element;
|
|
93
|
+
} else {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}, {
|
|
98
|
+
key: "clear",
|
|
99
|
+
value: function clear() {
|
|
100
|
+
this.selectedNodes.clear();
|
|
101
|
+
this.selectedSingleNode = null;
|
|
102
|
+
}
|
|
103
|
+
}, {
|
|
104
|
+
key: "removeFromSelection",
|
|
105
|
+
value: function removeFromSelection(node) {
|
|
106
|
+
var _this2 = this;
|
|
107
|
+
|
|
108
|
+
var includeChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
109
|
+
|
|
110
|
+
if (node.id == null) {
|
|
111
|
+
if (this.selectedSingleNode && node.element === this.selectedSingleNode.element) {
|
|
112
|
+
this.selectedSingleNode = null;
|
|
79
113
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return true;
|
|
88
|
-
});
|
|
114
|
+
} else {
|
|
115
|
+
this.selectedNodes["delete"](node.id);
|
|
116
|
+
|
|
117
|
+
if (includeChildren) {
|
|
118
|
+
node.iterate(function () {
|
|
119
|
+
if (node.id != null) {
|
|
120
|
+
_this2.selectedNodes["delete"](node.id);
|
|
89
121
|
}
|
|
122
|
+
|
|
123
|
+
return true;
|
|
124
|
+
});
|
|
90
125
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
key: "addToSelection",
|
|
130
|
+
value: function addToSelection(node) {
|
|
131
|
+
if (node.id != null) {
|
|
132
|
+
this.selectedNodes.add(node.id);
|
|
133
|
+
} else {
|
|
134
|
+
this.selectedSingleNode = node;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}, {
|
|
138
|
+
key: "isFocusOnTree",
|
|
139
|
+
value: function isFocusOnTree() {
|
|
140
|
+
var activeElement = document.activeElement;
|
|
141
|
+
return Boolean(activeElement && activeElement.tagName === "SPAN" && this.treeWidget._containsElement(activeElement));
|
|
142
|
+
}
|
|
143
|
+
}]);
|
|
144
|
+
|
|
145
|
+
return SelectNodeHandler;
|
|
146
|
+
}();
|
|
147
|
+
|
|
148
|
+
exports["default"] = SelectNodeHandler;
|
package/lib/simple.widget.js
CHANGED
|
@@ -1,117 +1,192 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return result;
|
|
67
|
-
};
|
|
68
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
69
|
-
jQuery.fn[widgetName] = function (argument1) {
|
|
70
|
-
var args = [];
|
|
71
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
72
|
-
args[_i - 1] = arguments[_i];
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
+
|
|
10
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
11
|
+
|
|
12
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
13
|
+
|
|
14
|
+
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, descriptor.key, descriptor); } }
|
|
15
|
+
|
|
16
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
17
|
+
|
|
18
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
|
+
|
|
20
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
21
|
+
|
|
22
|
+
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; } } }; }
|
|
23
|
+
|
|
24
|
+
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); }
|
|
25
|
+
|
|
26
|
+
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; }
|
|
27
|
+
|
|
28
|
+
var _register = function register(widgetClass, widgetName) {
|
|
29
|
+
var getDataKey = function getDataKey() {
|
|
30
|
+
return "simple_widget_".concat(widgetName);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var getWidgetData = function getWidgetData(el, dataKey) {
|
|
34
|
+
var widget = jQuery.data(el, dataKey);
|
|
35
|
+
|
|
36
|
+
if (widget && widget instanceof SimpleWidget) {
|
|
37
|
+
return widget;
|
|
38
|
+
} else {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
var createWidget = function createWidget($el, options) {
|
|
44
|
+
var dataKey = getDataKey();
|
|
45
|
+
|
|
46
|
+
var _iterator = _createForOfIteratorHelper($el.get()),
|
|
47
|
+
_step;
|
|
48
|
+
|
|
49
|
+
try {
|
|
50
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
51
|
+
var el = _step.value;
|
|
52
|
+
var existingWidget = getWidgetData(el, dataKey);
|
|
53
|
+
|
|
54
|
+
if (!existingWidget) {
|
|
55
|
+
var simpleWidgetClass = widgetClass;
|
|
56
|
+
var widget = new simpleWidgetClass(el, options);
|
|
57
|
+
|
|
58
|
+
if (!jQuery.data(el, dataKey)) {
|
|
59
|
+
jQuery.data(el, dataKey, widget);
|
|
60
|
+
} // Call init after setting data, so we can call methods
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
widget.init();
|
|
73
64
|
}
|
|
74
|
-
|
|
75
|
-
|
|
65
|
+
}
|
|
66
|
+
} catch (err) {
|
|
67
|
+
_iterator.e(err);
|
|
68
|
+
} finally {
|
|
69
|
+
_iterator.f();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return $el;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var destroyWidget = function destroyWidget($el) {
|
|
76
|
+
var dataKey = getDataKey();
|
|
77
|
+
|
|
78
|
+
var _iterator2 = _createForOfIteratorHelper($el.get()),
|
|
79
|
+
_step2;
|
|
80
|
+
|
|
81
|
+
try {
|
|
82
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
83
|
+
var el = _step2.value;
|
|
84
|
+
var widget = getWidgetData(el, dataKey);
|
|
85
|
+
|
|
86
|
+
if (widget) {
|
|
87
|
+
widget.destroy();
|
|
76
88
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
|
|
90
|
+
jQuery.removeData(el, dataKey);
|
|
91
|
+
}
|
|
92
|
+
} catch (err) {
|
|
93
|
+
_iterator2.e(err);
|
|
94
|
+
} finally {
|
|
95
|
+
_iterator2.f();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var callFunction = function callFunction($el, functionName, args) {
|
|
100
|
+
var result = null;
|
|
101
|
+
|
|
102
|
+
var _iterator3 = _createForOfIteratorHelper($el.get()),
|
|
103
|
+
_step3;
|
|
104
|
+
|
|
105
|
+
try {
|
|
106
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
107
|
+
var el = _step3.value;
|
|
108
|
+
var widget = jQuery.data(el, getDataKey());
|
|
109
|
+
|
|
110
|
+
if (widget && widget instanceof SimpleWidget) {
|
|
111
|
+
var simpleWidget = widget;
|
|
112
|
+
var widgetFunction = simpleWidget[functionName];
|
|
113
|
+
|
|
114
|
+
if (widgetFunction && typeof widgetFunction === "function") {
|
|
115
|
+
result = widgetFunction.apply(widget, args);
|
|
116
|
+
}
|
|
80
117
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
118
|
+
}
|
|
119
|
+
} catch (err) {
|
|
120
|
+
_iterator3.e(err);
|
|
121
|
+
} finally {
|
|
122
|
+
_iterator3.f();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return result;
|
|
126
|
+
}; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
jQuery.fn[widgetName] = function (argument1) {
|
|
130
|
+
if (!argument1) {
|
|
131
|
+
return createWidget(this, null);
|
|
132
|
+
} else if (_typeof(argument1) === "object") {
|
|
133
|
+
var options = argument1;
|
|
134
|
+
return createWidget(this, options);
|
|
135
|
+
} else if (typeof argument1 === "string" && argument1[0] !== "_") {
|
|
136
|
+
var functionName = argument1;
|
|
137
|
+
|
|
138
|
+
if (functionName === "destroy") {
|
|
139
|
+
return destroyWidget(this);
|
|
140
|
+
} else if (functionName === "get_widget_class") {
|
|
141
|
+
return widgetClass;
|
|
142
|
+
} else {
|
|
143
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
144
|
+
args[_key - 1] = arguments[_key];
|
|
92
145
|
}
|
|
93
|
-
|
|
146
|
+
|
|
147
|
+
return callFunction(this, functionName, args);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
};
|
|
94
151
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
152
|
+
|
|
153
|
+
var SimpleWidget = /*#__PURE__*/function () {
|
|
154
|
+
function SimpleWidget(el, options) {
|
|
155
|
+
_classCallCheck(this, SimpleWidget);
|
|
156
|
+
|
|
157
|
+
_defineProperty(this, "options", void 0);
|
|
158
|
+
|
|
159
|
+
_defineProperty(this, "$el", void 0);
|
|
160
|
+
|
|
161
|
+
this.$el = jQuery(el); // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
162
|
+
|
|
163
|
+
var defaults = this.constructor["defaults"];
|
|
164
|
+
this.options = _objectSpread(_objectSpread({}, defaults), options);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
_createClass(SimpleWidget, [{
|
|
168
|
+
key: "destroy",
|
|
169
|
+
value: function destroy() {
|
|
170
|
+
this.deinit();
|
|
171
|
+
}
|
|
172
|
+
}, {
|
|
173
|
+
key: "init",
|
|
174
|
+
value: function init() {//
|
|
175
|
+
}
|
|
176
|
+
}, {
|
|
177
|
+
key: "deinit",
|
|
178
|
+
value: function deinit() {//
|
|
179
|
+
}
|
|
180
|
+
}], [{
|
|
181
|
+
key: "register",
|
|
182
|
+
value: function register(widgetClass, widgetName) {
|
|
183
|
+
_register(widgetClass, widgetName);
|
|
101
184
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
};
|
|
108
|
-
SimpleWidget.prototype.init = function () {
|
|
109
|
-
//
|
|
110
|
-
};
|
|
111
|
-
SimpleWidget.prototype.deinit = function () {
|
|
112
|
-
//
|
|
113
|
-
};
|
|
114
|
-
SimpleWidget.defaults = {};
|
|
115
|
-
return SimpleWidget;
|
|
116
|
-
}());
|
|
185
|
+
}]);
|
|
186
|
+
|
|
187
|
+
return SimpleWidget;
|
|
188
|
+
}();
|
|
189
|
+
|
|
117
190
|
exports["default"] = SimpleWidget;
|
|
191
|
+
|
|
192
|
+
_defineProperty(SimpleWidget, "defaults", {});
|
|
@@ -1,48 +1,52 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
2
|
+
|
|
3
|
+
var _givens = _interopRequireDefault(require("givens"));
|
|
4
|
+
|
|
5
5
|
require("../../tree.jquery");
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
var _exampleData = _interopRequireDefault(require("../support/exampleData"));
|
|
8
|
+
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
|
|
7
11
|
beforeEach(function () {
|
|
8
|
-
|
|
12
|
+
$("body").append('<div id="tree1"></div>');
|
|
9
13
|
});
|
|
10
14
|
afterEach(function () {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
var $tree = $("#tree1");
|
|
16
|
+
$tree.tree("destroy");
|
|
17
|
+
$tree.remove();
|
|
14
18
|
});
|
|
15
19
|
describe("create with data", function () {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
var given = (0, _givens["default"])();
|
|
21
|
+
given("$tree", function () {
|
|
22
|
+
return $("#tree1");
|
|
23
|
+
});
|
|
24
|
+
beforeEach(function () {
|
|
25
|
+
given.$tree.tree({
|
|
26
|
+
data: _exampleData["default"]
|
|
22
27
|
});
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
});
|
|
28
|
+
});
|
|
29
|
+
it("creates a tree", function () {
|
|
30
|
+
expect(given.$tree).toHaveTreeStructure([expect.objectContaining({
|
|
31
|
+
name: "node1",
|
|
32
|
+
open: false,
|
|
33
|
+
selected: false,
|
|
34
|
+
children: [expect.objectContaining({
|
|
35
|
+
name: "child1"
|
|
36
|
+
}), expect.objectContaining({
|
|
37
|
+
name: "child2"
|
|
38
|
+
})]
|
|
39
|
+
}), expect.objectContaining({
|
|
40
|
+
name: "node2",
|
|
41
|
+
open: false,
|
|
42
|
+
selected: false,
|
|
43
|
+
children: [expect.objectContaining({
|
|
44
|
+
name: "node3",
|
|
45
|
+
open: false,
|
|
46
|
+
children: [expect.objectContaining({
|
|
47
|
+
name: "child3"
|
|
48
|
+
})]
|
|
49
|
+
})]
|
|
50
|
+
})]);
|
|
51
|
+
});
|
|
52
|
+
});
|