covid19-dashboard
Version:
Dashboard App displaying COVID-19 numbers by country
126 lines (108 loc) • 3.83 kB
JavaScript
import Component from '../../../../node_modules/neo.mjs/src/controller/Component.mjs';
import SourceViewComponent from "./SourceViewComponent.mjs";
/**
* @class Docs.view.MainContainerController
* @extends Neo.controller.Component
*/
class MainContainerController extends Component {
static getConfig() {return {
/**
* @member {String} className='Docs.view.classdetails.MainContainerController'
* @protected
*/
className: 'Docs.view.classdetails.MainContainerController',
/**
* @member {String} ntype='docs-classdetails-maincontainer-controller'
* @protected
*/
ntype: 'docs-classdetails-maincontainer-controller'
}}
/**
*
* @param {Object} data
*/
onHeaderClick(data) {
let me = this,
record = me.component.structureData,
mainContainer = me.component.up('main-container'),
contentTabContainer = mainContainer.down('docs-content-tabcontainer'),
className = (record.path ? record.path + '.' : '') + record.name;
contentTabContainer.add({
module : SourceViewComponent,
id : className + '__source',
structureData: record,
tabButtonConfig: {
iconCls: 'fa fa-code',
text : className
}
});
}
/**
*
* @param {Neo.collection.Base} store
*/
onMutateItems(store) {
let me = this,
countConfigs = 0,
countEvents = 0,
countMethods = 0,
countPrivates = 0,
countProtecteds = 0,
countStatics = 0;
store.items.forEach(item => {
if (item.kind === 'function') {
countMethods++;
} else if (item.kind === 'member') {
countConfigs++;
} else {
countEvents++;
}
if (item.access === 'private') {
countPrivates++;
} else if (item.access === 'protected') {
countProtecteds++;
}
if (item.scope === 'static') {
countStatics++;
}
});
me.getReference('showConfigs') .text = 'Configs ' + countConfigs;
me.getReference('showMethods') .text = 'Methods ' + countMethods;
me.getReference('showEvents') .text = 'Events ' + countEvents;
me.getReference('showPrivateMembers') .text = 'Private ' + countPrivates;
me.getReference('showProtectedMembers').text = 'Protected ' + countProtecteds;
me.getReference('showStaticMembers') .text = 'Static ' + countStatics;
}
/**
*
* @param {Object} data
*/
onScrollIntoView(data) {
let me = this,
button = Neo.getComponent(data.target.id);
Neo.main.addon.HighlightJS.scrollIntoView({
text : button.reference.substr(4),
vnodeId: me.view.vdom.id
});
}
/**
*
* @param {Object} data
*/
onSearchFieldChange(data) {
this.getReference('classdetails-memberslist').filterMembersQuery = data.value;
}
/**
*
* @param {Object} data
*/
onToggleMembers(data) {
let button = Neo.getComponent(data.target.id),
membersList = this.getReference('classdetails-memberslist');
button.iconCls = button.checked ? 'fa fa-square' : 'fa fa-check-square';
button.checked = !button.checked;
membersList[button.reference] = button.checked;
}
}
Neo.applyClassConfig(MainContainerController);
export {MainContainerController as default};