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/saveStateHandler.js
CHANGED
|
@@ -1,220 +1,327 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _util = require("./util");
|
|
9
|
+
|
|
10
|
+
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; } } }; }
|
|
11
|
+
|
|
12
|
+
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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
17
|
+
|
|
18
|
+
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); } }
|
|
19
|
+
|
|
20
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
var SaveStateHandler = /*#__PURE__*/function () {
|
|
25
|
+
function SaveStateHandler(treeWidget) {
|
|
26
|
+
_classCallCheck(this, SaveStateHandler);
|
|
27
|
+
|
|
28
|
+
_defineProperty(this, "treeWidget", void 0);
|
|
29
|
+
|
|
30
|
+
_defineProperty(this, "_supportsLocalStorage", void 0);
|
|
31
|
+
|
|
32
|
+
this.treeWidget = treeWidget;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
_createClass(SaveStateHandler, [{
|
|
36
|
+
key: "saveState",
|
|
37
|
+
value: function saveState() {
|
|
38
|
+
var state = JSON.stringify(this.getState());
|
|
39
|
+
|
|
40
|
+
if (this.treeWidget.options.onSetStateFromStorage) {
|
|
41
|
+
this.treeWidget.options.onSetStateFromStorage(state);
|
|
42
|
+
} else if (this.supportsLocalStorage()) {
|
|
43
|
+
localStorage.setItem(this.getKeyName(), state);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "getStateFromStorage",
|
|
48
|
+
value: function getStateFromStorage() {
|
|
49
|
+
var jsonData = this.loadFromStorage();
|
|
50
|
+
|
|
51
|
+
if (jsonData) {
|
|
52
|
+
return this.parseState(jsonData);
|
|
53
|
+
} else {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "getState",
|
|
59
|
+
value: function getState() {
|
|
60
|
+
var _this = this;
|
|
61
|
+
|
|
62
|
+
var getOpenNodeIds = function getOpenNodeIds() {
|
|
63
|
+
var openNodes = [];
|
|
64
|
+
|
|
65
|
+
_this.treeWidget.tree.iterate(function (node) {
|
|
66
|
+
if (node.is_open && node.id && node.hasChildren()) {
|
|
67
|
+
openNodes.push(node.id);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return true;
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
return openNodes;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
var getSelectedNodeIds = function getSelectedNodeIds() {
|
|
77
|
+
var selectedNodeIds = [];
|
|
78
|
+
|
|
79
|
+
_this.treeWidget.getSelectedNodes().forEach(function (node) {
|
|
80
|
+
if (node.id != null) {
|
|
81
|
+
selectedNodeIds.push(node.id);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
return selectedNodeIds;
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
return {
|
|
89
|
+
open_nodes: getOpenNodeIds(),
|
|
90
|
+
selected_node: getSelectedNodeIds()
|
|
91
|
+
};
|
|
7
92
|
}
|
|
8
|
-
SaveStateHandler.prototype.saveState = function () {
|
|
9
|
-
var state = JSON.stringify(this.getState());
|
|
10
|
-
if (this.treeWidget.options.onSetStateFromStorage) {
|
|
11
|
-
this.treeWidget.options.onSetStateFromStorage(state);
|
|
12
|
-
}
|
|
13
|
-
else if (this.supportsLocalStorage()) {
|
|
14
|
-
localStorage.setItem(this.getKeyName(), state);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
SaveStateHandler.prototype.getStateFromStorage = function () {
|
|
18
|
-
var jsonData = this.loadFromStorage();
|
|
19
|
-
if (jsonData) {
|
|
20
|
-
return this.parseState(jsonData);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
SaveStateHandler.prototype.getState = function () {
|
|
27
|
-
var _this = this;
|
|
28
|
-
var getOpenNodeIds = function () {
|
|
29
|
-
var openNodes = [];
|
|
30
|
-
_this.treeWidget.tree.iterate(function (node) {
|
|
31
|
-
if (node.is_open && node.id && node.hasChildren()) {
|
|
32
|
-
openNodes.push(node.id);
|
|
33
|
-
}
|
|
34
|
-
return true;
|
|
35
|
-
});
|
|
36
|
-
return openNodes;
|
|
37
|
-
};
|
|
38
|
-
var getSelectedNodeIds = function () {
|
|
39
|
-
var selectedNodeIds = [];
|
|
40
|
-
_this.treeWidget.getSelectedNodes().forEach(function (node) {
|
|
41
|
-
if (node.id != null) {
|
|
42
|
-
selectedNodeIds.push(node.id);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
return selectedNodeIds;
|
|
46
|
-
};
|
|
47
|
-
return {
|
|
48
|
-
open_nodes: getOpenNodeIds(),
|
|
49
|
-
selected_node: getSelectedNodeIds()
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
93
|
/*
|
|
53
94
|
Set initial state
|
|
54
95
|
Don't handle nodes that are loaded on demand
|
|
55
|
-
|
|
56
|
-
result: must load on demand
|
|
96
|
+
result: must load on demand
|
|
57
97
|
*/
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
mustLoadOnDemand = this.openInitialNodes(state.open_nodes);
|
|
66
|
-
}
|
|
67
|
-
if (state.selected_node) {
|
|
68
|
-
this.resetSelection();
|
|
69
|
-
this.selectInitialNodes(state.selected_node);
|
|
70
|
-
}
|
|
71
|
-
return mustLoadOnDemand;
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
SaveStateHandler.prototype.setInitialStateOnDemand = function (state, cbFinished) {
|
|
75
|
-
if (state) {
|
|
76
|
-
this.doSetInitialStateOnDemand(state.open_nodes, state.selected_node, cbFinished);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
cbFinished();
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
SaveStateHandler.prototype.getNodeIdToBeSelected = function () {
|
|
83
|
-
var state = this.getStateFromStorage();
|
|
84
|
-
if (state && state.selected_node) {
|
|
85
|
-
return state.selected_node[0];
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
SaveStateHandler.prototype.parseState = function (jsonData) {
|
|
92
|
-
var state = JSON.parse(jsonData);
|
|
93
|
-
// Check if selected_node is an int (instead of an array)
|
|
94
|
-
if (state && state.selected_node && util_1.isInt(state.selected_node)) {
|
|
95
|
-
// Convert to array
|
|
96
|
-
state.selected_node = [state.selected_node];
|
|
97
|
-
}
|
|
98
|
-
return state;
|
|
99
|
-
};
|
|
100
|
-
SaveStateHandler.prototype.loadFromStorage = function () {
|
|
101
|
-
if (this.treeWidget.options.onGetStateFromStorage) {
|
|
102
|
-
return this.treeWidget.options.onGetStateFromStorage();
|
|
103
|
-
}
|
|
104
|
-
else if (this.supportsLocalStorage()) {
|
|
105
|
-
return localStorage.getItem(this.getKeyName());
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
return null;
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
SaveStateHandler.prototype.openInitialNodes = function (nodeIds) {
|
|
98
|
+
|
|
99
|
+
}, {
|
|
100
|
+
key: "setInitialState",
|
|
101
|
+
value: function setInitialState(state) {
|
|
102
|
+
if (!state) {
|
|
103
|
+
return false;
|
|
104
|
+
} else {
|
|
112
105
|
var mustLoadOnDemand = false;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
if (node) {
|
|
117
|
-
if (!node.load_on_demand) {
|
|
118
|
-
node.is_open = true;
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
mustLoadOnDemand = true;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
106
|
+
|
|
107
|
+
if (state.open_nodes) {
|
|
108
|
+
mustLoadOnDemand = this.openInitialNodes(state.open_nodes);
|
|
124
109
|
}
|
|
110
|
+
|
|
111
|
+
if (state.selected_node) {
|
|
112
|
+
this.resetSelection();
|
|
113
|
+
this.selectInitialNodes(state.selected_node);
|
|
114
|
+
}
|
|
115
|
+
|
|
125
116
|
return mustLoadOnDemand;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
120
|
+
key: "setInitialStateOnDemand",
|
|
121
|
+
value: function setInitialStateOnDemand(state, cbFinished) {
|
|
122
|
+
if (state) {
|
|
123
|
+
this.doSetInitialStateOnDemand(state.open_nodes, state.selected_node, cbFinished);
|
|
124
|
+
} else {
|
|
125
|
+
cbFinished();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}, {
|
|
129
|
+
key: "getNodeIdToBeSelected",
|
|
130
|
+
value: function getNodeIdToBeSelected() {
|
|
131
|
+
var state = this.getStateFromStorage();
|
|
132
|
+
|
|
133
|
+
if (state && state.selected_node) {
|
|
134
|
+
return state.selected_node[0];
|
|
135
|
+
} else {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
key: "parseState",
|
|
141
|
+
value: function parseState(jsonData) {
|
|
142
|
+
var state = JSON.parse(jsonData); // Check if selected_node is an int (instead of an array)
|
|
143
|
+
|
|
144
|
+
if (state && state.selected_node && (0, _util.isInt)(state.selected_node)) {
|
|
145
|
+
// Convert to array
|
|
146
|
+
state.selected_node = [state.selected_node];
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return state;
|
|
150
|
+
}
|
|
151
|
+
}, {
|
|
152
|
+
key: "loadFromStorage",
|
|
153
|
+
value: function loadFromStorage() {
|
|
154
|
+
if (this.treeWidget.options.onGetStateFromStorage) {
|
|
155
|
+
return this.treeWidget.options.onGetStateFromStorage();
|
|
156
|
+
} else if (this.supportsLocalStorage()) {
|
|
157
|
+
return localStorage.getItem(this.getKeyName());
|
|
158
|
+
} else {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}, {
|
|
163
|
+
key: "openInitialNodes",
|
|
164
|
+
value: function openInitialNodes(nodeIds) {
|
|
165
|
+
var mustLoadOnDemand = false;
|
|
166
|
+
|
|
167
|
+
var _iterator = _createForOfIteratorHelper(nodeIds),
|
|
168
|
+
_step;
|
|
169
|
+
|
|
170
|
+
try {
|
|
171
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
172
|
+
var nodeId = _step.value;
|
|
173
|
+
var node = this.treeWidget.getNodeById(nodeId);
|
|
174
|
+
|
|
175
|
+
if (node) {
|
|
176
|
+
if (!node.load_on_demand) {
|
|
177
|
+
node.is_open = true;
|
|
178
|
+
} else {
|
|
179
|
+
mustLoadOnDemand = true;
|
|
135
180
|
}
|
|
181
|
+
}
|
|
136
182
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
183
|
+
} catch (err) {
|
|
184
|
+
_iterator.e(err);
|
|
185
|
+
} finally {
|
|
186
|
+
_iterator.f();
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return mustLoadOnDemand;
|
|
190
|
+
}
|
|
191
|
+
}, {
|
|
192
|
+
key: "selectInitialNodes",
|
|
193
|
+
value: function selectInitialNodes(nodeIds) {
|
|
194
|
+
var selectCount = 0;
|
|
195
|
+
|
|
196
|
+
var _iterator2 = _createForOfIteratorHelper(nodeIds),
|
|
197
|
+
_step2;
|
|
198
|
+
|
|
199
|
+
try {
|
|
200
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
201
|
+
var nodeId = _step2.value;
|
|
202
|
+
var node = this.treeWidget.getNodeById(nodeId);
|
|
203
|
+
|
|
204
|
+
if (node) {
|
|
205
|
+
selectCount += 1;
|
|
206
|
+
this.treeWidget.selectNodeHandler.addToSelection(node);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
} catch (err) {
|
|
210
|
+
_iterator2.e(err);
|
|
211
|
+
} finally {
|
|
212
|
+
_iterator2.f();
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
return selectCount !== 0;
|
|
216
|
+
}
|
|
217
|
+
}, {
|
|
218
|
+
key: "resetSelection",
|
|
219
|
+
value: function resetSelection() {
|
|
220
|
+
var selectNodeHandler = this.treeWidget.selectNodeHandler;
|
|
221
|
+
var selectedNodes = selectNodeHandler.getSelectedNodes();
|
|
222
|
+
selectedNodes.forEach(function (node) {
|
|
223
|
+
selectNodeHandler.removeFromSelection(node);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}, {
|
|
227
|
+
key: "doSetInitialStateOnDemand",
|
|
228
|
+
value: function doSetInitialStateOnDemand(nodeIdsParam, selectedNodes, cbFinished) {
|
|
229
|
+
var _this2 = this;
|
|
230
|
+
|
|
231
|
+
var loadingCount = 0;
|
|
232
|
+
var nodeIds = nodeIdsParam;
|
|
233
|
+
|
|
234
|
+
var openNodes = function openNodes() {
|
|
235
|
+
var newNodesIds = [];
|
|
236
|
+
|
|
237
|
+
var _iterator3 = _createForOfIteratorHelper(nodeIds),
|
|
238
|
+
_step3;
|
|
239
|
+
|
|
240
|
+
try {
|
|
241
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
242
|
+
var nodeId = _step3.value;
|
|
243
|
+
|
|
244
|
+
var node = _this2.treeWidget.getNodeById(nodeId);
|
|
245
|
+
|
|
246
|
+
if (!node) {
|
|
247
|
+
newNodesIds.push(nodeId);
|
|
248
|
+
} else {
|
|
249
|
+
if (!node.is_loading) {
|
|
250
|
+
if (node.load_on_demand) {
|
|
251
|
+
loadAndOpenNode(node);
|
|
252
|
+
} else {
|
|
253
|
+
_this2.treeWidget._openNode(node, false, null);
|
|
167
254
|
}
|
|
255
|
+
}
|
|
168
256
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
cbFinished();
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
var loadAndOpenNode = function (node) {
|
|
178
|
-
loadingCount += 1;
|
|
179
|
-
_this.treeWidget._openNode(node, false, function () {
|
|
180
|
-
loadingCount -= 1;
|
|
181
|
-
openNodes();
|
|
182
|
-
});
|
|
183
|
-
};
|
|
184
|
-
openNodes();
|
|
185
|
-
};
|
|
186
|
-
SaveStateHandler.prototype.getKeyName = function () {
|
|
187
|
-
if (typeof this.treeWidget.options.saveState === "string") {
|
|
188
|
-
return this.treeWidget.options.saveState;
|
|
257
|
+
}
|
|
258
|
+
} catch (err) {
|
|
259
|
+
_iterator3.e(err);
|
|
260
|
+
} finally {
|
|
261
|
+
_iterator3.f();
|
|
189
262
|
}
|
|
190
|
-
|
|
191
|
-
|
|
263
|
+
|
|
264
|
+
nodeIds = newNodesIds;
|
|
265
|
+
|
|
266
|
+
if (_this2.selectInitialNodes(selectedNodes)) {
|
|
267
|
+
_this2.treeWidget._refreshElements(null);
|
|
192
268
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
269
|
+
|
|
270
|
+
if (loadingCount === 0) {
|
|
271
|
+
cbFinished();
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
var loadAndOpenNode = function loadAndOpenNode(node) {
|
|
276
|
+
loadingCount += 1;
|
|
277
|
+
|
|
278
|
+
_this2.treeWidget._openNode(node, false, function () {
|
|
279
|
+
loadingCount -= 1;
|
|
280
|
+
openNodes();
|
|
281
|
+
});
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
openNodes();
|
|
285
|
+
}
|
|
286
|
+
}, {
|
|
287
|
+
key: "getKeyName",
|
|
288
|
+
value: function getKeyName() {
|
|
289
|
+
if (typeof this.treeWidget.options.saveState === "string") {
|
|
290
|
+
return this.treeWidget.options.saveState;
|
|
291
|
+
} else {
|
|
292
|
+
return "tree";
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}, {
|
|
296
|
+
key: "supportsLocalStorage",
|
|
297
|
+
value: function supportsLocalStorage() {
|
|
298
|
+
var testSupport = function testSupport() {
|
|
299
|
+
// Is local storage supported?
|
|
300
|
+
if (localStorage == null) {
|
|
301
|
+
return false;
|
|
302
|
+
} else {
|
|
303
|
+
// Check if it's possible to store an item. Safari does not allow this in private browsing mode.
|
|
304
|
+
try {
|
|
305
|
+
var key = "_storage_test";
|
|
306
|
+
sessionStorage.setItem(key, "value");
|
|
307
|
+
sessionStorage.removeItem(key);
|
|
308
|
+
} catch (error) {
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
return true;
|
|
215
313
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
314
|
+
};
|
|
315
|
+
|
|
316
|
+
if (this._supportsLocalStorage == null) {
|
|
317
|
+
this._supportsLocalStorage = testSupport();
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
return this._supportsLocalStorage;
|
|
321
|
+
}
|
|
322
|
+
}]);
|
|
323
|
+
|
|
324
|
+
return SaveStateHandler;
|
|
325
|
+
}();
|
|
326
|
+
|
|
327
|
+
exports["default"] = SaveStateHandler;
|