UNPKG

react-planner-viewer

Version:

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

107 lines (79 loc) 9.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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']); exports.default = WallFactory; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _sharedStyle = require('../../shared-style'); var SharedStyle = _interopRequireWildcard(_sharedStyle); var _geometry = require('../../utils/geometry'); var Geometry = _interopRequireWildcard(_geometry); var _styledComponents = require('styled-components'); var _styledComponents2 = _interopRequireDefault(_styledComponents); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } var epsilon = 3; var STYLE_TEXT = { textAnchor: 'middle' }; var STYLE_LINE = { stroke: '#99c3fb' }; var PathSc = _styledComponents2.default.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; }); 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 _react2.default.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jYXRhbG9nL2ZhY3Rvcmllcy93YWxsLWZhY3RvcnkuanN4Il0sIm5hbWVzIjpbIldhbGxGYWN0b3J5IiwiU2hhcmVkU3R5bGUiLCJHZW9tZXRyeSIsImVwc2lsb24iLCJTVFlMRV9URVhUIiwidGV4dEFuY2hvciIsIlNUWUxFX0xJTkUiLCJzdHJva2UiLCJQYXRoU2MiLCJwYXRoIiwicHJvcHMiLCJzZWxlY3RlZCIsIm5hbWUiLCJpbmZvIiwidGV4dHVyZXMiLCJ3YWxsRWxlbWVudCIsInByb3RvdHlwZSIsInByb3BlcnRpZXMiLCJoZWlnaHQiLCJsYWJlbCIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJsZW5ndGgiLCJyZW5kZXIyRCIsImVsZW1lbnQiLCJsYXllciIsInNjZW5lIiwidmVydGljZXMiLCJnZXQiLCJ4MSIsIngiLCJ5MSIsInkiLCJ4MiIsInkyIiwicG9pbnRzRGlzdGFuY2UiLCJsZW5ndGhfNSIsInRleHR1cmVWYWx1ZXMiLCJ0ZXh0dXJlTmFtZSIsInRleHR1cmVBIiwidmFsdWVzIiwidGV4dHVyZUIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQXNCd0JBLFc7O0FBdEJ4Qjs7OztBQUNBOztJQUFZQyxXOztBQUNaOztJQUFZQyxROztBQUNaOzs7Ozs7Ozs7O0FBRUEsSUFBTUMsVUFBVSxDQUFoQjtBQUNBLElBQU1DLGFBQWEsRUFBQ0MsWUFBWSxRQUFiLEVBQW5CO0FBQ0EsSUFBTUMsYUFBYSxFQUFDQyxRQUFRLFNBQVQsRUFBbkI7O0FBR0EsSUFBTUMsU0FBUywyQkFBT0MsSUFBaEIsa0JBQ007QUFBQSxTQUFTQyxNQUFNQyxRQUFOLEdBQWdCLFNBQWhCLEdBQTJCLElBQXBDO0FBQUEsQ0FETixFQUVJO0FBQUEsU0FBU0QsTUFBTUMsUUFBTixHQUFnQixTQUFoQixHQUEyQixTQUFwQztBQUFBLENBRkosRUFLZ0I7QUFBQSxTQUFTRCxNQUFNQyxRQUFOLEdBQWdCLEVBQWhCLEdBQW9CLElBQTdCO0FBQUEsQ0FMaEIsRUFNUztBQUFBLFNBQVNELE1BQU1DLFFBQU4sR0FBZ0IsMEJBQWhCLEdBQTRDLElBQXJEO0FBQUEsQ0FOVCxDQUFOOztBQVllLFNBQVNYLFdBQVQsQ0FBcUJZLElBQXJCLEVBQTJCQyxJQUEzQixFQUFpQ0MsUUFBakMsRUFBMkM7O0FBRXhELE1BQUlDLGNBQWM7QUFDaEJILGNBRGdCO0FBRWhCSSxlQUFXLE9BRks7QUFHaEJILGNBSGdCO0FBSWhCSSxnQkFBWTtBQUNWQyxjQUFRO0FBQ05DLGVBQU8sUUFERDtBQUVOQyxjQUFNLGdCQUZBO0FBR05DLHNCQUFjO0FBQ1pDLGtCQUFRO0FBREk7QUFIUjtBQURFLEtBSkk7O0FBY2hCQyxjQUFVLGtCQUFVQyxPQUFWLEVBQW1CQyxLQUFuQixFQUEwQkMsS0FBMUIsRUFBaUM7QUFBQSxnQ0FDdEJELE1BQU1FLFFBQU4sQ0FBZUMsR0FBZixDQUFtQkosUUFBUUcsUUFBUixDQUFpQkMsR0FBakIsQ0FBcUIsQ0FBckIsQ0FBbkIsQ0FEc0I7QUFBQSxVQUNsQ0MsRUFEa0MsdUJBQ3BDQyxDQURvQztBQUFBLFVBQzVCQyxFQUQ0Qix1QkFDOUJDLENBRDhCOztBQUFBLGlDQUVyQlAsTUFBTUUsUUFBTixDQUFlQyxHQUFmLENBQW1CSixRQUFRRyxRQUFSLENBQWlCQyxHQUFqQixDQUFxQixDQUFyQixDQUFuQixDQUZxQjtBQUFBLFVBRWxDSyxFQUZrQyx3QkFFcENILENBRm9DO0FBQUEsVUFFM0JJLEVBRjJCLHdCQUU5QkYsQ0FGOEI7O0FBSXpDLFVBQUlWLFNBQVNwQixTQUFTaUMsY0FBVCxDQUF3Qk4sRUFBeEIsRUFBNEJFLEVBQTVCLEVBQWdDRSxFQUFoQyxFQUFvQ0MsRUFBcEMsQ0FBYjtBQUNBLFVBQUl6QixhQUFXLENBQVgsU0FBaUIsQ0FBQ04sT0FBbEIsV0FBK0JtQixNQUEvQixTQUF5QyxDQUFDbkIsT0FBMUMsV0FBdURtQixNQUF2RCxTQUFpRW5CLE9BQWpFLFdBQThFLENBQTlFLFNBQW1GQSxPQUFuRixRQUFKO0FBQ0EsVUFBSWlDLFdBQVdkLFNBQVMsQ0FBeEI7O0FBRUEsYUFBUSw4QkFBQyxNQUFELElBQVEsVUFBVUUsUUFBUWIsUUFBMUIsRUFBb0MsR0FBR0YsSUFBdkMsR0FBUjtBQUNEO0FBdkJlLEdBQWxCOztBQTBCQSxNQUFJSyxZQUFZQSxhQUFhLEVBQTdCLEVBQWlDOztBQUUvQixRQUFJdUIsZ0JBQWdCO0FBQ2xCLGNBQVE7QUFEVSxLQUFwQjs7QUFJQSxTQUFLLElBQUlDLFdBQVQsSUFBd0J4QixRQUF4QixFQUFrQztBQUNoQ3VCLG9CQUFjQyxXQUFkLElBQTZCeEIsU0FBU3dCLFdBQVQsRUFBc0IxQixJQUFuRDtBQUNEOztBQUVERyxnQkFBWUUsVUFBWixDQUF1QnNCLFFBQXZCLEdBQWtDO0FBQ2hDcEIsYUFBTyxZQUR5QjtBQUVoQ0MsWUFBTSxNQUYwQjtBQUdoQ0Msb0JBQWMsUUFIa0I7QUFJaENtQixjQUFRSDtBQUp3QixLQUFsQzs7QUFPQXRCLGdCQUFZRSxVQUFaLENBQXVCd0IsUUFBdkIsR0FBa0M7QUFDaEN0QixhQUFPLFlBRHlCO0FBRWhDQyxZQUFNLE1BRjBCO0FBR2hDQyxvQkFBYyxRQUhrQjtBQUloQ21CLGNBQVFIO0FBSndCLEtBQWxDO0FBT0Q7O0FBRUQsU0FBT3RCLFdBQVA7QUFFRCIsImZpbGUiOiJ3YWxsLWZhY3RvcnkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgU2hhcmVkU3R5bGUgZnJvbSAnLi4vLi4vc2hhcmVkLXN0eWxlJztcbmltcG9ydCAqIGFzIEdlb21ldHJ5IGZyb20gJy4uLy4uL3V0aWxzL2dlb21ldHJ5JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBlcHNpbG9uID0gMztcbmNvbnN0IFNUWUxFX1RFWFQgPSB7dGV4dEFuY2hvcjogJ21pZGRsZSd9O1xuY29uc3QgU1RZTEVfTElORSA9IHtzdHJva2U6ICcjOTljM2ZiJ307XG5cblxuY29uc3QgUGF0aFNjID0gc3R5bGVkLnBhdGhgXG4gIHN0cm9rZTogJHtwcm9wcyA9PiBwcm9wcy5zZWxlY3RlZD8gJyMyODdBQTQnOiBudWxsfTtcbiAgZmlsbDogJHtwcm9wcyA9PiBwcm9wcy5zZWxlY3RlZD8gJyMyODdBQTQnOiAnIzQ2NEU1QSd9OztcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gIHdpZHRoOiAwcHg7XG4gIHN0cm9rZS1kYXNoYXJyYXk6ICR7cHJvcHMgPT4gcHJvcHMuc2VsZWN0ZWQ/IDMwOiBudWxsfTs7XG4gIGFuaW1hdGlvbjogJHtwcm9wcyA9PiBwcm9wcy5zZWxlY3RlZD8gJ2Rhc2ggMjBzIGluZmluaXRlIGxpbmVhcic6IG51bGx9O1xuICBAa2V5ZnJhbWVzIGRhc2gge1xuICAgIHRvIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDEwMDA7IH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gV2FsbEZhY3RvcnkobmFtZSwgaW5mbywgdGV4dHVyZXMpIHtcblxuICBsZXQgd2FsbEVsZW1lbnQgPSB7XG4gICAgbmFtZSxcbiAgICBwcm90b3R5cGU6ICdsaW5lcycsXG4gICAgaW5mbyxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBoZWlnaHQ6IHtcbiAgICAgICAgbGFiZWw6ICdIZWlnaHQnLFxuICAgICAgICB0eXBlOiAnbGVuZ3RoLW1lYXN1cmUnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHtcbiAgICAgICAgICBsZW5ndGg6IDMwMCxcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgcmVuZGVyMkQ6IGZ1bmN0aW9uIChlbGVtZW50LCBsYXllciwgc2NlbmUpIHtcbiAgICAgIGxldCB7eDp4MSwgeTp5MX0gPSBsYXllci52ZXJ0aWNlcy5nZXQoZWxlbWVudC52ZXJ0aWNlcy5nZXQoMCkpO1xuICAgICAgbGV0IHt4OngyLCB5OiB5Mn0gPSBsYXllci52ZXJ0aWNlcy5nZXQoZWxlbWVudC52ZXJ0aWNlcy5nZXQoMSkpO1xuXG4gICAgICBsZXQgbGVuZ3RoID0gR2VvbWV0cnkucG9pbnRzRGlzdGFuY2UoeDEsIHkxLCB4MiwgeTIpO1xuICAgICAgbGV0IHBhdGggPSBgTSR7MH0gJHsgLWVwc2lsb259ICBMJHtsZW5ndGh9ICR7LWVwc2lsb259ICBMJHtsZW5ndGh9ICR7ZXBzaWxvbn0gIEwkezB9ICR7ZXBzaWxvbn0gIHpgO1xuICAgICAgbGV0IGxlbmd0aF81ID0gbGVuZ3RoIC8gNTtcblxuICAgICAgcmV0dXJuICA8UGF0aFNjIHNlbGVjdGVkPXtlbGVtZW50LnNlbGVjdGVkfSBkPXtwYXRofS8+XG4gICAgfSxcbiAgfTtcblxuICBpZiAodGV4dHVyZXMgJiYgdGV4dHVyZXMgIT09IHt9KSB7XG5cbiAgICBsZXQgdGV4dHVyZVZhbHVlcyA9IHtcbiAgICAgICdub25lJzogJ05vbmUnXG4gICAgfTtcblxuICAgIGZvciAobGV0IHRleHR1cmVOYW1lIGluIHRleHR1cmVzKSB7XG4gICAgICB0ZXh0dXJlVmFsdWVzW3RleHR1cmVOYW1lXSA9IHRleHR1cmVzW3RleHR1cmVOYW1lXS5uYW1lXG4gICAgfVxuXG4gICAgd2FsbEVsZW1lbnQucHJvcGVydGllcy50ZXh0dXJlQSA9IHtcbiAgICAgIGxhYmVsOiAnQ292ZXJpbmcgQScsXG4gICAgICB0eXBlOiAnZW51bScsXG4gICAgICBkZWZhdWx0VmFsdWU6ICdicmlja3MnLFxuICAgICAgdmFsdWVzOiB0ZXh0dXJlVmFsdWVzXG4gICAgfTtcblxuICAgIHdhbGxFbGVtZW50LnByb3BlcnRpZXMudGV4dHVyZUIgPSB7XG4gICAgICBsYWJlbDogJ0NvdmVyaW5nIEInLFxuICAgICAgdHlwZTogJ2VudW0nLFxuICAgICAgZGVmYXVsdFZhbHVlOiAnYnJpY2tzJyxcbiAgICAgIHZhbHVlczogdGV4dHVyZVZhbHVlc1xuICAgIH07XG5cbiAgfVxuXG4gIHJldHVybiB3YWxsRWxlbWVudDtcblxufVxuIl19