kitchen-simulator 1.1.1-test.62 → 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 +7 -15
- 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/package.json +1 -1
package/es/class/project.js
CHANGED
|
@@ -1,30 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
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 _immutable = require("immutable");
|
|
13
|
-
var _constants = _interopRequireWildcard(require("../constants"));
|
|
14
|
-
var constants = _constants;
|
|
15
|
-
var _models = require("../models");
|
|
16
|
-
var _export = require("../utils/export");
|
|
17
|
-
var _export2 = require("../class/export");
|
|
18
|
-
var viewer2DActions = _interopRequireWildcard(require("../actions/viewer2d-actions"));
|
|
19
|
-
var _helper = require("../utils/helper");
|
|
20
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
21
4
|
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; }
|
|
22
|
-
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) { (
|
|
23
|
-
|
|
5
|
+
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; }
|
|
6
|
+
import { List, Map } from 'immutable';
|
|
7
|
+
import * as constants from "../constants";
|
|
8
|
+
import { ARRAY_3D_MODES, END_DRAWING_LINE, MODE_CONFIGURING_PROJECT, MODE_DRAWING_HOLE, MODE_DRAWING_ITEM, MODE_DRAWING_ITEM_3D, MODE_DRAWING_LINE, MODE_IDLE, MODE_IDLE_3D, MODE_VIEWING_CATALOG, MODE_WAITING_DRAWING_LINE } from "../constants";
|
|
9
|
+
import { Catalog, Scene, State } from "../models";
|
|
10
|
+
import { GeometryUtils, history } from "../utils/export";
|
|
11
|
+
import { Area, Group, Hole, HorizontalGuide, Item, Layer, Line, VerticalGuide } from "../class/export";
|
|
12
|
+
import * as viewer2DActions from "../actions/viewer2d-actions";
|
|
13
|
+
import { isEmpty } from "../utils/helper";
|
|
14
|
+
var Project = /*#__PURE__*/function () {
|
|
24
15
|
function Project() {
|
|
25
|
-
(
|
|
16
|
+
_classCallCheck(this, Project);
|
|
26
17
|
}
|
|
27
|
-
return (
|
|
18
|
+
return _createClass(Project, null, [{
|
|
28
19
|
key: "setAlterate",
|
|
29
20
|
value: function setAlterate(state) {
|
|
30
21
|
return {
|
|
@@ -34,7 +25,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
34
25
|
}, {
|
|
35
26
|
key: "openCatalog",
|
|
36
27
|
value: function openCatalog(state) {
|
|
37
|
-
state = this.setMode(state,
|
|
28
|
+
state = this.setMode(state, MODE_VIEWING_CATALOG).updatedState;
|
|
38
29
|
return {
|
|
39
30
|
updatedState: state
|
|
40
31
|
};
|
|
@@ -54,7 +45,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
54
45
|
a: 0.99,
|
|
55
46
|
d: 0.99
|
|
56
47
|
});
|
|
57
|
-
state = new
|
|
48
|
+
state = new State({});
|
|
58
49
|
state = state.merge({
|
|
59
50
|
doorStyle: doorStyle,
|
|
60
51
|
oStyle: oStyle,
|
|
@@ -102,20 +93,20 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
102
93
|
for (var x in json_items) {
|
|
103
94
|
_loop(x);
|
|
104
95
|
}
|
|
105
|
-
var newScene = new
|
|
106
|
-
state = new
|
|
96
|
+
var newScene = new Scene(sceneJSON);
|
|
97
|
+
state = new State({
|
|
107
98
|
scene: newScene.toJS(),
|
|
108
99
|
catalog: state.catalog.toJS()
|
|
109
100
|
});
|
|
110
101
|
state = state.merge({
|
|
111
|
-
sceneHistory:
|
|
102
|
+
sceneHistory: history.historyPush(oldSceneHistory, oldScene)
|
|
112
103
|
});
|
|
113
104
|
if (state.scene.title === '') {
|
|
114
105
|
state = state.mergeIn(['scene', 'title'], oldScene.title);
|
|
115
106
|
}
|
|
116
107
|
|
|
117
108
|
//Validate item positions after loading project.
|
|
118
|
-
state =
|
|
109
|
+
state = Item.validateItemPositions(state, layerID).updatedState;
|
|
119
110
|
|
|
120
111
|
// get counterTop and floorStyle is after state created from sceneJSON
|
|
121
112
|
if (state.getIn(['scene', 'layers', layerID, 'counterTop']).uri) {
|
|
@@ -173,8 +164,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
173
164
|
oStyle: oStyle,
|
|
174
165
|
viewer2D: _viewer2D
|
|
175
166
|
});
|
|
176
|
-
state =
|
|
177
|
-
state =
|
|
167
|
+
state = Item.setCounterTop(state, counterTop).updatedState;
|
|
168
|
+
state = Area.setFloorStyles(state, floorStyle).updatedState;
|
|
178
169
|
if (state.getIn(['scene', 'layers', layerID, 'doorStyle']) && !state.getIn(['scene', 'layers', layerID, 'doorStyle', 'install'])) {
|
|
179
170
|
var layerDoorStyle = state.getIn(['scene', 'layers', layerID, 'doorStyle']);
|
|
180
171
|
var install = '';
|
|
@@ -208,8 +199,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
208
199
|
updatedState: state
|
|
209
200
|
};
|
|
210
201
|
}
|
|
211
|
-
state =
|
|
212
|
-
state =
|
|
202
|
+
state = Layer.setPropertiesOnSelected(state, layerID, properties).updatedState;
|
|
203
|
+
state = Layer.updateMovingState(state, false).updatedState;
|
|
213
204
|
return {
|
|
214
205
|
updatedState: state
|
|
215
206
|
};
|
|
@@ -217,7 +208,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
217
208
|
}, {
|
|
218
209
|
key: "updateProperties",
|
|
219
210
|
value: function updateProperties(state, layerID, properties) {
|
|
220
|
-
state =
|
|
211
|
+
state = Layer.updatePropertiesOnSelected(state, layerID, properties).updatedState;
|
|
221
212
|
return {
|
|
222
213
|
updatedState: state
|
|
223
214
|
};
|
|
@@ -226,9 +217,9 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
226
217
|
key: "setItemsAttributes",
|
|
227
218
|
value: function setItemsAttributes(state, attributes) {
|
|
228
219
|
//TODO apply only to items
|
|
229
|
-
state =
|
|
220
|
+
state = Layer.updateMovingState(state, false).updatedState;
|
|
230
221
|
state.getIn(['scene', 'layers']).forEach(function (layer) {
|
|
231
|
-
state =
|
|
222
|
+
state = Layer.setAttributesOnSelected(state, layer.id, attributes).updatedState;
|
|
232
223
|
});
|
|
233
224
|
return {
|
|
234
225
|
updatedState: state
|
|
@@ -240,12 +231,12 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
240
231
|
//TODO apply only to lines
|
|
241
232
|
if (!isDirect) {
|
|
242
233
|
state.getIn(['scene', 'layers']).forEach(function (layer) {
|
|
243
|
-
state =
|
|
234
|
+
state = Layer.setAttributesOnSelected(state, layer.id, attributes).updatedState;
|
|
244
235
|
});
|
|
245
236
|
} else if (isDirect && directData !== null) {
|
|
246
237
|
var layerID = directData.layerID,
|
|
247
238
|
lineID = directData.lineID;
|
|
248
|
-
if (layerID && lineID) state =
|
|
239
|
+
if (layerID && lineID) state = Line.setAttributes(state, layerID, lineID, attributes).updatedState;
|
|
249
240
|
}
|
|
250
241
|
return {
|
|
251
242
|
updatedState: state
|
|
@@ -256,7 +247,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
256
247
|
value: function setHolesAttributes(state, attributes) {
|
|
257
248
|
//TODO apply only to holes
|
|
258
249
|
state.getIn(['scene', 'layers']).forEach(function (layer) {
|
|
259
|
-
state =
|
|
250
|
+
state = Layer.setAttributesOnSelected(state, layer.id, attributes).updatedState;
|
|
260
251
|
});
|
|
261
252
|
return {
|
|
262
253
|
updatedState: state
|
|
@@ -267,19 +258,19 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
267
258
|
value: function unselectAll(state) {
|
|
268
259
|
state.getIn(['scene', 'layers']).forEach(function (_ref) {
|
|
269
260
|
var layerID = _ref.id;
|
|
270
|
-
state =
|
|
261
|
+
state = Layer.unselectAll(state, layerID).updatedState;
|
|
271
262
|
});
|
|
272
263
|
state.getIn(['scene', 'groups']).forEach(function (group) {
|
|
273
|
-
state =
|
|
264
|
+
state = Group.unselect(state, group.get('id')).updatedState;
|
|
274
265
|
});
|
|
275
266
|
var mode = state.getIn(['mode']);
|
|
276
267
|
if (mode === constants.MODE_DRAGGING_LINE || mode === constants.MODE_DRAGGING_VERTEX) {
|
|
277
268
|
if (mode.includes('3D')) {
|
|
278
|
-
state = state.setIn(['mode'],
|
|
279
|
-
} else state = state.setIn(['mode'],
|
|
269
|
+
state = state.setIn(['mode'], MODE_IDLE_3D);
|
|
270
|
+
} else state = state.setIn(['mode'], MODE_IDLE);
|
|
280
271
|
state = state.merge({
|
|
281
272
|
activeSnapElement: null,
|
|
282
|
-
snapElements: new
|
|
273
|
+
snapElements: new List()
|
|
283
274
|
});
|
|
284
275
|
}
|
|
285
276
|
return {
|
|
@@ -292,7 +283,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
292
283
|
if (value == null) {
|
|
293
284
|
state.getIn(['scene', 'layers']).forEach(function (_ref2) {
|
|
294
285
|
var layerID = _ref2.id;
|
|
295
|
-
state =
|
|
286
|
+
state = Layer.selectAll(state, layerID).updatedState;
|
|
296
287
|
});
|
|
297
288
|
} else {
|
|
298
289
|
var layerID = state.getIn(['scene', 'selectedLayer']);
|
|
@@ -333,33 +324,33 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
333
324
|
var allVertices = state.getIn(['scene', 'layers', selectedLayer, 'vertices']).toJS();
|
|
334
325
|
var selLines = state.getIn(['scene', 'layers', selectedLayer, 'selected', 'lines']).toJS();
|
|
335
326
|
var lineID = selLines[0];
|
|
336
|
-
var delLine = !
|
|
327
|
+
var delLine = !isEmpty(lineID) && state.getIn(['scene', 'layers', selectedLayer, 'lines', lineID]).toJS();
|
|
337
328
|
var allLines = state.getIn(['scene', 'layers', selectedLayer, 'lines']).toJS();
|
|
338
329
|
var relatedLines = [];
|
|
339
|
-
delLine &&
|
|
330
|
+
delLine && GeometryUtils.getRelatedLines(relatedLines, delLine, allVertices, allLines);
|
|
340
331
|
selectedLines.forEach(function (lineID) {
|
|
341
|
-
state =
|
|
332
|
+
state = Line.remove(state, selectedLayer, lineID).updatedState;
|
|
342
333
|
});
|
|
343
334
|
selectedHoles.forEach(function (holeID) {
|
|
344
|
-
state =
|
|
335
|
+
state = Hole.remove(state, selectedLayer, holeID).updatedState;
|
|
345
336
|
});
|
|
346
337
|
selectedItems.forEach(function (itemID) {
|
|
347
|
-
state =
|
|
338
|
+
state = Item.remove(state, selectedLayer, itemID).updatedState;
|
|
348
339
|
});
|
|
349
|
-
if (!
|
|
350
|
-
state = state.setIn(['mode'],
|
|
340
|
+
if (!isEmpty(relatedLines)) {
|
|
341
|
+
state = state.setIn(['mode'], MODE_DRAWING_LINE);
|
|
351
342
|
relatedLines.forEach(function (relLine, index) {
|
|
352
|
-
state =
|
|
353
|
-
state =
|
|
343
|
+
state = Line.select(state, selectedLayer, relLine.id).updatedState;
|
|
344
|
+
state = Line.applyWallChanges(state, END_DRAWING_LINE).updatedState;
|
|
354
345
|
});
|
|
355
346
|
}
|
|
356
|
-
state =
|
|
347
|
+
state = Layer.unselectAll(state, selectedLayer).updatedState;
|
|
357
348
|
var mode = state.getIn(['mode']);
|
|
358
349
|
if (mode.includes('DRAWING') || mode.includes('DRAGGING') || mode.includes('ROTATING')) {
|
|
359
350
|
state = state.merge({
|
|
360
351
|
activeSnapElement: null
|
|
361
352
|
});
|
|
362
|
-
if (mode.endsWith('3D')) state = state.setIn(['mode'],
|
|
353
|
+
if (mode.endsWith('3D')) state = state.setIn(['mode'], MODE_IDLE_3D);else state = state.setIn(['mode'], MODE_IDLE);
|
|
363
354
|
}
|
|
364
355
|
return {
|
|
365
356
|
updatedState: state
|
|
@@ -376,15 +367,15 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
376
367
|
var forRedo = window.forRedo;
|
|
377
368
|
window.forRedo = forRedo;
|
|
378
369
|
if (state.scene === sceneHistory.last && sceneHistory.list.size > 1) {
|
|
379
|
-
sceneHistory =
|
|
370
|
+
sceneHistory = history.historyPop(sceneHistory);
|
|
380
371
|
}
|
|
381
372
|
forRedo.push(state.scene);
|
|
382
373
|
var mode;
|
|
383
|
-
if (
|
|
374
|
+
if (ARRAY_3D_MODES.includes(state.mode)) mode = MODE_IDLE_3D;else mode = MODE_IDLE;
|
|
384
375
|
state = state.merge({
|
|
385
376
|
mode: mode,
|
|
386
377
|
scene: sceneHistory.last,
|
|
387
|
-
sceneHistory:
|
|
378
|
+
sceneHistory: history.historyPop(sceneHistory)
|
|
388
379
|
});
|
|
389
380
|
return {
|
|
390
381
|
updatedState: state
|
|
@@ -399,11 +390,11 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
399
390
|
};
|
|
400
391
|
var scene = forRedo.pop();
|
|
401
392
|
var mode;
|
|
402
|
-
if (
|
|
393
|
+
if (ARRAY_3D_MODES.includes(state.mode)) mode = MODE_IDLE_3D;else mode = MODE_IDLE;
|
|
403
394
|
state = state.merge({
|
|
404
395
|
mode: mode,
|
|
405
396
|
scene: scene,
|
|
406
|
-
sceneHistory:
|
|
397
|
+
sceneHistory: history.historyPush(state.sceneHistory, state.scene)
|
|
407
398
|
});
|
|
408
399
|
window.forRedo = forRedo;
|
|
409
400
|
return {
|
|
@@ -432,7 +423,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
432
423
|
key: "recreate",
|
|
433
424
|
value: function recreate(state) {
|
|
434
425
|
if (state.getIn(['drawingSupport', 'type']) !== undefined) state = state.merge({
|
|
435
|
-
mode:
|
|
426
|
+
mode: MODE_DRAWING_ITEM_3D,
|
|
436
427
|
popup: true
|
|
437
428
|
});
|
|
438
429
|
return {
|
|
@@ -454,10 +445,10 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
454
445
|
value: function shift2doff(state) {
|
|
455
446
|
if (state.getIn(['drawingSupport', 'type']) !== undefined) {
|
|
456
447
|
if (state.get('selectedElementsHistory')._tail.array[0].prototype === 'holes') state = state.merge({
|
|
457
|
-
mode:
|
|
448
|
+
mode: MODE_DRAWING_HOLE,
|
|
458
449
|
popup: true
|
|
459
450
|
});else state = state.merge({
|
|
460
|
-
mode:
|
|
451
|
+
mode: MODE_DRAWING_ITEM,
|
|
461
452
|
popup: true
|
|
462
453
|
});
|
|
463
454
|
}
|
|
@@ -479,22 +470,22 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
479
470
|
}
|
|
480
471
|
|
|
481
472
|
// ESC event doesn't need when mode = MODE_IDLE || MODE_IDLE_3D
|
|
482
|
-
if (state.mode ==
|
|
473
|
+
if (state.mode == MODE_IDLE_3D || state.mode == MODE_IDLE) {
|
|
483
474
|
return {
|
|
484
475
|
updatedState: state
|
|
485
476
|
};
|
|
486
477
|
}
|
|
487
478
|
var mode;
|
|
488
|
-
if (state.mode ==
|
|
489
|
-
mode =
|
|
490
|
-
if (state.drawingSupport.has('currentID')) state =
|
|
479
|
+
if (state.mode == MODE_DRAWING_ITEM_3D) {
|
|
480
|
+
mode = MODE_IDLE_3D;
|
|
481
|
+
if (state.drawingSupport.has('currentID')) state = Layer.removeElement(state, state.scene.selectedLayer, 'items', state.drawingSupport.get('currentID')).updatedState;
|
|
491
482
|
state = state.merge({
|
|
492
483
|
mode: mode,
|
|
493
|
-
snapElements: new
|
|
484
|
+
snapElements: new List(),
|
|
494
485
|
activeSnapElement: null,
|
|
495
|
-
drawingSupport: new
|
|
496
|
-
draggingSupport: new
|
|
497
|
-
rotatingSupport: new
|
|
486
|
+
drawingSupport: new Map(),
|
|
487
|
+
draggingSupport: new Map(),
|
|
488
|
+
rotatingSupport: new Map()
|
|
498
489
|
});
|
|
499
490
|
return {
|
|
500
491
|
updatedState: state
|
|
@@ -502,30 +493,30 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
502
493
|
}
|
|
503
494
|
|
|
504
495
|
// when Add Walls button clicked
|
|
505
|
-
if (state.mode ==
|
|
506
|
-
mode =
|
|
496
|
+
if (state.mode == MODE_WAITING_DRAWING_LINE) {
|
|
497
|
+
mode = MODE_IDLE;
|
|
507
498
|
state = state.merge({
|
|
508
499
|
mode: mode,
|
|
509
|
-
snapElements: new
|
|
500
|
+
snapElements: new List(),
|
|
510
501
|
activeSnapElement: null,
|
|
511
|
-
drawingSupport: new
|
|
512
|
-
draggingSupport: new
|
|
513
|
-
rotatingSupport: new
|
|
502
|
+
drawingSupport: new Map(),
|
|
503
|
+
draggingSupport: new Map(),
|
|
504
|
+
rotatingSupport: new Map()
|
|
514
505
|
});
|
|
515
506
|
return {
|
|
516
507
|
updatedState: state
|
|
517
508
|
};
|
|
518
509
|
}
|
|
519
|
-
if (
|
|
510
|
+
if (ARRAY_3D_MODES.includes(state.mode)) mode = MODE_IDLE_3D;else mode = MODE_IDLE;
|
|
520
511
|
state = state.merge({
|
|
521
512
|
mode: mode,
|
|
522
513
|
scene: sceneHistory.last,
|
|
523
|
-
sceneHistory:
|
|
524
|
-
snapElements: new
|
|
514
|
+
sceneHistory: history.historyPush(sceneHistory, sceneHistory.last),
|
|
515
|
+
snapElements: new List(),
|
|
525
516
|
activeSnapElement: null,
|
|
526
|
-
drawingSupport: new
|
|
527
|
-
draggingSupport: new
|
|
528
|
-
rotatingSupport: new
|
|
517
|
+
drawingSupport: new Map(),
|
|
518
|
+
draggingSupport: new Map(),
|
|
519
|
+
rotatingSupport: new Map()
|
|
529
520
|
});
|
|
530
521
|
return {
|
|
531
522
|
updatedState: state
|
|
@@ -536,7 +527,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
536
527
|
value: function removeDrawingSupport(state) {
|
|
537
528
|
var sceneHistory = state.sceneHistory;
|
|
538
529
|
var mode = state.mode;
|
|
539
|
-
if (!sceneHistory.last && sceneHistory.list.isEmpty() || mode !=
|
|
530
|
+
if (!sceneHistory.last && sceneHistory.list.isEmpty() || mode != MODE_DRAWING_ITEM_3D) {
|
|
540
531
|
return {
|
|
541
532
|
updatedState: state
|
|
542
533
|
};
|
|
@@ -544,8 +535,8 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
544
535
|
state = this.unselectAll(state).updatedState;
|
|
545
536
|
state = state.merge({
|
|
546
537
|
scene: sceneHistory.last,
|
|
547
|
-
sceneHistory:
|
|
548
|
-
drawingSupport: new
|
|
538
|
+
sceneHistory: history.historyPush(sceneHistory, sceneHistory.last),
|
|
539
|
+
drawingSupport: new Map()
|
|
549
540
|
});
|
|
550
541
|
return {
|
|
551
542
|
updatedState: state
|
|
@@ -556,7 +547,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
556
547
|
value: function setProjectProperties(state, properties) {
|
|
557
548
|
var scene = state.scene.merge(properties);
|
|
558
549
|
state = state.merge({
|
|
559
|
-
mode:
|
|
550
|
+
mode: MODE_IDLE,
|
|
560
551
|
scene: scene
|
|
561
552
|
});
|
|
562
553
|
return {
|
|
@@ -578,7 +569,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
578
569
|
key: "openProjectConfigurator",
|
|
579
570
|
value: function openProjectConfigurator(state) {
|
|
580
571
|
state = state.merge({
|
|
581
|
-
mode:
|
|
572
|
+
mode: MODE_CONFIGURING_PROJECT
|
|
582
573
|
});
|
|
583
574
|
return {
|
|
584
575
|
updatedState: state
|
|
@@ -588,7 +579,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
588
579
|
key: "initCatalog",
|
|
589
580
|
value: function initCatalog(state, catalog) {
|
|
590
581
|
try {
|
|
591
|
-
state = state.set('catalog', new
|
|
582
|
+
state = state.set('catalog', new Catalog(catalog));
|
|
592
583
|
return {
|
|
593
584
|
updatedState: state
|
|
594
585
|
};
|
|
@@ -602,7 +593,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
602
593
|
}, {
|
|
603
594
|
key: "updateMouseCoord",
|
|
604
595
|
value: function updateMouseCoord(state, coords) {
|
|
605
|
-
state = state.set('mouse', new
|
|
596
|
+
state = state.set('mouse', new Map(coords));
|
|
606
597
|
return {
|
|
607
598
|
updatedState: state
|
|
608
599
|
};
|
|
@@ -654,7 +645,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
654
645
|
updatedState: state
|
|
655
646
|
};else {
|
|
656
647
|
state = state.merge({
|
|
657
|
-
mode:
|
|
648
|
+
mode: MODE_WAITING_DRAWING_LINE,
|
|
658
649
|
activeSnapElement: null
|
|
659
650
|
});
|
|
660
651
|
return {
|
|
@@ -720,7 +711,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
720
711
|
}, {
|
|
721
712
|
key: "addHorizontalGuide",
|
|
722
713
|
value: function addHorizontalGuide(state, coordinate) {
|
|
723
|
-
state =
|
|
714
|
+
state = HorizontalGuide.create(state, coordinate).updatedState;
|
|
724
715
|
return {
|
|
725
716
|
updatedState: state
|
|
726
717
|
};
|
|
@@ -728,7 +719,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
728
719
|
}, {
|
|
729
720
|
key: "addVerticalGuide",
|
|
730
721
|
value: function addVerticalGuide(state, coordinate) {
|
|
731
|
-
state =
|
|
722
|
+
state = VerticalGuide.create(state, coordinate).updatedState;
|
|
732
723
|
return {
|
|
733
724
|
updatedState: state
|
|
734
725
|
};
|
|
@@ -744,7 +735,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
744
735
|
}, {
|
|
745
736
|
key: "removeHorizontalGuide",
|
|
746
737
|
value: function removeHorizontalGuide(state, guideID) {
|
|
747
|
-
state =
|
|
738
|
+
state = HorizontalGuide.remove(state, guideID).updatedState;
|
|
748
739
|
return {
|
|
749
740
|
updatedState: state
|
|
750
741
|
};
|
|
@@ -752,7 +743,7 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
752
743
|
}, {
|
|
753
744
|
key: "removeVerticalGuide",
|
|
754
745
|
value: function removeVerticalGuide(state, guideID) {
|
|
755
|
-
state =
|
|
746
|
+
state = VerticalGuide.remove(state, guideID).updatedState;
|
|
756
747
|
return {
|
|
757
748
|
updatedState: state
|
|
758
749
|
};
|
|
@@ -794,4 +785,5 @@ var Project = exports["default"] = /*#__PURE__*/function () {
|
|
|
794
785
|
};
|
|
795
786
|
}
|
|
796
787
|
}]);
|
|
797
|
-
}();
|
|
788
|
+
}();
|
|
789
|
+
export { Project as default };
|
package/es/class/vertex.js
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
var _immutable = require("immutable");
|
|
12
|
-
var _models = require("../models");
|
|
13
|
-
var _export = require("../utils/export");
|
|
14
|
-
var _constants = require("../constants");
|
|
15
|
-
var _export2 = require("../class/export");
|
|
16
|
-
var _helper = require("../utils/helper");
|
|
17
|
-
var Vertex = exports["default"] = /*#__PURE__*/function () {
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import { List, Map } from 'immutable';
|
|
5
|
+
import { Vertex as VertexModel } from "../models";
|
|
6
|
+
import { GeometryUtils, IDBroker, SnapSceneUtils, SnapUtils } from "../utils/export";
|
|
7
|
+
import { END_DRAGGING_VERTEX, MODE_DRAGGING_VERTEX } from "../constants";
|
|
8
|
+
import { Layer, Line } from "../class/export";
|
|
9
|
+
import { isEmpty } from "../utils/helper";
|
|
10
|
+
var Vertex = /*#__PURE__*/function () {
|
|
18
11
|
function Vertex() {
|
|
19
|
-
(
|
|
12
|
+
_classCallCheck(this, Vertex);
|
|
20
13
|
}
|
|
21
|
-
return (
|
|
14
|
+
return _createClass(Vertex, null, [{
|
|
22
15
|
key: "add",
|
|
23
16
|
value: function add(state, layerID, x, y, relatedPrototype, relatedID) {
|
|
24
17
|
var vertex = state.getIn(['scene', 'layers', layerID, 'vertices']).find(function (vertex) {
|
|
25
|
-
return
|
|
18
|
+
return GeometryUtils.samePoints(vertex, {
|
|
26
19
|
x: x,
|
|
27
20
|
y: y
|
|
28
21
|
});
|
|
@@ -32,12 +25,12 @@ var Vertex = exports["default"] = /*#__PURE__*/function () {
|
|
|
32
25
|
return related.push(relatedID);
|
|
33
26
|
});
|
|
34
27
|
} else {
|
|
35
|
-
vertex = new
|
|
36
|
-
id:
|
|
28
|
+
vertex = new VertexModel(_defineProperty({
|
|
29
|
+
id: IDBroker.acquireID(),
|
|
37
30
|
name: 'Vertex',
|
|
38
31
|
x: x,
|
|
39
32
|
y: y
|
|
40
|
-
}, relatedPrototype, new
|
|
33
|
+
}, relatedPrototype, new List([relatedID])));
|
|
41
34
|
}
|
|
42
35
|
state = state.setIn(['scene', 'layers', layerID, 'vertices', vertex.id], vertex);
|
|
43
36
|
return {
|
|
@@ -127,11 +120,11 @@ var Vertex = exports["default"] = /*#__PURE__*/function () {
|
|
|
127
120
|
}, {
|
|
128
121
|
key: "beginDraggingVertex",
|
|
129
122
|
value: function beginDraggingVertex(state, layerID, vertexID, x, y) {
|
|
130
|
-
var snapElements =
|
|
123
|
+
var snapElements = SnapSceneUtils.sceneSnapElements(state.scene, new List(), state.snapMask);
|
|
131
124
|
state = state.merge({
|
|
132
|
-
mode:
|
|
125
|
+
mode: MODE_DRAGGING_VERTEX,
|
|
133
126
|
snapElements: snapElements,
|
|
134
|
-
draggingSupport:
|
|
127
|
+
draggingSupport: Map({
|
|
135
128
|
layerID: layerID,
|
|
136
129
|
vertexID: vertexID,
|
|
137
130
|
previousMode: state.get('mode')
|
|
@@ -150,7 +143,7 @@ var Vertex = exports["default"] = /*#__PURE__*/function () {
|
|
|
150
143
|
scene = _state.scene;
|
|
151
144
|
var snap = null;
|
|
152
145
|
if (state.snapMask && !state.snapMask.isEmpty()) {
|
|
153
|
-
snap =
|
|
146
|
+
snap = SnapUtils.nearestSnap(snapElements, x, y, state.snapMask);
|
|
154
147
|
if (snap) {
|
|
155
148
|
var _snap$point = snap.point;
|
|
156
149
|
x = _snap$point.x;
|
|
@@ -181,12 +174,12 @@ var Vertex = exports["default"] = /*#__PURE__*/function () {
|
|
|
181
174
|
if (lines) {
|
|
182
175
|
state = lines.reduce(function (reducedState, lineID) {
|
|
183
176
|
var eachLine = reducedState.getIn(['scene', 'layers', layerID, 'lines', lineID]);
|
|
184
|
-
if (
|
|
185
|
-
reducedState =
|
|
186
|
-
reducedState =
|
|
187
|
-
reducedState =
|
|
188
|
-
reducedState = reducedState.setIn(['mode'],
|
|
189
|
-
reducedState =
|
|
177
|
+
if (isEmpty(eachLine)) return reducedState;
|
|
178
|
+
reducedState = Layer.removeZeroLengthLines(reducedState, layerID).updatedState;
|
|
179
|
+
reducedState = Layer.mergeEqualsVertices(reducedState, layerID, vertexID).updatedState;
|
|
180
|
+
reducedState = Line.select(reducedState, layerID, eachLine.id).updatedState;
|
|
181
|
+
reducedState = reducedState.setIn(['mode'], MODE_DRAGGING_VERTEX);
|
|
182
|
+
reducedState = Line.applyWallChanges(reducedState, END_DRAGGING_VERTEX).updatedState;
|
|
190
183
|
return reducedState;
|
|
191
184
|
}, state);
|
|
192
185
|
}
|
|
@@ -194,11 +187,12 @@ var Vertex = exports["default"] = /*#__PURE__*/function () {
|
|
|
194
187
|
mode: draggingSupport.get('previousMode'),
|
|
195
188
|
draggingSupport: null,
|
|
196
189
|
activeSnapElement: null,
|
|
197
|
-
snapElements: new
|
|
190
|
+
snapElements: new List()
|
|
198
191
|
});
|
|
199
192
|
return {
|
|
200
193
|
updatedState: state
|
|
201
194
|
};
|
|
202
195
|
}
|
|
203
196
|
}]);
|
|
204
|
-
}();
|
|
197
|
+
}();
|
|
198
|
+
export { Vertex as default };
|