kitchen-simulator 4.0.0-queuedEvents → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/LiteKitchenConfigurator.js +141 -288
- package/es/LiteRenderer.js +159 -398
- package/es/actions/items-actions.js +10 -6
- package/es/actions/lines-actions.js +3 -1
- package/es/actions/project-actions.js +15 -5
- package/es/assets/img/svg/bottombar/elevation.svg +12 -5
- package/es/catalog/areas/area/planner-element.js +10 -5
- package/es/catalog/catalog.js +1 -4
- package/es/catalog/factories/area-factory-3d.js +2 -1
- package/es/catalog/factories/wall-factory-3d.js +2 -2
- package/es/catalog/factories/wall-factory.js +8 -8
- package/es/catalog/lines/wall/planner-element.js +18 -9
- package/es/catalog/utils/exporter.js +7 -3
- package/es/catalog/utils/item-loader.js +24 -14
- package/es/catalog/utils/mtl-loader.js +2 -2
- package/es/catalog/utils/obj-loader.js +2 -2
- package/es/class/hole.js +0 -2
- package/es/class/item.js +183 -184
- package/es/class/line.js +11 -3
- package/es/class/project.js +165 -48
- package/es/components/content.js +19 -6
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/item.js +84 -51
- package/es/components/viewer2d/line.js +315 -243
- package/es/components/viewer2d/ruler.js +20 -38
- package/es/components/viewer2d/rulerDist.js +48 -78
- package/es/components/viewer2d/utils.js +6 -0
- package/es/components/viewer2d/viewer2d.js +298 -220
- package/es/components/viewer3d/front3D.js +3 -2
- package/es/components/viewer3d/libs/mtl-loader.js +2 -2
- package/es/components/viewer3d/libs/obj-loader.js +2 -2
- package/es/components/viewer3d/libs/orbit-controls.js +3 -4
- package/es/components/viewer3d/libs/pointer-lock-controls.js +6 -7
- package/es/components/viewer3d/scene-creator.js +51 -15
- package/es/components/viewer3d/viewer3d.js +121 -82
- package/es/constants.js +111 -3
- package/es/devLiteRenderer.js +688 -31
- package/es/index.js +567 -87
- package/es/models.js +9 -5
- package/es/plugins/SVGLoader.js +7 -5
- package/es/plugins/console-debugger.js +0 -2
- package/es/plugins/keyboard.js +15 -6
- package/es/reducers/items-reducer.js +5 -5
- package/es/reducers/lines-reducer.js +1 -1
- package/es/reducers/project-reducer.js +5 -3
- package/es/shared-style.js +4 -4
- package/es/utils/geometry.js +163 -2
- package/es/utils/get-edges-of-subgraphs.js +1 -1
- package/es/utils/graph-cycles.js +1 -1
- package/es/utils/graph.js +1 -1
- package/es/utils/helper.js +105 -3
- package/es/utils/isolate-event-handler.js +1542 -164
- package/es/utils/molding.js +461 -11
- package/lib/LiteKitchenConfigurator.js +141 -289
- package/lib/LiteRenderer.js +159 -399
- package/lib/actions/items-actions.js +10 -6
- package/lib/actions/lines-actions.js +3 -1
- package/lib/actions/project-actions.js +15 -4
- package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
- package/lib/catalog/areas/area/planner-element.js +11 -5
- package/lib/catalog/catalog.js +1 -4
- package/lib/catalog/factories/area-factory-3d.js +2 -1
- package/lib/catalog/factories/wall-factory-3d.js +2 -2
- package/lib/catalog/factories/wall-factory.js +8 -8
- package/lib/catalog/lines/wall/planner-element.js +19 -9
- package/lib/catalog/utils/exporter.js +7 -3
- package/lib/catalog/utils/item-loader.js +24 -14
- package/lib/catalog/utils/mtl-loader.js +9 -2
- package/lib/catalog/utils/obj-loader.js +10 -2
- package/lib/class/hole.js +0 -2
- package/lib/class/item.js +180 -181
- package/lib/class/line.js +9 -1
- package/lib/class/project.js +164 -47
- package/lib/components/content.js +19 -6
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/item.js +83 -50
- package/lib/components/viewer2d/line.js +315 -242
- package/lib/components/viewer2d/ruler.js +19 -37
- package/lib/components/viewer2d/rulerDist.js +48 -78
- package/lib/components/viewer2d/utils.js +7 -0
- package/lib/components/viewer2d/viewer2d.js +296 -219
- package/lib/components/viewer3d/front3D.js +3 -2
- package/lib/components/viewer3d/libs/mtl-loader.js +9 -2
- package/lib/components/viewer3d/libs/obj-loader.js +9 -2
- package/lib/components/viewer3d/libs/orbit-controls.js +11 -5
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +13 -7
- package/lib/components/viewer3d/scene-creator.js +49 -13
- package/lib/components/viewer3d/viewer3d.js +119 -80
- package/lib/constants.js +116 -7
- package/lib/devLiteRenderer.js +687 -30
- package/lib/index.js +567 -87
- package/lib/models.js +9 -5
- package/lib/plugins/SVGLoader.js +7 -5
- package/lib/plugins/console-debugger.js +0 -2
- package/lib/plugins/keyboard.js +15 -6
- package/lib/reducers/items-reducer.js +5 -5
- package/lib/reducers/lines-reducer.js +1 -1
- package/lib/reducers/project-reducer.js +4 -2
- package/lib/shared-style.js +4 -4
- package/lib/utils/geometry.js +164 -2
- package/lib/utils/get-edges-of-subgraphs.js +6 -1
- package/lib/utils/graph-cycles.js +7 -8
- package/lib/utils/graph.js +6 -1
- package/lib/utils/helper.js +108 -2
- package/lib/utils/isolate-event-handler.js +1538 -159
- package/lib/utils/molding.js +463 -9
- package/package.json +1 -1
- package/es/assets/Window.hdr +0 -2100
- package/es/assets/img/1.jpg +0 -0
- package/lib/assets/Window.hdr +0 -2100
- package/lib/assets/img/1.jpg +0 -0
|
@@ -2,7 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { convert } from "../../utils/convert-units-lite";
|
|
4
4
|
import IDBroker from "../../utils/id-broker";
|
|
5
|
-
import { LINE_THICKNESS,
|
|
5
|
+
import { LINE_THICKNESS, TEXT_COLOR_NEUTRAL_7, UNIT_FOOT, UNIT_METER } from "../../constants";
|
|
6
|
+
import { STYLE_ROOM_SHAPE } from "./line";
|
|
6
7
|
var STYLE = {
|
|
7
8
|
stroke: TEXT_COLOR_NEUTRAL_7,
|
|
8
9
|
strokeWidth: '1px'
|
|
@@ -15,6 +16,7 @@ var STYLE_TEXT = {
|
|
|
15
16
|
textAnchor: 'middle',
|
|
16
17
|
fontSize: '12px',
|
|
17
18
|
pointerEvents: 'none',
|
|
19
|
+
fill: '#455A64',
|
|
18
20
|
//http://stackoverflow.com/questions/826782/how-to-disable-text-selection-highlighting-using-css
|
|
19
21
|
WebkitTouchCallout: 'none' /* iOS Safari */,
|
|
20
22
|
WebkitUserSelect: 'none' /* Chrome/Safari/Opera */,
|
|
@@ -28,37 +30,11 @@ export default function Ruler(_ref) {
|
|
|
28
30
|
unit = _ref.unit,
|
|
29
31
|
rulerUnit = _ref.rulerUnit,
|
|
30
32
|
transform = _ref.transform,
|
|
31
|
-
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
merged = value.merge({
|
|
37
|
-
_length: newLength,
|
|
38
|
-
length: convert(newLength).from(unitInput).to('cm')
|
|
39
|
-
});
|
|
40
|
-
} else {
|
|
41
|
-
merged = value.merge({
|
|
42
|
-
_length: convert(newLength).from(UNIT_INCH).to(unitInput),
|
|
43
|
-
_unit: unitInput
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
// if (hook) {
|
|
47
|
-
// return hook(merged, sourceElement, internalState, state).then(val => {
|
|
48
|
-
// return onUpdate(val);
|
|
49
|
-
// });
|
|
50
|
-
// }
|
|
51
|
-
// return onUpdate(merged);
|
|
52
|
-
};
|
|
53
|
-
// let _unit = "in";
|
|
54
|
-
// let distanceText = convert(length).from(unit).to(rulerUnit);
|
|
55
|
-
var distanceText = convert(length).from(unit).to(rulerUnit).toFixed(0);
|
|
56
|
-
var thickness = convert(LINE_THICKNESS).from(unit).to(rulerUnit).toFixed(0);
|
|
57
|
-
// let _ft_len = convert(_length).from('in').to('ft');
|
|
58
|
-
// let _ft_val = Math.floor(_ft_len); _ft_len -= _ft_val;
|
|
59
|
-
// let _in_val = convert(_ft_len).from('ft').to('in').toFixed(0);
|
|
60
|
-
// let distanceText = `${_ft_val}'${_in_val}"`;
|
|
61
|
-
var textLength = (distanceText.length + layer.unit.length) * 18;
|
|
33
|
+
style = _ref.style;
|
|
34
|
+
var ruLength = convert(length).from(unit).to(rulerUnit);
|
|
35
|
+
var fixedLength = layer.unit === UNIT_METER || layer.unit === UNIT_FOOT ? 2 : 0;
|
|
36
|
+
var distanceText = (Math.round(convert(ruLength).from(rulerUnit).to(layer.unit) * 100) / 100).toFixed(fixedLength);
|
|
37
|
+
var textLength = (distanceText.length + layer.unit.length) * 9;
|
|
62
38
|
return /*#__PURE__*/React.createElement("g", {
|
|
63
39
|
transform: transform
|
|
64
40
|
}, /*#__PURE__*/React.createElement("g", {
|
|
@@ -78,19 +54,25 @@ export default function Ruler(_ref) {
|
|
|
78
54
|
transform: "scale(1, -1)",
|
|
79
55
|
style: STYLE_TEXT,
|
|
80
56
|
fill: TEXT_COLOR_NEUTRAL_7
|
|
81
|
-
},
|
|
82
|
-
x1:
|
|
57
|
+
}, distanceText, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/React.createElement("line", {
|
|
58
|
+
x1: style === STYLE_ROOM_SHAPE ? 0 : 4,
|
|
83
59
|
y1: "0",
|
|
84
60
|
x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
|
|
85
61
|
y2: "0",
|
|
86
|
-
style:
|
|
62
|
+
style: style
|
|
87
63
|
}), /*#__PURE__*/React.createElement("line", {
|
|
88
64
|
x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
|
|
89
65
|
y1: "0",
|
|
90
|
-
x2: length,
|
|
66
|
+
x2: style === STYLE_ROOM_SHAPE ? length : length - 4,
|
|
91
67
|
y2: "0",
|
|
92
|
-
style:
|
|
93
|
-
})
|
|
68
|
+
style: style
|
|
69
|
+
}), style !== STYLE_ROOM_SHAPE && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("polygon", {
|
|
70
|
+
points: "3, 0, 6.5, -2, 6.5, 2 ",
|
|
71
|
+
style: style
|
|
72
|
+
}), /*#__PURE__*/React.createElement("polygon", {
|
|
73
|
+
points: "".concat(length - 3, ", 0, ").concat(length - 6.5, ", 2, ").concat(length - 6.5, ", -2"),
|
|
74
|
+
style: style
|
|
75
|
+
})));
|
|
94
76
|
}
|
|
95
77
|
Ruler.propTypes = {
|
|
96
78
|
length: PropTypes.number.isRequired,
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { convert } from "../../utils/convert-units-lite";
|
|
4
|
+
import { UNIT_FOOT, UNIT_METER } from "../../constants";
|
|
4
5
|
var ARROW_STYLE = {
|
|
5
6
|
stroke: '#1183B7',
|
|
6
7
|
strokeWidth: '2px',
|
|
7
8
|
strokeLinecap: 'round'
|
|
8
9
|
};
|
|
9
10
|
var STYLE = {
|
|
10
|
-
stroke: '
|
|
11
|
-
|
|
11
|
+
stroke: '#455A64',
|
|
12
|
+
fill: '#455A64',
|
|
13
|
+
strokeWidth: '1.5px'
|
|
12
14
|
};
|
|
13
15
|
var STYLE_TEXT = {
|
|
14
16
|
textAnchor: 'middle',
|
|
15
17
|
fontSize: '10px',
|
|
16
18
|
pointerEvents: 'none',
|
|
19
|
+
fill: '#455A64',
|
|
17
20
|
//http://stackoverflow.com/questions/826782/how-to-disable-text-selection-highlighting-using-css
|
|
18
21
|
WebkitTouchCallout: 'none' /* iOS Safari */,
|
|
19
22
|
WebkitUserSelect: 'none' /* Chrome/Safari/Opera */,
|
|
@@ -29,10 +32,10 @@ export default function RulerDist(_ref) {
|
|
|
29
32
|
transform = _ref.transform,
|
|
30
33
|
angle = _ref.angle,
|
|
31
34
|
rotation = _ref.rotation;
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
var distanceText =
|
|
35
|
-
var textLength = (distanceText.length + layer.unit.length) *
|
|
35
|
+
var ruLength = convert(length).from(unit).to(rulerUnit);
|
|
36
|
+
var fixedLength = layer.unit === UNIT_METER || layer.unit === UNIT_FOOT ? 2 : 0;
|
|
37
|
+
var distanceText = (Math.round(convert(ruLength).from(rulerUnit).to(layer.unit) * 100) / 100).toFixed(fixedLength);
|
|
38
|
+
var textLength = (distanceText.length + layer.unit.length) * 8;
|
|
36
39
|
var textangle = angle + 90;
|
|
37
40
|
var textRotation = 1;
|
|
38
41
|
var ay = 2;
|
|
@@ -64,79 +67,46 @@ export default function RulerDist(_ref) {
|
|
|
64
67
|
textRotation = 180;
|
|
65
68
|
ay = 5;
|
|
66
69
|
}
|
|
67
|
-
if (
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}
|
|
70
|
+
if (ruLength > 0) {
|
|
71
|
+
if (ruLength < 28) {
|
|
72
|
+
return /*#__PURE__*/React.createElement("g", {
|
|
73
|
+
transform: transform
|
|
74
|
+
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("text", {
|
|
75
|
+
x: "0",
|
|
76
|
+
y: "0",
|
|
77
|
+
transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
|
|
78
|
+
style: STYLE_TEXT
|
|
79
|
+
}, distanceText, layer.unit === 'in' ? '"' : layer.unit)));
|
|
80
|
+
} else {
|
|
81
|
+
return /*#__PURE__*/React.createElement("g", {
|
|
82
|
+
transform: transform
|
|
83
|
+
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("text", {
|
|
84
|
+
x: "0",
|
|
85
|
+
y: "0",
|
|
86
|
+
transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
|
|
87
|
+
style: STYLE_TEXT
|
|
88
|
+
}, distanceText, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/React.createElement("line", {
|
|
89
|
+
x1: "2",
|
|
90
|
+
y1: "0",
|
|
91
|
+
x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
|
|
92
|
+
y2: "0",
|
|
93
|
+
style: STYLE
|
|
94
|
+
}), /*#__PURE__*/React.createElement("polygon", {
|
|
95
|
+
points: "1, 0, 4.5, -2, 4.5, 2 ",
|
|
96
|
+
style: STYLE
|
|
97
|
+
}), /*#__PURE__*/React.createElement("line", {
|
|
98
|
+
x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
|
|
99
|
+
y1: "0",
|
|
100
|
+
x2: length,
|
|
101
|
+
y2: "0",
|
|
102
|
+
style: STYLE
|
|
103
|
+
}), /*#__PURE__*/React.createElement("polygon", {
|
|
104
|
+
points: "".concat(length - 1, ", 0, ").concat(length - 4.5, ", 2, ").concat(length - 4.5, ", -2"),
|
|
105
|
+
style: STYLE
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
105
108
|
} else {
|
|
106
|
-
return
|
|
107
|
-
transform: transform
|
|
108
|
-
}, /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("text", {
|
|
109
|
-
x: "0",
|
|
110
|
-
y: "0",
|
|
111
|
-
transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
|
|
112
|
-
style: STYLE_TEXT
|
|
113
|
-
}, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit)), /*#__PURE__*/React.createElement("circle", {
|
|
114
|
-
cx: "1",
|
|
115
|
-
cy: "0",
|
|
116
|
-
fill: "white",
|
|
117
|
-
r: "1.1",
|
|
118
|
-
stroke: "black",
|
|
119
|
-
strokeWidth: "0.6"
|
|
120
|
-
}), /*#__PURE__*/React.createElement("line", {
|
|
121
|
-
x1: "2",
|
|
122
|
-
y1: "0",
|
|
123
|
-
x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
|
|
124
|
-
y2: "0",
|
|
125
|
-
style: STYLE
|
|
126
|
-
}), /*#__PURE__*/React.createElement("line", {
|
|
127
|
-
x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
|
|
128
|
-
y1: "0",
|
|
129
|
-
x2: length,
|
|
130
|
-
y2: "0",
|
|
131
|
-
style: STYLE
|
|
132
|
-
}), /*#__PURE__*/React.createElement("circle", {
|
|
133
|
-
cx: length - 1,
|
|
134
|
-
cy: "0",
|
|
135
|
-
fill: "white",
|
|
136
|
-
r: "1.1",
|
|
137
|
-
stroke: "black",
|
|
138
|
-
strokeWidth: "0.6"
|
|
139
|
-
}));
|
|
109
|
+
return null;
|
|
140
110
|
}
|
|
141
111
|
}
|
|
142
112
|
RulerDist.propTypes = {
|
|
@@ -184,4 +184,10 @@ export var areaPolygon = function areaPolygon(points) {
|
|
|
184
184
|
}
|
|
185
185
|
var area = det / 2;
|
|
186
186
|
return signed ? area : Math.abs(area);
|
|
187
|
+
};
|
|
188
|
+
export var isWarningItem = function isWarningItem(item) {
|
|
189
|
+
var _item$toJS$doorStyle;
|
|
190
|
+
if (item.category === 'cabinet') return !(item !== null && item !== void 0 && (_item$toJS$doorStyle = item.toJS().doorStyle) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.doorStyles) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.cds) !== null && _item$toJS$doorStyle !== void 0 && _item$toJS$doorStyle.filter(function (cd) {
|
|
191
|
+
return cd.itemID == (item === null || item === void 0 ? void 0 : item.getIn(['itemID']));
|
|
192
|
+
}).length) > 0;else return false;
|
|
187
193
|
};
|