@wavemaker/app-ng-runtime 11.4.0-next.24577 → 11.4.0-next.24578
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/build-task/basic/tree/tree.build.d.ts +1 -2
- app-ng-runtime/build-task/bundles/index.umd.js +5 -7
- app-ng-runtime/build-task/bundles/index.umd.js.map +1 -1
- app-ng-runtime/build-task/esm2015/basic/tree/tree.build.js +3 -4
- app-ng-runtime/build-task/fesm2015/index.js +5 -7
- app-ng-runtime/build-task/fesm2015/index.js.map +1 -1
- app-ng-runtime/components/basic/tree/bundles/index.umd.js +271 -255
- app-ng-runtime/components/basic/tree/bundles/index.umd.js.map +1 -1
- app-ng-runtime/components/basic/tree/esm2015/public_api.js +2 -2
- app-ng-runtime/components/basic/tree/esm2015/tree.component.js +314 -0
- app-ng-runtime/components/basic/tree/esm2015/tree.module.js +3 -3
- app-ng-runtime/components/basic/tree/fesm2015/index.js +251 -247
- 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/public_api.d.ts +1 -1
- app-ng-runtime/components/basic/tree/tree.component.d.ts +33 -0
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/scripts/tree-keyboard-navigation/keyboard-navigation.js +251 -0
- app-ng-runtime/components/basic/tree/esm2015/tree.directive.js +0 -310
- app-ng-runtime/components/basic/tree/tree.directive.d.ts +0 -35
|
@@ -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.directive.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, Directive, Injector } from '@angular/core';\n\nimport { $appDigest, $parseEvent, $parseExpr, getClonedObject } from '@wm/core';\n\nimport { APPLY_STYLES_TYPE, getEvaluatedData, getOrderedDataset, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\nimport { registerProps } from './tree.props';\n\ndeclare const _, $;\nconst defaultTreeIconClass = 'plus-minus';\nconst ICON_CLASSES = {\n 'folder': {\n 'expanded' : 'wi-folder-open',\n 'collapsed': 'wi-folder'\n },\n 'circle-plus-minus': {\n 'expanded' : 'wi-remove-circle-outline',\n 'collapsed': 'wi-add-circle-outline'\n },\n 'chevron': {\n 'expanded' : 'wi-keyboard-arrow-down',\n 'collapsed': 'wi-keyboard-arrow-right'\n },\n 'menu': {\n 'expanded' : 'wi-arrow-down',\n 'collapsed': 'wi-arrow-right'\n },\n 'triangle': {\n 'expanded' : 'wi-arrow-drop-down-circle',\n 'collapsed': 'wi-play-circle-filled'\n },\n 'expand-collapse': {\n 'expanded' : 'wi-expand-less',\n 'collapsed': 'wi-expand-more'\n },\n 'plus-minus': {\n 'expanded' : 'wi-minus',\n 'collapsed': 'wi-plus'\n }\n};\n\nconst WIDGET_INFO = {widgetType: 'wm-tree', hostClass: 'app-tree'};\n\n@Directive({\n selector: 'div[wmTree]',\n providers: [\n provideAsWidgetRef(TreeDirective)\n ]\n})\nexport class TreeDirective extends StylableComponent {\n static initializeProps = registerProps();\n\n private _selectNode: HTMLElement;\n private nodes: Array<any>;\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 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 this.bindEvents();\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n switch (key) {\n case 'dataset':\n this.nodes = this.getNodes(nv);\n this._selectNode = undefined;\n this.renderTree();\n break;\n case 'nodeicon':\n case 'nodelabel':\n case 'nodechildren':\n case 'orderby':\n this.renderTree();\n break;\n case 'treeicons':\n this.changeTreeIcons(nv, ov);\n break;\n case 'datavalue':\n this.selectById(nv);\n break;\n default:\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n private constructNodes(nodes, parent, levels, deep, _evalDataValue) {\n\n const $ul = $('<ul></ul>');\n const _iconClses = ICON_CLASSES[this.treeicons || defaultTreeIconClass];\n const _expr = (this.binddatavalue || this.datavalue);\n\n let _iconCls, _cls;\n\n _cls = levels > 0 ? ' expanded ' : ' collapsed ';\n _iconCls = _cls + (levels > 0 ? _iconClses.expanded : _iconClses.collapsed);\n\n deep = deep || 0;\n\n parent.append($ul);\n nodes.forEach((node, idx) => {\n const $li = $('<li></li>'),\n $iconNode = $('<i></i>'),\n nodeLabel = getEvaluatedData(node, {field: this.nodelabel, bindExpression: this.bindnodelabel}, this.viewParent) || node.label,\n nodeIcon = getEvaluatedData(node, {field: this.nodeicon, bindExpression: this.bindnodeicon}, this.viewParent) || node.icon,\n nodeChildren = getEvaluatedData(node, {field: this.nodechildren, bindExpression: this.bindnodechildren}, this.viewParent) || node.children;\n let nodeIdValue = getEvaluatedData(node, {field: this.nodeid, bindExpression: this.bindnodeid}, this.viewParent);\n if (nodeIdValue === undefined) {\n nodeIdValue = node.children;\n }\n\n let isNodeMatched = false,\n expandCollapseIcon;\n\n $li.data('nodedata', node)\n .append($iconNode)\n .append(`<span class=\"title\">${nodeLabel}</span>`)\n .appendTo($ul);\n\n\n // if datavalue(ie, expr) is provided select the tree node accordingly\n // if datavalue === 'FirstNode' -- select the FirstNode at level 0\n // if datavalue === 'LastNode' -- select the LastNode at level 0\n // if datavalue is a bind expression evaluate the expression for each node of the tree till the condition is satisfied.\n\n // if node identifier is present then verify the datavalue is bound expr or static value and compare with the node model\n if (this.bindnodeid || this.nodeid) {\n isNodeMatched = this.binddatavalue ? nodeIdValue === _evalDataValue : nodeIdValue === _expr;\n if (nodeIdValue !== undefined) {\n $li.attr('id', nodeIdValue);\n }\n } else if (this.binddatavalue) { // evaluate the expression only if it is bound (useExpression)\n isNodeMatched = !!$parseExpr(_expr)(this, node);\n }\n // Perform LastNode check only at level 0.(ie, deep = 0);\n if (!this._selectNode) {\n if ((_expr === 'FirstNode' && idx === 0)\n || (!deep && _expr === 'LastNode' && idx === nodes.length - 1)\n || isNodeMatched) {\n // save a reference of the node to be selected in `_selectNode`\n this._selectNode = $li;\n this.datavalue = nodeIdValue;\n }\n }\n\n if (nodeIcon) {\n $iconNode.addClass(nodeIcon);\n }\n\n if (nodeChildren && nodeChildren.length) { // parent node\n $li.addClass(`parent-node ${_cls}`);\n expandCollapseIcon = $(`<i class=\"wi ${_iconCls}\"></i>`);\n if (nodeIcon) {\n $iconNode.addClass(nodeIcon);\n }\n $li.prepend(expandCollapseIcon);\n this.constructNodes(nodeChildren, $li, levels - 1, deep + 1, _evalDataValue);\n } else {\n if (!nodeIcon) {\n $iconNode.addClass('leaf-node');\n }\n $li.addClass('leaf-node');\n }\n });\n }\n\n private getNodesFromString(value) {\n return value.split(',').map((item) => {\n return {\n 'label': item && item.trim()\n };\n });\n }\n\n private getNodes(newVal) {\n let nodes;\n if (_.isString(newVal) && !_.isEmpty(newVal)) {\n newVal = newVal.trim();\n if (newVal) {\n nodes = this.getNodesFromString(newVal);\n }\n } else if (_.isArray(newVal)) {\n newVal = getOrderedDataset(newVal, this.orderby);\n nodes = newVal;\n } else if (_.isObject(newVal)) {\n nodes = [newVal];\n }\n return nodes;\n }\n\n private changeTreeIcons(nv, ov) {\n const $el = $(this.nativeElement);\n nv = nv || defaultTreeIconClass;\n ov = ov || defaultTreeIconClass;\n $el.find('i.expanded').removeClass(ICON_CLASSES[ov].expanded).addClass(ICON_CLASSES[nv].expanded);\n $el.find('i.collapsed').removeClass(ICON_CLASSES[ov].collapsed).addClass(ICON_CLASSES[nv].collapsed);\n }\n\n private toggleExpandCollapseNode($event, $i, $li) {\n const treeIcons = ICON_CLASSES[this.treeicons || defaultTreeIconClass];\n const $liPath = this.findSelectedNodeParent($li);\n let path = '';\n\n // construct the path of the node\n $liPath\n .each((i, el) => {\n const current = $(el).children('.title').text();\n path = `/${current + path}`;\n });\n\n const eventParams = {\n '$event' : $event,\n \"$item\" : $li.data('nodedata'),\n \"$path\" : path\n };\n\n if ($i.hasClass('collapsed')) {\n $i.removeClass(`collapsed ${treeIcons.collapsed}`).addClass(`expanded ${treeIcons.expanded}`);\n $li.removeClass('collapsed').addClass('expanded');\n this.invokeEventCallback('expand', eventParams);\n } else if ($i.hasClass('expanded')) {\n $i.removeClass(`expanded ${treeIcons.expanded}`).addClass(`collapsed ${treeIcons.collapsed}`);\n $li.removeClass('expanded').addClass('collapsed');\n this.invokeEventCallback('collapse', eventParams);\n }\n }\n\n private renderTree(forceRender?) {\n let docFrag,\n $li,\n $liPath,\n data,\n path = '';\n const levels = +this.nativeElement.getAttribute('levels') || 0,\n $el = $(this.nativeElement);\n\n $el.empty();\n\n if (forceRender) {\n this._selectNode = undefined;\n }\n\n if (this.nodes && this.nodes.length) {\n docFrag = document.createDocumentFragment();\n this.constructNodes(this.nodes, $(docFrag), levels, 0, this.datavalue);\n $el.append(docFrag);\n }\n\n if (this._selectNode) {\n $li = this._selectNode;\n $li.addClass('selected');\n data = $li.data('nodedata');\n $liPath = this.findSelectedNodeParent($li);\n\n if (!$liPath.length) {\n $liPath = $li;\n }\n\n $liPath\n .each((i, el) => {\n const $current = $(el),\n $i = $current.children('i.collapsed'),\n $title = $current.children('.title');\n this.toggleExpandCollapseNode(undefined, $i, $current);\n\n path = `/${$title.text() + path}`;\n });\n\n this.selecteditem = getClonedObject(data) || {};\n this.selecteditem.path = path;\n\n this.invokeEventCallback('select', {$event: undefined, $item: data, $path: path});\n $appDigest();\n }\n }\n\n private selectNode(evt, value) {\n const target = evt && $(evt.target),\n $el = $(this.nativeElement),\n $li = _.isObject(value) ? value : $el.find(`li[id=\"${value}\"]`).first();\n let data,\n path = '',\n $liPath,\n nodeAction;\n $el.find('.selected').removeClass('selected');\n if (!$li.length) {\n return;\n }\n $li.addClass('selected');\n data = $li.data('nodedata');\n nodeAction = data[this.nodeaction || 'action'];\n\n // if the selectNode is initiated by click event then use the nativeElement target from event\n $liPath = target ? target.parents('.app-tree li') : this.findSelectedNodeParent($li);\n\n // construct the path of the node\n $liPath\n .each((i, el) => {\n const current = $(el).children('.title').text();\n path = `/${current + path}`;\n });\n\n // expand the current node till the viewParent level which is collapsed\n $li.parentsUntil($el, 'li.parent-node.collapsed')\n .each((index, el) => {\n const $current = $(el),\n $i = $current.children('i.collapsed');\n this.toggleExpandCollapseNode(undefined, $i, $current);\n });\n\n this.selecteditem = getClonedObject(data) || {};\n this.selecteditem.path = path;\n\n if (target) {\n if (this.nodeid || this.bindnodeid) {\n this.datavalue = getEvaluatedData(data, {field: this.nodeid, bindExpression: this.bindnodeid}, this.viewParent);\n } else {\n this.datavalue = getClonedObject(data) || {};\n }\n } else {\n this.datavalue = value;\n }\n\n //[Todo-CSP]: this data will be dynamic, can not generate function upfront\n if (nodeAction) {\n $parseEvent(nodeAction)(this);\n }\n\n this.invokeEventCallback('select', {$event: evt, $item: data, $path: path});\n $appDigest();\n }\n // click event is added on the host nativeElement\n private bindEvents() {\n $(this.nativeElement).on('click', (evt) => {\n const target = $(evt.target),\n li = target.closest('li'),\n $i = target.is('i') ? target : target.siblings('i.collapsed,i.expanded');\n\n evt.stopPropagation();\n\n if (target.is('span.title')) { // select the node only if it is nodelabel\n this.selecteditem = {};\n this.selectNode(evt, li);\n }\n\n if (target.is('i') || (target.is('span.title') && this.nodeclick === 'expand')) {\n this.toggleExpandCollapseNode(evt, $i, li);\n }\n });\n }\n\n private findSelectedNodeParent($li) {\n return $li.find('> span.title').parents('.app-tree li');\n }\n\n private selectById(value?) {\n this.selectNode(undefined, value);\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 { TreeDirective } from './tree.directive';\n\nconst components = [\n TreeDirective\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 {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 if (this.nodeclick === 'expand') {\n treeObj.expandNode(treeNode, treeNode.open ? false : true, false, true);\n this.changeTreeIcons(this.treeicon || defaultTreeIconClass)\n\n let path = this.getPath(treeNode, \"\");\n\n const eventParams = {\n '$event' : event,\n \"$item\" : treeNode, \n \"$path\" : path\n };\n\n this.invokeEventCallback('select', eventParams);\n\n if(treeNode.open) {\n // this.invokeEventCallback('expand', eventParams);\n } else {\n this.invokeEventCallback('collapse', eventParams);\n }\n } \n }\n\n // Adds tree icon classes to child nodes when expanded \n public onExpand(event, treeId, treeNode) {\n let self = this;\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 // 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 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\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":"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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":"
|
|
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":19,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"ul[wmTree]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":15,"character":8},"arguments":[{"__symbolic":"reference","name":"TreeComponent"}]}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":17,"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":55,"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"}],"modifyObjects":[{"__symbolic":"method"}],"setNodeChildren":[{"__symbolic":"method"}],"countDepth":[{"__symbolic":"method"}],"renderTree":[{"__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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './tree.module';
|
|
2
|
-
export * from './tree.
|
|
2
|
+
export * from './tree.component';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injector, OnInit } from '@angular/core';
|
|
2
|
+
import { StylableComponent } from '@wm/components/base';
|
|
3
|
+
export declare class TreeComponent extends StylableComponent implements OnInit {
|
|
4
|
+
static initializeProps: void;
|
|
5
|
+
private nodes;
|
|
6
|
+
private level;
|
|
7
|
+
private orderby;
|
|
8
|
+
private nodelabel;
|
|
9
|
+
private treeicon;
|
|
10
|
+
private nodechildren;
|
|
11
|
+
private nodeclick;
|
|
12
|
+
private treeClass;
|
|
13
|
+
private nodeicon;
|
|
14
|
+
private name;
|
|
15
|
+
private setting;
|
|
16
|
+
constructor(inj: Injector);
|
|
17
|
+
onPropertyChange(key: string, nv: any, ov?: any): void;
|
|
18
|
+
private expandTree;
|
|
19
|
+
private setTreeTemplate;
|
|
20
|
+
private getNodesFromString;
|
|
21
|
+
private getNodes;
|
|
22
|
+
private setNodeclasses;
|
|
23
|
+
private setNodeData;
|
|
24
|
+
private changeTreeIcons;
|
|
25
|
+
private getPath;
|
|
26
|
+
onClick(event: any, treeId: any, treeNode: any, clickFlag: any): void;
|
|
27
|
+
onExpand(event: any, treeId: any, treeNode: any): void;
|
|
28
|
+
modifyObjects(array: any): any;
|
|
29
|
+
private setNodeChildren;
|
|
30
|
+
private countDepth;
|
|
31
|
+
renderTree(): void;
|
|
32
|
+
ngAfterViewInit(): void;
|
|
33
|
+
}
|
app-ng-runtime/package.json
CHANGED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
(function ($) {
|
|
2
|
+
/**
|
|
3
|
+
* Dummy function to provide a placeholder for the destroy function
|
|
4
|
+
*/
|
|
5
|
+
$.fn.zTreeKeyboardNavigationDestroy = function () {
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates a function that adds keyboard navigation:
|
|
10
|
+
* Home: home key (keycode 36) Goes to the first root element is visible
|
|
11
|
+
* End: end key (keycode 35) Goes to the last leaf node and will expand nodes and scroll the element into view
|
|
12
|
+
* Down: right cursor key (keycode 39) Goes to the next visible node in the tree following the hierarchy
|
|
13
|
+
* Next: down cursor key (keycode 40) Goes to the next visible node at the same level
|
|
14
|
+
* Up: up cursor key (keycode 37) Goes to the prior visible node at the same level
|
|
15
|
+
* Previous: left cursor key (keycode 38) Goes to the prior visible node following the hierarchy
|
|
16
|
+
* Toggle: space key (keycode 32) Toggles the expand/collapse state of a parent node
|
|
17
|
+
* @param {IxTreeObj} zTree
|
|
18
|
+
* @param {string|JQuery<HTMLElement} element
|
|
19
|
+
* @param {IJSON[]} selectedNodes
|
|
20
|
+
*/
|
|
21
|
+
$.fn.zTreeKeyboardNavigation = function (zTree, element, selectedNodes = null, treeicon) {
|
|
22
|
+
if (typeof element === 'string' || element instanceof String) {
|
|
23
|
+
element = $(element);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
var rootNodes = zTree.getNodes();
|
|
27
|
+
if (!rootNodes) return;
|
|
28
|
+
|
|
29
|
+
var focusSelectedNode = function () {
|
|
30
|
+
if ((selectedNodes = zTree.getSelectedNodes()) && selectedNodes.length) {
|
|
31
|
+
$("#" + selectedNodes[0].tId).focus();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Clear the previous event handler (there may be none)
|
|
36
|
+
$.fn.zTreeKeyboardNavigationDestroy();
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Make it possible to destroy (remove the event handlers)
|
|
40
|
+
*/
|
|
41
|
+
$.fn.zTreeKeyboardNavigationDestroy = function () {
|
|
42
|
+
$(element).off('keydown');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
$.fn.changeTreeIcons = function () {
|
|
46
|
+
let eleClose = $('.app-tree li span.button.switch');
|
|
47
|
+
|
|
48
|
+
$(eleClose).map((idx, ele) => {
|
|
49
|
+
$(ele).addClass(treeicon);
|
|
50
|
+
$(ele).on("click", function (e) {
|
|
51
|
+
setTimeout(() => {
|
|
52
|
+
$(ele).addClass(treeicon);
|
|
53
|
+
}, 0);
|
|
54
|
+
});
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
$(element).on('keydown', function (e) {
|
|
60
|
+
var selectedNodes = zTree.getSelectedNodes();
|
|
61
|
+
var selectedNode = selectedNodes.length ? selectedNodes[0] : null;
|
|
62
|
+
|
|
63
|
+
var processSpace = function () {
|
|
64
|
+
// If there are no nodes or the selected node is not a parent, get out
|
|
65
|
+
if (selectedNode && selectedNode.isParent) {
|
|
66
|
+
// Toggle the node
|
|
67
|
+
zTree.expandNode(selectedNode, selectedNode.open ? false : true, true, true);
|
|
68
|
+
$.fn.changeTreeIcons()
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
var processHome = function () {
|
|
73
|
+
zTree.selectNode(rootNodes[0], false, true);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
var processEnd = function () {
|
|
77
|
+
var nodes = zTree.transformToArray(rootNodes);
|
|
78
|
+
// Select the last node
|
|
79
|
+
zTree.selectNode(nodes[nodes.length - 1]);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
var processUp = function () {
|
|
83
|
+
var priorNode;
|
|
84
|
+
if (selectedNode) {
|
|
85
|
+
priorNode = selectedNode.getPreNode();
|
|
86
|
+
if (!priorNode) return;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
processEnd();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (!priorNode) return;
|
|
93
|
+
|
|
94
|
+
zTree.selectNode(priorNode);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
var processDown = function () {
|
|
98
|
+
var nextNode;
|
|
99
|
+
if (selectedNode) {
|
|
100
|
+
nextNode = selectedNode.getNextNode();
|
|
101
|
+
if (!nextNode) return;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
processHome();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if (!nextNode) return;
|
|
108
|
+
|
|
109
|
+
zTree.selectNode(nextNode);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
var processOut = function () {
|
|
113
|
+
if (!selectedNode) return;
|
|
114
|
+
|
|
115
|
+
var parentNode = selectedNode.getParentNode();
|
|
116
|
+
var priorNode = selectedNode.getPreNode();
|
|
117
|
+
if (!parentNode && !priorNode) return; // Must have been the root node
|
|
118
|
+
|
|
119
|
+
if (priorNode) {
|
|
120
|
+
if (priorNode.isParent) {
|
|
121
|
+
// There is a prior node, now the the question is where is the last open node?
|
|
122
|
+
while (priorNode) {
|
|
123
|
+
if (!priorNode.isParent || !priorNode.open || !priorNode.children) break;
|
|
124
|
+
|
|
125
|
+
priorNode = priorNode.children[priorNode.children.length - 1];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
zTree.selectNode(priorNode);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
zTree.selectNode(priorNode);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Find the parent node with a valid prior sibling
|
|
138
|
+
if (parentNode) {
|
|
139
|
+
// This call should be silent otherwise (in my view a bug in)
|
|
140
|
+
// selectNode causes the root node to blur
|
|
141
|
+
zTree.selectNode(parentNode, false, true);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
var processIn = function () {
|
|
146
|
+
if (!selectedNode) return;
|
|
147
|
+
|
|
148
|
+
if (selectedNode.isParent && selectedNode.open && selectedNode.children) {
|
|
149
|
+
zTree.selectNode(selectedNode.children[0]);
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
var nextNode = selectedNode.getNextNode();
|
|
154
|
+
if (nextNode) {
|
|
155
|
+
zTree.selectNode(nextNode);
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
// Cannot be root if there is a selected node that is not a parent
|
|
159
|
+
var node = selectedNode;
|
|
160
|
+
// Find the parent node with a valid next sibling
|
|
161
|
+
while (node = node.getParentNode()) {
|
|
162
|
+
var nextNode = node.getNextNode();
|
|
163
|
+
if (nextNode) {
|
|
164
|
+
zTree.selectNode(nextNode);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
var processLetter = function (keyCode) {
|
|
172
|
+
if (!Array.from({ length: 26 }, (v, i) => i + 65).includes(keyCode & 95)) return false;
|
|
173
|
+
|
|
174
|
+
var nodes = zTree.transformToArray(rootNodes);
|
|
175
|
+
nodes = nodes.filter(node => {
|
|
176
|
+
return 'accesskey' in node && node.accesskey.length && (node.accesskey.charCodeAt(0) & 95) == keyCode;
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
if (!nodes.length) return false;
|
|
180
|
+
|
|
181
|
+
var selectedNodes = zTree.getSelectedNodes();
|
|
182
|
+
if (!selectedNodes.length) return false;
|
|
183
|
+
|
|
184
|
+
if (selectedNodes[0] == nodes[0]) return false;
|
|
185
|
+
|
|
186
|
+
zTree.selectNode(nodes[0]);
|
|
187
|
+
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// console.log('before');
|
|
192
|
+
// console.log(document.activeElement);
|
|
193
|
+
|
|
194
|
+
switch (e.keyCode) {
|
|
195
|
+
case 32: /* Toggle parent nodes */
|
|
196
|
+
processSpace();
|
|
197
|
+
return;
|
|
198
|
+
|
|
199
|
+
case 36: /* Home - go to the root node */
|
|
200
|
+
processHome();
|
|
201
|
+
break;
|
|
202
|
+
|
|
203
|
+
case 35: /* End - go to the last node */
|
|
204
|
+
processEnd();
|
|
205
|
+
break;
|
|
206
|
+
|
|
207
|
+
case 33: /* PageUp */
|
|
208
|
+
// Do nothing
|
|
209
|
+
break;
|
|
210
|
+
|
|
211
|
+
case 34: /* PageDown */
|
|
212
|
+
// Do nothing
|
|
213
|
+
break;
|
|
214
|
+
|
|
215
|
+
case 37: /* Left */
|
|
216
|
+
processOut();
|
|
217
|
+
break;
|
|
218
|
+
|
|
219
|
+
case 38: /* Up */
|
|
220
|
+
processUp();
|
|
221
|
+
break;
|
|
222
|
+
|
|
223
|
+
case 39: /* Right */
|
|
224
|
+
processIn();
|
|
225
|
+
break;
|
|
226
|
+
|
|
227
|
+
case 40: /* Down */
|
|
228
|
+
processDown();
|
|
229
|
+
break;
|
|
230
|
+
|
|
231
|
+
default:
|
|
232
|
+
if (!processLetter(e.keyCode & 95)) return;
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// console.log('after');
|
|
237
|
+
// console.log(document.activeElement);
|
|
238
|
+
focusSelectedNode();
|
|
239
|
+
});
|
|
240
|
+
|
|
241
|
+
if (selectedNodes && selectedNodes.length) {
|
|
242
|
+
zTree.selectNode(selectedNodes[0]);
|
|
243
|
+
focusSelectedNode();
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
$(element).trigger({ type: 'keydown', which: 36, keyCode: 36 });
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
})(jQuery);
|