covid19-dashboard
Version:
Dashboard App displaying COVID-19 numbers by country
127 lines (115 loc) • 3.54 kB
JavaScript
import BaseContainer from '../../../../node_modules/neo.mjs/src/container/Base.mjs';
import CheckBox from '../../../../node_modules/neo.mjs/src/form/field/CheckBox.mjs';
import Component from './Component.mjs';
import ContainerController from './ContainerController.mjs';
import Panel from '../../../../node_modules/neo.mjs/src/container/Panel.mjs';
/**
* @class Covid.view.mapboxGl.Container
* @extends Neo.container.Base
*/
class Container extends BaseContainer {
static getConfig() {return {
/**
* @member {String} className='Covid.view.mapboxGl.Container'
* @protected
*/
className: 'Covid.view.mapboxGl.Container',
/**
* @member {String} ntype='covid-mapboxgl-container'
* @protected
*/
ntype: 'covid-mapboxgl-container',
/**
* @member {Neo.controller.Component} controller=ContainerController
*/
controller: ContainerController,
/**
* @member {Object[]} items
*/
items: [{
module : Component,
reference: 'mapboxglmap'
}, {
module : Panel,
height : 150,
ignoreLayout: true,
containerConfig: {
style: {
opacity: 0.6,
padding: '10px'
}
},
headers: [{
dock: 'top',
items: [{
ntype : 'button',
handler: 'onHideMapControlsButtonClick',
text : 'X'
}, {
ntype: 'label',
text : 'Map Controls'
}],
style: {
opacity: 1
}
}],
itemDefaults: {
module : CheckBox,
flex : '0 1 auto',
labelWidth: 100
},
items: [{
checked : true,
labelText: 'Detail Circles',
listeners: {change: 'onDetailCirclesChange'}
}, {
checked : true,
labelText: 'HeatMap',
listeners: {change: 'onHeatMapChange'},
style : {marginTop: '5px'}
}, {
checked : true,
labelText: 'Terrain',
listeners: {change: 'onTerrainChange'},
style : {marginTop: '5px'}
}],
style: {
backgroundColor: 'transparent',
position : 'absolute',
right : '10px',
top : '10px'
}
}],
/**
* @member {Object} layout={ntype: 'fit'}
*/
layout: {ntype: 'fit'},
/**
* @member {Object} _vdom
*/
_vdom: {
style: {position: 'relative', height: '100%', width: '100%'},
cn: [{
style: {position: 'absolute', height: '100%', width: '100%'},
cn: [{
style: {height: '100%'},
cn: []
}]
}]
}
}}
/**
*
*/
getVdomRoot() {
return this.vdom.cn[0].cn[0];
}
/**
*
*/
getVnodeRoot() {
return this.vnode.childNodes[0].childNodes[0];
}
}
Neo.applyClassConfig(Container);
export {Container as default};