UNPKG

react-planner-viewer

Version:

react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode

84 lines (68 loc) 8.76 kB
var _templateObject = _taggedTemplateLiteral(['\n stroke: ', ';\n fill: ', ';;\n stroke-width: 2px;\n width: 0px;\n stroke-dasharray: ', ';;\n animation: ', ';\n @keyframes dash {\n to { stroke-dashoffset: 1000; }\n }\n'], ['\n stroke: ', ';\n fill: ', ';;\n stroke-width: 2px;\n width: 0px;\n stroke-dasharray: ', ';;\n animation: ', ';\n @keyframes dash {\n to { stroke-dashoffset: 1000; }\n }\n']); function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } import React from 'react'; import * as SharedStyle from '../../shared-style'; import * as Geometry from '../../utils/geometry'; import styled from 'styled-components'; var epsilon = 3; var STYLE_TEXT = { textAnchor: 'middle' }; var STYLE_LINE = { stroke: '#99c3fb' }; var PathSc = styled.path(_templateObject, function (props) { return props.selected ? '#287AA4' : null; }, function (props) { return props.selected ? '#287AA4' : '#464E5A'; }, function (props) { return props.selected ? 30 : null; }, function (props) { return props.selected ? 'dash 20s infinite linear' : null; }); export default function WallFactory(name, info, textures) { var wallElement = { name: name, prototype: 'lines', info: info, properties: { height: { label: 'Height', type: 'length-measure', defaultValue: { length: 300 } } }, render2D: function render2D(element, layer, scene) { var _layer$vertices$get = layer.vertices.get(element.vertices.get(0)), x1 = _layer$vertices$get.x, y1 = _layer$vertices$get.y; var _layer$vertices$get2 = layer.vertices.get(element.vertices.get(1)), x2 = _layer$vertices$get2.x, y2 = _layer$vertices$get2.y; var length = Geometry.pointsDistance(x1, y1, x2, y2); var path = 'M' + 0 + ' ' + -epsilon + ' L' + length + ' ' + -epsilon + ' L' + length + ' ' + epsilon + ' L' + 0 + ' ' + epsilon + ' z'; var length_5 = length / 5; return React.createElement(PathSc, { selected: element.selected, d: path }); } }; if (textures && textures !== {}) { var textureValues = { 'none': 'None' }; for (var textureName in textures) { textureValues[textureName] = textures[textureName].name; } wallElement.properties.textureA = { label: 'Covering A', type: 'enum', defaultValue: 'bricks', values: textureValues }; wallElement.properties.textureB = { label: 'Covering B', type: 'enum', defaultValue: 'bricks', values: textureValues }; } return wallElement; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jYXRhbG9nL2ZhY3Rvcmllcy93YWxsLWZhY3RvcnkuanN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiU2hhcmVkU3R5bGUiLCJHZW9tZXRyeSIsInN0eWxlZCIsImVwc2lsb24iLCJTVFlMRV9URVhUIiwidGV4dEFuY2hvciIsIlNUWUxFX0xJTkUiLCJzdHJva2UiLCJQYXRoU2MiLCJwYXRoIiwicHJvcHMiLCJzZWxlY3RlZCIsIldhbGxGYWN0b3J5IiwibmFtZSIsImluZm8iLCJ0ZXh0dXJlcyIsIndhbGxFbGVtZW50IiwicHJvdG90eXBlIiwicHJvcGVydGllcyIsImhlaWdodCIsImxhYmVsIiwidHlwZSIsImRlZmF1bHRWYWx1ZSIsImxlbmd0aCIsInJlbmRlcjJEIiwiZWxlbWVudCIsImxheWVyIiwic2NlbmUiLCJ2ZXJ0aWNlcyIsImdldCIsIngxIiwieCIsInkxIiwieSIsIngyIiwieTIiLCJwb2ludHNEaXN0YW5jZSIsImxlbmd0aF81IiwidGV4dHVyZVZhbHVlcyIsInRleHR1cmVOYW1lIiwidGV4dHVyZUEiLCJ2YWx1ZXMiLCJ0ZXh0dXJlQiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU9BLEtBQVAsTUFBa0IsT0FBbEI7QUFDQSxPQUFPLEtBQUtDLFdBQVosTUFBNkIsb0JBQTdCO0FBQ0EsT0FBTyxLQUFLQyxRQUFaLE1BQTBCLHNCQUExQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsbUJBQW5COztBQUVBLElBQU1DLFVBQVUsQ0FBaEI7QUFDQSxJQUFNQyxhQUFhLEVBQUNDLFlBQVksUUFBYixFQUFuQjtBQUNBLElBQU1DLGFBQWEsRUFBQ0MsUUFBUSxTQUFULEVBQW5COztBQUdBLElBQU1DLFNBQVNOLE9BQU9PLElBQWhCLGtCQUNNO0FBQUEsU0FBU0MsTUFBTUMsUUFBTixHQUFnQixTQUFoQixHQUEyQixJQUFwQztBQUFBLENBRE4sRUFFSTtBQUFBLFNBQVNELE1BQU1DLFFBQU4sR0FBZ0IsU0FBaEIsR0FBMkIsU0FBcEM7QUFBQSxDQUZKLEVBS2dCO0FBQUEsU0FBU0QsTUFBTUMsUUFBTixHQUFnQixFQUFoQixHQUFvQixJQUE3QjtBQUFBLENBTGhCLEVBTVM7QUFBQSxTQUFTRCxNQUFNQyxRQUFOLEdBQWdCLDBCQUFoQixHQUE0QyxJQUFyRDtBQUFBLENBTlQsQ0FBTjs7QUFZQSxlQUFlLFNBQVNDLFdBQVQsQ0FBcUJDLElBQXJCLEVBQTJCQyxJQUEzQixFQUFpQ0MsUUFBakMsRUFBMkM7O0FBRXhELE1BQUlDLGNBQWM7QUFDaEJILGNBRGdCO0FBRWhCSSxlQUFXLE9BRks7QUFHaEJILGNBSGdCO0FBSWhCSSxnQkFBWTtBQUNWQyxjQUFRO0FBQ05DLGVBQU8sUUFERDtBQUVOQyxjQUFNLGdCQUZBO0FBR05DLHNCQUFjO0FBQ1pDLGtCQUFRO0FBREk7QUFIUjtBQURFLEtBSkk7O0FBY2hCQyxjQUFVLGtCQUFVQyxPQUFWLEVBQW1CQyxLQUFuQixFQUEwQkMsS0FBMUIsRUFBaUM7QUFBQSxnQ0FDdEJELE1BQU1FLFFBQU4sQ0FBZUMsR0FBZixDQUFtQkosUUFBUUcsUUFBUixDQUFpQkMsR0FBakIsQ0FBcUIsQ0FBckIsQ0FBbkIsQ0FEc0I7QUFBQSxVQUNsQ0MsRUFEa0MsdUJBQ3BDQyxDQURvQztBQUFBLFVBQzVCQyxFQUQ0Qix1QkFDOUJDLENBRDhCOztBQUFBLGlDQUVyQlAsTUFBTUUsUUFBTixDQUFlQyxHQUFmLENBQW1CSixRQUFRRyxRQUFSLENBQWlCQyxHQUFqQixDQUFxQixDQUFyQixDQUFuQixDQUZxQjtBQUFBLFVBRWxDSyxFQUZrQyx3QkFFcENILENBRm9DO0FBQUEsVUFFM0JJLEVBRjJCLHdCQUU5QkYsQ0FGOEI7O0FBSXpDLFVBQUlWLFNBQVN0QixTQUFTbUMsY0FBVCxDQUF3Qk4sRUFBeEIsRUFBNEJFLEVBQTVCLEVBQWdDRSxFQUFoQyxFQUFvQ0MsRUFBcEMsQ0FBYjtBQUNBLFVBQUkxQixhQUFXLENBQVgsU0FBaUIsQ0FBQ04sT0FBbEIsV0FBK0JvQixNQUEvQixTQUF5QyxDQUFDcEIsT0FBMUMsV0FBdURvQixNQUF2RCxTQUFpRXBCLE9BQWpFLFdBQThFLENBQTlFLFNBQW1GQSxPQUFuRixRQUFKO0FBQ0EsVUFBSWtDLFdBQVdkLFNBQVMsQ0FBeEI7O0FBRUEsYUFBUSxvQkFBQyxNQUFELElBQVEsVUFBVUUsUUFBUWQsUUFBMUIsRUFBb0MsR0FBR0YsSUFBdkMsR0FBUjtBQUNEO0FBdkJlLEdBQWxCOztBQTBCQSxNQUFJTSxZQUFZQSxhQUFhLEVBQTdCLEVBQWlDOztBQUUvQixRQUFJdUIsZ0JBQWdCO0FBQ2xCLGNBQVE7QUFEVSxLQUFwQjs7QUFJQSxTQUFLLElBQUlDLFdBQVQsSUFBd0J4QixRQUF4QixFQUFrQztBQUNoQ3VCLG9CQUFjQyxXQUFkLElBQTZCeEIsU0FBU3dCLFdBQVQsRUFBc0IxQixJQUFuRDtBQUNEOztBQUVERyxnQkFBWUUsVUFBWixDQUF1QnNCLFFBQXZCLEdBQWtDO0FBQ2hDcEIsYUFBTyxZQUR5QjtBQUVoQ0MsWUFBTSxNQUYwQjtBQUdoQ0Msb0JBQWMsUUFIa0I7QUFJaENtQixjQUFRSDtBQUp3QixLQUFsQzs7QUFPQXRCLGdCQUFZRSxVQUFaLENBQXVCd0IsUUFBdkIsR0FBa0M7QUFDaEN0QixhQUFPLFlBRHlCO0FBRWhDQyxZQUFNLE1BRjBCO0FBR2hDQyxvQkFBYyxRQUhrQjtBQUloQ21CLGNBQVFIO0FBSndCLEtBQWxDO0FBT0Q7O0FBRUQsU0FBT3RCLFdBQVA7QUFFRCIsImZpbGUiOiJ3YWxsLWZhY3RvcnkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgU2hhcmVkU3R5bGUgZnJvbSAnLi4vLi4vc2hhcmVkLXN0eWxlJztcbmltcG9ydCAqIGFzIEdlb21ldHJ5IGZyb20gJy4uLy4uL3V0aWxzL2dlb21ldHJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBlcHNpbG9uID0gMztcbmNvbnN0IFNUWUxFX1RFWFQgPSB7dGV4dEFuY2hvcjogJ21pZGRsZSd9O1xuY29uc3QgU1RZTEVfTElORSA9IHtzdHJva2U6ICcjOTljM2ZiJ307XG5cblxuY29uc3QgUGF0aFNjID0gc3R5bGVkLnBhdGhgXG4gIHN0cm9rZTogJHtwcm9wcyA9PiBwcm9wcy5zZWxlY3RlZD8gJyMyODdBQTQnOiBudWxsfTtcbiAgZmlsbDogJHtwcm9wcyA9PiBwcm9wcy5zZWxlY3RlZD8gJyMyODdBQTQnOiAnIzQ2NEU1QSd9OztcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gIHdpZHRoOiAwcHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6ICR7cHJvcHMgPT4gcHJvcHMuc2VsZWN0ZWQ/IDMwOiBudWxsfTs7XG4gIGFuaW1hdGlvbjogJHtwcm9wcyA9PiBwcm9wcy5zZWxlY3RlZD8gJ2Rhc2ggMjBzIGluZmluaXRlIGxpbmVhcic6IG51bGx9O1xuICBAa2V5ZnJhbWVzIGRhc2gge1xuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwMDA7IH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gV2FsbEZhY3RvcnkobmFtZSwgaW5mbywgdGV4dHVyZXMpIHtcblxuICBsZXQgd2FsbEVsZW1lbnQgPSB7XG4gICAgbmFtZSxcbiAgICBwcm90b3R5cGU6ICdsaW5lcycsXG4gICAgaW5mbyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBoZWlnaHQ6IHtcbiAgICAgICAgbGFiZWw6ICdIZWlnaHQnLFxuICAgICAgICB0eXBlOiAnbGVuZ3RoLW1lYXN1cmUnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHtcbiAgICAgICAgICBsZW5ndGg6IDMwMCxcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgcmVuZGVyMkQ6IGZ1bmN0aW9uIChlbGVtZW50LCBsYXllciwgc2NlbmUpIHtcbiAgICAgIGxldCB7eDp4MSwgeTp5MX0gPSBsYXllci52ZXJ0aWNlcy5nZXQoZWxlbWVudC52ZXJ0aWNlcy5nZXQoMCkpO1xuICAgICAgbGV0IHt4OngyLCB5OiB5Mn0gPSBsYXllci52ZXJ0aWNlcy5nZXQoZWxlbWVudC52ZXJ0aWNlcy5nZXQoMSkpO1xuXG4gICAgICBsZXQgbGVuZ3RoID0gR2VvbWV0cnkucG9pbnRzRGlzdGFuY2UoeDEsIHkxLCB4MiwgeTIpO1xuICAgICAgbGV0IHBhdGggPSBgTSR7MH0gJHsgLWVwc2lsb259ICBMJHtsZW5ndGh9ICR7LWVwc2lsb259ICBMJHtsZW5ndGh9ICR7ZXBzaWxvbn0gIEwkezB9ICR7ZXBzaWxvbn0gIHpgO1xuICAgICAgbGV0IGxlbmd0aF81ID0gbGVuZ3RoIC8gNTtcblxuICAgICAgcmV0dXJuICA8UGF0aFNjIHNlbGVjdGVkPXtlbGVtZW50LnNlbGVjdGVkfSBkPXtwYXRofS8+XG4gICAgfSxcbiAgfTtcblxuICBpZiAodGV4dHVyZXMgJiYgdGV4dHVyZXMgIT09IHt9KSB7XG5cbiAgICBsZXQgdGV4dHVyZVZhbHVlcyA9IHtcbiAgICAgICdub25lJzogJ05vbmUnXG4gICAgfTtcblxuICAgIGZvciAobGV0IHRleHR1cmVOYW1lIGluIHRleHR1cmVzKSB7XG4gICAgICB0ZXh0dXJlVmFsdWVzW3RleHR1cmVOYW1lXSA9IHRleHR1cmVzW3RleHR1cmVOYW1lXS5uYW1lXG4gICAgfVxuXG4gICAgd2FsbEVsZW1lbnQucHJvcGVydGllcy50ZXh0dXJlQSA9IHtcbiAgICAgIGxhYmVsOiAnQ292ZXJpbmcgQScsXG4gICAgICB0eXBlOiAnZW51bScsXG4gICAgICBkZWZhdWx0VmFsdWU6ICdicmlja3MnLFxuICAgICAgdmFsdWVzOiB0ZXh0dXJlVmFsdWVzXG4gICAgfTtcblxuICAgIHdhbGxFbGVtZW50LnByb3BlcnRpZXMudGV4dHVyZUIgPSB7XG4gICAgICBsYWJlbDogJ0NvdmVyaW5nIEInLFxuICAgICAgdHlwZTogJ2VudW0nLFxuICAgICAgZGVmYXVsdFZhbHVlOiAnYnJpY2tzJyxcbiAgICAgIHZhbHVlczogdGV4dHVyZVZhbHVlc1xuICAgIH07XG5cbiAgfVxuXG4gIHJldHVybiB3YWxsRWxlbWVudDtcblxufVxuIl19