UNPKG

react-planner-electron

Version:

react-planner-electron is a React Component for plans design. Draw a 2D floorplan and navigate it in 3D mode.

40 lines (31 loc) 1.04 kB
import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Layer, Grids } from './export'; export default class Scene extends Component { shouldComponentUpdate(nextProps, nextState) { return this.props.scene.hashCode() !== nextProps.scene.hashCode(); } render() { let {scene, catalog} = this.props; let {height, layers} = scene; let selectedLayer = layers.get(scene.selectedLayer); return ( <g> <Grids scene={scene}/> <g style={{pointerEvents: 'none'}}> { layers .entrySeq() .filter(([layerID, layer]) => layerID !== scene.selectedLayer && layer.visible) .map(([layerID, layer]) => <Layer key={layerID} layer={layer} scene={scene} catalog={catalog}/>) } </g> <Layer key={selectedLayer.id} layer={selectedLayer} scene={scene} catalog={catalog}/> </g> ); } } Scene.propTypes = { scene: PropTypes.object.isRequired, catalog: PropTypes.object.isRequired };