-
Notifications
You must be signed in to change notification settings - Fork 492
Expand file tree
/
Copy pathitem.js
More file actions
69 lines (61 loc) · 1.53 KB
/
item.js
File metadata and controls
69 lines (61 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import React from 'react';
import PropTypes from 'prop-types';
import If from '../../utils/react-if';
var STYLE_LINE = {
fill: "#0096fd",
stroke: "#0096fd"
};
var STYLE_CIRCLE = {
fill: "#0096fd",
stroke: "#0096fd",
cursor: "ew-resize"
};
var STYLE_CIRCLE2 = {
fill: "none",
stroke: "#0096fd",
cursor: "ew-resize"
};
export default function Item(_ref) {
var layer = _ref.layer,
item = _ref.item,
scene = _ref.scene,
catalog = _ref.catalog;
var x = item.x,
y = item.y,
rotation = item.rotation;
var renderedItem = catalog.getElement(item.type).render2D(item, layer, scene);
return React.createElement(
'g',
{
'data-element-root': true,
'data-prototype': item.prototype,
'data-id': item.id,
'data-selected': item.selected,
'data-layer': layer.id,
style: item.selected ? { cursor: "move" } : {},
transform: 'translate(' + x + ',' + y + ') rotate(' + rotation + ')' },
renderedItem,
React.createElement(
If,
{ condition: item.selected },
React.createElement(
'g',
{ 'data-element-root': true,
'data-prototype': item.prototype,
'data-id': item.id,
'data-selected': item.selected,
'data-layer': layer.id,
'data-part': 'rotation-anchor'
},
null,
null
)
)
);
}
Item.propTypes = {
item: PropTypes.object.isRequired,
layer: PropTypes.object.isRequired,
scene: PropTypes.object.isRequired,
catalog: PropTypes.object.isRequired
};