react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
87 lines (71 loc) • 6.66 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Item;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _reactIf = require('../../utils/react-if');
var _reactIf2 = _interopRequireDefault(_reactIf);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var STYLE_LINE = {
fill: "#0096fd",
stroke: "#0096fd"
};
var STYLE_CIRCLE = {
fill: "#0096fd",
stroke: "#0096fd",
cursor: "ew-resize"
};
var STYLE_CIRCLE2 = {
fill: "none",
stroke: "#0096fd",
cursor: "ew-resize"
};
function Item(_ref) {
var layer = _ref.layer,
item = _ref.item,
scene = _ref.scene,
catalog = _ref.catalog;
var x = item.x,
y = item.y,
rotation = item.rotation;
var renderedItem = catalog.getElement(item.type).render2D(item, layer, scene);
return _react2.default.createElement(
'g',
{
'data-element-root': true,
'data-prototype': item.prototype,
'data-id': item.id,
'data-selected': item.selected,
'data-layer': layer.id,
style: item.selected ? { cursor: "move" } : {},
transform: 'translate(' + x + ',' + y + ') rotate(' + rotation + ')' },
renderedItem,
_react2.default.createElement(
_reactIf2.default,
{ condition: item.selected },
_react2.default.createElement(
'g',
{ 'data-element-root': true,
'data-prototype': item.prototype,
'data-id': item.id,
'data-selected': item.selected,
'data-layer': layer.id,
'data-part': 'rotation-anchor'
},
_react2.default.createElement('circle', { cx: '0', cy: '150', r: '10', style: STYLE_CIRCLE }),
_react2.default.createElement('circle', { cx: '0', cy: '0', r: '150', style: STYLE_CIRCLE2 })
)
)
);
}
Item.propTypes = {
item: _propTypes2.default.object.isRequired,
layer: _propTypes2.default.object.isRequired,
scene: _propTypes2.default.object.isRequired,
catalog: _propTypes2.default.object.isRequired
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdlcjJkL2l0ZW0uanN4Il0sIm5hbWVzIjpbIkl0ZW0iLCJTVFlMRV9MSU5FIiwiZmlsbCIsInN0cm9rZSIsIlNUWUxFX0NJUkNMRSIsImN1cnNvciIsIlNUWUxFX0NJUkNMRTIiLCJsYXllciIsIml0ZW0iLCJzY2VuZSIsImNhdGFsb2ciLCJ4IiwieSIsInJvdGF0aW9uIiwicmVuZGVyZWRJdGVtIiwiZ2V0RWxlbWVudCIsInR5cGUiLCJyZW5kZXIyRCIsInByb3RvdHlwZSIsImlkIiwic2VsZWN0ZWQiLCJwcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7OztrQkFxQndCQSxJOztBQXJCeEI7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQyxhQUFhO0FBQ2pCQyxRQUFNLFNBRFc7QUFFakJDLFVBQVE7QUFGUyxDQUFuQjs7QUFLQSxJQUFNQyxlQUFlO0FBQ25CRixRQUFNLFNBRGE7QUFFbkJDLFVBQVEsU0FGVztBQUduQkUsVUFBUTtBQUhXLENBQXJCOztBQU1BLElBQU1DLGdCQUFnQjtBQUNwQkosUUFBTSxNQURjO0FBRXBCQyxVQUFRLFNBRlk7QUFHcEJFLFVBQVE7QUFIWSxDQUF0Qjs7QUFNZSxTQUFTTCxJQUFULE9BQTZDO0FBQUEsTUFBOUJPLEtBQThCLFFBQTlCQSxLQUE4QjtBQUFBLE1BQXZCQyxJQUF1QixRQUF2QkEsSUFBdUI7QUFBQSxNQUFqQkMsS0FBaUIsUUFBakJBLEtBQWlCO0FBQUEsTUFBVkMsT0FBVSxRQUFWQSxPQUFVO0FBQUEsTUFFckRDLENBRnFELEdBRW5DSCxJQUZtQyxDQUVyREcsQ0FGcUQ7QUFBQSxNQUVsREMsQ0FGa0QsR0FFbkNKLElBRm1DLENBRWxESSxDQUZrRDtBQUFBLE1BRS9DQyxRQUYrQyxHQUVuQ0wsSUFGbUMsQ0FFL0NLLFFBRitDOzs7QUFJMUQsTUFBSUMsZUFBZUosUUFBUUssVUFBUixDQUFtQlAsS0FBS1EsSUFBeEIsRUFBOEJDLFFBQTlCLENBQXVDVCxJQUF2QyxFQUE2Q0QsS0FBN0MsRUFBb0RFLEtBQXBELENBQW5COztBQUVBLFNBQ0U7QUFBQTtBQUFBO0FBQ0UsK0JBREY7QUFFRSx3QkFBZ0JELEtBQUtVLFNBRnZCO0FBR0UsaUJBQVNWLEtBQUtXLEVBSGhCO0FBSUUsdUJBQWVYLEtBQUtZLFFBSnRCO0FBS0Usb0JBQVliLE1BQU1ZLEVBTHBCO0FBTUUsYUFBT1gsS0FBS1ksUUFBTCxHQUFnQixFQUFDZixRQUFRLE1BQVQsRUFBaEIsR0FBbUMsRUFONUM7QUFPRSxnQ0FBd0JNLENBQXhCLFNBQTZCQyxDQUE3QixpQkFBMENDLFFBQTFDLE1BUEY7QUFTR0MsZ0JBVEg7QUFVRTtBQUFBO0FBQUEsUUFBSSxXQUFXTixLQUFLWSxRQUFwQjtBQUNFO0FBQUE7QUFBQSxVQUFHLHlCQUFIO0FBQ0csNEJBQWdCWixLQUFLVSxTQUR4QjtBQUVHLHFCQUFTVixLQUFLVyxFQUZqQjtBQUdHLDJCQUFlWCxLQUFLWSxRQUh2QjtBQUlHLHdCQUFZYixNQUFNWSxFQUpyQjtBQUtHLHVCQUFVO0FBTGI7QUFPRSxrREFBUSxJQUFHLEdBQVgsRUFBZSxJQUFHLEtBQWxCLEVBQXdCLEdBQUUsSUFBMUIsRUFBK0IsT0FBT2YsWUFBdEMsR0FQRjtBQVFFLGtEQUFRLElBQUcsR0FBWCxFQUFlLElBQUcsR0FBbEIsRUFBc0IsR0FBRSxLQUF4QixFQUE4QixPQUFPRSxhQUFyQztBQVJGO0FBREY7QUFWRixHQURGO0FBeUJEOztBQUVETixLQUFLcUIsU0FBTCxHQUFpQjtBQUNmYixRQUFNLG9CQUFVYyxNQUFWLENBQWlCQyxVQURSO0FBRWZoQixTQUFPLG9CQUFVZSxNQUFWLENBQWlCQyxVQUZUO0FBR2ZkLFNBQU8sb0JBQVVhLE1BQVYsQ0FBaUJDLFVBSFQ7QUFJZmIsV0FBUyxvQkFBVVksTUFBVixDQUFpQkM7QUFKWCxDQUFqQiIsImZpbGUiOiJpdGVtLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgSWYgZnJvbSAnLi4vLi4vdXRpbHMvcmVhY3QtaWYnO1xuXG5jb25zdCBTVFlMRV9MSU5FID0ge1xuICBmaWxsOiBcIiMwMDk2ZmRcIixcbiAgc3Ryb2tlOiBcIiMwMDk2ZmRcIlxufTtcblxuY29uc3QgU1RZTEVfQ0lSQ0xFID0ge1xuICBmaWxsOiBcIiMwMDk2ZmRcIixcbiAgc3Ryb2tlOiBcIiMwMDk2ZmRcIixcbiAgY3Vyc29yOiBcImV3LXJlc2l6ZVwiXG59O1xuXG5jb25zdCBTVFlMRV9DSVJDTEUyID0ge1xuICBmaWxsOiBcIm5vbmVcIixcbiAgc3Ryb2tlOiBcIiMwMDk2ZmRcIixcbiAgY3Vyc29yOiBcImV3LXJlc2l6ZVwiXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBJdGVtKHtsYXllciwgaXRlbSwgc2NlbmUsIGNhdGFsb2d9KSB7XG5cbiAgbGV0IHt4LCB5LCByb3RhdGlvbn0gPSBpdGVtO1xuXG4gIGxldCByZW5kZXJlZEl0ZW0gPSBjYXRhbG9nLmdldEVsZW1lbnQoaXRlbS50eXBlKS5yZW5kZXIyRChpdGVtLCBsYXllciwgc2NlbmUpO1xuXG4gIHJldHVybiAoXG4gICAgPGdcbiAgICAgIGRhdGEtZWxlbWVudC1yb290XG4gICAgICBkYXRhLXByb3RvdHlwZT17aXRlbS5wcm90b3R5cGV9XG4gICAgICBkYXRhLWlkPXtpdGVtLmlkfVxuICAgICAgZGF0YS1zZWxlY3RlZD17aXRlbS5zZWxlY3RlZH1cbiAgICAgIGRhdGEtbGF5ZXI9e2xheWVyLmlkfVxuICAgICAgc3R5bGU9e2l0ZW0uc2VsZWN0ZWQgPyB7Y3Vyc29yOiBcIm1vdmVcIn0gOiB7fX1cbiAgICAgIHRyYW5zZm9ybT17YHRyYW5zbGF0ZSgke3h9LCR7eX0pIHJvdGF0ZSgke3JvdGF0aW9ufSlgfT5cblxuICAgICAge3JlbmRlcmVkSXRlbX1cbiAgICAgIDxJZiBjb25kaXRpb249e2l0ZW0uc2VsZWN0ZWR9PlxuICAgICAgICA8ZyBkYXRhLWVsZW1lbnQtcm9vdFxuICAgICAgICAgICBkYXRhLXByb3RvdHlwZT17aXRlbS5wcm90b3R5cGV9XG4gICAgICAgICAgIGRhdGEtaWQ9e2l0ZW0uaWR9XG4gICAgICAgICAgIGRhdGEtc2VsZWN0ZWQ9e2l0ZW0uc2VsZWN0ZWR9XG4gICAgICAgICAgIGRhdGEtbGF5ZXI9e2xheWVyLmlkfVxuICAgICAgICAgICBkYXRhLXBhcnQ9XCJyb3RhdGlvbi1hbmNob3JcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNpcmNsZSBjeD1cIjBcIiBjeT1cIjE1MFwiIHI9XCIxMFwiIHN0eWxlPXtTVFlMRV9DSVJDTEV9Lz5cbiAgICAgICAgICA8Y2lyY2xlIGN4PVwiMFwiIGN5PVwiMFwiIHI9XCIxNTBcIiBzdHlsZT17U1RZTEVfQ0lSQ0xFMn0vPlxuICAgICAgICA8L2c+XG4gICAgICA8L0lmPlxuICAgIDwvZz5cbiAgKVxufVxuXG5JdGVtLnByb3BUeXBlcyA9IHtcbiAgaXRlbTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBsYXllcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBzY2VuZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBjYXRhbG9nOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWRcbn07XG5cbiJdfQ==