@wavemaker/app-ng-runtime 11.4.1-next.24709 → 11.4.1-next.24710
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.
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +93 -216
- app-ng-runtime/components/basic/tree/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/basic/tree/esm2015/tree.component.js +94 -185
- app-ng-runtime/components/basic/tree/fesm2015/index.js +93 -184
- app-ng-runtime/components/basic/tree/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/basic/tree/index.metadata.json +1 -1
- app-ng-runtime/components/basic/tree/tree.component.d.ts +20 -20
- app-ng-runtime/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, Injector, Attribute, NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { register, PROP_STRING, PROP_ANY, PROP_NUMBER, PROP_BOOLEAN, StylableComponent, styler, APPLY_STYLES_TYPE, getOrderedDataset, getEvaluatedData, provideAsWidgetRef, WmComponentsModule } from '@wm/components/base';
|
|
4
|
-
import { getClonedObject } from '@wm/core';
|
|
4
|
+
import { getClonedObject, $parseEvent } from '@wm/core';
|
|
5
5
|
|
|
6
6
|
const registerProps = () => {
|
|
7
7
|
register('wm-tree', new Map([
|
|
@@ -26,17 +26,17 @@ const registerProps = () => {
|
|
|
26
26
|
const WIDGET_INFO = { widgetType: 'wm-tree', hostClass: 'app-tree' };
|
|
27
27
|
const defaultTreeIconClass = 'plus-minus';
|
|
28
28
|
class TreeComponent extends StylableComponent {
|
|
29
|
-
constructor(inj, bindnodeid) {
|
|
29
|
+
constructor(inj, binddatavalue, bindnodelabel, bindnodeicon, bindnodechildren, bindnodeid) {
|
|
30
30
|
super(inj, WIDGET_INFO);
|
|
31
|
+
this.binddatavalue = binddatavalue;
|
|
32
|
+
this.bindnodelabel = bindnodelabel;
|
|
33
|
+
this.bindnodeicon = bindnodeicon;
|
|
34
|
+
this.bindnodechildren = bindnodechildren;
|
|
31
35
|
this.bindnodeid = bindnodeid;
|
|
32
36
|
this.setting = {
|
|
33
37
|
data: {
|
|
34
38
|
simpleData: {
|
|
35
39
|
enable: false
|
|
36
|
-
},
|
|
37
|
-
key: {
|
|
38
|
-
children: 'children',
|
|
39
|
-
name: 'label'
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
view: {
|
|
@@ -50,45 +50,45 @@ class TreeComponent extends StylableComponent {
|
|
|
50
50
|
callback: {}
|
|
51
51
|
};
|
|
52
52
|
styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);
|
|
53
|
+
this.setting.view['nodeClasses'] = this.setNodeClasses;
|
|
54
|
+
this.setting.callback["onClick"] = this.onClick.bind(this);
|
|
55
|
+
this.setting.callback["onExpand"] = this.onExpand.bind(this);
|
|
56
|
+
this.setting.callback["onCollapse"] = this.onCollapse.bind(this);
|
|
53
57
|
}
|
|
54
58
|
onPropertyChange(key, nv, ov) {
|
|
55
59
|
switch (key) {
|
|
56
60
|
case 'dataset':
|
|
57
61
|
this.nodes = this.getNodes(nv);
|
|
58
|
-
if (this.level > 0) {
|
|
59
|
-
this.expandTree(this.level, this.nodes, 0);
|
|
60
|
-
}
|
|
61
62
|
this.renderTree();
|
|
62
63
|
break;
|
|
63
64
|
case 'levels':
|
|
64
|
-
|
|
65
|
-
this.level = nv;
|
|
66
|
-
}
|
|
65
|
+
this.level = nv;
|
|
67
66
|
this.renderTree();
|
|
68
67
|
break;
|
|
69
|
-
case '
|
|
70
|
-
this.
|
|
68
|
+
case 'nodeicon':
|
|
69
|
+
this.nodeicon = nv;
|
|
71
70
|
this.renderTree();
|
|
72
71
|
break;
|
|
73
72
|
case 'nodelabel':
|
|
74
|
-
this.
|
|
73
|
+
this.nodelabel = nv;
|
|
75
74
|
this.renderTree();
|
|
76
75
|
break;
|
|
77
76
|
case 'nodechildren':
|
|
78
|
-
this.
|
|
77
|
+
this.nodechildren = nv;
|
|
79
78
|
this.renderTree();
|
|
80
79
|
break;
|
|
81
|
-
case '
|
|
82
|
-
this.
|
|
80
|
+
case 'orderby':
|
|
81
|
+
this.orderby = nv;
|
|
83
82
|
this.renderTree();
|
|
84
83
|
break;
|
|
85
|
-
case '
|
|
84
|
+
case 'treeicons':
|
|
85
|
+
this.treeicons = nv;
|
|
86
86
|
this.renderTree();
|
|
87
87
|
break;
|
|
88
88
|
case 'class':
|
|
89
89
|
this.treeClass = nv;
|
|
90
|
+
this.setTreeTemplate(this.treeClass);
|
|
90
91
|
this.renderTree();
|
|
91
|
-
break;
|
|
92
92
|
default:
|
|
93
93
|
super.onPropertyChange(key, nv, ov);
|
|
94
94
|
break;
|
|
@@ -97,9 +97,9 @@ class TreeComponent extends StylableComponent {
|
|
|
97
97
|
// expands the tree nodes if the property is selected.
|
|
98
98
|
expandTree(level, node, childLevel) {
|
|
99
99
|
node.map(childNode => {
|
|
100
|
-
const children =
|
|
101
|
-
if (children &&
|
|
102
|
-
childNode
|
|
100
|
+
const children = childNode.children;
|
|
101
|
+
if (children && childLevel < level) {
|
|
102
|
+
childNode.open = true;
|
|
103
103
|
this.expandTree(level, children, childLevel + 1);
|
|
104
104
|
}
|
|
105
105
|
else {
|
|
@@ -110,14 +110,15 @@ class TreeComponent extends StylableComponent {
|
|
|
110
110
|
}
|
|
111
111
|
// sets the template for the tree based on the property selected.
|
|
112
112
|
setTreeTemplate(value) {
|
|
113
|
-
|
|
113
|
+
const classList = value.split(" ");
|
|
114
|
+
if (classList.includes('Classic')) {
|
|
114
115
|
this.setting.check["enable"] = false;
|
|
115
116
|
}
|
|
116
|
-
else if (
|
|
117
|
+
else if (classList.includes('Checkbox')) {
|
|
117
118
|
this.setting.check["enable"] = true;
|
|
118
119
|
this.setting.check["chkStyle"] = 'checkbox';
|
|
119
120
|
}
|
|
120
|
-
else if (
|
|
121
|
+
else if (classList.includes('Radio')) {
|
|
121
122
|
this.setting.check["enable"] = true;
|
|
122
123
|
this.setting.check["chkStyle"] = 'radio';
|
|
123
124
|
this.setting.check["radioType"] = "all";
|
|
@@ -149,52 +150,10 @@ class TreeComponent extends StylableComponent {
|
|
|
149
150
|
return nodes;
|
|
150
151
|
}
|
|
151
152
|
// adds class to the nodes inorder to add icons to respective node.
|
|
152
|
-
|
|
153
|
+
setNodeClasses(treeId, treeNode) {
|
|
153
154
|
return treeNode.icon ? { add: [`${treeNode.icon}`] } : '';
|
|
154
155
|
}
|
|
155
156
|
;
|
|
156
|
-
// Sets the node label with any icon if bound to
|
|
157
|
-
setNodeData(nodes, depth, level, parentNode, type) {
|
|
158
|
-
if (depth === 0) {
|
|
159
|
-
nodes.map(node => {
|
|
160
|
-
const children = this.getChildren(node);
|
|
161
|
-
if (children) {
|
|
162
|
-
this.setNodeData(children, depth, level, parentNode, type);
|
|
163
|
-
}
|
|
164
|
-
if (node.icon && this.nodelabel == 'icon') {
|
|
165
|
-
node[type] = node.icon;
|
|
166
|
-
}
|
|
167
|
-
else if (node.name && this.nodelabel == 'name') {
|
|
168
|
-
node[type] = node.name;
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
nodes.map(node => {
|
|
177
|
-
const children = this.getChildren(node);
|
|
178
|
-
if (children && level > 1) {
|
|
179
|
-
if (depth === level) {
|
|
180
|
-
parentNode = node;
|
|
181
|
-
}
|
|
182
|
-
this.setNodeData(children, depth, level - 1, parentNode, type);
|
|
183
|
-
}
|
|
184
|
-
if (level === 1 && (type === "name" ? this.nodelabel.includes("label") || this.nodelabel.includes("name") : this.nodeicon.includes("label") || this.nodeicon.includes("name"))) {
|
|
185
|
-
parentNode[type] = node.name || node.label;
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
else if (level === 1 && (node.icon !== undefined) && (type === "name" ? this.nodelabel.includes("icon") : this.nodeicon.includes("icon"))) {
|
|
189
|
-
parentNode[type] = node.icon;
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
157
|
// adds tree icons to the nodes on load of the tree
|
|
199
158
|
changeTreeIcons(nv) {
|
|
200
159
|
let eleClose = $('ul[name="' + this.name + '"] li span.button.switch');
|
|
@@ -207,19 +166,20 @@ class TreeComponent extends StylableComponent {
|
|
|
207
166
|
});
|
|
208
167
|
});
|
|
209
168
|
}
|
|
169
|
+
// Returns the node path
|
|
210
170
|
getPath(treeNode, path) {
|
|
211
171
|
if (treeNode.getParentNode() === null) {
|
|
212
|
-
path = "/" + treeNode
|
|
172
|
+
path = "/" + treeNode.name + path;
|
|
213
173
|
}
|
|
214
174
|
else {
|
|
215
|
-
path = this.getPath(treeNode.getParentNode(), path) + "/" + treeNode
|
|
175
|
+
path = this.getPath(treeNode.getParentNode(), path) + "/" + treeNode.name;
|
|
216
176
|
}
|
|
217
177
|
return path;
|
|
218
178
|
}
|
|
219
179
|
// binds the click event to all nodes to open the child nodes
|
|
220
180
|
onClick(event, treeId, treeNode, clickFlag) {
|
|
221
181
|
if (this.nodeclick === "expand") {
|
|
222
|
-
var nodes = this.
|
|
182
|
+
var nodes = this.zTree.getSelectedNodes();
|
|
223
183
|
if (nodes.length > 0) {
|
|
224
184
|
this.expandNode(nodes[0], !nodes[0].open, true);
|
|
225
185
|
}
|
|
@@ -232,18 +192,18 @@ class TreeComponent extends StylableComponent {
|
|
|
232
192
|
let path = this.getPath(treeNode, "");
|
|
233
193
|
const eventParams = {
|
|
234
194
|
'$event': event,
|
|
235
|
-
"$item": treeNode,
|
|
195
|
+
"$item": getClonedObject(treeNode.data),
|
|
236
196
|
"$path": path
|
|
237
197
|
};
|
|
238
198
|
this.invokeEventCallback('expand', eventParams);
|
|
239
|
-
const children =
|
|
199
|
+
const children = treeNode.children;
|
|
240
200
|
children === null || children === void 0 ? void 0 : children.map((el) => {
|
|
241
201
|
if (el.isParent) {
|
|
242
202
|
let ele = $(`#${el.tId}_switch`);
|
|
243
|
-
$(ele).addClass(self.
|
|
203
|
+
$(ele).addClass(self.treeicons || defaultTreeIconClass);
|
|
244
204
|
$(ele).on("click", function (e) {
|
|
245
205
|
setTimeout(() => {
|
|
246
|
-
$(ele).addClass(self.
|
|
206
|
+
$(ele).addClass(self.treeicons || defaultTreeIconClass);
|
|
247
207
|
}, 0);
|
|
248
208
|
});
|
|
249
209
|
}
|
|
@@ -253,119 +213,54 @@ class TreeComponent extends StylableComponent {
|
|
|
253
213
|
let path = this.getPath(treeNode, "");
|
|
254
214
|
const eventParams = {
|
|
255
215
|
'$event': event,
|
|
256
|
-
"$item": treeNode,
|
|
216
|
+
"$item": getClonedObject(treeNode.data),
|
|
257
217
|
"$path": path
|
|
258
218
|
};
|
|
259
219
|
this.invokeEventCallback('collapse', eventParams);
|
|
260
220
|
}
|
|
261
|
-
getChildren(node) {
|
|
262
|
-
return node[this.childrenKey];
|
|
263
|
-
}
|
|
264
|
-
get childrenKey() {
|
|
265
|
-
if (!this.nodechildren) {
|
|
266
|
-
return 'children';
|
|
267
|
-
}
|
|
268
|
-
const depth = this.countDepth(this.nodechildren);
|
|
269
|
-
return depth ? this.nodechildren.split('.').pop() : this.nodechildren;
|
|
270
|
-
}
|
|
271
|
-
get labelKey() {
|
|
272
|
-
if (!this.nodelabel) {
|
|
273
|
-
return 'label';
|
|
274
|
-
}
|
|
275
|
-
const depth = this.countDepth(this.nodelabel);
|
|
276
|
-
return depth ? this.nodelabel.split('.').pop() : this.nodelabel;
|
|
277
|
-
}
|
|
278
|
-
get iconKey() {
|
|
279
|
-
if (!this.nodeicon) {
|
|
280
|
-
return 'icon';
|
|
281
|
-
}
|
|
282
|
-
const depth = this.countDepth(this.nodeicon);
|
|
283
|
-
return depth ? this.nodeicon.split('.').pop() : this.nodeicon;
|
|
284
|
-
}
|
|
285
|
-
get treeObj() {
|
|
286
|
-
return $.fn.zTree.getZTreeObj(`${this.name}`);
|
|
287
|
-
}
|
|
288
221
|
// function to support backward compatibility of objects
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
const
|
|
293
|
-
|
|
294
|
-
|
|
222
|
+
constructZTreeData(data, zTreeData) {
|
|
223
|
+
data.forEach(node => {
|
|
224
|
+
const zNode = {};
|
|
225
|
+
const name = getEvaluatedData(node, { field: this.nodelabel, bindExpression: this.bindnodelabel }, this.viewParent) || node.label;
|
|
226
|
+
const icon = getEvaluatedData(node, { field: this.nodeicon, bindExpression: this.bindnodeicon }, this.viewParent) || node.icon;
|
|
227
|
+
const nodeId = getEvaluatedData(node, { field: this.nodeid, bindExpression: this.bindnodeid }, this.viewParent);
|
|
228
|
+
const children = getEvaluatedData(node, { field: this.nodechildren, bindExpression: this.bindnodechildren }, this.viewParent) || node.children;
|
|
229
|
+
zNode['name'] = name;
|
|
230
|
+
zNode['icon'] = icon;
|
|
231
|
+
zNode['nodeId'] = nodeId;
|
|
232
|
+
zNode['data'] = getClonedObject(node);
|
|
233
|
+
if (_.isArray(children) && children.length) {
|
|
234
|
+
zNode['children'] = [];
|
|
235
|
+
this.constructZTreeData(children, zNode['children']);
|
|
295
236
|
}
|
|
237
|
+
zTreeData.push(zNode);
|
|
296
238
|
});
|
|
297
239
|
}
|
|
298
|
-
// sets the node children property to parent nodes
|
|
299
|
-
setNodeChildren(nodes, depth, level, parentNode) {
|
|
300
|
-
if (depth <= 0) {
|
|
301
|
-
return nodes;
|
|
302
|
-
}
|
|
303
|
-
for (let i = 0; i < nodes.length; i++) {
|
|
304
|
-
const node = nodes[i];
|
|
305
|
-
if (depth === level) {
|
|
306
|
-
parentNode = nodes[i];
|
|
307
|
-
}
|
|
308
|
-
const children = this.getChildren(node);
|
|
309
|
-
if (children === null || children === void 0 ? void 0 : children.length) {
|
|
310
|
-
if (level === 1) {
|
|
311
|
-
parentNode[this.childrenKey] = children.map(child => ({ [this.labelKey]: child[this.labelKey], [this.childrenKey]: this.getChildren(child), icon: child[this.iconKey] }));
|
|
312
|
-
return;
|
|
313
|
-
}
|
|
314
|
-
else {
|
|
315
|
-
this.setNodeChildren(children, depth, level - 1, parentNode);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
return nodes;
|
|
320
|
-
}
|
|
321
|
-
countDepth(str) {
|
|
322
|
-
const regex = /\[.*?\]/g;
|
|
323
|
-
let matches = str.match(regex);
|
|
324
|
-
let count = 1;
|
|
325
|
-
if (matches === null)
|
|
326
|
-
return count;
|
|
327
|
-
for (let match of matches) {
|
|
328
|
-
count++;
|
|
329
|
-
}
|
|
330
|
-
return count;
|
|
331
|
-
}
|
|
332
240
|
// Renders the tree on to the dom
|
|
333
241
|
renderTree() {
|
|
334
|
-
|
|
242
|
+
var _a;
|
|
243
|
+
this.zTreeNodes = [];
|
|
244
|
+
if ((_a = this.nodes) === null || _a === void 0 ? void 0 : _a.length) {
|
|
335
245
|
this.nativeElement.setAttribute('id', this.name);
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
this.setTreeTemplate(this.treeClass);
|
|
340
|
-
if (this.nodelabel) {
|
|
341
|
-
let depth = 0;
|
|
342
|
-
if (this.nodelabel.includes("children")) {
|
|
343
|
-
depth = this.countDepth(this.nodelabel);
|
|
344
|
-
}
|
|
345
|
-
this.setNodeData(this.nodes, depth, depth, null, "name");
|
|
346
|
-
}
|
|
347
|
-
if (this.nodeicon) {
|
|
348
|
-
let depth = 0;
|
|
349
|
-
if (this.nodeicon.includes("children")) {
|
|
350
|
-
depth = this.countDepth(this.nodeicon);
|
|
351
|
-
}
|
|
352
|
-
this.setNodeData(this.nodes, depth, depth, null, "icon");
|
|
353
|
-
}
|
|
354
|
-
if (this.nodechildren) {
|
|
355
|
-
let depth = this.countDepth(this.nodechildren);
|
|
356
|
-
if (depth > 1) {
|
|
357
|
-
this.nodes = this.setNodeChildren(this.nodes, depth, depth, null);
|
|
358
|
-
}
|
|
246
|
+
this.constructZTreeData(this.nodes, this.zTreeNodes);
|
|
247
|
+
if (this.level > 0) {
|
|
248
|
+
this.expandTree(this.level, this.zTreeNodes, 0);
|
|
359
249
|
}
|
|
360
250
|
}
|
|
361
|
-
this.
|
|
362
|
-
this.
|
|
363
|
-
this.setting.callback["onExpand"] = this.onExpand.bind(this);
|
|
364
|
-
this.setting.callback["onCollapse"] = this.onCollapse.bind(this);
|
|
365
|
-
let zTree = $.fn.zTree.init($('ul[name="' + this.name + '"]'), this.setting, this.nodes);
|
|
366
|
-
$.fn.zTreeKeyboardNavigation(zTree, $('ul[name="' + this.name + '"]'), null, this.treeicon || defaultTreeIconClass);
|
|
251
|
+
this.zTree = $.fn.zTree.init($('ul[name="' + this.name + '"]'), this.setting, this.zTreeNodes);
|
|
252
|
+
$.fn.zTreeKeyboardNavigation(this.zTree, $('ul[name="' + this.name + '"]'), null, this.treeicons || defaultTreeIconClass);
|
|
367
253
|
this.postRenderTree();
|
|
368
254
|
}
|
|
255
|
+
setChecked(zNode, node) {
|
|
256
|
+
node.checked = zNode.checked;
|
|
257
|
+
const children = getEvaluatedData(node, { field: this.nodechildren, bindExpression: this.bindnodechildren }, this.viewParent) || node.children;
|
|
258
|
+
if (children === null || children === void 0 ? void 0 : children.length) {
|
|
259
|
+
children.forEach((node, index) => {
|
|
260
|
+
this.setChecked(zNode.children[index], node);
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
}
|
|
369
264
|
selectNode(event, node) {
|
|
370
265
|
const deSelectElm = $(`.app-tree[name=${this.name}] li[treenode].selected`);
|
|
371
266
|
deSelectElm.removeClass('selected');
|
|
@@ -374,26 +269,35 @@ class TreeComponent extends StylableComponent {
|
|
|
374
269
|
}
|
|
375
270
|
const selectElm = $(`#${node.tId}:has(.curSelectedNode)`);
|
|
376
271
|
selectElm.addClass('selected');
|
|
272
|
+
const classList = (this.treeClass || "").split(" ");
|
|
273
|
+
if (classList.includes('Checkbox') || classList.includes('Radio')) {
|
|
274
|
+
this.setChecked(node, node.data);
|
|
275
|
+
}
|
|
377
276
|
const path = this.getPath(node, "");
|
|
378
|
-
this.selecteditem = getClonedObject(node) || {};
|
|
277
|
+
this.selecteditem = getClonedObject(node.data) || {};
|
|
379
278
|
this.selecteditem.path = path;
|
|
380
279
|
const eventParams = {
|
|
381
280
|
'$event': event,
|
|
382
|
-
"$item": node,
|
|
281
|
+
"$item": getClonedObject(node.data),
|
|
383
282
|
"$path": path
|
|
384
283
|
};
|
|
284
|
+
//[Todo-CSP]: this data will be dynamic, can not generate function upfront
|
|
285
|
+
const nodeAction = node.data[this.nodeaction || 'action'];
|
|
286
|
+
if (nodeAction) {
|
|
287
|
+
$parseEvent(nodeAction)(this);
|
|
288
|
+
}
|
|
385
289
|
this.invokeEventCallback('select', eventParams);
|
|
386
290
|
}
|
|
387
291
|
expandNode(node, expand, eventFlag) {
|
|
388
|
-
this.
|
|
292
|
+
this.zTree.expandNode(node, expand, false, false, eventFlag);
|
|
389
293
|
const el = $(`#${node.tId}_switch`);
|
|
390
|
-
$(el).addClass(this.
|
|
294
|
+
$(el).addClass(this.treeicons || defaultTreeIconClass);
|
|
391
295
|
}
|
|
392
296
|
postRenderTree() {
|
|
393
297
|
setTimeout(() => {
|
|
394
|
-
this.changeTreeIcons(this.
|
|
298
|
+
this.changeTreeIcons(this.treeicons || defaultTreeIconClass);
|
|
395
299
|
if (this.datavalue && !this.selecteditem) {
|
|
396
|
-
const nodes = this.
|
|
300
|
+
const nodes = this.zTree.getNodes();
|
|
397
301
|
let node;
|
|
398
302
|
if (nodes.length) {
|
|
399
303
|
if (this.datavalue === 'FirstNode') {
|
|
@@ -404,7 +308,7 @@ class TreeComponent extends StylableComponent {
|
|
|
404
308
|
}
|
|
405
309
|
}
|
|
406
310
|
if (node) {
|
|
407
|
-
this.
|
|
311
|
+
this.zTree.selectNode(node, false);
|
|
408
312
|
this.selectNode(undefined, node);
|
|
409
313
|
this.expandNode(node, true, false);
|
|
410
314
|
}
|
|
@@ -412,10 +316,11 @@ class TreeComponent extends StylableComponent {
|
|
|
412
316
|
}, 200);
|
|
413
317
|
}
|
|
414
318
|
selectById(value) {
|
|
415
|
-
|
|
416
|
-
const
|
|
319
|
+
var _a;
|
|
320
|
+
const simpleNodes = (_a = this.zTree) === null || _a === void 0 ? void 0 : _a.transformToArray(this.zTree.getNodes());
|
|
321
|
+
const node = simpleNodes === null || simpleNodes === void 0 ? void 0 : simpleNodes.find(node => value === node.nodeId);
|
|
417
322
|
if (node) {
|
|
418
|
-
this.
|
|
323
|
+
this.zTree.selectNode(node, false);
|
|
419
324
|
this.selectNode(undefined, node);
|
|
420
325
|
}
|
|
421
326
|
}
|
|
@@ -437,6 +342,10 @@ TreeComponent.decorators = [
|
|
|
437
342
|
];
|
|
438
343
|
TreeComponent.ctorParameters = () => [
|
|
439
344
|
{ type: Injector },
|
|
345
|
+
{ type: undefined, decorators: [{ type: Attribute, args: ['datavalue.bind',] }] },
|
|
346
|
+
{ type: undefined, decorators: [{ type: Attribute, args: ['nodelabel.bind',] }] },
|
|
347
|
+
{ type: undefined, decorators: [{ type: Attribute, args: ['nodeicon.bind',] }] },
|
|
348
|
+
{ type: undefined, decorators: [{ type: Attribute, args: ['nodechildren.bind',] }] },
|
|
440
349
|
{ type: undefined, decorators: [{ type: Attribute, args: ['nodeid.bind',] }] }
|
|
441
350
|
];
|
|
442
351
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../projects/components/widgets/basic/tree/src/tree.props.ts","../../../../../projects/components/widgets/basic/tree/src/tree.component.ts","../../../../../projects/components/widgets/basic/tree/src/tree.module.ts","../../../../../projects/components/widgets/basic/tree/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-tree',\n new Map(\n [\n ['class', PROP_STRING],\n ['dataset', {value: 'node1, node2, node3', ...PROP_ANY}],\n ['datavalue', PROP_STRING],\n ['levels', {value: 0, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['nodeaction', PROP_STRING],\n ['nodechildren', PROP_STRING],\n ['nodeclick', {value: 'none', ...PROP_STRING}],\n ['nodeicon', PROP_STRING],\n ['nodeid', PROP_STRING],\n ['nodelabel', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['treeicons', PROP_STRING]\n ]\n )\n );\n};\n","import { Attribute, Component, Injector, OnInit, ViewEncapsulation } from '@angular/core';\nimport { APPLY_STYLES_TYPE, getEvaluatedData, getOrderedDataset, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './tree.props';\nimport { getClonedObject } from \"@wm/core\";\n\ndeclare const _, $;\n\nconst WIDGET_INFO = {widgetType: 'wm-tree', hostClass: 'app-tree'};\nconst defaultTreeIconClass = 'plus-minus';\n\n@Component({\n selector: 'ul[wmTree]',\n templateUrl: './tree.component.html',\n providers: [\n provideAsWidgetRef(TreeComponent)\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class TreeComponent extends StylableComponent implements OnInit {\n static initializeProps = registerProps();\n\n public selecteditem: any;\n public nodeid: string;\n private nodes;\n private level;\n private orderby;\n private nodelabel;\n private treeicon;\n private nodechildren;\n private nodeclick;\n private treeClass;\n private nodeicon;\n private name;\n private datavalue;\n\n private setting = {\n data: {\n simpleData: {\n enable: false\n },\n key: {\n children: 'children',\n name: 'label'\n }\n },\n view: {\n dblClickExpand: false,\n fontCss: {\n 'font-awesome': true\n },\n switchIcon: {\n\n },\n },\n check: {\n },\n callback: {\n }\n };\n\n constructor(\n inj: Injector,\n @Attribute('nodeid.bind') private bindnodeid\n ) {\n super(inj, WIDGET_INFO);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n }\n\n public onPropertyChange(key: string, nv: any, ov?: any): void {\n switch (key) {\n case 'dataset':\n this.nodes = this.getNodes(nv);\n if(this.level > 0) {\n this.expandTree(this.level, this.nodes, 0);\n }\n this.renderTree();\n break;\n case 'levels':\n if (nv > 0) {\n this.level = nv;\n }\n this.renderTree();\n break;\n case 'treeicons':\n this.treeicon = nv;\n this.renderTree();\n break;\n case 'nodelabel':\n this.setting.data.key.name = this.labelKey;\n this.renderTree();\n break;\n case 'nodechildren':\n this.setting.data.key.children = this.childrenKey;\n this.renderTree();\n break;\n case 'nodeicon':\n this.nodeicon = this.iconKey;\n this.renderTree();\n break;\n case 'orderby':\n this.renderTree();\n break;\n case 'class':\n this.treeClass = nv;\n this.renderTree();\n break;\n default:\n super.onPropertyChange(key, nv, ov);\n break;\n }\n }\n\n // expands the tree nodes if the property is selected.\n private expandTree(level, node, childLevel) {\n node.map(childNode => {\n const children = this.getChildren(childNode);\n if (children && !(\"open\" in childNode) && childLevel < level) {\n childNode[\"open\"] = true;\n this.expandTree(level, children, childLevel+1);\n } else {\n childLevel = 0;\n return;\n }\n });\n }\n\n // sets the template for the tree based on the property selected.\n private setTreeTemplate(value) {\n if (value === 'Classic') {\n this.setting.check[\"enable\"] = false;\n } else if(value === 'Checkbox') {\n this.setting.check[\"enable\"] = true;\n this.setting.check[\"chkStyle\"] = 'checkbox';\n } else if (value === 'Radio') {\n this.setting.check[\"enable\"] = true;\n this.setting.check[\"chkStyle\"] = 'radio';\n this.setting.check[\"radioType\"] = \"all\";\n }\n }\n\n // extracts nodes from string format\n private getNodesFromString(value) {\n return value.split(',').map((item) => {\n return {\n 'label': item && item.trim()\n };\n });\n }\n\n // gets the nodes and orders the nodes if required\n private getNodes(newVal) {\n let nodes;\n if (_.isArray(newVal)) {\n nodes = getOrderedDataset(newVal, this.orderby);\n } else if (_.isObject(newVal)) {\n nodes = [newVal];\n } else if (_.isString(newVal) && !_.isEmpty(newVal)) {\n newVal = newVal.trim();\n if (newVal) {\n nodes = this.getNodesFromString(newVal);\n }\n }\n return nodes;\n }\n\n\n // adds class to the nodes inorder to add icons to respective node.\n private setNodeclasses(treeId, treeNode) {\n return treeNode.icon ? {add: [`${treeNode.icon}`]} : '';\n };\n\n // Sets the node label with any icon if bound to\n private setNodeData(nodes, depth, level, parentNode, type) {\n if(depth === 0) {\n nodes.map(node => {\n const children = this.getChildren(node);\n if (children) {\n this.setNodeData(children, depth, level , parentNode, type);\n }\n if (node.icon && this.nodelabel == 'icon') {\n node[type] = node.icon;\n } else if(node.name && this.nodelabel == 'name') {\n node[type] = node.name;\n } else {\n return;\n }\n })\n } else {\n nodes.map(node => {\n const children = this.getChildren(node);\n if (children && level > 1) {\n if(depth === level) {\n parentNode = node;\n }\n this.setNodeData(children, depth, level - 1, parentNode, type);\n }\n if (level === 1 && (type === \"name\" ? this.nodelabel.includes(\"label\") || this.nodelabel.includes(\"name\"): this.nodeicon.includes(\"label\") || this.nodeicon.includes(\"name\") )) {\n parentNode[type] = node.name || node.label;\n return\n } else if(level === 1 && (node.icon !== undefined) && (type === \"name\" ? this.nodelabel.includes(\"icon\") : this.nodeicon.includes(\"icon\"))) {\n parentNode[type] = node.icon;\n return;\n } else {\n return;\n }\n })\n }\n }\n\n // adds tree icons to the nodes on load of the tree\n private changeTreeIcons(nv) {\n let eleClose = $('ul[name=\"' + this.name + '\"] li span.button.switch');\n\n $(eleClose).map((idx, ele) => {\n $(ele).addClass(nv);\n $(ele).on(\"click\",function(e) {\n setTimeout(() => {\n $(ele).addClass(nv);\n }, 0);\n });\n })\n }\n\n private getPath(treeNode, path) {\n if(treeNode.getParentNode() === null) {\n path = \"/\" + treeNode[this.labelKey] + path;\n } else {\n path = this.getPath(treeNode.getParentNode(), path) + \"/\" + treeNode[this.labelKey];\n }\n return path;\n }\n\n // binds the click event to all nodes to open the child nodes\n public onClick(event, treeId, treeNode, clickFlag) {\n if(this.nodeclick === \"expand\") {\n var nodes = this.treeObj.getSelectedNodes();\n if (nodes.length>0) {\n this.expandNode(nodes[0], !nodes[0].open, true);\n }\n }\n this.selectNode(event, treeNode);\n }\n\n // Adds tree icon classes to child nodes when expanded\n public onExpand(event, treeId, treeNode) {\n let self = this;\n let path = this.getPath(treeNode, \"\");\n\n const eventParams = {\n '$event' : event,\n \"$item\" : treeNode,\n \"$path\" : path\n };\n this.invokeEventCallback('expand', eventParams);\n\n const children = this.getChildren(treeNode);\n children?.map((el) => {\n if (el.isParent) {\n let ele = $(`#${el.tId}_switch`);\n $(ele).addClass(self.treeicon || defaultTreeIconClass);\n $(ele).on(\"click\", function(e) {\n setTimeout(() => {\n $(ele).addClass(self.treeicon || defaultTreeIconClass);\n }, 0);\n });\n }\n });\n }\n\n public onCollapse(event, treeId, treeNode) {\n let path = this.getPath(treeNode, \"\");\n const eventParams = {\n '$event' : event,\n \"$item\" : treeNode,\n \"$path\" : path\n };\n this.invokeEventCallback('collapse', eventParams);\n }\n\n private getChildren(node) {\n return node[this.childrenKey];\n }\n get childrenKey() {\n if(!this.nodechildren) {\n return 'children';\n }\n const depth = this.countDepth(this.nodechildren);\n return depth ? this.nodechildren.split('.').pop() : this.nodechildren;\n }\n get labelKey() {\n if(!this.nodelabel) {\n return 'label';\n }\n const depth = this.countDepth(this.nodelabel);\n return depth ? this.nodelabel.split('.').pop() : this.nodelabel;\n }\n get iconKey() {\n if(!this.nodeicon) {\n return 'icon';\n }\n const depth = this.countDepth(this.nodeicon);\n return depth ? this.nodeicon.split('.').pop() : this.nodeicon;\n }\n\n get treeObj(){\n return $.fn.zTree.getZTreeObj(`${this.name}`)\n }\n\n // function to support backward compatibility of objects\n private modifyObjects(array) {\n array.forEach(obj => {\n obj.icon = obj[this.nodeicon];\n const children = this.getChildren(obj);\n if (children?.length) {\n this.modifyObjects(children);\n }\n });\n }\n\n // sets the node children property to parent nodes\n private setNodeChildren(nodes, depth, level, parentNode) {\n if (depth <= 0) {\n return nodes;\n }\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n if(depth === level) {\n parentNode = nodes[i];\n }\n const children = this.getChildren(node);\n if (children?.length) {\n if (level === 1) {\n parentNode[this.childrenKey] = children.map(child => ({ [this.labelKey]: child[this.labelKey], [this.childrenKey]: this.getChildren(child), icon: child[this.iconKey] }));\n return;\n } else {\n this.setNodeChildren(children, depth ,level - 1, parentNode);\n }\n }\n }\n\n return nodes;\n }\n\n private countDepth(str) {\n const regex = /\\[.*?\\]/g;\n let matches = str.match(regex);\n let count = 1;\n\n if(matches === null) return count;\n\n for (let match of matches) {\n count++;\n }\n\n return count;\n }\n\n\n // Renders the tree on to the dom\n public renderTree() {\n if(this.nodes) {\n this.nativeElement.setAttribute('id', this.name);\n if(this.nodeicon && this.nodeicon !== 'icon') {\n this.modifyObjects(this.nodes);\n }\n this.setTreeTemplate(this.treeClass);\n\n if (this.nodelabel) {\n let depth =0;\n if(this.nodelabel.includes(\"children\")) {\n depth = this.countDepth(this.nodelabel);\n }\n this.setNodeData(this.nodes, depth, depth, null, \"name\");\n }\n if(this.nodeicon) {\n let depth =0;\n if(this.nodeicon.includes(\"children\")) {\n depth = this.countDepth(this.nodeicon);\n }\n this.setNodeData(this.nodes, depth, depth, null, \"icon\");\n }\n\n if (this.nodechildren) {\n let depth = this.countDepth(this.nodechildren);\n if(depth > 1) {\n this.nodes = this.setNodeChildren(this.nodes, depth, depth, null);\n }\n }\n }\n\n\n this.setting.view['nodeClasses'] = this.setNodeclasses;\n this.setting.callback[\"onClick\"] = this.onClick.bind(this);\n this.setting.callback[\"onExpand\"] = this.onExpand.bind(this);\n this.setting.callback[\"onCollapse\"] = this.onCollapse.bind(this);\n\n let zTree = $.fn.zTree.init($('ul[name=\"' + this.name + '\"]'), this.setting, this.nodes);\n\n $.fn.zTreeKeyboardNavigation(zTree, $('ul[name=\"' + this.name + '\"]'), null, this.treeicon || defaultTreeIconClass);\n this.postRenderTree();\n }\n\n private selectNode(event, node) {\n const deSelectElm = $(`.app-tree[name=${this.name}] li[treenode].selected`);\n deSelectElm.removeClass('selected');\n\n if(!node) {\n return;\n }\n const selectElm = $(`#${node.tId}:has(.curSelectedNode)`);\n selectElm.addClass('selected');\n\n const path = this.getPath(node, \"\");\n this.selecteditem = getClonedObject(node) || {};\n this.selecteditem.path = path;\n\n const eventParams = {\n '$event' : event,\n \"$item\" : node,\n \"$path\" : path\n };\n this.invokeEventCallback('select', eventParams);\n }\n\n private expandNode(node, expand, eventFlag) {\n this.treeObj.expandNode(node, expand, false, false, eventFlag);\n const el = $(`#${node.tId}_switch`);\n $(el).addClass(this.treeicon || defaultTreeIconClass);\n }\n\n private postRenderTree() {\n setTimeout(() => {\n this.changeTreeIcons(this.treeicon || defaultTreeIconClass);\n\n if (this.datavalue && !this.selecteditem) {\n const nodes = this.treeObj.getNodes();\n let node;\n if(nodes.length) {\n if (this.datavalue === 'FirstNode') {\n node = nodes[0];\n }\n if(this.datavalue === 'LastNode') {\n node = nodes[nodes.length - 1]\n }\n }\n\n if(node) {\n this.treeObj.selectNode(node, false);\n this.selectNode(undefined, node);\n this.expandNode(node, true, false);\n }\n }\n }, 200);\n }\n\n private selectById(value?) {\n const simpleNodes = this.treeObj.transformToArray(this.treeObj.getNodes());\n const node = simpleNodes.find(node => value === getEvaluatedData(node, {field: this.nodeid, bindExpression: this.bindnodeid}, this.viewParent));\n if(node) {\n this.treeObj.selectNode(node, false);\n this.selectNode(undefined, node);\n }\n }\n private deselectById(value?) {\n this.selecteditem = {};\n this.selectById();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { TreeComponent } from './tree.component';\n\nconst components = [\n TreeComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components],\n entryComponents: []\n})\nexport class TreeModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {registerProps as ɵa} from './tree.props';"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../projects/components/widgets/basic/tree/src/tree.props.ts","../../../../../projects/components/widgets/basic/tree/src/tree.component.ts","../../../../../projects/components/widgets/basic/tree/src/tree.module.ts","../../../../../projects/components/widgets/basic/tree/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-tree',\n new Map(\n [\n ['class', PROP_STRING],\n ['dataset', {value: 'node1, node2, node3', ...PROP_ANY}],\n ['datavalue', PROP_STRING],\n ['levels', {value: 0, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['nodeaction', PROP_STRING],\n ['nodechildren', PROP_STRING],\n ['nodeclick', {value: 'none', ...PROP_STRING}],\n ['nodeicon', PROP_STRING],\n ['nodeid', PROP_STRING],\n ['nodelabel', PROP_STRING],\n ['orderby', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['treeicons', PROP_STRING]\n ]\n )\n );\n};\n","import { Attribute, Component, Injector, OnInit, ViewEncapsulation } from '@angular/core';\nimport { APPLY_STYLES_TYPE, getEvaluatedData, getOrderedDataset, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './tree.props';\nimport { $parseEvent, getClonedObject } from \"@wm/core\";\n\ndeclare const _, $;\n\nconst WIDGET_INFO = {widgetType: 'wm-tree', hostClass: 'app-tree'};\nconst defaultTreeIconClass = 'plus-minus';\n\n@Component({\n selector: 'ul[wmTree]',\n templateUrl: './tree.component.html',\n providers: [\n provideAsWidgetRef(TreeComponent)\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class TreeComponent extends StylableComponent implements OnInit {\n static initializeProps = registerProps();\n\n private nodes: Array<any>;\n private zTreeNodes: Array<any>;\n private level;\n private treeClass;\n private name;\n private zTree;\n\n public datavalue: string;\n public treeicons: string;\n public selecteditem: any;\n public nodeid: string;\n public nodeaction: string;\n public nodeclick: string;\n public nodelabel: string;\n public nodeicon: string;\n public nodechildren: string;\n public orderby: string;\n\n private setting = {\n data: {\n simpleData: {\n enable: false\n }\n },\n view: {\n dblClickExpand: false,\n fontCss: {\n 'font-awesome': true\n },\n switchIcon: {},\n },\n check: {},\n callback: {}\n };\n\n constructor(\n inj: Injector,\n @Attribute('datavalue.bind') private binddatavalue,\n @Attribute('nodelabel.bind') private bindnodelabel,\n @Attribute('nodeicon.bind') private bindnodeicon,\n @Attribute('nodechildren.bind') private bindnodechildren,\n @Attribute('nodeid.bind') private bindnodeid\n ) {\n super(inj, WIDGET_INFO);\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n\n this.setting.view['nodeClasses'] = this.setNodeClasses;\n this.setting.callback[\"onClick\"] = this.onClick.bind(this);\n this.setting.callback[\"onExpand\"] = this.onExpand.bind(this);\n this.setting.callback[\"onCollapse\"] = this.onCollapse.bind(this);\n }\n\n public onPropertyChange(key: string, nv: any, ov?: any): void {\n switch (key) {\n case 'dataset':\n this.nodes = this.getNodes(nv);\n this.renderTree();\n break;\n case 'levels':\n this.level = nv;\n this.renderTree();\n break;\n case 'nodeicon':\n this.nodeicon = nv;\n this.renderTree();\n break;\n case 'nodelabel':\n this.nodelabel = nv;\n this.renderTree();\n break;\n case 'nodechildren':\n this.nodechildren = nv;\n this.renderTree();\n break;\n case 'orderby':\n this.orderby = nv;\n this.renderTree();\n break;\n case 'treeicons':\n this.treeicons = nv;\n this.renderTree();\n break;\n case 'class':\n this.treeClass = nv;\n this.setTreeTemplate(this.treeClass);\n this.renderTree();\n default:\n super.onPropertyChange(key, nv, ov);\n break;\n }\n }\n\n // expands the tree nodes if the property is selected.\n private expandTree(level, node, childLevel) {\n node.map(childNode => {\n const children = childNode.children;\n if (children && childLevel < level) {\n childNode.open = true;\n this.expandTree(level, children, childLevel+1);\n } else {\n childLevel = 0;\n return;\n }\n });\n }\n\n // sets the template for the tree based on the property selected.\n private setTreeTemplate(value) {\n const classList = value.split(\" \");\n if (classList.includes('Classic')) {\n this.setting.check[\"enable\"] = false;\n } else if(classList.includes('Checkbox')) {\n this.setting.check[\"enable\"] = true;\n this.setting.check[\"chkStyle\"] = 'checkbox';\n } else if (classList.includes('Radio')) {\n this.setting.check[\"enable\"] = true;\n this.setting.check[\"chkStyle\"] = 'radio';\n this.setting.check[\"radioType\"] = \"all\";\n }\n }\n\n // extracts nodes from string format\n private getNodesFromString(value) {\n return value.split(',').map((item) => {\n return {\n 'label': item && item.trim()\n };\n });\n }\n\n // gets the nodes and orders the nodes if required\n private getNodes(newVal) {\n let nodes;\n if (_.isArray(newVal)) {\n nodes = getOrderedDataset(newVal, this.orderby);\n } else if (_.isObject(newVal)) {\n nodes = [newVal];\n } else if (_.isString(newVal) && !_.isEmpty(newVal)) {\n newVal = newVal.trim();\n if (newVal) {\n nodes = this.getNodesFromString(newVal);\n }\n }\n return nodes;\n }\n\n\n // adds class to the nodes inorder to add icons to respective node.\n private setNodeClasses(treeId, treeNode) {\n return treeNode.icon ? {add: [`${treeNode.icon}`]} : '';\n };\n\n // adds tree icons to the nodes on load of the tree\n private changeTreeIcons(nv) {\n let eleClose = $('ul[name=\"' + this.name + '\"] li span.button.switch');\n\n $(eleClose).map((idx, ele) => {\n $(ele).addClass(nv);\n $(ele).on(\"click\",function(e) {\n setTimeout(() => {\n $(ele).addClass(nv);\n }, 0);\n });\n })\n }\n\n // Returns the node path\n private getPath(treeNode, path) {\n if(treeNode.getParentNode() === null) {\n path = \"/\" + treeNode.name + path;\n } else {\n path = this.getPath(treeNode.getParentNode(), path) + \"/\" + treeNode.name;\n }\n return path;\n }\n\n // binds the click event to all nodes to open the child nodes\n public onClick(event, treeId, treeNode, clickFlag) {\n if(this.nodeclick === \"expand\") {\n var nodes = this.zTree.getSelectedNodes();\n if (nodes.length>0) {\n this.expandNode(nodes[0], !nodes[0].open, true);\n }\n }\n this.selectNode(event, treeNode);\n }\n\n // Adds tree icon classes to child nodes when expanded\n public onExpand(event, treeId, treeNode) {\n let self = this;\n let path = this.getPath(treeNode, \"\");\n\n const eventParams = {\n '$event' : event,\n \"$item\" : getClonedObject(treeNode.data),\n \"$path\" : path\n };\n this.invokeEventCallback('expand', eventParams);\n\n const children = treeNode.children;\n children?.map((el) => {\n if (el.isParent) {\n let ele = $(`#${el.tId}_switch`);\n $(ele).addClass(self.treeicons || defaultTreeIconClass);\n $(ele).on(\"click\", function(e) {\n setTimeout(() => {\n $(ele).addClass(self.treeicons || defaultTreeIconClass);\n }, 0);\n });\n }\n });\n }\n\n public onCollapse(event, treeId, treeNode) {\n let path = this.getPath(treeNode, \"\");\n const eventParams = {\n '$event' : event,\n \"$item\" : getClonedObject(treeNode.data),\n \"$path\" : path\n };\n this.invokeEventCallback('collapse', eventParams);\n }\n\n // function to support backward compatibility of objects\n private constructZTreeData(data, zTreeData) {\n data.forEach(node => {\n const zNode = {};\n const name = getEvaluatedData(node, {field: this.nodelabel, bindExpression: this.bindnodelabel}, this.viewParent) || node.label;\n const icon = getEvaluatedData(node, {field: this.nodeicon, bindExpression: this.bindnodeicon}, this.viewParent) || node.icon;\n const nodeId = getEvaluatedData(node, {field: this.nodeid, bindExpression: this.bindnodeid}, this.viewParent);\n const children = getEvaluatedData(node, {field: this.nodechildren, bindExpression: this.bindnodechildren}, this.viewParent) || node.children;\n zNode['name'] = name;\n zNode['icon'] = icon;\n zNode['nodeId'] = nodeId;\n zNode['data'] = getClonedObject(node);\n if (_.isArray(children) && children.length) {\n zNode['children'] = [];\n this.constructZTreeData(children, zNode['children']);\n }\n zTreeData.push(zNode);\n });\n }\n\n // Renders the tree on to the dom\n public renderTree() {\n this.zTreeNodes = [];\n if(this.nodes?.length) {\n this.nativeElement.setAttribute('id', this.name);\n this.constructZTreeData(this.nodes, this.zTreeNodes);\n if(this.level > 0) {\n this.expandTree(this.level, this.zTreeNodes, 0);\n }\n }\n this.zTree = $.fn.zTree.init($('ul[name=\"' + this.name + '\"]'), this.setting, this.zTreeNodes);\n $.fn.zTreeKeyboardNavigation(this.zTree, $('ul[name=\"' + this.name + '\"]'), null, this.treeicons || defaultTreeIconClass);\n this.postRenderTree();\n }\n\n private setChecked(zNode, node) {\n node.checked = zNode.checked;\n const children = getEvaluatedData(node, {field: this.nodechildren, bindExpression: this.bindnodechildren}, this.viewParent) || node.children;\n if(children?.length) {\n children.forEach((node, index) => {\n this.setChecked(zNode.children[index], node);\n });\n }\n }\n\n private selectNode(event, node) {\n const deSelectElm = $(`.app-tree[name=${this.name}] li[treenode].selected`);\n deSelectElm.removeClass('selected');\n\n if(!node) {\n return;\n }\n const selectElm = $(`#${node.tId}:has(.curSelectedNode)`);\n selectElm.addClass('selected');\n\n\n const classList = (this.treeClass || \"\").split(\" \");\n if (classList.includes('Checkbox') || classList.includes('Radio')) {\n this.setChecked(node, node.data);\n }\n\n const path = this.getPath(node, \"\");\n this.selecteditem = getClonedObject(node.data) || {};\n this.selecteditem.path = path;\n\n const eventParams = {\n '$event' : event,\n \"$item\" : getClonedObject(node.data),\n \"$path\" : path\n };\n\n //[Todo-CSP]: this data will be dynamic, can not generate function upfront\n const nodeAction = node.data[this.nodeaction || 'action'];\n if (nodeAction) {\n $parseEvent(nodeAction)(this);\n }\n this.invokeEventCallback('select', eventParams);\n }\n\n private expandNode(node, expand, eventFlag) {\n this.zTree.expandNode(node, expand, false, false, eventFlag);\n const el = $(`#${node.tId}_switch`);\n $(el).addClass(this.treeicons || defaultTreeIconClass);\n }\n\n private postRenderTree() {\n setTimeout(() => {\n this.changeTreeIcons(this.treeicons || defaultTreeIconClass);\n\n if (this.datavalue && !this.selecteditem) {\n const nodes = this.zTree.getNodes();\n let node;\n if(nodes.length) {\n if (this.datavalue === 'FirstNode') {\n node = nodes[0];\n }\n if(this.datavalue === 'LastNode') {\n node = nodes[nodes.length - 1];\n }\n }\n\n if(node) {\n this.zTree.selectNode(node, false);\n this.selectNode(undefined, node);\n this.expandNode(node, true, false);\n }\n }\n }, 200);\n }\n\n private selectById(value?) {\n const simpleNodes = this.zTree?.transformToArray(this.zTree.getNodes());\n const node = simpleNodes?.find(node => value === node.nodeId);\n if(node) {\n this.zTree.selectNode(node, false);\n this.selectNode(undefined, node);\n }\n }\n private deselectById(value?) {\n this.selecteditem = {};\n this.selectById();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { TreeComponent } from './tree.component';\n\nconst components = [\n TreeComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components],\n entryComponents: []\n})\nexport class TreeModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {registerProps as ɵa} from './tree.props';"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"TreeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":8},{"__symbolic":"reference","module":"@wm/components/base","name":"WmComponentsModule","line":14,"character":8}],"declarations":[{"__symbolic":"reference","name":"TreeComponent"}],"exports":[{"__symbolic":"reference","name":"TreeComponent"}],"entryComponents":[]}]}],"members":{}},"TreeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@wm/components/base","name":"StylableComponent","line":18,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ul[wmTree]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":14,"character":8},"arguments":[{"__symbolic":"reference","name":"TreeComponent"}]}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":16,"character":19},"member":"None"},"template":"<ul #wmTree class=\"ztree\" id=\"ztree\"></ul> "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TreeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":8},{"__symbolic":"reference","module":"@wm/components/base","name":"WmComponentsModule","line":14,"character":8}],"declarations":[{"__symbolic":"reference","name":"TreeComponent"}],"exports":[{"__symbolic":"reference","name":"TreeComponent"}],"entryComponents":[]}]}],"members":{}},"TreeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@wm/components/base","name":"StylableComponent","line":18,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"ul[wmTree]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":14,"character":8},"arguments":[{"__symbolic":"reference","name":"TreeComponent"}]}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":16,"character":19},"member":"None"},"template":"<ul #wmTree class=\"ztree\" id=\"ztree\"></ul> "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":58,"character":9},"arguments":["datavalue.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":59,"character":9},"arguments":["nodelabel.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":60,"character":9},"arguments":["nodeicon.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":61,"character":9},"arguments":["nodechildren.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":62,"character":9},"arguments":["nodeid.bind"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":57,"character":13},null,null,null,null,null]}],"onPropertyChange":[{"__symbolic":"method"}],"expandTree":[{"__symbolic":"method"}],"setTreeTemplate":[{"__symbolic":"method"}],"getNodesFromString":[{"__symbolic":"method"}],"getNodes":[{"__symbolic":"method"}],"setNodeClasses":[{"__symbolic":"method"}],"changeTreeIcons":[{"__symbolic":"method"}],"getPath":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onExpand":[{"__symbolic":"method"}],"onCollapse":[{"__symbolic":"method"}],"constructZTreeData":[{"__symbolic":"method"}],"renderTree":[{"__symbolic":"method"}],"setChecked":[{"__symbolic":"method"}],"selectNode":[{"__symbolic":"method"}],"expandNode":[{"__symbolic":"method"}],"postRenderTree":[{"__symbolic":"method"}],"selectById":[{"__symbolic":"method"}],"deselectById":[{"__symbolic":"method"}]},"statics":{"initializeProps":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"}}}},"ɵa":{"__symbolic":"error","message":"Lambda not supported","line":2,"character":29,"module":"./tree.props"}},"origins":{"TreeModule":"./tree.module","TreeComponent":"./tree.component","ɵa":"./tree.props"},"importAs":"@wm/components/basic/tree"}
|