kitchen-simulator
Version:
It is a kitchen simulator (self-contained micro-frontend).
65 lines • 2.22 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import * as SharedStyle from "../../shared-style";
//Space from the center of the point(Use cases:x - vertexthickness,y + vertexthickness )
var vertexthickness = 4;
var STYLE = {
// strokeWidth: 5,
strokeLinejoin: 'round',
rx: '2px',
stroke: SharedStyle.LINE_MESH_COLOR.selected,
fill: SharedStyle.LINE_MESH_COLOR.selected,
cursor: 'move'
};
export default function Vertex(_ref) {
var vertex = _ref.vertex,
layer = _ref.layer;
var x = vertex.x,
y = vertex.y;
var relatedVertice = {
x: x,
y: y
};
if (vertex.lines.get(0)) {
var line = layer.lines.get(vertex.lines.get(0));
if (layer.lines.get(vertex.lines.get(1)) !== undefined && layer.lines.get(vertex.lines.get(1)).get('selected')) {
line = layer.lines.get(vertex.lines.get(1));
}
if (line) {
var index = line.vertices.findIndex(function (a) {
return a === vertex.id;
});
if (index > -1) {
var vertice = line.relatedVertices.filter(function (a) {
if (a['index'] === undefined) {
return a.get('index') === index;
} else if (a['index'] !== undefined) {
return a.index === index;
}
}).get(0);
if (vertice && !vertice['point']) {
relatedVertice = {
x: vertice.get('point').get('x'),
y: vertice.get('point').get('y')
};
} else if (vertice !== undefined) {
relatedVertice = vertice['point'];
}
}
}
}
return /*#__PURE__*/React.createElement("g", {
"data-element-root": true,
"data-prototype": vertex.prototype,
"data-id": vertex.id,
"data-selected": vertex.selected,
"data-layer": layer.id
}, /*#__PURE__*/React.createElement("polygon", {
points: "".concat(x - vertexthickness, ",").concat(y + vertexthickness, " ").concat(x - vertexthickness, ",").concat(y - vertexthickness, " ").concat(x + vertexthickness, ",").concat(y - vertexthickness, " ").concat(x + vertexthickness, ",").concat(y + vertexthickness),
style: STYLE
}));
}
Vertex.propTypes = {
vertex: PropTypes.object.isRequired,
layer: PropTypes.object.isRequired
};