Sha256: 9849d572f3589c44f777f73bebe7d1dea949cb8ac70c7a6ee8f8828dfdbd77b5
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
import React from 'react'; import PropTypes from 'prop-types'; import { observer } from 'mobx-react'; import Box from 'grommet/components/Box'; import Screens from '../screens'; import ScreenInstances from '../screens/instance'; const ScreenView = observer((props) => { const { screen: Screen, ...rest } = props; return ( <Screen.component {...rest} screen={Screen} /> ); }); ScreenView.displayName = 'ScreenView'; @observer export default class Screen extends React.Component { static propTypes = { match: PropTypes.shape({ params: PropTypes.shape({ screenId: PropTypes.string, }), }).isRequired, } componentDidMount() { const { screenId } = this.props.match.params; if (screenId) { const definition = Screens.all.get(screenId); if (definition) { definition.display(); } } } render() { return ( <Box full className="screens-wrapper" justify="start" align="stretch" flex="grow" > {ScreenInstances.displaying.map(s => <ScreenView key={s.id} {...this.props.match.params} screen={s} />)} </Box> ); } }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hippo-fw-0.9.5 | client/hippo/workspace/screen.jsx |
hippo-fw-0.9.4 | client/hippo/workspace/screen.jsx |