react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
34 lines (28 loc) • 1.32 kB
JSX
import React from 'react';
import PropTypes from 'prop-types';
import Line from './line';
import Area from './area';
import Vertex from './vertex';
import Item from './item';
export default function Layer({layer, scene, catalog}) {
let {unit, fontSize} = scene;
let {lines, areas, vertices, holes, id: layerID, items, opacity} = layer;
return (
<g opacity={opacity}>
{areas.entrySeq().map(([areaID, area]) => <Area key={areaID} layer={layer} area={area}
unit={unit} catalog={catalog} fontSize={scene.fontSize}/>)}
{lines.entrySeq().map(([lineID, line]) => <Line key={lineID} layer={layer} line={line}
scene={scene} catalog={catalog} fontSize={scene.fontSize}/>)}
{/*items.entrySeq().map(([itemID, item]) => <Item key={itemID} layer={layer} item={item}
scene={scene} catalog={catalog}/>)*/}
{vertices.entrySeq()
.filter(([vertexID, vertex]) => vertex.selected)
.map(([vertexID, vertex]) => <Vertex key={vertexID} layer={layer} vertex={vertex} />)}
</g>
);
}
Layer.propTypes = {
layer: PropTypes.object.isRequired,
scene: PropTypes.object.isRequired,
catalog: PropTypes.object.isRequired,
};