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