@wavemaker/app-ng-runtime 11.4.0-rc.5342 → 11.4.0-rc.5344
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 +127 -35
- app-ng-runtime/components/basic/tree/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/basic/tree/esm2015/tree.component.js +101 -28
- app-ng-runtime/components/basic/tree/fesm2015/index.js +100 -27
- 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 +10 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js.map +1 -1
- app-ng-runtime/runtime/base/esm2015/components/app-component/app.component.js +2 -2
- app-ng-runtime/runtime/base/fesm2015/index.js +1 -1
- app-ng-runtime/runtime/base/fesm2015/index.js.map +1 -1
- app-ng-runtime/runtime/base/index.metadata.json +1 -1
- app-ng-runtime/variables/bundles/index.umd.js +27 -22
- app-ng-runtime/variables/bundles/index.umd.js.map +1 -1
- app-ng-runtime/variables/esm2015/manager/action/notification-action.manager.js +29 -23
- app-ng-runtime/variables/fesm2015/index.js +28 -23
- app-ng-runtime/variables/fesm2015/index.js.map +1 -1
- app-ng-runtime/variables/index.metadata.json +1 -1
- app-ng-runtime/variables/manager/action/notification-action.manager.d.ts +1 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component, ViewEncapsulation, Injector, 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, provideAsWidgetRef, WmComponentsModule } from '@wm/components/base';
|
|
4
|
+
import { getClonedObject } from '@wm/core';
|
|
4
5
|
|
|
5
6
|
const registerProps = () => {
|
|
6
7
|
register('wm-tree', new Map([
|
|
@@ -30,8 +31,12 @@ class TreeComponent extends StylableComponent {
|
|
|
30
31
|
this.setting = {
|
|
31
32
|
data: {
|
|
32
33
|
simpleData: {
|
|
33
|
-
enable:
|
|
34
|
+
enable: false
|
|
34
35
|
},
|
|
36
|
+
key: {
|
|
37
|
+
children: 'children',
|
|
38
|
+
name: 'label'
|
|
39
|
+
}
|
|
35
40
|
},
|
|
36
41
|
view: {
|
|
37
42
|
dblClickExpand: false,
|
|
@@ -63,10 +68,17 @@ class TreeComponent extends StylableComponent {
|
|
|
63
68
|
this.treeicon = nv;
|
|
64
69
|
break;
|
|
65
70
|
case 'nodelabel':
|
|
66
|
-
this.
|
|
71
|
+
this.setting.data.key.name = this.labelKey;
|
|
72
|
+
this.renderTree();
|
|
73
|
+
break;
|
|
74
|
+
case 'nodechildren':
|
|
75
|
+
this.setting.data.key.children = this.childrenKey;
|
|
76
|
+
this.renderTree();
|
|
77
|
+
break;
|
|
78
|
+
case 'nodeicon':
|
|
79
|
+
this.nodeicon = this.iconKey;
|
|
80
|
+
this.renderTree();
|
|
67
81
|
break;
|
|
68
|
-
case 'icon':
|
|
69
|
-
this.nodeicon = nv;
|
|
70
82
|
case 'orderby':
|
|
71
83
|
this.renderTree();
|
|
72
84
|
break;
|
|
@@ -81,9 +93,10 @@ class TreeComponent extends StylableComponent {
|
|
|
81
93
|
// expands the tree nodes if the property is selected.
|
|
82
94
|
expandTree(level, node, childLevel) {
|
|
83
95
|
node.map(childNode => {
|
|
84
|
-
|
|
96
|
+
const children = this.getChildren(childNode);
|
|
97
|
+
if (children && !("open" in childNode) && childLevel < level) {
|
|
85
98
|
childNode["open"] = true;
|
|
86
|
-
this.expandTree(level,
|
|
99
|
+
this.expandTree(level, children, childLevel + 1);
|
|
87
100
|
}
|
|
88
101
|
else {
|
|
89
102
|
childLevel = 0;
|
|
@@ -140,8 +153,9 @@ class TreeComponent extends StylableComponent {
|
|
|
140
153
|
setNodeData(nodes, depth, level, parentNode, type) {
|
|
141
154
|
if (depth === 0) {
|
|
142
155
|
nodes.map(node => {
|
|
143
|
-
|
|
144
|
-
|
|
156
|
+
const children = this.getChildren(node);
|
|
157
|
+
if (children) {
|
|
158
|
+
this.setNodeData(children, depth, level, parentNode, type);
|
|
145
159
|
}
|
|
146
160
|
if (node.icon && this.nodelabel == 'icon') {
|
|
147
161
|
node[type] = node.icon;
|
|
@@ -156,11 +170,12 @@ class TreeComponent extends StylableComponent {
|
|
|
156
170
|
}
|
|
157
171
|
else {
|
|
158
172
|
nodes.map(node => {
|
|
159
|
-
|
|
173
|
+
const children = this.getChildren(node);
|
|
174
|
+
if (children && level > 1) {
|
|
160
175
|
if (depth === level) {
|
|
161
176
|
parentNode = node;
|
|
162
177
|
}
|
|
163
|
-
this.setNodeData(
|
|
178
|
+
this.setNodeData(children, depth, level - 1, parentNode, type);
|
|
164
179
|
}
|
|
165
180
|
if (level === 1 && (type === "name" ? this.nodelabel.includes("label") || this.nodelabel.includes("name") : this.nodeicon.includes("label") || this.nodeicon.includes("name"))) {
|
|
166
181
|
parentNode[type] = node.name || node.label;
|
|
@@ -190,22 +205,28 @@ class TreeComponent extends StylableComponent {
|
|
|
190
205
|
}
|
|
191
206
|
getPath(treeNode, path) {
|
|
192
207
|
if (treeNode.getParentNode() === null) {
|
|
193
|
-
path = "/" + treeNode.
|
|
208
|
+
path = "/" + treeNode[this.labelKey] + path;
|
|
194
209
|
}
|
|
195
210
|
else {
|
|
196
|
-
path = this.getPath(treeNode.getParentNode(), path) + "/" + treeNode.
|
|
211
|
+
path = this.getPath(treeNode.getParentNode(), path) + "/" + treeNode[this.labelKey];
|
|
197
212
|
}
|
|
198
213
|
return path;
|
|
199
214
|
}
|
|
200
215
|
// binds the click event to all nodes to open the child nodes
|
|
201
216
|
onClick(event, treeId, treeNode, clickFlag) {
|
|
202
|
-
|
|
217
|
+
if (this.nodeclick === "expand") {
|
|
218
|
+
var nodes = this.treeObj.getSelectedNodes();
|
|
219
|
+
if (nodes.length > 0) {
|
|
220
|
+
this.expandNode(nodes[0], !nodes[0].open, true);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
203
223
|
let path = this.getPath(treeNode, "");
|
|
204
224
|
const eventParams = {
|
|
205
225
|
'$event': event,
|
|
206
226
|
"$item": treeNode,
|
|
207
227
|
"$path": path
|
|
208
228
|
};
|
|
229
|
+
this.setSelectedItem(treeNode);
|
|
209
230
|
this.invokeEventCallback('select', eventParams);
|
|
210
231
|
}
|
|
211
232
|
// Adds tree icon classes to child nodes when expanded
|
|
@@ -218,7 +239,8 @@ class TreeComponent extends StylableComponent {
|
|
|
218
239
|
"$path": path
|
|
219
240
|
};
|
|
220
241
|
this.invokeEventCallback('expand', eventParams);
|
|
221
|
-
|
|
242
|
+
const children = this.getChildren(treeNode);
|
|
243
|
+
children === null || children === void 0 ? void 0 : children.map((el) => {
|
|
222
244
|
if (el.isParent) {
|
|
223
245
|
let ele = $(`#${el.tId}_switch`);
|
|
224
246
|
$(ele).addClass(self.treeicon || defaultTreeIconClass);
|
|
@@ -228,9 +250,11 @@ class TreeComponent extends StylableComponent {
|
|
|
228
250
|
}, 0);
|
|
229
251
|
});
|
|
230
252
|
}
|
|
231
|
-
})
|
|
253
|
+
});
|
|
232
254
|
}
|
|
233
255
|
onCollapse(event, treeId, treeNode) {
|
|
256
|
+
// const el = $(`#${treeNode.tId}_switch`);
|
|
257
|
+
// $(el).addClass(this.treeicon || defaultTreeIconClass);
|
|
234
258
|
let path = this.getPath(treeNode, "");
|
|
235
259
|
const eventParams = {
|
|
236
260
|
'$event': event,
|
|
@@ -239,18 +263,33 @@ class TreeComponent extends StylableComponent {
|
|
|
239
263
|
};
|
|
240
264
|
this.invokeEventCallback('collapse', eventParams);
|
|
241
265
|
}
|
|
266
|
+
getChildren(node) {
|
|
267
|
+
return node[this.childrenKey];
|
|
268
|
+
}
|
|
269
|
+
get childrenKey() {
|
|
270
|
+
const depth = this.countDepth(this.nodechildren);
|
|
271
|
+
return depth ? this.nodechildren.split('.').pop() : (this.nodechildren || 'children');
|
|
272
|
+
}
|
|
273
|
+
get labelKey() {
|
|
274
|
+
const depth = this.countDepth(this.nodelabel);
|
|
275
|
+
return depth ? this.nodelabel.split('.').pop() : (this.nodelabel || 'label');
|
|
276
|
+
}
|
|
277
|
+
get iconKey() {
|
|
278
|
+
const depth = this.countDepth(this.nodeicon);
|
|
279
|
+
return depth ? this.nodeicon.split('.').pop() : (this.nodeicon || 'icon');
|
|
280
|
+
}
|
|
281
|
+
get treeObj() {
|
|
282
|
+
return $.fn.zTree.getZTreeObj(`${this.name}`);
|
|
283
|
+
}
|
|
242
284
|
// function to support backward compatibility of objects
|
|
243
285
|
modifyObjects(array) {
|
|
244
286
|
array.forEach(obj => {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
if (obj.children !== undefined) {
|
|
250
|
-
this.modifyObjects(obj.children);
|
|
287
|
+
obj.icon = obj[this.nodeicon];
|
|
288
|
+
const children = this.getChildren(obj);
|
|
289
|
+
if (children === null || children === void 0 ? void 0 : children.length) {
|
|
290
|
+
this.modifyObjects(children);
|
|
251
291
|
}
|
|
252
292
|
});
|
|
253
|
-
return array;
|
|
254
293
|
}
|
|
255
294
|
// sets the node children property to parent nodes
|
|
256
295
|
setNodeChildren(nodes, depth, level, parentNode) {
|
|
@@ -262,13 +301,14 @@ class TreeComponent extends StylableComponent {
|
|
|
262
301
|
if (depth === level) {
|
|
263
302
|
parentNode = nodes[i];
|
|
264
303
|
}
|
|
265
|
-
|
|
304
|
+
const children = this.getChildren(node);
|
|
305
|
+
if (children === null || children === void 0 ? void 0 : children.length) {
|
|
266
306
|
if (level === 1) {
|
|
267
|
-
parentNode.
|
|
307
|
+
parentNode[this.childrenKey] = children.map(child => ({ [this.labelKey]: child[this.labelKey], [this.childrenKey]: this.getChildren(child), icon: child[this.iconKey] }));
|
|
268
308
|
return;
|
|
269
309
|
}
|
|
270
310
|
else {
|
|
271
|
-
this.setNodeChildren(
|
|
311
|
+
this.setNodeChildren(children, depth, level - 1, parentNode);
|
|
272
312
|
}
|
|
273
313
|
}
|
|
274
314
|
}
|
|
@@ -287,10 +327,11 @@ class TreeComponent extends StylableComponent {
|
|
|
287
327
|
}
|
|
288
328
|
// Renders the tree on to the dom
|
|
289
329
|
renderTree() {
|
|
290
|
-
console.log(this.nodes, 'this.nodes');
|
|
291
330
|
if (this.nodes) {
|
|
292
331
|
this.nativeElement.setAttribute('id', this.name);
|
|
293
|
-
this.
|
|
332
|
+
if (this.nodeicon && this.nodeicon !== 'icon') {
|
|
333
|
+
this.modifyObjects(this.nodes);
|
|
334
|
+
}
|
|
294
335
|
this.setTreeTemplate(this.treeClass);
|
|
295
336
|
if (this.nodelabel) {
|
|
296
337
|
let depth = 0;
|
|
@@ -320,9 +361,41 @@ class TreeComponent extends StylableComponent {
|
|
|
320
361
|
let zTree = $.fn.zTree.init($('ul[name="' + this.name + '"]'), this.setting, this.nodes);
|
|
321
362
|
$.fn.zTreeKeyboardNavigation(zTree, $('ul[name="' + this.name + '"]'), null, this.treeicon || defaultTreeIconClass);
|
|
322
363
|
}
|
|
364
|
+
setSelectedItem(treeNode) {
|
|
365
|
+
debugger;
|
|
366
|
+
this.selecteditem = getClonedObject(treeNode) || {};
|
|
367
|
+
this.selecteditem.path = this.getPath(treeNode, "");
|
|
368
|
+
const deSelectElm = $(`li[treenode].selected`);
|
|
369
|
+
deSelectElm.removeClass('selected');
|
|
370
|
+
const selectElm = $(`#${treeNode.tId}:has(.curSelectedNode)`);
|
|
371
|
+
// const selectElm = $(`li[treenode]:has(.curSelectedNode)`);
|
|
372
|
+
selectElm.addClass('selected');
|
|
373
|
+
}
|
|
374
|
+
expandNode(node, expand, eventFlag) {
|
|
375
|
+
this.treeObj.expandNode(node, expand, false, false, eventFlag);
|
|
376
|
+
const el = $(`#${node.tId}_switch`);
|
|
377
|
+
$(el).addClass(this.treeicon || defaultTreeIconClass);
|
|
378
|
+
}
|
|
323
379
|
ngAfterViewInit() {
|
|
324
380
|
setTimeout(() => {
|
|
325
381
|
this.changeTreeIcons(this.treeicon || defaultTreeIconClass);
|
|
382
|
+
if (this.datavalue) {
|
|
383
|
+
const nodes = this.treeObj.getNodes();
|
|
384
|
+
let selectNode;
|
|
385
|
+
if (this.datavalue === 'FirstNode') {
|
|
386
|
+
if (nodes.length) {
|
|
387
|
+
selectNode = nodes[0];
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
if (this.datavalue === 'LastNode') {
|
|
391
|
+
if (nodes.length) {
|
|
392
|
+
selectNode = nodes[nodes.length - 1];
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
this.treeObj.selectNode(selectNode, false);
|
|
396
|
+
this.setSelectedItem(selectNode);
|
|
397
|
+
this.expandNode(selectNode, true, false);
|
|
398
|
+
}
|
|
326
399
|
}, 200);
|
|
327
400
|
}
|
|
328
401
|
}
|
|
@@ -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 {Component, Injector, OnInit, ViewEncapsulation } from '@angular/core';\n\n\nimport { APPLY_STYLES_TYPE, getOrderedDataset, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './tree.props';\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;\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\n private setting = {\n data: {\n simpleData: {\n enable: true\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 ) {\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 break;\n case 'treeicons':\n this.treeicon = nv;\n break;\n case 'nodelabel':\n this.nodelabel = nv;\n break;\n case 'icon':\n this.nodeicon = nv;\n case 'orderby':\n this.renderTree();\n break;\n case 'class':\n this.treeClass = nv;\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 if (\"children\" in childNode && !(\"open\" in childNode) && childLevel < level) {\n childNode[\"open\"] = true;\n this.expandTree(level, childNode.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 'name': 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 if (node.children) {\n this.setNodeData(node.children, depth, level , parentNode, type);\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 if (node.children && level > 1) {\n if(depth === level) {\n parentNode = node;\n }\n this.setNodeData(node.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.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 var treeObj = $.fn.zTree.getZTreeObj(`${this.name}`);\n let path = this.getPath(treeNode, \"\");\n\n const eventParams = {\n '$event' : event,\n \"$item\" : treeNode,\n \"$path\" : path\n };\n this.invokeEventCallback('select', eventParams);\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 treeNode.children ? treeNode.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\n const eventParams = {\n '$event' : event,\n \"$item\" : treeNode,\n \"$path\" : path\n };\n this.invokeEventCallback('collapse', eventParams);\n }\n\n // function to support backward compatibility of objects\n public modifyObjects(array) {\n array.forEach(obj => {\n if (obj.label !== undefined) {\n obj.name = obj.label;\n delete obj.label;\n }\n if (obj.children !== undefined) {\n this.modifyObjects(obj.children);\n }\n });\n return array;\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 if (node.children && node.children.length > 0) {\n if (level === 1) {\n parentNode.children = node.children.map(child => ({ name: child.name, children: child?.children }));\n return;\n } else {\n this.setNodeChildren(node.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 console.log(this.nodes, 'this.nodes');\n if(this.nodes) {\n this.nativeElement.setAttribute('id', this.name);\n this.nodes = this.modifyObjects(this.nodes);\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\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.changeTreeIcons(this.treeicon || defaultTreeIconClass);\n }, 200);\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":";;;;MAEa,aAAa,GAAG;IACzB,QAAQ,CACJ,SAAS,EACT,IAAI,GAAG,CACH;QACI,CAAC,OAAO,EAAE,WAAW,CAAC;QACtB,CAAC,SAAS,kBAAG,KAAK,EAAE,qBAAqB,IAAK,QAAQ,EAAE;QACxD,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,QAAQ,kBAAG,KAAK,EAAE,CAAC,IAAK,WAAW,EAAE;QACtC,CAAC,MAAM,EAAE,WAAW,CAAC;QACrB,CAAC,YAAY,EAAE,WAAW,CAAC;QAC3B,CAAC,cAAc,EAAE,WAAW,CAAC;QAC7B,CAAC,WAAW,kBAAG,KAAK,EAAE,MAAM,IAAK,WAAW,EAAE;QAC9C,CAAC,UAAU,EAAE,WAAW,CAAC;QACzB,CAAC,QAAQ,EAAE,WAAW,CAAC;QACvB,CAAC,WAAW,EAAE,WAAW,CAAC;QAC1B,CAAC,SAAS,EAAE,WAAW,CAAC;QACxB,CAAC,MAAM,kBAAG,KAAK,EAAE,IAAI,IAAK,YAAY,EAAE;QACxC,CAAC,UAAU,kBAAG,KAAK,EAAE,CAAC,IAAK,WAAW,EAAE;QACxC,CAAC,WAAW,EAAE,WAAW,CAAC;KAC7B,CACJ,CACJ,CAAC;AACN;;ACjBA,MAAM,WAAW,GAAG,EAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC;AACnE,MAAM,oBAAoB,GAAG,YAAY,CAAC;MAU7B,aAAc,SAAQ,iBAAiB;IAmChD,YACI,GAAa;QAEb,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAxBpB,YAAO,GAAG;YACd,IAAI,EAAE;gBACF,UAAU,EAAE;oBACR,MAAM,EAAE,IAAI;iBACf;aACJ;YACD,IAAI,EAAE;gBACF,cAAc,EAAE,KAAK;gBACrB,OAAO,EAAE;oBACL,cAAc,EAAE,IAAI;iBACrB;gBACH,UAAU,EAAE,EAEX;aACJ;YACD,KAAK,EAAE,EACN;YACD,QAAQ,EAAE,EACT;SACJ,CAAC;QAME,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;KACjE;IAEM,gBAAgB,CAAC,GAAW,EAAE,EAAO,EAAE,EAAQ;QAClD,QAAQ,GAAG;YACP,KAAK,SAAS;gBACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE;oBACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBAC9C;gBACD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;YACV,KAAK,QAAQ;gBACT,IAAI,EAAE,GAAG,CAAC,EAAE;oBACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;iBACnB;gBACD,MAAM;YACV,KAAK,WAAW;gBACZ,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,MAAM;YACV,KAAK,WAAW;gBACZ,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;YACV,KAAK,MAAM;gBACP,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACvB,KAAK,SAAS;gBACV,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,MAAM;YACV;gBACI,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpC,MAAM;SACb;KACJ;;IAGO,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU;QACtC,IAAI,CAAC,GAAG,CAAC,SAAS;YACd,IAAI,UAAU,IAAI,SAAS,IAAI,EAAE,MAAM,IAAI,SAAS,CAAC,IAAI,UAAU,GAAG,KAAK,EAAE;gBACzE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,GAAC,CAAC,CAAC,CAAC;aAC5D;iBAAM;gBACH,UAAU,GAAG,CAAC,CAAC;gBACf,OAAO;aACV;SACJ,CAAC,CAAA;KACL;;IAGO,eAAe,CAAC,KAAK;QACzB,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;SACxC;aAAM,IAAG,KAAK,KAAK,UAAU,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;SAC/C;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;SAC3C;KACJ;;IAGO,kBAAkB,CAAC,KAAK;QAC5B,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;YAC7B,OAAO;gBACH,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;aAC9B,CAAC;SACL,CAAC,CAAC;KACN;;IAGO,QAAQ,CAAC,MAAM;QACnB,IAAI,KAAK,CAAC;QACV,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACnB,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACnD;aAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC3B,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;SACpB;aAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACjD,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACvB,IAAI,MAAM,EAAE;gBACR,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;aAC3C;SACJ;QACD,OAAO,KAAK,CAAC;KAChB;;IAIO,cAAc,CAAC,MAAM,EAAE,QAAQ;QACnC,OAAO,QAAQ,CAAC,IAAI,GAAG,EAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAC,GAAG,EAAE,CAAC;KAC3D;;;IAGO,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI;QACrD,IAAG,KAAK,KAAK,CAAC,EAAE;YACZ,KAAK,CAAC,GAAG,CAAC,IAAI;gBACV,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAG,UAAU,EAAE,IAAI,CAAC,CAAC;iBACpE;gBAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;oBACzC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;iBAC1B;qBAAM,IAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;oBAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;iBAC1B;qBAAM;oBACH,OAAO;iBACV;aACJ,CAAC,CAAA;SACL;aAAM;YACH,KAAK,CAAC,GAAG,CAAC,IAAI;gBACV,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE;oBAC5B,IAAG,KAAK,KAAK,KAAK,EAAE;wBAChB,UAAU,GAAG,IAAI,CAAC;qBACrB;oBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;iBACvE;gBACD,IAAI,KAAK,KAAK,CAAC,KAAK,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAE,EAAE;oBAC5K,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;oBAC3C,OAAM;iBACT;qBAAM,IAAG,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE;oBACxI,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;oBAC7B,OAAO;iBACV;qBAAM;oBACH,OAAO;iBACV;aACJ,CAAC,CAAA;SACL;KACJ;;IAGO,eAAe,CAAC,EAAE;QACtB,IAAI,QAAQ,GAAG,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,CAAC;QAEvE,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG;YACrB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAC,UAAS,CAAC;gBACxB,UAAU,CAAC;oBACP,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACvB,EAAE,CAAC,CAAC,CAAC;aACT,CAAC,CAAC;SACN,CAAC,CAAA;KACL;IAEO,OAAO,CAAC,QAAQ,EAAE,IAAI;QAC1B,IAAG,QAAQ,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAClC,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;SACrC;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC7E;QACD,OAAO,IAAI,CAAC;KACf;;IAGM,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;QAC7C,IAAI,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEtC,MAAM,WAAW,GAAG;YAChB,QAAQ,EAAI,KAAK;YACjB,OAAO,EAAK,QAAQ;YACpB,OAAO,EAAG,IAAI;SACjB,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;KACnD;;IAGM,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEtC,MAAM,WAAW,GAAG;YAChB,QAAQ,EAAI,KAAK;YACjB,OAAO,EAAK,QAAQ;YACpB,OAAO,EAAG,IAAI;SACjB,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChD,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YACzC,IAAI,EAAE,CAAC,QAAQ,EAAE;gBACb,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBACjC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC;gBACvD,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,UAAS,CAAC;oBACzB,UAAU,CAAC;wBACP,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC;qBAC1D,EAAE,CAAC,CAAC,CAAC;iBACT,CAAC,CAAC;aACN;SACJ,CAAC,GAAG,EAAE,CAAC;KACX;IAEM,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEtC,MAAM,WAAW,GAAG;YAChB,QAAQ,EAAI,KAAK;YACjB,OAAO,EAAK,QAAQ;YACpB,OAAO,EAAG,IAAI;SACjB,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;KACrD;;IAGM,aAAa,CAAC,KAAK;QACtB,KAAK,CAAC,OAAO,CAAC,GAAG;YACf,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC3B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC;gBACrB,OAAO,GAAG,CAAC,KAAK,CAAC;aAClB;YACD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAClC;SACF,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;KACd;;IAGK,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU;QACnD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,OAAO,KAAK,CAAC;SACd;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAG,KAAK,KAAK,KAAK,EAAE;gBAClB,UAAU,GAAI,KAAK,CAAC,CAAC,CAAC,CAAC;aACxB;YACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7C,IAAI,KAAK,KAAK,CAAC,EAAE;oBACb,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACpG,OAAO;iBACV;qBAAM;oBACL,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;iBACnE;aACF;SACF;QAED,OAAO,KAAK,CAAC;KACd;IAEK,UAAU,CAAC,GAAG;QAClB,MAAM,KAAK,GAAG,UAAU,CAAC;QACzB,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAG,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAElC,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;YACzB,KAAK,EAAE,CAAC;SACT;QAED,OAAO,KAAK,CAAC;KACd;;IAII,UAAU;QACb,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACtC,IAAG,IAAI,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,IAAI,KAAK,GAAE,CAAC,CAAC;gBACb,IAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACpC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC3C;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAC5D;YACD,IAAG,IAAI,CAAC,QAAQ,EAAG;gBACf,IAAI,KAAK,GAAE,CAAC,CAAC;gBACb,IAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBACnC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC1C;gBACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aAC5D;YAED,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC/C,IAAG,KAAK,GAAG,CAAC,EAAE;oBACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;iBACrE;aACJ;SACJ;QAGD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzF,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC;KAEvH;IAED,eAAe;QACX,UAAU,CAAC;YACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,CAAC;SAC/D,EAAE,GAAG,CAAC,CAAC;KACX;;AAnVM,6BAAe,GAAG,aAAa,EAAE,CAAC;;YAT5C,SAAS,SAAC;gBACP,QAAQ,EAAE,YAAY;gBACtB,4DAAoC;gBACpC,SAAS,EAAE;oBACP,kBAAkB,CAAC,aAAa,CAAC;iBACpC;gBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;aACxC;;;YAlBkB,QAAQ;;;ACO3B,MAAM,UAAU,GAAG;IACf,aAAa;CAChB,CAAC;MAWW,UAAU;;;YATtB,QAAQ,SAAC;gBACN,OAAO,EAAE;oBACL,YAAY;oBACZ,kBAAkB;iBACrB;gBACD,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;gBAC7B,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;gBACxB,eAAe,EAAE,EAAE;aACtB;;;ACnBD;;;;;;"}
|
|
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 {Component, Injector, OnInit, ViewEncapsulation } from '@angular/core';\n\n\nimport { APPLY_STYLES_TYPE, 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;\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 ) {\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 break;\n case 'treeicons':\n this.treeicon = nv;\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 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 'name': 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 let path = this.getPath(treeNode, \"\");\n\n const eventParams = {\n '$event' : event,\n \"$item\" : treeNode,\n \"$path\" : path\n };\n\n this.setSelectedItem(treeNode);\n this.invokeEventCallback('select', eventParams);\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 // const el = $(`#${treeNode.tId}_switch`);\n // $(el).addClass(this.treeicon || defaultTreeIconClass);\n\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 const depth = this.countDepth(this.nodechildren);\n return depth ? this.nodechildren.split('.').pop() : (this.nodechildren || 'children');\n }\n get labelKey() {\n const depth = this.countDepth(this.nodelabel);\n return depth ? this.nodelabel.split('.').pop() : (this.nodelabel || 'label');\n }\n get iconKey() {\n const depth = this.countDepth(this.nodeicon);\n return depth ? this.nodeicon.split('.').pop() : (this.nodeicon || 'icon');\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 }\n\n private setSelectedItem(treeNode) {\n debugger;\n this.selecteditem = getClonedObject(treeNode) || {};\n this.selecteditem.path = this.getPath(treeNode, \"\");\n const deSelectElm = $(`li[treenode].selected`);\n deSelectElm.removeClass('selected');\n const selectElm = $(`#${treeNode.tId}:has(.curSelectedNode)`);\n// const selectElm = $(`li[treenode]:has(.curSelectedNode)`);\n selectElm.addClass('selected');\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 ngAfterViewInit(): void {\n setTimeout(() => {\n this.changeTreeIcons(this.treeicon || defaultTreeIconClass);\n\n if (this.datavalue) {\n const nodes = this.treeObj.getNodes();\n let selectNode;\n\n if (this.datavalue === 'FirstNode'){\n if (nodes.length) {\n selectNode = nodes[0];\n }\n }\n if(this.datavalue === 'LastNode') {\n if (nodes.length) {\n selectNode = nodes[nodes.length - 1]\n }\n }\n this.treeObj.selectNode(selectNode, false);\n this.setSelectedItem(selectNode);\n this.expandNode(selectNode, true, false);\n }\n\n }, 200);\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":
|
|
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":20,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"ul[wmTree]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":16,"character":8},"arguments":[{"__symbolic":"reference","name":"TreeComponent"}]}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":18,"character":19},"member":"None"},"template":"<ul #wmTree class=\"ztree\" id=\"ztree\"></ul> "}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":62,"character":13}]}],"onPropertyChange":[{"__symbolic":"method"}],"expandTree":[{"__symbolic":"method"}],"setTreeTemplate":[{"__symbolic":"method"}],"getNodesFromString":[{"__symbolic":"method"}],"getNodes":[{"__symbolic":"method"}],"setNodeclasses":[{"__symbolic":"method"}],"setNodeData":[{"__symbolic":"method"}],"changeTreeIcons":[{"__symbolic":"method"}],"getPath":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onExpand":[{"__symbolic":"method"}],"onCollapse":[{"__symbolic":"method"}],"getChildren":[{"__symbolic":"method"}],"modifyObjects":[{"__symbolic":"method"}],"setNodeChildren":[{"__symbolic":"method"}],"countDepth":[{"__symbolic":"method"}],"renderTree":[{"__symbolic":"method"}],"setSelectedItem":[{"__symbolic":"method"}],"expandNode":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__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"}
|
|
@@ -2,6 +2,7 @@ import { Injector, OnInit } from '@angular/core';
|
|
|
2
2
|
import { StylableComponent } from '@wm/components/base';
|
|
3
3
|
export declare class TreeComponent extends StylableComponent implements OnInit {
|
|
4
4
|
static initializeProps: void;
|
|
5
|
+
selecteditem: any;
|
|
5
6
|
private nodes;
|
|
6
7
|
private level;
|
|
7
8
|
private orderby;
|
|
@@ -12,6 +13,7 @@ export declare class TreeComponent extends StylableComponent implements OnInit {
|
|
|
12
13
|
private treeClass;
|
|
13
14
|
private nodeicon;
|
|
14
15
|
private name;
|
|
16
|
+
private datavalue;
|
|
15
17
|
private setting;
|
|
16
18
|
constructor(inj: Injector);
|
|
17
19
|
onPropertyChange(key: string, nv: any, ov?: any): void;
|
|
@@ -26,9 +28,16 @@ export declare class TreeComponent extends StylableComponent implements OnInit {
|
|
|
26
28
|
onClick(event: any, treeId: any, treeNode: any, clickFlag: any): void;
|
|
27
29
|
onExpand(event: any, treeId: any, treeNode: any): void;
|
|
28
30
|
onCollapse(event: any, treeId: any, treeNode: any): void;
|
|
29
|
-
|
|
31
|
+
private getChildren;
|
|
32
|
+
get childrenKey(): any;
|
|
33
|
+
get labelKey(): any;
|
|
34
|
+
get iconKey(): any;
|
|
35
|
+
get treeObj(): any;
|
|
36
|
+
private modifyObjects;
|
|
30
37
|
private setNodeChildren;
|
|
31
38
|
private countDepth;
|
|
32
39
|
renderTree(): void;
|
|
40
|
+
private setSelectedItem;
|
|
41
|
+
private expandNode;
|
|
33
42
|
ngAfterViewInit(): void;
|
|
34
43
|
}
|
app-ng-runtime/package.json
CHANGED
|
@@ -4143,7 +4143,7 @@
|
|
|
4143
4143
|
AppComponent.decorators = [
|
|
4144
4144
|
{ type: i0.Component, args: [{
|
|
4145
4145
|
selector: 'app-root',
|
|
4146
|
-
template: "<ng-container *ngIf=\"startApp\">\n <router-outlet></router-outlet>\n <div wmContainer partialContainer content=\"Common\" hidden class=\"ng-hide\" *ngIf=\"isApplicationType\"></div>\n <app-spinner name=\"globalspinner\" classname=\"global-spinner\" role=\"alert\" aria-live=\"assertive\" [attr.aria-label]=\"spinner.arialabel || 'Loading'\" [show]=\"spinner.show\" [spinnermessages]=\"spinner.messages\"></app-spinner>\n <div wmDialog name=\"oAuthLoginDialog\" title=\"Application is requesting you to sign in with\"\n close.event=\"closeOAuthDialog()\">\n <ng-template #dialogBody>\n <ul class=\"list-items\">\n <li class=\"list-item\" *ngFor=\"let provider of providersConfig\">\n <button class=\"btn\" (click)=\"provider.invoke()\">{{provider.name}}</button>\n </li>\n </ul>\n </ng-template>\n </div>\n <div wmConfirmDialog name=\"_app-confirm-dialog\" title.bind=\"title\" message.bind=\"message\" oktext.bind=\"oktext\"\n canceltext.bind=\"canceltext\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n <div wmAppExt></div>\n <i id=\"wm-mobile-display\"></i>\n</ng-container>\n<!--Dummy container to create the component dynamically-->\n<ng-container #dynamicComponent></ng-container>\n",
|
|
4146
|
+
template: "<ng-container *ngIf=\"startApp\">\n <router-outlet></router-outlet>\n <div wmContainer partialContainer content=\"Common\" hidden class=\"ng-hide\" *ngIf=\"isApplicationType\"></div>\n <app-spinner name=\"globalspinner\" classname=\"global-spinner\" role=\"alert\" aria-live=\"assertive\" [attr.aria-label]=\"spinner.arialabel || 'Loading'\" [show]=\"spinner.show\" [spinnermessages]=\"spinner.messages\"></app-spinner>\n <div wmDialog name=\"oAuthLoginDialog\" title=\"Application is requesting you to sign in with\"\n close.event=\"closeOAuthDialog()\">\n <ng-template #dialogBody>\n <ul class=\"list-items\">\n <li class=\"list-item\" *ngFor=\"let provider of providersConfig\">\n <button class=\"btn\" (click)=\"provider.invoke()\">{{provider.name}}</button>\n </li>\n </ul>\n </ng-template>\n </div>\n <div wmConfirmDialog name=\"_app-confirm-dialog\" title.bind=\"title\" message.bind=\"message\" oktext.bind=\"oktext\"\n canceltext.bind=\"canceltext\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n <div *ngIf=\"!isApplicationType\" wmConfirmDialog name=\"PrefabConfirmDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n <div *ngIf=\"!isApplicationType\" wmAlertDialog name=\"PrefabAlertDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n <div wmAppExt></div>\n <i id=\"wm-mobile-display\"></i>\n</ng-container>\n<!--Dummy container to create the component dynamically-->\n<ng-container #dynamicComponent></ng-container>\n",
|
|
4147
4147
|
encapsulation: i0.ViewEncapsulation.None
|
|
4148
4148
|
},] }
|
|
4149
4149
|
];
|