covid19-dashboard
Version:
Dashboard App displaying COVID-19 numbers by country
102 lines (97 loc) • 3.67 kB
JavaScript
import FooterContainer from './FooterContainer.mjs';
import HeaderContainer from './HeaderContainer.mjs';
import MainContainerController from './MainContainerController.mjs';
import MainContainerModel from './MainContainerModel.mjs';
import TabContainer from '../../../node_modules/neo.mjs/src/tab/Container.mjs';
import Viewport from '../../../node_modules/neo.mjs/src/container/Viewport.mjs';
/**
* @class Covid.view.MainContainer
* @extends Neo.container.Viewport
*/
class MainContainer extends Viewport {
static getConfig() {return {
/**
* @member {String} className='Covid.view.MainContainer'
* @protected
*/
className: 'Covid.view.MainContainer',
/**
* @member {Boolean} autoMount=true
*/
autoMount: true,
/**
* @member {Array} cls=['covid-viewport', 'neo-viewport']
*/
cls: ['covid-viewport', 'neo-viewport'],
/**
* @member {Neo.controller.Component} controller=MainContainerController
*/
controller: MainContainerController,
/**
* @member {Array} items
*/
items: [HeaderContainer, {
module : TabContainer,
activeIndex: null, // render no items initially
flex : 1,
reference : 'tab-container',
sortable : true,
style : {margin: '10px', marginTop: 0},
items: [{
module : () => import('./TableContainer.mjs'),
reference : 'table-container',
tabButtonConfig: {
iconCls: 'fa fa-table',
route : 'mainview=table',
text : 'Table'
}
}, {
module : () => import('./mapboxGl/Container.mjs'),
tabButtonConfig: {
iconCls: 'fa fa-globe-americas',
route : 'mainview=mapboxglmap',
text : 'Mapbox GL Map'
}
}, {
module : () => import('./WorldMapContainer.mjs'),
tabButtonConfig: {
iconCls: 'fa fa-globe-americas',
route : 'mainview=worldmap',
text : 'World Map'
}
}, {
module : () => import('./GalleryContainer.mjs'),
tabButtonConfig: {
iconCls: 'fa fa-images',
route : 'mainview=gallery',
text : 'Gallery'
}
}, {
module : () => import('./HelixContainer.mjs'),
tabButtonConfig: {
iconCls: 'fa fa-dna',
route : 'mainview=helix',
text : 'Helix'
}
}, {
module : () => import('./AttributionComponent.mjs'),
reference : 'attribution',
tabButtonConfig: {
iconCls: 'fa fa-copyright',
route : 'mainview=attribution',
text : 'Attribution'
}
}]
}, FooterContainer],
/**
* @member {Object} layout={ntype: 'vbox', align: 'stretch'}
*/
layout: {ntype: 'vbox', align: 'stretch'},
/**
* @member {Neo.model.Component} model=MainContainerModel
*/
model: MainContainerModel
}}
}
Neo.applyClassConfig(MainContainer);
export {MainContainer as default};