UNPKG

react-planner-viewer

Version:

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

60 lines (54 loc) 5.81 kB
import React from 'react'; var WIDTH = 10; var DEPTH = 20; var HEIGHT = 20; export 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 React.createElement( 'g', { transform: 'translate(' + -WIDTH / 2 + ',' + -DEPTH / 2 + ')' }, React.createElement('rect', { key: '1', x: '0', y: '0', width: WIDTH, height: DEPTH, style: { stroke: element.selected ? '#0096fd' : '#000', strokeWidth: '2px', fill: '#84e1ce' } }), React.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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jYXRhbG9nL215Q2F0YWxvZy9pdGVtcy9jYW1lcmEvcGxhbm5lci1lbGVtZW50LmpzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIldJRFRIIiwiREVQVEgiLCJIRUlHSFQiLCJuYW1lIiwicHJvdG90eXBlIiwiaW5mbyIsInRhZyIsImdyb3VwIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImltYWdlIiwicmVxdWlyZSIsInByb3BlcnRpZXMiLCJhY2Nlc3MiLCJsYWJlbCIsInR5cGUiLCJkZWZhdWx0VmFsdWUiLCJzZXJpYWxOdW1iZXIiLCJpbnNpZGVab25lIiwidmFsdWVzIiwicmVuZGVyMkQiLCJlbGVtZW50IiwibGF5ZXIiLCJzY2VuZSIsImFuZ2xlIiwicm90YXRpb24iLCJ0ZXh0Um90YXRpb24iLCJNYXRoIiwic2luIiwiUEkiLCJzdHJva2UiLCJzZWxlY3RlZCIsInN0cm9rZVdpZHRoIiwiZmlsbCIsInRleHRBbmNob3IiLCJmb250U2l6ZSJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBUCxNQUFrQixPQUFsQjs7QUFFQSxJQUFNQyxRQUFRLEVBQWQ7QUFDQSxJQUFNQyxRQUFRLEVBQWQ7QUFDQSxJQUFNQyxTQUFTLEVBQWY7O0FBRUEsZUFBZTtBQUNiQyxRQUFNLFFBRE87QUFFYkMsYUFBVyxPQUZFO0FBR2JDLFFBQU07QUFDSkMsU0FBSyxDQUFDLFVBQUQsRUFBYSxPQUFiLENBREQ7QUFFSkMsV0FBTyxPQUZIO0FBR0pDLFdBQU8sUUFISDtBQUlKQyxpQkFBYSxRQUpUO0FBS0pDLFdBQU9DLFFBQVEsY0FBUjtBQUxILEdBSE87QUFVYkMsY0FBWTtBQUNWQyxZQUFRO0FBQ05DLGFBQU8sUUFERDtBQUVOQyxZQUFNLFFBRkE7QUFHTkMsb0JBQWM7QUFIUixLQURFO0FBTVZDLGtCQUFjO0FBQ1pILGFBQU8sZUFESztBQUVaQyxZQUFNLFFBRk07QUFHWkMsb0JBQWM7QUFIRixLQU5KO0FBV1ZFLGdCQUFZO0FBQ1ZKLGFBQU8sYUFERztBQUVWQyxZQUFNLE1BRkk7QUFHVkMsb0JBQWMsUUFISjtBQUlWRyxjQUFPLEVBQUMsVUFBUyxRQUFWLEVBQW1CLFVBQVMsUUFBNUI7QUFKRztBQVhGLEdBVkM7O0FBNkJiQyxZQUFVLGtCQUFVQyxPQUFWLEVBQW1CQyxLQUFuQixFQUEwQkMsS0FBMUIsRUFBaUM7O0FBRXpDLFFBQUlDLFFBQVFILFFBQVFJLFFBQVIsR0FBbUIsRUFBL0I7O0FBRUEsUUFBSUMsZUFBZSxDQUFuQjtBQUNBLFFBQUlDLEtBQUtDLEdBQUwsQ0FBU0osUUFBUUcsS0FBS0UsRUFBYixHQUFrQixHQUEzQixJQUFrQyxDQUF0QyxFQUF5QztBQUN2Q0gscUJBQWUsR0FBZjtBQUNEOztBQUVELFdBQ0U7QUFBQTtBQUFBLFFBQUcsMEJBQXdCLENBQUMxQixLQUFELEdBQVMsQ0FBakMsU0FBc0MsQ0FBQ0MsS0FBRCxHQUFPLENBQTdDLE1BQUg7QUFDQSxvQ0FBTSxLQUFJLEdBQVYsRUFBYyxHQUFFLEdBQWhCLEVBQW9CLEdBQUUsR0FBdEIsRUFBMEIsT0FBT0QsS0FBakMsRUFBeUMsUUFBUUMsS0FBakQ7QUFDRSxlQUFPLEVBQUM2QixRQUFRVCxRQUFRVSxRQUFSLEdBQW1CLFNBQW5CLEdBQStCLE1BQXhDLEVBQWdEQyxhQUFhLEtBQTdELEVBQW9FQyxNQUFNLFNBQTFFLEVBRFQsR0FEQTtBQUdBO0FBQUE7QUFBQSxVQUFNLEtBQUksR0FBVixFQUFjLEdBQUUsR0FBaEIsRUFBb0IsR0FBRSxHQUF0QjtBQUNNLG9DQUF3QmpDLFFBQVEsQ0FBaEMsVUFBc0NDLFFBQVEsQ0FBOUMsNkJBQXVFeUIsWUFBdkUsTUFETjtBQUVFLGlCQUFPLEVBQUNRLFlBQVksUUFBYixFQUF1QkMsVUFBVSxNQUFqQyxFQUZUO0FBR0dkLGdCQUFRTjtBQUhYO0FBSEEsS0FERjtBQVdEO0FBakRZLENBQWYiLCJmaWxlIjoicGxhbm5lci1lbGVtZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuY29uc3QgV0lEVEggPSAxMDtcbmNvbnN0IERFUFRIID0gMjA7XG5jb25zdCBIRUlHSFQgPSAyMDtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiAnY2FtZXJhJyxcbiAgcHJvdG90eXBlOiAnaXRlbXMnLFxuICBpbmZvOiB7XG4gICAgdGFnOiBbJ3NlY3VyaXR5JywgJ21ldGFsJ10sXG4gICAgZ3JvdXA6ICdpdGVtcycsXG4gICAgdGl0bGU6ICdjYW1lcmEnLFxuICAgIGRlc2NyaXB0aW9uOiAnY2FtZXJhJyxcbiAgICBpbWFnZTogcmVxdWlyZSgnLi9jYW1lcmEucG5nJylcbiAgfSxcbiAgcHJvcGVydGllczoge1xuICAgIGFjY2Vzczoge1xuICAgICAgbGFiZWw6ICdhY2Nlc3MnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZWZhdWx0VmFsdWU6IFwibm9uZVwiLFxuICAgIH0sXG4gICAgc2VyaWFsTnVtYmVyOiB7XG4gICAgICBsYWJlbDogJ3NlcmlhbCBOdW1iZXInLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZWZhdWx0VmFsdWU6IFwibm9uZVwiLFxuICAgIH0sXG4gICAgaW5zaWRlWm9uZToge1xuICAgICAgbGFiZWw6ICdpbnNpZGUgWm9uZScsXG4gICAgICB0eXBlOiAnZW51bScsXG4gICAgICBkZWZhdWx0VmFsdWU6IFwic291cmNlXCIsXG4gICAgICB2YWx1ZXM6e1wic291cmNlXCI6XCJzb3VyY2VcIixcInRhcmdldFwiOlwidGFyZ2V0XCJ9XG4gICAgfVxuICB9LFxuXG4gIHJlbmRlcjJEOiBmdW5jdGlvbiAoZWxlbWVudCwgbGF5ZXIsIHNjZW5lKSB7XG5cbiAgICBsZXQgYW5nbGUgPSBlbGVtZW50LnJvdGF0aW9uICsgOTA7XG5cbiAgICBsZXQgdGV4dFJvdGF0aW9uID0gMDtcbiAgICBpZiAoTWF0aC5zaW4oYW5nbGUgKiBNYXRoLlBJIC8gMTgwKSA8IDApIHtcbiAgICAgIHRleHRSb3RhdGlvbiA9IDE4MDtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGcgdHJhbnNmb3JtPXtgdHJhbnNsYXRlKCR7LVdJRFRIIC8gMn0sJHstREVQVEgvMn0pYH0+XG4gICAgICA8cmVjdCBrZXk9JzEnIHg9JzAnIHk9JzAnIHdpZHRoPXtXSURUSH0gIGhlaWdodD17REVQVEh9XG4gICAgICAgIHN0eWxlPXt7c3Ryb2tlOiBlbGVtZW50LnNlbGVjdGVkID8gJyMwMDk2ZmQnIDogJyMwMDAnLCBzdHJva2VXaWR0aDogJzJweCcsIGZpbGw6ICcjODRlMWNlJ319Lz5cbiAgICAgIDx0ZXh0IGtleT0nMicgeD0nMCcgeT0nMCdcbiAgICAgICAgICAgIHRyYW5zZm9ybT17YHRyYW5zbGF0ZSgke1dJRFRIIC8gMn0sICR7REVQVEggLyAyfSkgc2NhbGUoMSwtMSkgcm90YXRlKCR7dGV4dFJvdGF0aW9ufSlgfVxuICAgICAgICBzdHlsZT17e3RleHRBbmNob3I6ICdtaWRkbGUnLCBmb250U2l6ZTogJzExcHgnfX0+XG4gICAgICAgIHtlbGVtZW50LnR5cGV9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPC9nPlxuICAgIClcbiAgfSxcbn07XG4iXX0=