UNPKG

ff-dashboard

Version:

Flimflam dashboard component comprised of a main panel and two side panels

28 lines (23 loc) 642 B
import h from 'snabbdom/h' const left = state => vnode => { let elm = vnode.elm let left = state.displayPanel$() === 'left' ? elm.parentElement.querySelector('[data-ff-dashboard-left-panel]').offsetWidth + 'px' : 0 elm.style.left = left } module.exports = (state, content) => h('div', { attrs: { 'data-ff-dashboard-main-panel' : ''} , style: { transition: `left ${state.transition}` } , hook: {update: vnode => { left(state)(vnode) window.addEventListener('resize', ev => left(state)(vnode)) } } } , [h('div' , {attrs: { 'data-ff-dashboard-panel-body' : ''}} , [content]) ] )