UNPKG

covid19-dashboard

Version:

Dashboard App displaying COVID-19 numbers by country

138 lines (122 loc) 4.41 kB
import ApiTreeList from './ApiTreeList.mjs'; import ClassDetailsContainer from './classdetails/MainContainer.mjs'; import Collection from '../../../node_modules/neo.mjs/src/collection/Base.mjs'; import ContentTabContainer from './ContentTabContainer.mjs'; import ExamplesTreeList from './ExamplesTreeList.mjs'; import HeaderContainer from './HeaderContainer.mjs'; import MainContainerController from './MainContainerController.mjs'; import SourceViewComponent from './classdetails/SourceViewComponent.mjs'; import TutorialComponent from './classdetails/TutorialComponent.mjs'; import TutorialsTreeList from './TutorialsTreeList.mjs'; import Viewport from '../../../node_modules/neo.mjs/src/container/Viewport.mjs'; /** * @class Docs.view.MainContainer * @extends Neo.container.Viewport */ class MainContainer extends Viewport { static getConfig() {return { /** * @member {String} className='Docs.view.MainContainer' * @protected */ className: 'Docs.view.MainContainer', /** * @member {String} ntype='main-container' * @protected */ ntype: 'main-container', /** * @member {Boolean} autoMount=true */ autoMount : true, /** * @member {String[]} cls=['neo-docs-maincontainer', 'neo-viewport'] */ cls: ['neo-docs-maincontainer', 'neo-viewport'], /** * @member {Neo.controller.Component} controller=MainContainerController */ controller: MainContainerController, /** * @member {Object} layout={ntype: 'vbox', align: 'stretch'} */ layout: {ntype: 'vbox', align: 'stretch'}, /** * @member {Neo.collection.Base|null} store_=null */ store_: null, /** * @member {Array} items=[//...] */ items: [HeaderContainer, { ntype : 'container', flex : 1, layout: {ntype: 'hbox', align: 'stretch'}, items: [{ ntype : 'tab-container', cls : ['neo-docs-navigation-tab-container', 'neo-tab-container'], minWidth: 290, sortable: true, width : 290, items: [{ module : ApiTreeList, listeners: {leafItemClick: 'onApiListLeafClick'}, reference: 'api-treelist', tabButtonConfig: { iconCls: 'fa fa-code', text : 'API' } }, { module : TutorialsTreeList, listeners: {leafItemClick: 'onTutorialListLeafClick'}, reference: 'tutorials-treelist', tabButtonConfig: { iconCls: 'fa fa-hands-helping', text : 'Tutorials' } }, { module : ExamplesTreeList, listeners: {leafItemClick: 'onExamplesListLeafClick'}, reference: 'examples-treelist', tabButtonConfig: { iconCls: 'fa fa-desktop', text : 'Examples' } }] }, { module : ContentTabContainer, flex : 1, reference: 'content-tabcontainer' }] }] }} /** * * @param {Object} config */ construct(config) { super.construct(config); let me = this; if (!me.store) { me.store = Neo.create(Collection, { keyProperty: 'id' }); } // Disable the examples Tab for dist versions until the webpack builds can handle this (see: #140) me.items[1].items[0].items[2].tabButtonConfig.disabled = Neo.config.environment !== 'development'; } /** * */ onConstructed() { super.onConstructed(); let me = this; Neo.Xhr.promiseJson({ url: '../../docs/output/all.json' }).then(data => { me.store.items = data.json; }); } } Neo.applyClassConfig(MainContainer); export {MainContainer as default};