UNPKG

covid19-dashboard

Version:

Dashboard App displaying COVID-19 numbers by country

127 lines (115 loc) 3.54 kB
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};