@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.
@@ -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":"TreeDirective"}],"exports":[{"__symbolic":"reference","name":"TreeDirective"}],"entryComponents":[]}]}],"members":{}},"TreeDirective":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@wm/components/base","name":"StylableComponent","line":48,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":42,"character":1},"arguments":[{"selector":"div[wmTree]","providers":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@wm/components/base","name":"provideAsWidgetRef","line":45,"character":8},"arguments":[{"__symbolic":"reference","name":"TreeDirective"}]}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":67,"character":9},"arguments":["datavalue.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":68,"character":9},"arguments":["nodelabel.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":69,"character":9},"arguments":["nodeicon.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":70,"character":9},"arguments":["nodechildren.bind"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":71,"character":9},"arguments":["nodeid.bind"]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":66,"character":13},null,null,null,null,null]}],"onPropertyChange":[{"__symbolic":"method"}],"constructNodes":[{"__symbolic":"method"}],"getNodesFromString":[{"__symbolic":"method"}],"getNodes":[{"__symbolic":"method"}],"changeTreeIcons":[{"__symbolic":"method"}],"toggleExpandCollapseNode":[{"__symbolic":"method"}],"renderTree":[{"__symbolic":"method"}],"selectNode":[{"__symbolic":"method"}],"bindEvents":[{"__symbolic":"method"}],"findSelectedNodeParent":[{"__symbolic":"method"}],"selectById":[{"__symbolic":"method"}],"deselectById":[{"__symbolic":"method"}]},"statics":{"initializeProps":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"}}}},"ɵa":{"__symbolic":"error","message":"Lambda not supported","line":2,"character":29,"module":"./tree.props"}},"origins":{"TreeModule":"./tree.module","TreeDirective":"./tree.directive","ɵa":"./tree.props"},"importAs":"@wm/components/basic/tree"}
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.directive';
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
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-ng-runtime",
3
- "version": "11.4.0-next.24577",
3
+ "version": "11.4.0-next.24578",
4
4
  "description": "All modules required for a wavemaker application.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -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);