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
JavaScript
'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==