UNPKG

covid19-dashboard

Version:

Dashboard App displaying COVID-19 numbers by country

119 lines (99 loc) 3.14 kB
import TreeList from '../../../../node_modules/neo.mjs/src/tree/List.mjs'; import NeoArray from '../../../../node_modules/neo.mjs/src/util/Array.mjs'; /** * @class Docs.view.classdetails.HierarchyTreeList * @extends Neo.tree.List */ class HierarchyTreeList extends TreeList { static getConfig() {return { /** * @member {String} className='Docs.view.classdetails.HierarchyTreeList' * @protected */ className: 'Docs.view.classdetails.HierarchyTreeList', /** * @member {String} ntype='classdetails-treelist' * @protected */ ntype: 'classhierarchy-treelist', /** * @member {String[]} cls=['docs-classhierarchy-treelist', 'neo-list-container', 'neo-list'] */ cls: [ 'docs-classhierarchy-treelist', 'neo-list-container', 'neo-tree-list', 'neo-list' ], /** * @member {Boolean} showCollapseExpandAllIcons=false */ showCollapseExpandAllIcons: false, /** * @member {Object|null} structureData=null */ structureData: null }} /** * */ onConstructed() { super.onConstructed(); let me = this; me.createStoreItems(); me.createItems(null, me.getListItemsRoot(), 0); } /** * */ createStoreItems() { let me = this, className = me.structureData.className, mainContainer = me.up('main-container'), mainStore = mainContainer.store, storeItems = [], tmpItems = [], item, parentId; item = mainStore.find({ $kind : className === 'Neo' ? 'module' : 'class', neoClassName: me.structureData.className })[0]; tmpItems.unshift(item); while (item && item.hasOwnProperty('augments')) { item = mainStore.find({ $kind : 'class', neoClassName: item.augments[0] })[0]; tmpItems.unshift(item); } tmpItems.forEach((key, index) => { if (key) { parentId = tmpItems[index - 1] ? tmpItems[index - 1].id : null; storeItems.push({ checked : true, id : key.id, isLeaf : true, name : key.neoClassName, parentId: parentId }); } }); me.store.items = storeItems; } /** * * @param {Object} record */ onLeafItemClick(record) { let me = this, vnodeId = me.getItemId(record.id), vdom = me.vdom, vdomNode = me.getVdomChild(vnodeId); NeoArray[record.checked ? 'add' : 'remove'](vdomNode.cls, 'unchecked'); record.checked = !record.checked; me.vdom = vdom; me.fire('refreshClassMembers'); } } Neo.applyClassConfig(HierarchyTreeList); export {HierarchyTreeList as default};