kitchen-simulator 3.1.14 → 4.0.0-alpha.12
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 +204 -24
- package/es/LiteRenderer.js +277 -12
- package/es/actions/items-actions.js +6 -10
- package/es/actions/lines-actions.js +1 -3
- package/es/actions/project-actions.js +5 -15
- package/es/assets/Window.hdr +2100 -0
- package/es/assets/gltf/door_sliding.bin +0 -0
- package/es/assets/img/1.jpg +0 -0
- package/es/catalog/areas/area/planner-element.js +5 -10
- package/es/catalog/catalog.js +4 -1
- package/es/catalog/factories/area-factory-3d.js +17 -18
- 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 +9 -18
- package/es/catalog/utils/exporter.js +3 -6
- package/es/catalog/utils/item-loader.js +197 -202
- package/es/catalog/utils/mtl-loader.js +2 -2
- package/es/catalog/utils/obj-loader.js +2 -2
- package/es/class/item.js +127 -107
- package/es/class/line.js +2 -14
- package/es/class/project.js +44 -150
- package/es/components/content.js +6 -19
- package/es/components/viewer2d/grids/grid-streak.js +1 -1
- package/es/components/viewer2d/item.js +51 -84
- package/es/components/viewer2d/line.js +243 -315
- package/es/components/viewer2d/ruler.js +36 -16
- package/es/components/viewer2d/rulerDist.js +75 -44
- package/es/components/viewer2d/utils.js +0 -6
- package/es/components/viewer2d/viewer2d.js +205 -301
- package/es/components/viewer3d/front3D.js +2 -3
- 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 +4 -3
- package/es/components/viewer3d/libs/pointer-lock-controls.js +7 -6
- package/es/components/viewer3d/viewer3d.js +80 -127
- package/es/constants.js +3 -110
- package/es/devLiteRenderer.js +38 -597
- package/es/index.js +86 -16
- package/es/models.js +5 -8
- package/es/plugins/SVGLoader.js +5 -7
- package/es/plugins/keyboard.js +6 -15
- package/es/reducers/items-reducer.js +5 -5
- package/es/reducers/lines-reducer.js +1 -1
- package/es/reducers/project-reducer.js +3 -5
- package/es/shared-style.js +4 -4
- package/es/utils/geometry.js +0 -161
- 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 +2 -67
- package/es/utils/isolate-event-handler.js +124 -1367
- package/es/utils/molding.js +2 -238
- package/lib/LiteKitchenConfigurator.js +205 -25
- package/lib/LiteRenderer.js +278 -13
- package/lib/actions/items-actions.js +6 -10
- package/lib/actions/lines-actions.js +1 -3
- package/lib/actions/project-actions.js +4 -15
- package/lib/assets/Window.hdr +2100 -0
- package/lib/assets/gltf/door_sliding.bin +0 -0
- package/lib/assets/img/1.jpg +0 -0
- package/lib/catalog/areas/area/planner-element.js +5 -11
- package/lib/catalog/catalog.js +4 -1
- package/lib/catalog/factories/area-factory-3d.js +14 -15
- 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 +9 -19
- package/lib/catalog/utils/exporter.js +3 -6
- package/lib/catalog/utils/item-loader.js +194 -199
- package/lib/catalog/utils/mtl-loader.js +2 -9
- package/lib/catalog/utils/obj-loader.js +2 -10
- package/lib/class/item.js +125 -105
- package/lib/class/line.js +1 -13
- package/lib/class/project.js +43 -149
- package/lib/components/content.js +6 -19
- package/lib/components/viewer2d/grids/grid-streak.js +1 -1
- package/lib/components/viewer2d/item.js +50 -83
- package/lib/components/viewer2d/line.js +242 -315
- package/lib/components/viewer2d/ruler.js +35 -15
- package/lib/components/viewer2d/rulerDist.js +75 -44
- package/lib/components/viewer2d/utils.js +0 -7
- package/lib/components/viewer2d/viewer2d.js +205 -299
- package/lib/components/viewer3d/front3D.js +2 -3
- package/lib/components/viewer3d/libs/mtl-loader.js +2 -9
- package/lib/components/viewer3d/libs/obj-loader.js +2 -9
- package/lib/components/viewer3d/libs/orbit-controls.js +5 -11
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +7 -13
- package/lib/components/viewer3d/viewer3d.js +79 -125
- package/lib/constants.js +7 -115
- package/lib/devLiteRenderer.js +33 -592
- package/lib/index.js +86 -16
- package/lib/models.js +5 -8
- package/lib/plugins/SVGLoader.js +5 -7
- package/lib/plugins/keyboard.js +6 -15
- package/lib/reducers/items-reducer.js +5 -5
- package/lib/reducers/lines-reducer.js +1 -1
- package/lib/reducers/project-reducer.js +2 -4
- package/lib/shared-style.js +4 -4
- package/lib/utils/geometry.js +0 -162
- package/lib/utils/get-edges-of-subgraphs.js +1 -6
- package/lib/utils/graph-cycles.js +8 -7
- package/lib/utils/graph.js +1 -6
- package/lib/utils/helper.js +3 -70
- package/lib/utils/isolate-event-handler.js +121 -1364
- package/lib/utils/molding.js +0 -238
- package/package.json +1 -1
|
@@ -2,8 +2,7 @@ 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, TEXT_COLOR_NEUTRAL_7 } from "../../constants";
|
|
6
|
-
import { STYLE_ROOM_SHAPE } from "./line";
|
|
5
|
+
import { LINE_THICKNESS, SHADE_LIGHT_BLUE_COLOR, TEXT_COLOR_NEUTRAL_7 } from "../../constants";
|
|
7
6
|
var STYLE = {
|
|
8
7
|
stroke: TEXT_COLOR_NEUTRAL_7,
|
|
9
8
|
strokeWidth: '1px'
|
|
@@ -16,7 +15,6 @@ var STYLE_TEXT = {
|
|
|
16
15
|
textAnchor: 'middle',
|
|
17
16
|
fontSize: '12px',
|
|
18
17
|
pointerEvents: 'none',
|
|
19
|
-
fill: '#455A64',
|
|
20
18
|
//http://stackoverflow.com/questions/826782/how-to-disable-text-selection-highlighting-using-css
|
|
21
19
|
WebkitTouchCallout: 'none' /* iOS Safari */,
|
|
22
20
|
WebkitUserSelect: 'none' /* Chrome/Safari/Opera */,
|
|
@@ -30,9 +28,37 @@ export default function Ruler(_ref) {
|
|
|
30
28
|
unit = _ref.unit,
|
|
31
29
|
rulerUnit = _ref.rulerUnit,
|
|
32
30
|
transform = _ref.transform,
|
|
33
|
-
|
|
31
|
+
flag = _ref.flag;
|
|
32
|
+
var update = function update(lengthInput, unitInput, type) {
|
|
33
|
+
var newLength = toFixedFloat(lengthInput);
|
|
34
|
+
var merged = null;
|
|
35
|
+
if (type === 0) {
|
|
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);
|
|
34
55
|
var distanceText = convert(length).from(unit).to(rulerUnit).toFixed(0);
|
|
35
|
-
var
|
|
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;
|
|
36
62
|
return /*#__PURE__*/React.createElement("g", {
|
|
37
63
|
transform: transform
|
|
38
64
|
}, /*#__PURE__*/React.createElement("g", {
|
|
@@ -53,24 +79,18 @@ export default function Ruler(_ref) {
|
|
|
53
79
|
style: STYLE_TEXT,
|
|
54
80
|
fill: TEXT_COLOR_NEUTRAL_7
|
|
55
81
|
}, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/React.createElement("line", {
|
|
56
|
-
x1:
|
|
82
|
+
x1: "0",
|
|
57
83
|
y1: "0",
|
|
58
84
|
x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
|
|
59
85
|
y2: "0",
|
|
60
|
-
style:
|
|
86
|
+
style: STYLE
|
|
61
87
|
}), /*#__PURE__*/React.createElement("line", {
|
|
62
88
|
x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
|
|
63
89
|
y1: "0",
|
|
64
|
-
x2:
|
|
90
|
+
x2: length,
|
|
65
91
|
y2: "0",
|
|
66
|
-
style:
|
|
67
|
-
})
|
|
68
|
-
points: "3, 0, 6.5, -2, 6.5, 2 ",
|
|
69
|
-
style: style
|
|
70
|
-
}), /*#__PURE__*/React.createElement("polygon", {
|
|
71
|
-
points: "".concat(length - 3, ", 0, ").concat(length - 6.5, ", 2, ").concat(length - 6.5, ", -2"),
|
|
72
|
-
style: style
|
|
73
|
-
})));
|
|
92
|
+
style: STYLE
|
|
93
|
+
}));
|
|
74
94
|
}
|
|
75
95
|
Ruler.propTypes = {
|
|
76
96
|
length: PropTypes.number.isRequired,
|
|
@@ -7,15 +7,13 @@ var ARROW_STYLE = {
|
|
|
7
7
|
strokeLinecap: 'round'
|
|
8
8
|
};
|
|
9
9
|
var STYLE = {
|
|
10
|
-
stroke: '
|
|
11
|
-
|
|
12
|
-
strokeWidth: '1.5px'
|
|
10
|
+
stroke: 'black',
|
|
11
|
+
strokeWidth: '1.1px'
|
|
13
12
|
};
|
|
14
13
|
var STYLE_TEXT = {
|
|
15
14
|
textAnchor: 'middle',
|
|
16
15
|
fontSize: '10px',
|
|
17
16
|
pointerEvents: 'none',
|
|
18
|
-
fill: '#455A64',
|
|
19
17
|
//http://stackoverflow.com/questions/826782/how-to-disable-text-selection-highlighting-using-css
|
|
20
18
|
WebkitTouchCallout: 'none' /* iOS Safari */,
|
|
21
19
|
WebkitUserSelect: 'none' /* Chrome/Safari/Opera */,
|
|
@@ -34,7 +32,7 @@ export default function RulerDist(_ref) {
|
|
|
34
32
|
var _unit = 'in';
|
|
35
33
|
// let _length = convert(length).from(unit).to(rulerUnit);
|
|
36
34
|
var distanceText = "".concat(convert(length).from('cm').to(rulerUnit).toFixed(0));
|
|
37
|
-
var textLength = (distanceText.length + layer.unit.length) *
|
|
35
|
+
var textLength = (distanceText.length + layer.unit.length) * 18;
|
|
38
36
|
var textangle = angle + 90;
|
|
39
37
|
var textRotation = 1;
|
|
40
38
|
var ay = 2;
|
|
@@ -66,46 +64,79 @@ export default function RulerDist(_ref) {
|
|
|
66
64
|
textRotation = 180;
|
|
67
65
|
ay = 5;
|
|
68
66
|
}
|
|
69
|
-
if (
|
|
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
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
67
|
+
if (Math.abs(length - textLength) / 2 <= 16) {
|
|
68
|
+
var dy = textRotation == 0 ? 15 : -15;
|
|
69
|
+
return /*#__PURE__*/React.createElement("g", {
|
|
70
|
+
transform: transform
|
|
71
|
+
}, /*#__PURE__*/React.createElement("g", {
|
|
72
|
+
transform: "translate(0, ".concat(dy, ")")
|
|
73
|
+
}, /*#__PURE__*/React.createElement("text", {
|
|
74
|
+
x: "0",
|
|
75
|
+
y: "0",
|
|
76
|
+
transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
|
|
77
|
+
style: STYLE_TEXT
|
|
78
|
+
}, Math.round(convert(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit)), /*#__PURE__*/React.createElement("circle", {
|
|
79
|
+
cx: "1",
|
|
80
|
+
cy: "0",
|
|
81
|
+
fill: "white",
|
|
82
|
+
r: "1.1",
|
|
83
|
+
stroke: "black",
|
|
84
|
+
strokeWidth: "0.6"
|
|
85
|
+
}), /*#__PURE__*/React.createElement("line", {
|
|
86
|
+
x1: "2",
|
|
87
|
+
y1: "0",
|
|
88
|
+
x2: (length - textLength) / 2 < 0 ? 0 : length,
|
|
89
|
+
y2: "0",
|
|
90
|
+
style: STYLE
|
|
91
|
+
}), /*#__PURE__*/React.createElement("line", {
|
|
92
|
+
x1: (length + textLength) / 2 < 0 ? 0 : (length + textLength) / 2 < length ? (length + textLength) / 2 : length,
|
|
93
|
+
y1: "0",
|
|
94
|
+
x2: length,
|
|
95
|
+
y2: "0",
|
|
96
|
+
style: STYLE
|
|
97
|
+
}), /*#__PURE__*/React.createElement("circle", {
|
|
98
|
+
cx: length - 1,
|
|
99
|
+
cy: "0",
|
|
100
|
+
fill: "white",
|
|
101
|
+
r: "1.1",
|
|
102
|
+
stroke: "black",
|
|
103
|
+
strokeWidth: "0.6"
|
|
104
|
+
}));
|
|
107
105
|
} else {
|
|
108
|
-
return
|
|
106
|
+
return /*#__PURE__*/React.createElement("g", {
|
|
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
140
|
}
|
|
110
141
|
}
|
|
111
142
|
RulerDist.propTypes = {
|
|
@@ -184,10 +184,4 @@ 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;
|
|
193
187
|
};
|