react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
41 lines (36 loc) • 4.59 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import Scene from './scene';
import Snap from './snap';
import * as SharedStyle from '../../shared-style';
export default function State(_ref) {
var state = _ref.state,
catalog = _ref.catalog;
var viewer2D = state.viewer2D,
mode = state.mode,
activeSnapElement = state.activeSnapElement,
snapElements = state.snapElements,
scene = state.scene;
var width = scene.width,
height = scene.height;
activeSnapElement = activeSnapElement ? React.createElement(Snap, { snap: activeSnapElement, width: scene.width, height: scene.height }) : null;
// snapElements = snapElements.map((snap,id) => <Snap key={id} snap={snap} width={scene.width} height={scene.height}/>);
snapElements = null; //only for debug purpose
return React.createElement(
'g',
null,
React.createElement('rect', { x: '0', y: '0', width: width, height: height, fill: 'transparent' }),
React.createElement(
'g',
{ transform: 'translate(0, ' + scene.height + ') scale(1, -1)' },
React.createElement(Scene, { scene: scene, catalog: catalog }),
activeSnapElement,
snapElements
)
);
}
State.propTypes = {
state: PropTypes.object.isRequired,
catalog: PropTypes.object.isRequired
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdlcjJkL3N0YXRlLmpzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlByb3BUeXBlcyIsIlNjZW5lIiwiU25hcCIsIlNoYXJlZFN0eWxlIiwiU3RhdGUiLCJzdGF0ZSIsImNhdGFsb2ciLCJ2aWV3ZXIyRCIsIm1vZGUiLCJhY3RpdmVTbmFwRWxlbWVudCIsInNuYXBFbGVtZW50cyIsInNjZW5lIiwid2lkdGgiLCJoZWlnaHQiLCJwcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFQLE1BQWtCLE9BQWxCO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLEtBQVAsTUFBa0IsU0FBbEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFFBQWpCO0FBQ0EsT0FBTyxLQUFLQyxXQUFaLE1BQTZCLG9CQUE3Qjs7QUFFQSxlQUFlLFNBQVNDLEtBQVQsT0FBaUM7QUFBQSxNQUFqQkMsS0FBaUIsUUFBakJBLEtBQWlCO0FBQUEsTUFBVkMsT0FBVSxRQUFWQSxPQUFVO0FBQUEsTUFFekNDLFFBRnlDLEdBRWlCRixLQUZqQixDQUV6Q0UsUUFGeUM7QUFBQSxNQUUvQkMsSUFGK0IsR0FFaUJILEtBRmpCLENBRS9CRyxJQUYrQjtBQUFBLE1BRXpCQyxpQkFGeUIsR0FFaUJKLEtBRmpCLENBRXpCSSxpQkFGeUI7QUFBQSxNQUVOQyxZQUZNLEdBRWlCTCxLQUZqQixDQUVOSyxZQUZNO0FBQUEsTUFFUUMsS0FGUixHQUVpQk4sS0FGakIsQ0FFUU0sS0FGUjtBQUFBLE1BR3pDQyxLQUh5QyxHQUd4QkQsS0FId0IsQ0FHekNDLEtBSHlDO0FBQUEsTUFHbENDLE1BSGtDLEdBR3hCRixLQUh3QixDQUdsQ0UsTUFIa0M7OztBQUs5Q0osc0JBQW9CQSxvQkFDbEIsb0JBQUMsSUFBRCxJQUFNLE1BQU1BLGlCQUFaLEVBQStCLE9BQU9FLE1BQU1DLEtBQTVDLEVBQW1ELFFBQVFELE1BQU1FLE1BQWpFLEdBRGtCLEdBQzJELElBRC9FO0FBRUY7QUFDRUgsaUJBQWUsSUFBZixDQVI4QyxDQVF6Qjs7QUFFckIsU0FDRTtBQUFBO0FBQUE7QUFDRSxrQ0FBTSxHQUFFLEdBQVIsRUFBWSxHQUFFLEdBQWQsRUFBa0IsT0FBT0UsS0FBekIsRUFBZ0MsUUFBUUMsTUFBeEMsRUFBZ0QsTUFBTSxhQUF0RCxHQURGO0FBRUU7QUFBQTtBQUFBLFFBQUcsNkJBQTJCRixNQUFNRSxNQUFqQyxtQkFBSDtBQUNFLDBCQUFDLEtBQUQsSUFBTyxPQUFPRixLQUFkLEVBQXFCLFNBQVNMLE9BQTlCLEdBREY7QUFFR0csdUJBRkg7QUFHR0M7QUFISDtBQUZGLEdBREY7QUFVRDs7QUFFRE4sTUFBTVUsU0FBTixHQUFrQjtBQUNoQlQsU0FBT0wsVUFBVWUsTUFBVixDQUFpQkMsVUFEUjtBQUVoQlYsV0FBU04sVUFBVWUsTUFBVixDQUFpQkM7QUFGVixDQUFsQiIsImZpbGUiOiJzdGF0ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFNjZW5lIGZyb20gJy4vc2NlbmUnO1xuaW1wb3J0IFNuYXAgZnJvbSAnLi9zbmFwJztcbmltcG9ydCAqIGFzIFNoYXJlZFN0eWxlIGZyb20gJy4uLy4uL3NoYXJlZC1zdHlsZSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFN0YXRlKHtzdGF0ZSwgY2F0YWxvZ30pIHtcblxuICBsZXQge3ZpZXdlcjJELCBtb2RlLCBhY3RpdmVTbmFwRWxlbWVudCwgc25hcEVsZW1lbnRzLCBzY2VuZX0gPSBzdGF0ZTtcbiAgbGV0IHt3aWR0aCwgaGVpZ2h0fSA9IHNjZW5lO1xuXG4gIGFjdGl2ZVNuYXBFbGVtZW50ID0gYWN0aXZlU25hcEVsZW1lbnQgP1xuICAgIDxTbmFwIHNuYXA9e2FjdGl2ZVNuYXBFbGVtZW50fSB3aWR0aD17c2NlbmUud2lkdGh9IGhlaWdodD17c2NlbmUuaGVpZ2h0fS8+IDogbnVsbDtcbi8vIHNuYXBFbGVtZW50cyA9IHNuYXBFbGVtZW50cy5tYXAoKHNuYXAsaWQpID0+IDxTbmFwIGtleT17aWR9IHNuYXA9e3NuYXB9IHdpZHRoPXtzY2VuZS53aWR0aH0gaGVpZ2h0PXtzY2VuZS5oZWlnaHR9Lz4pO1xuICBzbmFwRWxlbWVudHMgPSBudWxsOyAvL29ubHkgZm9yIGRlYnVnIHB1cnBvc2VcblxuICByZXR1cm4gKFxuICAgIDxnPlxuICAgICAgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPXt3aWR0aH0gaGVpZ2h0PXtoZWlnaHR9IGZpbGw9eyd0cmFuc3BhcmVudCd9Lz5cbiAgICAgIDxnIHRyYW5zZm9ybT17YHRyYW5zbGF0ZSgwLCAke3NjZW5lLmhlaWdodH0pIHNjYWxlKDEsIC0xKWB9PlxuICAgICAgICA8U2NlbmUgc2NlbmU9e3NjZW5lfSBjYXRhbG9nPXtjYXRhbG9nfS8+XG4gICAgICAgIHthY3RpdmVTbmFwRWxlbWVudH1cbiAgICAgICAge3NuYXBFbGVtZW50c31cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIClcbn1cblxuU3RhdGUucHJvcFR5cGVzID0ge1xuICBzdGF0ZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBjYXRhbG9nOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbn07XG4iXX0=