kitchen-simulator 1.1.1-test.61 → 1.1.1-test.63
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/@history.js +2 -10
- package/es/AppContext.js +3 -10
- package/es/KitchenConfigurator.js +70 -79
- package/es/KitchenConfiguratorApp.js +98 -107
- package/es/actions/area-actions.js +5 -12
- package/es/actions/export.js +12 -29
- package/es/actions/groups-actions.js +27 -45
- package/es/actions/holes-actions.js +34 -55
- package/es/actions/items-actions.js +94 -145
- package/es/actions/lines-actions.js +21 -36
- package/es/actions/project-actions.js +94 -145
- package/es/actions/scene-actions.js +11 -21
- package/es/actions/vertices-actions.js +7 -15
- package/es/actions/viewer2d-actions.js +21 -36
- package/es/actions/viewer3d-actions.js +9 -18
- package/es/catalog/areas/area/planner-element.js +2 -9
- package/es/catalog/catalog.js +15 -21
- package/es/catalog/factories/area-factory-3d.js +22 -31
- package/es/catalog/factories/area-factory.js +11 -20
- package/es/catalog/factories/export.js +6 -24
- package/es/catalog/factories/wall-factory-3d.js +31 -41
- package/es/catalog/factories/wall-factory.js +21 -31
- package/es/catalog/holes/door-closet/planner-element.js +15 -24
- package/es/catalog/holes/door-double/planner-element.js +15 -24
- package/es/catalog/holes/door-exterior/planner-element.js +16 -25
- package/es/catalog/holes/door-interior/planner-element.js +16 -25
- package/es/catalog/holes/door-panic/planner-element.js +7 -16
- package/es/catalog/holes/door-panic-double/planner-element.js +15 -24
- package/es/catalog/holes/door-sliding/planner-element.js +16 -25
- package/es/catalog/holes/doorway-framed/planner-element.js +11 -20
- package/es/catalog/holes/doorway-frameless/planner-element.js +7 -16
- package/es/catalog/holes/export.js +13 -97
- package/es/catalog/holes/window-clear/planner-element.js +10 -19
- package/es/catalog/holes/window-cross/planner-element.js +10 -19
- package/es/catalog/holes/window-double-hung/planner-element.js +10 -19
- package/es/catalog/holes/window-vertical/planner-element.js +10 -19
- package/es/catalog/lines/wall/planner-element.js +2 -9
- package/es/catalog/molding/molding-dcm/planner-element.js +5 -14
- package/es/catalog/molding/molding-fbm/planner-element.js +5 -14
- package/es/catalog/molding/molding-lrm/planner-element.js +5 -14
- package/es/catalog/properties/export.js +20 -80
- package/es/catalog/properties/property-checkbox.js +24 -31
- package/es/catalog/properties/property-color.js +16 -23
- package/es/catalog/properties/property-enum.js +24 -31
- package/es/catalog/properties/property-hidden.js +9 -16
- package/es/catalog/properties/property-lenght-measure.js +38 -45
- package/es/catalog/properties/property-length-measure.js +36 -43
- package/es/catalog/properties/property-length-measure_hole.js +38 -45
- package/es/catalog/properties/property-number.js +17 -24
- package/es/catalog/properties/property-read-only.js +16 -23
- package/es/catalog/properties/property-string.js +16 -23
- package/es/catalog/properties/property-toggle.js +16 -23
- package/es/catalog/properties/shared-property-style.js +1 -7
- package/es/catalog/utils/FuseUtils.js +8 -15
- package/es/catalog/utils/exporter.js +8 -15
- package/es/catalog/utils/geom-utils.js +13 -29
- package/es/catalog/utils/item-loader.js +84 -97
- package/es/catalog/utils/load-obj.js +20 -28
- package/es/catalog/utils/mtl-loader.js +3 -8
- package/es/catalog/utils/obj-loader.js +3 -8
- package/es/class/FuseUtils.js +8 -15
- package/es/class/area.js +22 -28
- package/es/class/export.js +23 -95
- package/es/class/group.js +53 -59
- package/es/class/guide.js +15 -21
- package/es/class/hole.js +83 -89
- package/es/class/item.js +141 -147
- package/es/class/layer.js +59 -65
- package/es/class/line.js +135 -143
- package/es/class/project.js +90 -98
- package/es/class/vertex.js +29 -35
- package/es/components/content.js +19 -28
- package/es/components/disclaimer/disclaimer.js +10 -18
- package/es/components/export.js +8 -32
- package/es/components/style/button.js +23 -31
- package/es/components/style/cancel-button.js +7 -14
- package/es/components/style/content-container.js +9 -16
- package/es/components/style/content-title.js +11 -20
- package/es/components/style/delete-button.js +8 -17
- package/es/components/style/export.js +30 -120
- package/es/components/style/form-block.js +8 -15
- package/es/components/style/form-color-input.js +7 -14
- package/es/components/style/form-label.js +8 -15
- package/es/components/style/form-number-input.js +41 -49
- package/es/components/style/form-number-input_2.js +36 -44
- package/es/components/style/form-select.js +17 -24
- package/es/components/style/form-slider.js +10 -17
- package/es/components/style/form-submit-button.js +8 -17
- package/es/components/style/form-text-input.js +26 -34
- package/es/components/viewer2d/area.js +17 -24
- package/es/components/viewer2d/export.js +30 -120
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +10 -17
- package/es/components/viewer2d/grids/grid-streak.js +10 -17
- package/es/components/viewer2d/grids/grid-vertical-streak.js +10 -17
- package/es/components/viewer2d/grids/grids.js +10 -19
- package/es/components/viewer2d/group.js +15 -24
- package/es/components/viewer2d/item.js +61 -70
- package/es/components/viewer2d/layer.js +23 -30
- package/es/components/viewer2d/line.js +101 -111
- package/es/components/viewer2d/ruler.js +22 -29
- package/es/components/viewer2d/rulerDist.js +21 -28
- package/es/components/viewer2d/rulerX.js +39 -47
- package/es/components/viewer2d/rulerY.js +37 -45
- package/es/components/viewer2d/scene.js +30 -38
- package/es/components/viewer2d/snap.js +13 -22
- package/es/components/viewer2d/state.js +18 -27
- package/es/components/viewer2d/utils.js +24 -37
- package/es/components/viewer2d/vertex.js +8 -17
- package/es/components/viewer2d/viewer2d.js +153 -163
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +17 -23
- package/es/components/viewer3d/dcm.js +1 -7
- package/es/components/viewer3d/fbm.js +1 -7
- package/es/components/viewer3d/front3D.js +12 -21
- package/es/components/viewer3d/grid-creator.js +8 -17
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +6 -14
- package/es/components/viewer3d/grids/grid-streak.js +5 -13
- package/es/components/viewer3d/grids/grid-vertical-streak.js +6 -14
- package/es/components/viewer3d/libs/first-person-controls.js +2 -9
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +1 -7
- package/es/components/viewer3d/libs/mtl-loader.js +1 -7
- package/es/components/viewer3d/libs/obj-loader.js +1 -7
- package/es/components/viewer3d/libs/orbit-controls.js +2 -8
- package/es/components/viewer3d/libs/pointer-lock-controls.js +2 -8
- package/es/components/viewer3d/lrm.js +1 -7
- package/es/components/viewer3d/model.js +1 -7
- package/es/components/viewer3d/pointer-lock-navigation.js +3 -10
- package/es/components/viewer3d/ruler-utils/itemRect.js +18 -25
- package/es/components/viewer3d/ruler-utils/layer3D.js +59 -66
- package/es/components/viewer3d/ruler-utils/ruler3D.js +39 -46
- package/es/components/viewer3d/ruler-utils/scene3D.js +9 -17
- package/es/components/viewer3d/ruler-utils/state3D.js +4 -11
- package/es/components/viewer3d/scene-creator.js +191 -226
- package/es/components/viewer3d/three-memory-cleaner.js +3 -12
- package/es/components/viewer3d/viewer3d-first-person.js +40 -46
- package/es/components/viewer3d/viewer3d.js +196 -202
- package/es/constants.js +349 -358
- package/es/index.js +8 -22
- package/es/models.js +177 -184
- package/es/plugins/SVGLoader.js +48 -53
- package/es/plugins/autosave.js +3 -9
- package/es/plugins/console-debugger.js +5 -12
- package/es/plugins/export.js +8 -32
- package/es/plugins/keyboard.js +29 -35
- package/es/reducers/areas-reducer.js +7 -13
- package/es/reducers/export.js +24 -96
- package/es/reducers/groups-reducer.js +31 -37
- package/es/reducers/holes-reducer.js +43 -49
- package/es/reducers/items-reducer.js +106 -112
- package/es/reducers/lines-reducer.js +28 -34
- package/es/reducers/project-reducer.js +105 -111
- package/es/reducers/reducer.js +16 -23
- package/es/reducers/scene-reducer.js +15 -21
- package/es/reducers/user-reducer.js +5 -11
- package/es/reducers/vertices-reducer.js +11 -17
- package/es/reducers/viewer2d-reducer.js +18 -24
- package/es/reducers/viewer3d-reducer.js +16 -22
- package/es/shared-style.js +10 -16
- package/es/styles/export.js +3 -11
- package/es/translator/en.js +1 -7
- package/es/translator/it.js +1 -7
- package/es/translator/ru.js +1 -7
- package/es/translator/translator.js +13 -19
- package/es/utils/browser.js +2 -9
- package/es/utils/convert-units-lite.js +1 -7
- package/es/utils/email-validator.js +1 -7
- package/es/utils/export.js +15 -46
- package/es/utils/geometry.js +181 -278
- package/es/utils/get-edges-of-subgraphs.js +2 -9
- package/es/utils/graph-cycles.js +8 -11
- package/es/utils/graph-inner-cycles.js +10 -18
- package/es/utils/graph.js +9 -17
- package/es/utils/helper.js +39 -63
- package/es/utils/history.js +8 -15
- package/es/utils/id-broker.js +8 -15
- package/es/utils/logger.js +1 -7
- package/es/utils/math.js +5 -12
- package/es/utils/molding.js +119 -144
- package/es/utils/name-generator.js +7 -13
- package/es/utils/objects-utils.js +7 -19
- package/es/utils/phone-validator.js +1 -7
- package/es/utils/process-black-list.js +3 -10
- package/es/utils/react-if.js +6 -12
- package/es/utils/snap-scene.js +27 -34
- package/es/utils/snap.js +45 -59
- package/es/utils/summarizeCart.js +1 -7
- package/es/utils/threeCSG.es6.js +13 -22
- package/es/version.js +1 -7
- package/lib/index.js +7 -13
- package/package.json +1 -1
package/es/class/item.js
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
-
var _convertUnitsLite = require("../utils/convert-units-lite");
|
|
13
|
-
var _export = require("./export");
|
|
14
|
-
var _export2 = require("../utils/export");
|
|
15
|
-
var _immutable = require("immutable");
|
|
16
|
-
var _constants = require("../constants");
|
|
17
|
-
var _helper = require("../utils/helper");
|
|
18
|
-
var _molding = require("../utils/molding");
|
|
19
|
-
var _utils = require("../components/viewer2d/utils");
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
4
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
20
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (
|
|
6
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7
|
+
import { convert } from "../utils/convert-units-lite";
|
|
8
|
+
import { Group, Hole, Layer } from "./export";
|
|
9
|
+
import { GeometryUtils, IDBroker, MoldingUtils, NameGenerator } from "../utils/export";
|
|
10
|
+
import { fromJS, Map } from 'immutable';
|
|
11
|
+
import { INSTALLATION_SUFFIX_TYPE, MODE_DRAGGING_ITEM, MODE_DRAGGING_ITEM_3D, MODE_DRAWING_ITEM, MODE_DRAWING_ITEM_3D, MODE_IDLE, MODE_IDLE_3D, MODE_ROTATING_ITEM, MODE_ROTATING_ITEM_3D, MOLDING_LOCATIONS } from "../constants";
|
|
12
|
+
import { debugUtil } from "../utils/helper";
|
|
13
|
+
import { hasMoldingLayout } from "../utils/molding";
|
|
14
|
+
import { getInstallationSuffix } from "../components/viewer2d/utils";
|
|
22
15
|
var allItemRect;
|
|
23
16
|
var allItemSnap;
|
|
24
17
|
var allLines;
|
|
@@ -27,19 +20,19 @@ var allLineSnap;
|
|
|
27
20
|
var allRect;
|
|
28
21
|
var time1;
|
|
29
22
|
var time2;
|
|
30
|
-
var Item =
|
|
23
|
+
var Item = /*#__PURE__*/function () {
|
|
31
24
|
function Item() {
|
|
32
|
-
(
|
|
25
|
+
_classCallCheck(this, Item);
|
|
33
26
|
}
|
|
34
|
-
return (
|
|
27
|
+
return _createClass(Item, null, [{
|
|
35
28
|
key: "create",
|
|
36
29
|
value: function create(state, layerID, type, x, y, width, height, rotation, isDuplication) {
|
|
37
30
|
var molding = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : [];
|
|
38
|
-
var itemID =
|
|
31
|
+
var itemID = IDBroker.acquireID();
|
|
39
32
|
var item = state.catalog.factoryElement(type, {
|
|
40
33
|
id: itemID,
|
|
41
34
|
itemID: state.catalog.getIn(['elements', type, 'itemID']),
|
|
42
|
-
name:
|
|
35
|
+
name: NameGenerator.generateName('items', state.catalog.getIn(['elements', type, 'info', 'title'])),
|
|
43
36
|
sku_number: state.catalog.getIn(['elements', type, 'obj']).toJS().sku_number,
|
|
44
37
|
//style: state.catalog.getIn(['elements', type, 'info', 'door']),
|
|
45
38
|
category: state.catalog.getIn(['elements', type, 'type']),
|
|
@@ -66,7 +59,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
66
59
|
cabinet_door_style_id: cds.cabinet_door_style_id
|
|
67
60
|
});
|
|
68
61
|
item = item.merge({
|
|
69
|
-
doorStyle:
|
|
62
|
+
doorStyle: fromJS(_objectSpread(_objectSpread({}, temp), {}, {
|
|
70
63
|
doorStyles: updatedDoorStyles
|
|
71
64
|
}))
|
|
72
65
|
});
|
|
@@ -84,7 +77,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
84
77
|
cabinet_door_style_id: cds.cabinet_door_style_id
|
|
85
78
|
});
|
|
86
79
|
item = item.merge({
|
|
87
|
-
doorStyle:
|
|
80
|
+
doorStyle: fromJS(tmpDS)
|
|
88
81
|
});
|
|
89
82
|
break;
|
|
90
83
|
}
|
|
@@ -107,7 +100,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
107
100
|
cabinet_door_style_id: _cds.cabinet_door_style_id
|
|
108
101
|
});
|
|
109
102
|
item = item.merge({
|
|
110
|
-
doorStyle:
|
|
103
|
+
doorStyle: fromJS(_tmpDS)
|
|
111
104
|
});
|
|
112
105
|
break;
|
|
113
106
|
}
|
|
@@ -134,74 +127,74 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
134
127
|
var newProperties = item.get('properties').toJS();
|
|
135
128
|
if (newProperties.hasOwnProperty('depth')) {
|
|
136
129
|
if (!newProperties.hasOwnProperty('oldDepth')) {
|
|
137
|
-
newProperties['oldDepth'] = new
|
|
130
|
+
newProperties['oldDepth'] = new Map({
|
|
138
131
|
length: newProperties.depth.length,
|
|
139
132
|
_length: newProperties.depth._length,
|
|
140
133
|
_unit: newProperties.depth._unit
|
|
141
134
|
});
|
|
142
135
|
}
|
|
143
|
-
newProperties['depth'] = new
|
|
144
|
-
length:
|
|
136
|
+
newProperties['depth'] = new Map({
|
|
137
|
+
length: convert(euro_cds[0].euro_length).from('in').to('cm'),
|
|
145
138
|
_length: euro_cds[0].euro_length,
|
|
146
139
|
_unit: 'in'
|
|
147
140
|
});
|
|
148
141
|
}
|
|
149
142
|
if (newProperties.hasOwnProperty('height')) {
|
|
150
143
|
if (!newProperties.hasOwnProperty('oldHeight')) {
|
|
151
|
-
newProperties['oldHeight'] = new
|
|
144
|
+
newProperties['oldHeight'] = new Map({
|
|
152
145
|
length: newProperties.height.length,
|
|
153
146
|
_length: newProperties.height._length,
|
|
154
147
|
_unit: newProperties.height._unit
|
|
155
148
|
});
|
|
156
149
|
}
|
|
157
|
-
newProperties['height'] = new
|
|
158
|
-
length:
|
|
150
|
+
newProperties['height'] = new Map({
|
|
151
|
+
length: convert(euro_cds[0].euro_height).from('in').to('cm'),
|
|
159
152
|
_length: euro_cds[0].euro_height,
|
|
160
153
|
_unit: 'in'
|
|
161
154
|
});
|
|
162
155
|
}
|
|
163
156
|
if (newProperties.hasOwnProperty('width')) {
|
|
164
157
|
if (!newProperties.hasOwnProperty('oldWidth')) {
|
|
165
|
-
newProperties['oldWidth'] = new
|
|
158
|
+
newProperties['oldWidth'] = new Map({
|
|
166
159
|
length: newProperties.width.length,
|
|
167
160
|
_length: newProperties.width._length,
|
|
168
161
|
_unit: newProperties.width._unit
|
|
169
162
|
});
|
|
170
163
|
}
|
|
171
|
-
newProperties['width'] = new
|
|
172
|
-
length:
|
|
164
|
+
newProperties['width'] = new Map({
|
|
165
|
+
length: convert(euro_cds[0].euro_width).from('in').to('cm') - 10,
|
|
173
166
|
_length: euro_cds[0].euro_width,
|
|
174
167
|
_unit: 'in'
|
|
175
168
|
});
|
|
176
169
|
}
|
|
177
170
|
item = item.merge({
|
|
178
|
-
properties:
|
|
171
|
+
properties: fromJS(newProperties)
|
|
179
172
|
});
|
|
180
173
|
} else {
|
|
181
174
|
var properties = item.get('properties').toJS();
|
|
182
175
|
if (properties.hasOwnProperty('oldDepth')) {
|
|
183
|
-
properties['depth'] = new
|
|
176
|
+
properties['depth'] = new Map({
|
|
184
177
|
length: properties.oldDepth.length,
|
|
185
178
|
_length: properties.oldDepth._length,
|
|
186
179
|
_unit: properties.oldDepth._unit
|
|
187
180
|
});
|
|
188
181
|
}
|
|
189
182
|
if (properties.hasOwnProperty('oldHeight')) {
|
|
190
|
-
properties['height'] = new
|
|
183
|
+
properties['height'] = new Map({
|
|
191
184
|
length: properties.oldHeight.length,
|
|
192
185
|
_length: properties.oldHeight._length,
|
|
193
186
|
_unit: properties.oldHeight._unit
|
|
194
187
|
});
|
|
195
188
|
}
|
|
196
189
|
if (properties.hasOwnProperty('oldWidth')) {
|
|
197
|
-
properties['width'] = new
|
|
190
|
+
properties['width'] = new Map({
|
|
198
191
|
length: properties.oldWidth.length,
|
|
199
192
|
_length: properties.oldWidth._length,
|
|
200
193
|
_unit: properties.oldWidth._unit
|
|
201
194
|
});
|
|
202
195
|
}
|
|
203
196
|
item = item.merge({
|
|
204
|
-
properties:
|
|
197
|
+
properties: fromJS(properties)
|
|
205
198
|
});
|
|
206
199
|
}
|
|
207
200
|
};
|
|
@@ -211,16 +204,16 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
211
204
|
if (item.type.includes('Light')) {
|
|
212
205
|
var ceilHeight = state.getIn(['scene', 'layers', layerID, 'ceilHeight']);
|
|
213
206
|
var ceilUnit = state.getIn(['scene', 'layers', layerID, 'unit']);
|
|
214
|
-
ceilHeight =
|
|
207
|
+
ceilHeight = convert(ceilHeight).from(ceilUnit).to('cm');
|
|
215
208
|
var newAltitude = ceilHeight - item.properties.getIn(['height', 'length']);
|
|
216
|
-
newAltitude =
|
|
209
|
+
newAltitude = convert(newAltitude).from('cm').to(ceilUnit);
|
|
217
210
|
item = item.setIn(['properties', 'altitude', '_length'], newAltitude);
|
|
218
211
|
state = state.setIn(['scene', 'layers', layerID, 'items', item.id], item);
|
|
219
212
|
}
|
|
220
213
|
if (item.category === 'cabinet') {
|
|
221
214
|
// If create a copied object, copied object has original object's molding property.And if create a object, it has a layer's molding property.
|
|
222
215
|
var layerMolding = state.getIn(['scene', 'layers', layerID, 'molding']).filter(function (md) {
|
|
223
|
-
return
|
|
216
|
+
return hasMoldingLayout(md, item.layoutpos);
|
|
224
217
|
});
|
|
225
218
|
state = state.setIn(['scene', 'layers', layerID, 'items', itemID, 'molding'], layerMolding.length ? layerMolding : molding);
|
|
226
219
|
}
|
|
@@ -251,16 +244,16 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
251
244
|
tmpDS['doorStyles']['drawer_door_handle_' + i + '_gltf'] = doorHandle;
|
|
252
245
|
}
|
|
253
246
|
}
|
|
254
|
-
item = item.mergeIn(['doorStyle'],
|
|
247
|
+
item = item.mergeIn(['doorStyle'], fromJS(tmpDS));
|
|
255
248
|
return item;
|
|
256
249
|
}
|
|
257
250
|
}, {
|
|
258
251
|
key: "select",
|
|
259
252
|
value: function select(state, layerID, itemID) {
|
|
260
|
-
state =
|
|
261
|
-
state =
|
|
253
|
+
state = Layer.select(state, layerID).updatedState;
|
|
254
|
+
state = Layer.selectElement(state, layerID, 'items', itemID).updatedState;
|
|
262
255
|
state = state.merge({
|
|
263
|
-
replacingSupport: new
|
|
256
|
+
replacingSupport: new Map({
|
|
264
257
|
layerID: layerID,
|
|
265
258
|
itemID: itemID
|
|
266
259
|
})
|
|
@@ -272,8 +265,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
272
265
|
}, {
|
|
273
266
|
key: "selectHole",
|
|
274
267
|
value: function selectHole(state, layerID, holeID) {
|
|
275
|
-
state =
|
|
276
|
-
state =
|
|
268
|
+
state = Layer.select(state, layerID).updatedState;
|
|
269
|
+
state = Layer.selectElement(state, layerID, 'holes', holeID).updatedState;
|
|
277
270
|
return {
|
|
278
271
|
updatedState: state
|
|
279
272
|
};
|
|
@@ -289,10 +282,10 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
289
282
|
updatedState: state
|
|
290
283
|
};
|
|
291
284
|
}
|
|
292
|
-
var width = new
|
|
285
|
+
var width = new Map({
|
|
293
286
|
_length: newWidth,
|
|
294
287
|
_unit: 'in',
|
|
295
|
-
length:
|
|
288
|
+
length: convert(newWidth).from('in').to('cm')
|
|
296
289
|
});
|
|
297
290
|
properties = properties.set('width', width);
|
|
298
291
|
state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'properties'], properties);
|
|
@@ -306,14 +299,14 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
306
299
|
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
307
300
|
var scene = state.get('scene');
|
|
308
301
|
var catalog = state.catalog.toJS();
|
|
309
|
-
allLines =
|
|
310
|
-
allLineRects =
|
|
311
|
-
allItemRect =
|
|
312
|
-
allItemSnap =
|
|
313
|
-
allLineSnap =
|
|
302
|
+
allLines = GeometryUtils.getAllLines(layer);
|
|
303
|
+
allLineRects = GeometryUtils.buildRectFromLines(layer, allLines);
|
|
304
|
+
allItemRect = GeometryUtils.getAllItems(scene, catalog, allLineRects);
|
|
305
|
+
allItemSnap = GeometryUtils.getAllItemSnap(allItemRect);
|
|
306
|
+
allLineSnap = GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
|
|
314
307
|
allRect = allItemRect.others.concat(allLineRects);
|
|
315
|
-
allItemSnap =
|
|
316
|
-
allLineSnap =
|
|
308
|
+
allItemSnap = GeometryUtils.validateSnaps(allItemSnap, allRect);
|
|
309
|
+
allLineSnap = GeometryUtils.validateSnaps(allLineSnap, allRect);
|
|
317
310
|
}
|
|
318
311
|
}, {
|
|
319
312
|
key: "duplicateSelected",
|
|
@@ -343,7 +336,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
343
336
|
val.size = allItemRect.cur.size;
|
|
344
337
|
val.layoutpos = allItemRect.cur.layoutpos;
|
|
345
338
|
val.is_corner = allItemRect.cur.is_corner;
|
|
346
|
-
var isrectSect =
|
|
339
|
+
var isrectSect = GeometryUtils.validInterSect(allRect, val);
|
|
347
340
|
if (isrectSect) {
|
|
348
341
|
// Duplicated object has a original object's molding property
|
|
349
342
|
var _this$create = this.create(state, layerID, sceneComponentType, x + width * Math.cos(rotRad), y + width * Math.sin(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding),
|
|
@@ -352,8 +345,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
352
345
|
if (item === null) {
|
|
353
346
|
alert('There are no Door Colors in this cabinet.');
|
|
354
347
|
state = state.merge({
|
|
355
|
-
mode:
|
|
356
|
-
drawingSupport: new
|
|
348
|
+
mode: MODE_IDLE,
|
|
349
|
+
drawingSupport: new Map()
|
|
357
350
|
});
|
|
358
351
|
} else {
|
|
359
352
|
state = Item.select(stateI, layerID, item.id).updatedState;
|
|
@@ -370,7 +363,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
370
363
|
_val.size = allItemRect.cur.size;
|
|
371
364
|
_val.layoutpos = allItemRect.cur.layoutpos;
|
|
372
365
|
_val.is_corner = allItemRect.cur.is_corner;
|
|
373
|
-
var isRect =
|
|
366
|
+
var isRect = GeometryUtils.validInterSect(allRect, _val);
|
|
374
367
|
if (isRect) {
|
|
375
368
|
var _this$create2 = this.create(state, layerID, sceneComponentType, x - width * Math.cos(rotRad), y - width * Math.sin(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding),
|
|
376
369
|
_stateI = _this$create2.updatedState,
|
|
@@ -378,8 +371,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
378
371
|
if (_item === null) {
|
|
379
372
|
alert('There are no Door Colors in this cabinet.');
|
|
380
373
|
state = state.merge({
|
|
381
|
-
mode:
|
|
382
|
-
drawingSupport: new
|
|
374
|
+
mode: MODE_IDLE,
|
|
375
|
+
drawingSupport: new Map()
|
|
383
376
|
});
|
|
384
377
|
} else {
|
|
385
378
|
state = Item.select(_stateI, layerID, _item.id).updatedState;
|
|
@@ -396,7 +389,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
396
389
|
_val2.size = allItemRect.cur.size;
|
|
397
390
|
_val2.layoutpos = allItemRect.cur.layoutpos;
|
|
398
391
|
_val2.is_corner = allItemRect.cur.is_corner;
|
|
399
|
-
var isRectDown =
|
|
392
|
+
var isRectDown = GeometryUtils.validInterSect(allRect, _val2);
|
|
400
393
|
if (isRectDown) {
|
|
401
394
|
var _this$create3 = this.create(state, layerID, sceneComponentType, x - depth * Math.sin(rotRad), y - depth * Math.cos(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding),
|
|
402
395
|
_stateI2 = _this$create3.updatedState,
|
|
@@ -404,8 +397,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
404
397
|
if (_item2 === null) {
|
|
405
398
|
alert('There are no Door Colors in this cabinet.');
|
|
406
399
|
state = state.merge({
|
|
407
|
-
mode:
|
|
408
|
-
drawingSupport: new
|
|
400
|
+
mode: MODE_IDLE,
|
|
401
|
+
drawingSupport: new Map()
|
|
409
402
|
});
|
|
410
403
|
} else {
|
|
411
404
|
state = Item.select(_stateI2, layerID, _item2.id).updatedState;
|
|
@@ -422,7 +415,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
422
415
|
_val3.size = allItemRect.cur.size;
|
|
423
416
|
_val3.layoutpos = allItemRect.cur.layoutpos;
|
|
424
417
|
_val3.is_corner = allItemRect.cur.is_corner;
|
|
425
|
-
var isRectUp =
|
|
418
|
+
var isRectUp = GeometryUtils.validInterSect(allRect, _val3);
|
|
426
419
|
if (isRectUp) {
|
|
427
420
|
var _this$create4 = this.create(state, layerID, sceneComponentType, x + depth * Math.sin(rotRad), y + depth * Math.cos(rotRad), 200, 100, rotRad * 180 / Math.PI, true, myObject.molding),
|
|
428
421
|
_stateI3 = _this$create4.updatedState,
|
|
@@ -430,8 +423,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
430
423
|
if (_item3 === null) {
|
|
431
424
|
alert('There are no Door Colors in this cabinet.');
|
|
432
425
|
state = state.merge({
|
|
433
|
-
mode:
|
|
434
|
-
drawingSupport: new
|
|
426
|
+
mode: MODE_IDLE,
|
|
427
|
+
drawingSupport: new Map()
|
|
435
428
|
});
|
|
436
429
|
} else {
|
|
437
430
|
state = Item.select(_stateI3, layerID, _item3.id).updatedState;
|
|
@@ -454,7 +447,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
454
447
|
var myOffset = myObject.offset;
|
|
455
448
|
var v0 = layer.getIn(['vertices', line.vertices.get(0)]);
|
|
456
449
|
var v1 = layer.getIn(['vertices', line.vertices.get(1)]);
|
|
457
|
-
var lineLength =
|
|
450
|
+
var lineLength = GeometryUtils.pointsDistance(v0.x, v0.y, v1.x, v1.y);
|
|
458
451
|
var delta = width / 2 / lineLength + 0.00001;
|
|
459
452
|
var allHoles = state.getIn(['scene', 'layers', layerID, 'holes']);
|
|
460
453
|
var rightAble = true;
|
|
@@ -549,9 +542,9 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
549
542
|
key: "remove",
|
|
550
543
|
value: function remove(state, layerID, itemID) {
|
|
551
544
|
state = this.unselect(state, layerID, itemID).updatedState;
|
|
552
|
-
state =
|
|
545
|
+
state = Layer.removeElement(state, layerID, 'items', itemID).updatedState;
|
|
553
546
|
state.getIn(['scene', 'groups']).forEach(function (group) {
|
|
554
|
-
return state =
|
|
547
|
+
return state = Group.removeElement(state, group.id, layerID, 'items', itemID).updatedState;
|
|
555
548
|
});
|
|
556
549
|
return {
|
|
557
550
|
updatedState: state
|
|
@@ -570,7 +563,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
570
563
|
}, {
|
|
571
564
|
key: "unselect",
|
|
572
565
|
value: function unselect(state, layerID, itemID) {
|
|
573
|
-
state =
|
|
566
|
+
state = Layer.unselect(state, layerID, 'items', itemID).updatedState;
|
|
574
567
|
return {
|
|
575
568
|
updatedState: state
|
|
576
569
|
};
|
|
@@ -579,8 +572,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
579
572
|
key: "selectToolDrawingItem",
|
|
580
573
|
value: function selectToolDrawingItem(state, sceneComponentType) {
|
|
581
574
|
state = state.merge({
|
|
582
|
-
mode:
|
|
583
|
-
drawingSupport: new
|
|
575
|
+
mode: MODE_DRAWING_ITEM,
|
|
576
|
+
drawingSupport: new Map({
|
|
584
577
|
type: sceneComponentType
|
|
585
578
|
})
|
|
586
579
|
});
|
|
@@ -592,8 +585,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
592
585
|
key: "selectToolDrawingItem3D",
|
|
593
586
|
value: function selectToolDrawingItem3D(state, sceneComponentType) {
|
|
594
587
|
state = state.merge({
|
|
595
|
-
mode:
|
|
596
|
-
drawingSupport: new
|
|
588
|
+
mode: MODE_DRAWING_ITEM_3D,
|
|
589
|
+
drawingSupport: new Map({
|
|
597
590
|
type: sceneComponentType
|
|
598
591
|
})
|
|
599
592
|
});
|
|
@@ -628,7 +621,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
628
621
|
value: function updateDrawingItem(state, layerID, x, y) {
|
|
629
622
|
if (state.hasIn(['drawingSupport', 'currentID'])) {
|
|
630
623
|
var mode = state.get('mode');
|
|
631
|
-
if ([
|
|
624
|
+
if ([MODE_DRAWING_ITEM_3D].includes(mode)) {
|
|
632
625
|
state = state.updateIn(['scene', 'layers', layerID, 'items', state.getIn(['drawingSupport', 'currentID'])], function (item) {
|
|
633
626
|
return item && item.merge({
|
|
634
627
|
x: x,
|
|
@@ -636,12 +629,12 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
636
629
|
});
|
|
637
630
|
});
|
|
638
631
|
state = state.merge({
|
|
639
|
-
mode:
|
|
632
|
+
mode: MODE_IDLE_3D
|
|
640
633
|
});
|
|
641
634
|
}
|
|
642
|
-
if ([
|
|
635
|
+
if ([MODE_DRAWING_ITEM].includes(mode)) {
|
|
643
636
|
state = state.merge({
|
|
644
|
-
mode:
|
|
637
|
+
mode: MODE_IDLE
|
|
645
638
|
});
|
|
646
639
|
state = state.updateIn(['scene', 'layers', layerID, 'items', state.getIn(['drawingSupport', 'currentID'])], function (item) {
|
|
647
640
|
return item && item.merge({
|
|
@@ -657,8 +650,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
657
650
|
if (item === null) {
|
|
658
651
|
alert('There are no Door Colors in this cabinet.');
|
|
659
652
|
state = state.merge({
|
|
660
|
-
mode:
|
|
661
|
-
drawingSupport: new
|
|
653
|
+
mode: MODE_IDLE,
|
|
654
|
+
drawingSupport: new Map()
|
|
662
655
|
});
|
|
663
656
|
} else {
|
|
664
657
|
state = Item.select(stateI, layerID, item.id).updatedState;
|
|
@@ -692,7 +685,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
692
685
|
state = state.merge({
|
|
693
686
|
scene: scene.mergeIn(['layers', layerID, 'items', itemID], item)
|
|
694
687
|
});
|
|
695
|
-
time2 =
|
|
688
|
+
time2 = debugUtil();
|
|
696
689
|
false && console.log('FPS:', Math.round(1000 / (time2 - time1)), ' Delta Time:', (time2 - time1) / 1000, '(s)');
|
|
697
690
|
return {
|
|
698
691
|
updatedState: state
|
|
@@ -703,15 +696,15 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
703
696
|
value: function endDrawingItem(state, layerID, x, y) {
|
|
704
697
|
var catalog = state.catalog;
|
|
705
698
|
state = this.updateDrawingItem(state, layerID, x, y, catalog).updatedState;
|
|
706
|
-
state =
|
|
699
|
+
state = Layer.unselectAll(state, layerID).updatedState;
|
|
707
700
|
var popup = state.get('popup');
|
|
708
701
|
state = state.merge({
|
|
709
|
-
drawingSupport:
|
|
702
|
+
drawingSupport: Map({
|
|
710
703
|
type: state.drawingSupport.get('type')
|
|
711
704
|
}),
|
|
712
705
|
isOpen: !popup
|
|
713
706
|
});
|
|
714
|
-
state =
|
|
707
|
+
state = Layer.unselectAll(state, layerID).updatedState;
|
|
715
708
|
this.updateMolding(state);
|
|
716
709
|
return {
|
|
717
710
|
updatedState: state
|
|
@@ -721,11 +714,11 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
721
714
|
key: "beginDraggingItem",
|
|
722
715
|
value: function beginDraggingItem(state, layerID, itemID, x, y) {
|
|
723
716
|
var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
|
|
724
|
-
time1 =
|
|
717
|
+
time1 = debugUtil();
|
|
725
718
|
if (!item) return;
|
|
726
719
|
state = state.merge({
|
|
727
|
-
mode:
|
|
728
|
-
draggingSupport:
|
|
720
|
+
mode: MODE_DRAGGING_ITEM,
|
|
721
|
+
draggingSupport: Map({
|
|
729
722
|
layerID: layerID,
|
|
730
723
|
itemID: itemID,
|
|
731
724
|
startPointX: x,
|
|
@@ -747,8 +740,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
747
740
|
updatedState: state
|
|
748
741
|
};
|
|
749
742
|
state = state.merge({
|
|
750
|
-
mode:
|
|
751
|
-
draggingSupport:
|
|
743
|
+
mode: MODE_DRAGGING_ITEM_3D,
|
|
744
|
+
draggingSupport: Map({
|
|
752
745
|
layerID: layerID,
|
|
753
746
|
itemID: itemID,
|
|
754
747
|
startPointX: x,
|
|
@@ -843,7 +836,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
843
836
|
value: function endDraggingItem(state, x, y) {
|
|
844
837
|
state = this.updateDraggingItem(state, x, y).updatedState;
|
|
845
838
|
state = state.merge({
|
|
846
|
-
mode:
|
|
839
|
+
mode: MODE_IDLE
|
|
847
840
|
});
|
|
848
841
|
return {
|
|
849
842
|
updatedState: state
|
|
@@ -854,7 +847,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
854
847
|
value: function endDraggingItem3D(state) {
|
|
855
848
|
// state = this.updateDraggingItem(state, x, y).updatedState;
|
|
856
849
|
state = state.merge({
|
|
857
|
-
mode:
|
|
850
|
+
mode: MODE_IDLE_3D
|
|
858
851
|
});
|
|
859
852
|
state = state.setIn(['scene', 'isEndDragging'], true);
|
|
860
853
|
return {
|
|
@@ -867,8 +860,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
867
860
|
var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
|
|
868
861
|
var originRotation = item.get('rotation');
|
|
869
862
|
state = state.merge({
|
|
870
|
-
mode:
|
|
871
|
-
rotatingSupport:
|
|
863
|
+
mode: MODE_ROTATING_ITEM,
|
|
864
|
+
rotatingSupport: Map({
|
|
872
865
|
layerID: layerID,
|
|
873
866
|
itemID: itemID,
|
|
874
867
|
x: x,
|
|
@@ -886,8 +879,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
886
879
|
var item = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
|
|
887
880
|
var originRotation = item.get('rotation');
|
|
888
881
|
state = state.merge({
|
|
889
|
-
mode:
|
|
890
|
-
rotatingSupport:
|
|
882
|
+
mode: MODE_ROTATING_ITEM_3D,
|
|
883
|
+
rotatingSupport: Map({
|
|
891
884
|
layerID: layerID,
|
|
892
885
|
itemID: itemID,
|
|
893
886
|
x: x,
|
|
@@ -967,7 +960,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
967
960
|
value: function endRotatingItem(state, x, y) {
|
|
968
961
|
//state = this.updateRotatingItem(state, x, y).updatedState;
|
|
969
962
|
state = state.merge({
|
|
970
|
-
mode:
|
|
963
|
+
mode: MODE_IDLE
|
|
971
964
|
});
|
|
972
965
|
return {
|
|
973
966
|
updatedState: state
|
|
@@ -978,7 +971,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
978
971
|
value: function endRotatingItem3D(state, x, y) {
|
|
979
972
|
state = this.updateRotatingItem(state, x, y).updatedState;
|
|
980
973
|
state = state.merge({
|
|
981
|
-
mode:
|
|
974
|
+
mode: MODE_IDLE_3D
|
|
982
975
|
});
|
|
983
976
|
return {
|
|
984
977
|
updatedState: state
|
|
@@ -1039,7 +1032,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1039
1032
|
scene: scene.mergeIn(['layers', layerID, 'items', itemID], item)
|
|
1040
1033
|
});
|
|
1041
1034
|
state = state.merge({
|
|
1042
|
-
mode:
|
|
1035
|
+
mode: MODE_IDLE_3D
|
|
1043
1036
|
});
|
|
1044
1037
|
return {
|
|
1045
1038
|
updatedState: state
|
|
@@ -1056,7 +1049,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1056
1049
|
}, {
|
|
1057
1050
|
key: "setJsProperties",
|
|
1058
1051
|
value: function setJsProperties(state, layerID, itemID, properties) {
|
|
1059
|
-
return this.setProperties(state, layerID, itemID,
|
|
1052
|
+
return this.setProperties(state, layerID, itemID, fromJS(properties));
|
|
1060
1053
|
}
|
|
1061
1054
|
}, {
|
|
1062
1055
|
key: "updateProperties",
|
|
@@ -1071,7 +1064,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1071
1064
|
}, {
|
|
1072
1065
|
key: "updateJsProperties",
|
|
1073
1066
|
value: function updateJsProperties(state, layerID, itemID, properties) {
|
|
1074
|
-
return this.updateProperties(state, layerID, itemID,
|
|
1067
|
+
return this.updateProperties(state, layerID, itemID, fromJS(properties));
|
|
1075
1068
|
}
|
|
1076
1069
|
}, {
|
|
1077
1070
|
key: "setAttributes",
|
|
@@ -1084,7 +1077,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1084
1077
|
}, {
|
|
1085
1078
|
key: "setJsAttributes",
|
|
1086
1079
|
value: function setJsAttributes(state, layerID, itemID, itemAttributes) {
|
|
1087
|
-
itemAttributes =
|
|
1080
|
+
itemAttributes = fromJS(itemAttributes);
|
|
1088
1081
|
return this.setAttributes(state, layerID, itemID, itemAttributes);
|
|
1089
1082
|
}
|
|
1090
1083
|
}, {
|
|
@@ -1106,7 +1099,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1106
1099
|
scene: scene.mergeIn(['layers', layerID, 'items', itemID], item)
|
|
1107
1100
|
});
|
|
1108
1101
|
state = state.merge({
|
|
1109
|
-
mode:
|
|
1102
|
+
mode: MODE_IDLE_3D
|
|
1110
1103
|
});
|
|
1111
1104
|
}
|
|
1112
1105
|
return {
|
|
@@ -1117,7 +1110,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1117
1110
|
key: "removeReplacingSupport",
|
|
1118
1111
|
value: function removeReplacingSupport(state) {
|
|
1119
1112
|
state = state.merge({
|
|
1120
|
-
replacingSupport: new
|
|
1113
|
+
replacingSupport: new Map()
|
|
1121
1114
|
});
|
|
1122
1115
|
return {
|
|
1123
1116
|
updatedState: state
|
|
@@ -1128,14 +1121,14 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1128
1121
|
value: function setInitialDoorStyle(state, doorStyle, oStyle) {
|
|
1129
1122
|
if (doorStyle === undefined) {
|
|
1130
1123
|
state = state.merge({
|
|
1131
|
-
oStyle: new
|
|
1124
|
+
oStyle: new Map({
|
|
1132
1125
|
oStyle: oStyle
|
|
1133
1126
|
})
|
|
1134
1127
|
});
|
|
1135
1128
|
} else {
|
|
1136
1129
|
state = state.merge({
|
|
1137
1130
|
doorStyle: doorStyle,
|
|
1138
|
-
oStyle: new
|
|
1131
|
+
oStyle: new Map({
|
|
1139
1132
|
oStyle: oStyle
|
|
1140
1133
|
})
|
|
1141
1134
|
});
|
|
@@ -1152,7 +1145,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1152
1145
|
counttop: doorStyle.doorStyles.counttop
|
|
1153
1146
|
})
|
|
1154
1147
|
});
|
|
1155
|
-
data = data.mergeIn(['doorStyle'],
|
|
1148
|
+
data = data.mergeIn(['doorStyle'], fromJS(tmpDS));
|
|
1156
1149
|
layers = layers.mergeIn(['items', itemID], data);
|
|
1157
1150
|
state = state.merge({
|
|
1158
1151
|
scene: scene.mergeIn(['layers', layerID], layers)
|
|
@@ -1195,15 +1188,15 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1195
1188
|
var itemID = data.id;
|
|
1196
1189
|
var curItem = state.getIn(['scene', 'layers', layerID, 'items', itemID]);
|
|
1197
1190
|
var layer = state.getIn(['scene', 'layers', layerID]);
|
|
1198
|
-
var tmpMolding = (
|
|
1199
|
-
var temp_item_molding = (
|
|
1191
|
+
var tmpMolding = _toConsumableArray(curItem.molding);
|
|
1192
|
+
var temp_item_molding = _toConsumableArray(curItem.molding);
|
|
1200
1193
|
temp_item_molding = temp_item_molding.filter(function (md) {
|
|
1201
1194
|
return doorStyle.doorStyles.cds.some(function (ds) {
|
|
1202
1195
|
return ds.itemID === md.itemID;
|
|
1203
1196
|
});
|
|
1204
1197
|
});
|
|
1205
1198
|
tmpMolding.forEach(function (md) {
|
|
1206
|
-
var itemGroup =
|
|
1199
|
+
var itemGroup = MoldingUtils.getItemGroupFromMolding(layer, curItem, md);
|
|
1207
1200
|
itemGroup.forEach(function (it) {
|
|
1208
1201
|
state = state.setIn(['scene', 'layers', layerID, 'items', it.id, 'molding'], temp_item_molding);
|
|
1209
1202
|
});
|
|
@@ -1222,42 +1215,42 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1222
1215
|
var newProperties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
|
|
1223
1216
|
if (newProperties.hasOwnProperty('depth')) {
|
|
1224
1217
|
if (!newProperties.hasOwnProperty('oldDepth')) {
|
|
1225
|
-
newProperties['oldDepth'] = new
|
|
1218
|
+
newProperties['oldDepth'] = new Map({
|
|
1226
1219
|
length: newProperties.depth.length,
|
|
1227
1220
|
_length: newProperties.depth._length,
|
|
1228
1221
|
_unit: newProperties.depth._unit
|
|
1229
1222
|
});
|
|
1230
1223
|
}
|
|
1231
|
-
newProperties['depth'] = new
|
|
1232
|
-
length:
|
|
1224
|
+
newProperties['depth'] = new Map({
|
|
1225
|
+
length: convert(euro_cds[0].euro_length).from('in').to('cm'),
|
|
1233
1226
|
_length: euro_cds[0].euro_length,
|
|
1234
1227
|
_unit: 'in'
|
|
1235
1228
|
});
|
|
1236
1229
|
}
|
|
1237
1230
|
if (newProperties.hasOwnProperty('height')) {
|
|
1238
1231
|
if (!newProperties.hasOwnProperty('oldHeight')) {
|
|
1239
|
-
newProperties['oldHeight'] = new
|
|
1232
|
+
newProperties['oldHeight'] = new Map({
|
|
1240
1233
|
length: newProperties.height.length,
|
|
1241
1234
|
_length: newProperties.height._length,
|
|
1242
1235
|
_unit: newProperties.height._unit
|
|
1243
1236
|
});
|
|
1244
1237
|
}
|
|
1245
|
-
newProperties['height'] = new
|
|
1246
|
-
length:
|
|
1238
|
+
newProperties['height'] = new Map({
|
|
1239
|
+
length: convert(euro_cds[0].euro_height).from('in').to('cm'),
|
|
1247
1240
|
_length: euro_cds[0].euro_height,
|
|
1248
1241
|
_unit: 'in'
|
|
1249
1242
|
});
|
|
1250
1243
|
}
|
|
1251
1244
|
if (newProperties.hasOwnProperty('width')) {
|
|
1252
1245
|
if (!newProperties.hasOwnProperty('oldWidth')) {
|
|
1253
|
-
newProperties['oldWidth'] = new
|
|
1246
|
+
newProperties['oldWidth'] = new Map({
|
|
1254
1247
|
length: newProperties.width.length,
|
|
1255
1248
|
_length: newProperties.width._length,
|
|
1256
1249
|
_unit: newProperties.width._unit
|
|
1257
1250
|
});
|
|
1258
1251
|
}
|
|
1259
|
-
newProperties['width'] = new
|
|
1260
|
-
length:
|
|
1252
|
+
newProperties['width'] = new Map({
|
|
1253
|
+
length: convert(euro_cds[0].euro_width).from('in').to('cm') - 10,
|
|
1261
1254
|
_length: euro_cds[0].euro_width,
|
|
1262
1255
|
_unit: 'in'
|
|
1263
1256
|
});
|
|
@@ -1269,21 +1262,21 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1269
1262
|
}) : {};
|
|
1270
1263
|
var properties = state.scene.getIn(['layers', layerID, 'items', itemID, 'properties']).toJS();
|
|
1271
1264
|
if (properties.hasOwnProperty('oldDepth')) {
|
|
1272
|
-
properties['depth'] = new
|
|
1265
|
+
properties['depth'] = new Map({
|
|
1273
1266
|
length: properties.oldDepth.length,
|
|
1274
1267
|
_length: properties.oldDepth._length,
|
|
1275
1268
|
_unit: properties.oldDepth._unit
|
|
1276
1269
|
});
|
|
1277
1270
|
}
|
|
1278
1271
|
if (properties.hasOwnProperty('oldHeight')) {
|
|
1279
|
-
properties['height'] = new
|
|
1272
|
+
properties['height'] = new Map({
|
|
1280
1273
|
length: properties.oldHeight.length,
|
|
1281
1274
|
_length: properties.oldHeight._length,
|
|
1282
1275
|
_unit: properties.oldHeight._unit
|
|
1283
1276
|
});
|
|
1284
1277
|
}
|
|
1285
1278
|
if (properties.hasOwnProperty('oldWidth')) {
|
|
1286
|
-
properties['width'] = new
|
|
1279
|
+
properties['width'] = new Map({
|
|
1287
1280
|
length: properties.oldWidth.length,
|
|
1288
1281
|
_length: properties.oldWidth._length,
|
|
1289
1282
|
_unit: properties.oldWidth._unit
|
|
@@ -1304,10 +1297,10 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1304
1297
|
sku: doorStyle.sku,
|
|
1305
1298
|
color_sku_alias: doorStyle.color_sku_alias,
|
|
1306
1299
|
// alias name of color_sku for the current dealer
|
|
1307
|
-
install:
|
|
1300
|
+
install: getInstallationSuffix(INSTALLATION_SUFFIX_TYPE.NAME, doorStyle),
|
|
1308
1301
|
doorStyles: _objectSpread(_objectSpread({}, tmp), cds_data)
|
|
1309
1302
|
};
|
|
1310
|
-
state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'],
|
|
1303
|
+
state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'doorStyle'], fromJS(tmpDS));
|
|
1311
1304
|
};
|
|
1312
1305
|
if (isAll) {
|
|
1313
1306
|
var items = state.scene.layers.get(layerID).items;
|
|
@@ -1418,7 +1411,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1418
1411
|
metalness: material.metalness,
|
|
1419
1412
|
roughness: material.roughness
|
|
1420
1413
|
});
|
|
1421
|
-
data = data.mergeIn(['doorStyle'],
|
|
1414
|
+
data = data.mergeIn(['doorStyle'], fromJS(tmpDS));
|
|
1422
1415
|
layers = layers.mergeIn(['items', itemID], data);
|
|
1423
1416
|
state = state.merge({
|
|
1424
1417
|
scene: scene.mergeIn(['layers', layerID], layers)
|
|
@@ -1515,7 +1508,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1515
1508
|
scene: scene.mergeIn(['layers', layerID], layer)
|
|
1516
1509
|
});
|
|
1517
1510
|
layer.items.toArray().forEach(function (item) {
|
|
1518
|
-
if (
|
|
1511
|
+
if (MoldingUtils.isEnableItemForMolding(layer, item, molding)) {
|
|
1519
1512
|
var tempItemMolding = item.molding;
|
|
1520
1513
|
if (flag) {
|
|
1521
1514
|
if (tempItemMolding.some(function (mol) {
|
|
@@ -1540,8 +1533,8 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1540
1533
|
});
|
|
1541
1534
|
} else {
|
|
1542
1535
|
var selectedItem = layer.getIn(['items', layer.selected.toJS().items[0]]);
|
|
1543
|
-
if (
|
|
1544
|
-
var moldingGroup =
|
|
1536
|
+
if (MoldingUtils.isEnableItemForMolding(layer, selectedItem, molding)) {
|
|
1537
|
+
var moldingGroup = MoldingUtils.getItemGroupFromMolding(layer, selectedItem, molding);
|
|
1545
1538
|
var tempSelItemMolding = selectedItem.molding;
|
|
1546
1539
|
var _flag = tempSelItemMolding.some(function (mol) {
|
|
1547
1540
|
return mol.name === molding.name;
|
|
@@ -1587,16 +1580,16 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1587
1580
|
var itemGroups = [];
|
|
1588
1581
|
layer.items.toArray().forEach(function (curItem) {
|
|
1589
1582
|
if (selectedItem.id !== curItem.id && curItem.category === 'cabinet') {
|
|
1590
|
-
if (
|
|
1583
|
+
if (MoldingUtils.isItemSnappedItem(selectedItem, curItem)) {
|
|
1591
1584
|
snappedItemGroup.push(curItem); // add the snapped item.
|
|
1592
1585
|
// add the snapped item that has same molding location type, layoutpos and height to itemGroups.
|
|
1593
1586
|
if (curItem.molding.length) {
|
|
1594
1587
|
curItem.molding.forEach(function (md) {
|
|
1595
1588
|
// This code check whether the curItem can be grouped with selected Item in molding.
|
|
1596
|
-
if (
|
|
1589
|
+
if (MoldingUtils.tryMergeMDItem(layer, selectedItem, curItem, [selectedItem], md)) {
|
|
1597
1590
|
itemGroups.push({
|
|
1598
1591
|
base_item: curItem,
|
|
1599
|
-
group:
|
|
1592
|
+
group: MoldingUtils.getItemGroupFromMolding(layer, curItem, md),
|
|
1600
1593
|
molding: md
|
|
1601
1594
|
});
|
|
1602
1595
|
}
|
|
@@ -1608,11 +1601,11 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1608
1601
|
var updateSelectItemMolding = function updateSelectItemMolding() {
|
|
1609
1602
|
var _loop2 = function _loop2() {
|
|
1610
1603
|
// check whether snapped item is same as selected item in layoutpos(Wall, Tall, Base)
|
|
1611
|
-
if (
|
|
1604
|
+
if (MoldingUtils.isSameMoldingLayoutpos(selectedItem, snappedItemGroup[i])) {
|
|
1612
1605
|
// check whether snapped item is same in location(same location type and height).
|
|
1613
1606
|
var delMoldings = [];
|
|
1614
1607
|
for (var k = 0; k < selectedItem.molding.length; k++) {
|
|
1615
|
-
if (
|
|
1608
|
+
if (MoldingUtils.isItemSameItemByLocation(selectedItem, snappedItemGroup[i], selectedItem.molding[k].location_type)) {
|
|
1616
1609
|
delMoldings.push(selectedItem.molding[k].itemID);
|
|
1617
1610
|
}
|
|
1618
1611
|
}
|
|
@@ -1663,13 +1656,13 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1663
1656
|
return it.molding.location_type === location;
|
|
1664
1657
|
}).sort(function (a, b) {
|
|
1665
1658
|
if (a.group.length === b.group.length) {
|
|
1666
|
-
return
|
|
1659
|
+
return GeometryUtils.pointsDistance(a.base_item.x, a.base_item.y, selectedItem.x, selectedItem.y) - GeometryUtils.pointsDistance(b.base_item.x, b.base_item.y, selectedItem.x, selectedItem.y);
|
|
1667
1660
|
} else {
|
|
1668
1661
|
return a.group.length - b.group.length;
|
|
1669
1662
|
}
|
|
1670
1663
|
});
|
|
1671
1664
|
if (locationMolding.length) {
|
|
1672
|
-
var locationMoldingItems =
|
|
1665
|
+
var locationMoldingItems = MoldingUtils.getItemGroupFromMolding(layer, selectedItem, locationMolding[0].molding);
|
|
1673
1666
|
locationMoldingItems.forEach(function (item) {
|
|
1674
1667
|
var tempMoldings = state.getIn(['scene', 'layers', layerID, 'items', item.id, 'molding']);
|
|
1675
1668
|
if (!tempMoldings.some(function (mol) {
|
|
@@ -1680,11 +1673,11 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1680
1673
|
}
|
|
1681
1674
|
};
|
|
1682
1675
|
if (itemGroups.length && layer.items.some(function (it) {
|
|
1683
|
-
return
|
|
1676
|
+
return MoldingUtils.isItemSnappedItem(selectedItem, it) && it.category === 'cabinet';
|
|
1684
1677
|
})) {
|
|
1685
1678
|
emptyMoldingArray();
|
|
1686
|
-
for (var i = 0; i <
|
|
1687
|
-
setLocationMolding(
|
|
1679
|
+
for (var i = 0; i < MOLDING_LOCATIONS.length; i++) {
|
|
1680
|
+
setLocationMolding(MOLDING_LOCATIONS[i]);
|
|
1688
1681
|
}
|
|
1689
1682
|
} else if (!itemGroups.length && selectedItem.molding.length) {
|
|
1690
1683
|
// Delete the selected Item's molding property if selItem attached the group that has no molding.
|
|
@@ -1785,7 +1778,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1785
1778
|
length = 0;
|
|
1786
1779
|
_length = 0;
|
|
1787
1780
|
}
|
|
1788
|
-
state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'properties', 'altitude'], new
|
|
1781
|
+
state = state.mergeIn(['scene', 'layers', layerID, 'items', itemID, 'properties', 'altitude'], new Map({
|
|
1789
1782
|
length: length,
|
|
1790
1783
|
_length: _length,
|
|
1791
1784
|
_unit: _unit
|
|
@@ -1797,7 +1790,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1797
1790
|
}, {
|
|
1798
1791
|
key: "createHole",
|
|
1799
1792
|
value: function createHole(state, layerID, type, lineID, offset, properties) {
|
|
1800
|
-
var holeID =
|
|
1793
|
+
var holeID = IDBroker.acquireID();
|
|
1801
1794
|
var hole = state.catalog.factoryElement(type, {
|
|
1802
1795
|
id: holeID,
|
|
1803
1796
|
url: state.catalog.getIn(['elements', type, 'info', 'url']),
|
|
@@ -1847,7 +1840,7 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1847
1840
|
if (properties.hasOwnProperty('flip_horizontal')) {
|
|
1848
1841
|
properties['flip_horizontal'] = true;
|
|
1849
1842
|
}
|
|
1850
|
-
state =
|
|
1843
|
+
state = Hole.setJsProperties(state, layerID, holeID, properties).updatedState;
|
|
1851
1844
|
return {
|
|
1852
1845
|
updatedState: state,
|
|
1853
1846
|
hole: hole
|
|
@@ -1877,4 +1870,5 @@ var Item = exports["default"] = /*#__PURE__*/function () {
|
|
|
1877
1870
|
};
|
|
1878
1871
|
}
|
|
1879
1872
|
}]);
|
|
1880
|
-
}();
|
|
1873
|
+
}();
|
|
1874
|
+
export { Item as default };
|