UNPKG

react-planner-viewer

Version:

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

70 lines (60 loc) 6.04 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var WIDTH = 10; var DEPTH = 20; var HEIGHT = 20; exports.default = { name: 'camera', prototype: 'items', info: { tag: ['security', 'metal'], group: 'items', title: 'camera', description: 'camera', image: require('./camera.png') }, properties: { access: { label: 'access', type: 'string', defaultValue: "none" }, serialNumber: { label: 'serial Number', type: 'string', defaultValue: "none" }, insideZone: { label: 'inside Zone', type: 'enum', defaultValue: "source", values: { "source": "source", "target": "target" } } }, render2D: function render2D(element, layer, scene) { var angle = element.rotation + 90; var textRotation = 0; if (Math.sin(angle * Math.PI / 180) < 0) { textRotation = 180; } return _react2.default.createElement( 'g', { transform: 'translate(' + -WIDTH / 2 + ',' + -DEPTH / 2 + ')' }, _react2.default.createElement('rect', { key: '1', x: '0', y: '0', width: WIDTH, height: DEPTH, style: { stroke: element.selected ? '#0096fd' : '#000', strokeWidth: '2px', fill: '#84e1ce' } }), _react2.default.createElement( 'text', { key: '2', x: '0', y: '0', transform: 'translate(' + WIDTH / 2 + ', ' + DEPTH / 2 + ') scale(1,-1) rotate(' + textRotation + ')', style: { textAnchor: 'middle', fontSize: '11px' } }, element.type ) ); } }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jYXRhbG9nL215Q2F0YWxvZy9pdGVtcy9jYW1lcmEvcGxhbm5lci1lbGVtZW50LmpzeCJdLCJuYW1lcyI6WyJXSURUSCIsIkRFUFRIIiwiSEVJR0hUIiwibmFtZSIsInByb3RvdHlwZSIsImluZm8iLCJ0YWciLCJncm91cCIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJpbWFnZSIsInJlcXVpcmUiLCJwcm9wZXJ0aWVzIiwiYWNjZXNzIiwibGFiZWwiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwic2VyaWFsTnVtYmVyIiwiaW5zaWRlWm9uZSIsInZhbHVlcyIsInJlbmRlcjJEIiwiZWxlbWVudCIsImxheWVyIiwic2NlbmUiLCJhbmdsZSIsInJvdGF0aW9uIiwidGV4dFJvdGF0aW9uIiwiTWF0aCIsInNpbiIsIlBJIiwic3Ryb2tlIiwic2VsZWN0ZWQiLCJzdHJva2VXaWR0aCIsImZpbGwiLCJ0ZXh0QW5jaG9yIiwiZm9udFNpemUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7Ozs7QUFFQSxJQUFNQSxRQUFRLEVBQWQ7QUFDQSxJQUFNQyxRQUFRLEVBQWQ7QUFDQSxJQUFNQyxTQUFTLEVBQWY7O2tCQUVlO0FBQ2JDLFFBQU0sUUFETztBQUViQyxhQUFXLE9BRkU7QUFHYkMsUUFBTTtBQUNKQyxTQUFLLENBQUMsVUFBRCxFQUFhLE9BQWIsQ0FERDtBQUVKQyxXQUFPLE9BRkg7QUFHSkMsV0FBTyxRQUhIO0FBSUpDLGlCQUFhLFFBSlQ7QUFLSkMsV0FBT0MsUUFBUSxjQUFSO0FBTEgsR0FITztBQVViQyxjQUFZO0FBQ1ZDLFlBQVE7QUFDTkMsYUFBTyxRQUREO0FBRU5DLFlBQU0sUUFGQTtBQUdOQyxvQkFBYztBQUhSLEtBREU7QUFNVkMsa0JBQWM7QUFDWkgsYUFBTyxlQURLO0FBRVpDLFlBQU0sUUFGTTtBQUdaQyxvQkFBYztBQUhGLEtBTko7QUFXVkUsZ0JBQVk7QUFDVkosYUFBTyxhQURHO0FBRVZDLFlBQU0sTUFGSTtBQUdWQyxvQkFBYyxRQUhKO0FBSVZHLGNBQU8sRUFBQyxVQUFTLFFBQVYsRUFBbUIsVUFBUyxRQUE1QjtBQUpHO0FBWEYsR0FWQzs7QUE2QmJDLFlBQVUsa0JBQVVDLE9BQVYsRUFBbUJDLEtBQW5CLEVBQTBCQyxLQUExQixFQUFpQzs7QUFFekMsUUFBSUMsUUFBUUgsUUFBUUksUUFBUixHQUFtQixFQUEvQjs7QUFFQSxRQUFJQyxlQUFlLENBQW5CO0FBQ0EsUUFBSUMsS0FBS0MsR0FBTCxDQUFTSixRQUFRRyxLQUFLRSxFQUFiLEdBQWtCLEdBQTNCLElBQWtDLENBQXRDLEVBQXlDO0FBQ3ZDSCxxQkFBZSxHQUFmO0FBQ0Q7O0FBRUQsV0FDRTtBQUFBO0FBQUEsUUFBRywwQkFBd0IsQ0FBQzFCLEtBQUQsR0FBUyxDQUFqQyxTQUFzQyxDQUFDQyxLQUFELEdBQU8sQ0FBN0MsTUFBSDtBQUNBLDhDQUFNLEtBQUksR0FBVixFQUFjLEdBQUUsR0FBaEIsRUFBb0IsR0FBRSxHQUF0QixFQUEwQixPQUFPRCxLQUFqQyxFQUF5QyxRQUFRQyxLQUFqRDtBQUNFLGVBQU8sRUFBQzZCLFFBQVFULFFBQVFVLFFBQVIsR0FBbUIsU0FBbkIsR0FBK0IsTUFBeEMsRUFBZ0RDLGFBQWEsS0FBN0QsRUFBb0VDLE1BQU0sU0FBMUUsRUFEVCxHQURBO0FBR0E7QUFBQTtBQUFBLFVBQU0sS0FBSSxHQUFWLEVBQWMsR0FBRSxHQUFoQixFQUFvQixHQUFFLEdBQXRCO0FBQ00sb0NBQXdCakMsUUFBUSxDQUFoQyxVQUFzQ0MsUUFBUSxDQUE5Qyw2QkFBdUV5QixZQUF2RSxNQUROO0FBRUUsaUJBQU8sRUFBQ1EsWUFBWSxRQUFiLEVBQXVCQyxVQUFVLE1BQWpDLEVBRlQ7QUFHR2QsZ0JBQVFOO0FBSFg7QUFIQSxLQURGO0FBV0Q7QUFqRFksQyIsImZpbGUiOiJwbGFubmVyLWVsZW1lbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBXSURUSCA9IDEwO1xuY29uc3QgREVQVEggPSAyMDtcbmNvbnN0IEhFSUdIVCA9IDIwO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG5hbWU6ICdjYW1lcmEnLFxuICBwcm90b3R5cGU6ICdpdGVtcycsXG4gIGluZm86IHtcbiAgICB0YWc6IFsnc2VjdXJpdHknLCAnbWV0YWwnXSxcbiAgICBncm91cDogJ2l0ZW1zJyxcbiAgICB0aXRsZTogJ2NhbWVyYScsXG4gICAgZGVzY3JpcHRpb246ICdjYW1lcmEnLFxuICAgIGltYWdlOiByZXF1aXJlKCcuL2NhbWVyYS5wbmcnKVxuICB9LFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgYWNjZXNzOiB7XG4gICAgICBsYWJlbDogJ2FjY2VzcycsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogXCJub25lXCIsXG4gICAgfSxcbiAgICBzZXJpYWxOdW1iZXI6IHtcbiAgICAgIGxhYmVsOiAnc2VyaWFsIE51bWJlcicsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogXCJub25lXCIsXG4gICAgfSxcbiAgICBpbnNpZGVab25lOiB7XG4gICAgICBsYWJlbDogJ2luc2lkZSBab25lJyxcbiAgICAgIHR5cGU6ICdlbnVtJyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogXCJzb3VyY2VcIixcbiAgICAgIHZhbHVlczp7XCJzb3VyY2VcIjpcInNvdXJjZVwiLFwidGFyZ2V0XCI6XCJ0YXJnZXRcIn1cbiAgICB9XG4gIH0sXG5cbiAgcmVuZGVyMkQ6IGZ1bmN0aW9uIChlbGVtZW50LCBsYXllciwgc2NlbmUpIHtcblxuICAgIGxldCBhbmdsZSA9IGVsZW1lbnQucm90YXRpb24gKyA5MDtcblxuICAgIGxldCB0ZXh0Um90YXRpb24gPSAwO1xuICAgIGlmIChNYXRoLnNpbihhbmdsZSAqIE1hdGguUEkgLyAxODApIDwgMCkge1xuICAgICAgdGV4dFJvdGF0aW9uID0gMTgwO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZyB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoJHstV0lEVEggLyAyfSwkey1ERVBUSC8yfSlgfT5cbiAgICAgIDxyZWN0IGtleT0nMScgeD0nMCcgeT0nMCcgd2lkdGg9e1dJRFRIfSAgaGVpZ2h0PXtERVBUSH1cbiAgICAgICAgc3R5bGU9e3tzdHJva2U6IGVsZW1lbnQuc2VsZWN0ZWQgPyAnIzAwOTZmZCcgOiAnIzAwMCcsIHN0cm9rZVdpZHRoOiAnMnB4JywgZmlsbDogJyM4NGUxY2UnfX0vPlxuICAgICAgPHRleHQga2V5PScyJyB4PScwJyB5PScwJ1xuICAgICAgICAgICAgdHJhbnNmb3JtPXtgdHJhbnNsYXRlKCR7V0lEVEggLyAyfSwgJHtERVBUSCAvIDJ9KSBzY2FsZSgxLC0xKSByb3RhdGUoJHt0ZXh0Um90YXRpb259KWB9XG4gICAgICAgIHN0eWxlPXt7dGV4dEFuY2hvcjogJ21pZGRsZScsIGZvbnRTaXplOiAnMTFweCd9fT5cbiAgICAgICAge2VsZW1lbnQudHlwZX1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8L2c+XG4gICAgKVxuICB9LFxufTtcbiJdfQ==