kitchen-simulator 1.1.1-test.7 → 1.1.1-test.70
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 +8 -2
- package/es/AppContext.js +8 -3
- package/es/KitchenConfigurator.js +93 -106
- package/es/KitchenConfiguratorApp.js +143 -154
- package/es/actions/area-actions.js +10 -5
- package/es/actions/export.js +27 -12
- package/es/actions/groups-actions.js +43 -27
- package/es/actions/holes-actions.js +53 -34
- package/es/actions/items-actions.js +143 -94
- package/es/actions/lines-actions.js +34 -21
- package/es/actions/project-actions.js +143 -94
- package/es/actions/scene-actions.js +19 -11
- package/es/actions/vertices-actions.js +13 -7
- package/es/actions/viewer2d-actions.js +34 -21
- package/es/actions/viewer3d-actions.js +16 -9
- package/es/catalog/areas/area/planner-element.js +16 -8
- package/es/catalog/catalog.js +19 -24
- package/es/catalog/factories/area-factory-3d.js +29 -22
- package/es/catalog/factories/area-factory.js +18 -14
- package/es/catalog/factories/export.js +12 -6
- package/es/catalog/factories/wall-factory-3d.js +39 -31
- package/es/catalog/factories/wall-factory.js +29 -21
- package/es/catalog/holes/door-closet/planner-element.js +22 -15
- package/es/catalog/holes/door-double/planner-element.js +22 -15
- package/es/catalog/holes/door-exterior/planner-element.js +23 -16
- package/es/catalog/holes/door-interior/planner-element.js +23 -16
- package/es/catalog/holes/door-panic/planner-element.js +14 -7
- package/es/catalog/holes/door-panic-double/planner-element.js +22 -15
- package/es/catalog/holes/door-sliding/planner-element.js +23 -16
- package/es/catalog/holes/doorway-framed/planner-element.js +18 -11
- package/es/catalog/holes/doorway-frameless/planner-element.js +14 -7
- package/es/catalog/holes/export.js +31 -13
- package/es/catalog/holes/window-clear/planner-element.js +17 -10
- package/es/catalog/holes/window-cross/planner-element.js +17 -10
- package/es/catalog/holes/window-double-hung/planner-element.js +17 -10
- package/es/catalog/holes/window-vertical/planner-element.js +17 -10
- package/es/catalog/lines/wall/planner-element.js +19 -11
- package/es/catalog/molding/molding-dcm/planner-element.js +12 -5
- package/es/catalog/molding/molding-fbm/planner-element.js +12 -5
- package/es/catalog/molding/molding-lrm/planner-element.js +12 -5
- package/es/catalog/properties/export.js +33 -20
- package/es/catalog/properties/property-checkbox.js +82 -35
- package/es/catalog/properties/property-color.js +21 -16
- package/es/catalog/properties/property-enum.js +70 -28
- package/es/catalog/properties/property-hidden.js +14 -9
- package/es/catalog/properties/property-lenght-measure.js +43 -39
- package/es/catalog/properties/property-length-measure.js +82 -34
- package/es/catalog/properties/property-length-measure_hole.js +43 -39
- package/es/catalog/properties/property-number.js +22 -17
- package/es/catalog/properties/property-read-only.js +21 -16
- package/es/catalog/properties/property-string.js +21 -16
- package/es/catalog/properties/property-toggle.js +21 -16
- package/es/catalog/properties/shared-property-style.js +5 -1
- package/es/catalog/utils/FuseUtils.js +13 -11
- package/es/catalog/utils/exporter.js +13 -11
- package/es/catalog/utils/geom-utils.js +27 -13
- package/es/catalog/utils/item-loader.js +95 -91
- package/es/catalog/utils/load-obj.js +26 -20
- package/es/catalog/utils/mtl-loader.js +7 -3
- package/es/catalog/utils/obj-loader.js +7 -3
- package/es/class/FuseUtils.js +13 -11
- package/es/class/area.js +26 -26
- package/es/class/export.js +38 -23
- package/es/class/group.js +57 -62
- package/es/class/guide.js +19 -19
- package/es/class/hole.js +87 -88
- package/es/class/item.js +148 -155
- package/es/class/layer.js +63 -63
- package/es/class/line.js +141 -144
- package/es/class/project.js +96 -94
- package/es/class/vertex.js +33 -33
- package/es/components/content.js +27 -19
- package/es/components/disclaimer/disclaimer.js +79 -93
- package/es/components/export.js +15 -8
- package/es/components/style/button.js +29 -30
- package/es/components/style/cancel-button.js +12 -8
- package/es/components/style/content-container.js +14 -12
- package/es/components/style/content-title.js +18 -15
- package/es/components/style/delete-button.js +15 -9
- package/es/components/style/export.js +48 -30
- package/es/components/style/form-block.js +13 -12
- package/es/components/style/form-color-input.js +12 -8
- package/es/components/style/form-label.js +13 -12
- package/es/components/style/form-number-input.js +71 -47
- package/es/components/style/form-number-input_2.js +42 -42
- package/es/components/style/form-select.js +58 -14
- package/es/components/style/form-slider.js +36 -16
- package/es/components/style/form-submit-button.js +15 -9
- package/es/components/style/form-text-input.js +55 -37
- package/es/components/viewer2d/area.js +22 -17
- package/es/components/viewer2d/export.js +48 -30
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +15 -11
- package/es/components/viewer2d/grids/grid-streak.js +15 -11
- package/es/components/viewer2d/grids/grid-vertical-streak.js +15 -11
- package/es/components/viewer2d/grids/grids.js +17 -15
- package/es/components/viewer2d/group.js +22 -15
- package/es/components/viewer2d/item.js +68 -68
- package/es/components/viewer2d/layer.js +28 -23
- package/es/components/viewer2d/line.js +109 -104
- package/es/components/viewer2d/ruler.js +27 -23
- package/es/components/viewer2d/rulerDist.js +26 -21
- package/es/components/viewer2d/rulerX.js +45 -45
- package/es/components/viewer2d/rulerY.js +43 -43
- package/es/components/viewer2d/scene.js +40 -46
- package/es/components/viewer2d/snap.js +20 -13
- package/es/components/viewer2d/state.js +25 -23
- package/es/components/viewer2d/utils.js +63 -21
- package/es/components/viewer2d/vertex.js +15 -8
- package/es/components/viewer2d/viewer2d.js +169 -166
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +21 -24
- package/es/components/viewer3d/dcm.js +5 -1
- package/es/components/viewer3d/fbm.js +5 -1
- package/es/components/viewer3d/front3D.js +19 -17
- package/es/components/viewer3d/grid-creator.js +15 -8
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +12 -6
- package/es/components/viewer3d/grids/grid-streak.js +11 -5
- package/es/components/viewer3d/grids/grid-vertical-streak.js +12 -6
- package/es/components/viewer3d/libs/first-person-controls.js +7 -2
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +5 -1
- package/es/components/viewer3d/libs/mtl-loader.js +6 -2
- package/es/components/viewer3d/libs/obj-loader.js +6 -2
- package/es/components/viewer3d/libs/orbit-controls.js +10 -5
- package/es/components/viewer3d/libs/pointer-lock-controls.js +9 -4
- package/es/components/viewer3d/lrm.js +5 -1
- package/es/components/viewer3d/model.js +5 -1
- package/es/components/viewer3d/pointer-lock-navigation.js +8 -3
- package/es/components/viewer3d/ruler-utils/itemRect.js +23 -18
- package/es/components/viewer3d/ruler-utils/layer3D.js +64 -59
- package/es/components/viewer3d/ruler-utils/ruler3D.js +44 -42
- package/es/components/viewer3d/ruler-utils/scene3D.js +16 -11
- package/es/components/viewer3d/ruler-utils/state3D.js +9 -4
- package/es/components/viewer3d/scene-creator.js +225 -198
- package/es/components/viewer3d/three-memory-cleaner.js +10 -3
- package/es/components/viewer3d/viewer3d-first-person.js +44 -46
- package/es/components/viewer3d/viewer3d.js +206 -209
- package/es/constants.js +356 -349
- package/es/index.js +20 -15
- package/es/models.js +183 -183
- package/es/plugins/SVGLoader.js +51 -48
- package/es/plugins/autosave.js +7 -3
- package/es/plugins/console-debugger.js +10 -8
- package/es/plugins/export.js +15 -8
- package/es/plugins/keyboard.js +33 -29
- package/es/reducers/areas-reducer.js +11 -7
- package/es/reducers/export.js +39 -24
- package/es/reducers/groups-reducer.js +35 -31
- package/es/reducers/holes-reducer.js +47 -43
- package/es/reducers/items-reducer.js +110 -109
- package/es/reducers/lines-reducer.js +32 -28
- package/es/reducers/project-reducer.js +109 -105
- package/es/reducers/reducer.js +21 -16
- package/es/reducers/scene-reducer.js +19 -15
- package/es/reducers/user-reducer.js +9 -6
- package/es/reducers/vertices-reducer.js +15 -11
- package/es/reducers/viewer2d-reducer.js +22 -18
- package/es/reducers/viewer3d-reducer.js +20 -16
- package/es/shared-style.js +14 -10
- package/es/styles/export.js +9 -3
- package/es/translator/en.js +5 -1
- package/es/translator/it.js +5 -1
- package/es/translator/ru.js +5 -1
- package/es/translator/translator.js +17 -17
- package/es/utils/browser.js +7 -2
- package/es/utils/convert-units-lite.js +33 -0
- package/es/utils/email-validator.js +5 -1
- package/es/utils/export.js +32 -15
- package/es/utils/geometry.js +277 -191
- package/es/utils/get-edges-of-subgraphs.js +7 -1
- package/es/utils/graph-cycles.js +9 -9
- package/es/utils/graph-inner-cycles.js +16 -10
- package/es/utils/graph.js +15 -12
- package/es/utils/helper.js +61 -109
- package/es/utils/history.js +13 -8
- package/es/utils/id-broker.js +13 -12
- package/es/utils/logger.js +5 -1
- package/es/utils/math.js +10 -5
- package/es/utils/molding.js +175 -158
- package/es/utils/name-generator.js +11 -11
- package/es/utils/objects-utils.js +17 -7
- package/es/utils/phone-validator.js +5 -1
- package/es/utils/process-black-list.js +8 -6
- package/es/utils/react-if.js +10 -6
- package/es/utils/snap-scene.js +32 -32
- package/es/utils/snap.js +57 -51
- package/es/utils/summarizeCart.js +5 -1
- package/es/utils/threeCSG.es6.js +20 -17
- package/es/version.js +5 -1
- package/lib/@history.js +3 -2
- package/lib/AppContext.js +3 -2
- package/lib/KitchenConfigurator.js +70 -88
- package/lib/KitchenConfiguratorApp.js +98 -113
- package/lib/actions/export.js +1 -1
- package/lib/catalog/areas/area/planner-element.js +13 -8
- package/lib/catalog/catalog.js +9 -16
- package/lib/catalog/factories/area-factory-3d.js +1 -1
- package/lib/catalog/factories/area-factory.js +6 -7
- package/lib/catalog/factories/export.js +1 -1
- package/lib/catalog/factories/wall-factory-3d.js +4 -4
- package/lib/catalog/factories/wall-factory.js +4 -3
- package/lib/catalog/holes/door-closet/planner-element.js +4 -3
- package/lib/catalog/holes/door-double/planner-element.js +4 -3
- package/lib/catalog/holes/door-exterior/planner-element.js +4 -3
- package/lib/catalog/holes/door-interior/planner-element.js +4 -3
- package/lib/catalog/holes/door-panic/planner-element.js +4 -3
- package/lib/catalog/holes/door-panic-double/planner-element.js +4 -3
- package/lib/catalog/holes/door-sliding/planner-element.js +4 -3
- package/lib/catalog/holes/doorway-framed/planner-element.js +4 -3
- package/lib/catalog/holes/doorway-frameless/planner-element.js +4 -3
- package/lib/catalog/holes/export.js +14 -14
- package/lib/catalog/holes/window-clear/planner-element.js +4 -3
- package/lib/catalog/holes/window-cross/planner-element.js +4 -3
- package/lib/catalog/holes/window-double-hung/planner-element.js +4 -3
- package/lib/catalog/holes/window-vertical/planner-element.js +4 -3
- package/lib/catalog/lines/wall/planner-element.js +16 -11
- package/lib/catalog/molding/molding-dcm/planner-element.js +4 -3
- package/lib/catalog/molding/molding-fbm/planner-element.js +4 -3
- package/lib/catalog/molding/molding-lrm/planner-element.js +4 -3
- package/lib/catalog/properties/export.js +1 -1
- package/lib/catalog/properties/property-checkbox.js +68 -25
- package/lib/catalog/properties/property-color.js +3 -2
- package/lib/catalog/properties/property-enum.js +54 -16
- package/lib/catalog/properties/property-hidden.js +3 -2
- package/lib/catalog/properties/property-lenght-measure.js +10 -10
- package/lib/catalog/properties/property-length-measure.js +61 -17
- package/lib/catalog/properties/property-length-measure_hole.js +10 -10
- package/lib/catalog/properties/property-number.js +3 -2
- package/lib/catalog/properties/property-read-only.js +3 -2
- package/lib/catalog/properties/property-string.js +3 -2
- package/lib/catalog/properties/property-toggle.js +3 -2
- package/lib/catalog/properties/shared-property-style.js +2 -1
- package/lib/catalog/utils/FuseUtils.js +10 -11
- package/lib/catalog/utils/exporter.js +10 -12
- package/lib/catalog/utils/geom-utils.js +1 -1
- package/lib/catalog/utils/item-loader.js +29 -35
- package/lib/catalog/utils/mtl-loader.js +7 -3
- package/lib/catalog/utils/obj-loader.js +7 -3
- package/lib/class/FuseUtils.js +10 -11
- package/lib/class/area.js +9 -11
- package/lib/class/export.js +1 -1
- package/lib/class/group.js +13 -20
- package/lib/class/guide.js +9 -12
- package/lib/class/hole.js +7 -9
- package/lib/class/item.js +25 -35
- package/lib/class/layer.js +7 -9
- package/lib/class/line.js +14 -20
- package/lib/class/project.js +10 -11
- package/lib/class/vertex.js +9 -11
- package/lib/components/content.js +5 -3
- package/lib/components/disclaimer/disclaimer.js +69 -88
- package/lib/components/export.js +1 -1
- package/lib/components/style/button.js +17 -22
- package/lib/components/style/cancel-button.js +7 -7
- package/lib/components/style/content-container.js +5 -7
- package/lib/components/style/content-title.js +10 -12
- package/lib/components/style/delete-button.js +8 -8
- package/lib/components/style/export.js +1 -1
- package/lib/components/style/form-block.js +9 -12
- package/lib/components/style/form-color-input.js +7 -7
- package/lib/components/style/form-label.js +9 -12
- package/lib/components/style/form-number-input.js +43 -23
- package/lib/components/style/form-number-input_2.js +15 -19
- package/lib/components/style/form-select.js +53 -15
- package/lib/components/style/form-slider.js +28 -12
- package/lib/components/style/form-submit-button.js +8 -8
- package/lib/components/style/form-text-input.js +46 -32
- package/lib/components/viewer2d/area.js +8 -7
- package/lib/components/viewer2d/export.js +1 -1
- package/lib/components/viewer2d/grids/grid-horizontal-streak.js +3 -3
- package/lib/components/viewer2d/grids/grid-streak.js +3 -3
- package/lib/components/viewer2d/grids/grid-vertical-streak.js +3 -3
- package/lib/components/viewer2d/grids/grids.js +6 -10
- package/lib/components/viewer2d/group.js +4 -3
- package/lib/components/viewer2d/item.js +14 -19
- package/lib/components/viewer2d/layer.js +3 -2
- package/lib/components/viewer2d/line.js +4 -7
- package/lib/components/viewer2d/ruler.js +9 -9
- package/lib/components/viewer2d/rulerDist.js +7 -6
- package/lib/components/viewer2d/rulerX.js +15 -19
- package/lib/components/viewer2d/rulerY.js +15 -19
- package/lib/components/viewer2d/scene.js +24 -34
- package/lib/components/viewer2d/snap.js +4 -3
- package/lib/components/viewer2d/state.js +7 -11
- package/lib/components/viewer2d/utils.js +35 -2
- package/lib/components/viewer2d/vertex.js +4 -3
- package/lib/components/viewer2d/viewer2d.js +40 -41
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +14 -20
- package/lib/components/viewer3d/dcm.js +2 -1
- package/lib/components/viewer3d/fbm.js +2 -1
- package/lib/components/viewer3d/front3D.js +6 -10
- package/lib/components/viewer3d/grid-creator.js +4 -3
- package/lib/components/viewer3d/grids/grid-horizontal-streak.js +3 -2
- package/lib/components/viewer3d/grids/grid-streak.js +3 -2
- package/lib/components/viewer3d/grids/grid-vertical-streak.js +3 -2
- package/lib/components/viewer3d/libs/mtl-loader.js +7 -2
- package/lib/components/viewer3d/libs/obj-loader.js +7 -2
- package/lib/components/viewer3d/libs/orbit-controls.js +10 -5
- package/lib/components/viewer3d/libs/pointer-lock-controls.js +9 -4
- package/lib/components/viewer3d/lrm.js +2 -1
- package/lib/components/viewer3d/pointer-lock-navigation.js +1 -1
- package/lib/components/viewer3d/ruler-utils/itemRect.js +10 -9
- package/lib/components/viewer3d/ruler-utils/layer3D.js +35 -34
- package/lib/components/viewer3d/ruler-utils/ruler3D.js +5 -7
- package/lib/components/viewer3d/ruler-utils/scene3D.js +4 -5
- package/lib/components/viewer3d/ruler-utils/state3D.js +3 -2
- package/lib/components/viewer3d/scene-creator.js +40 -45
- package/lib/components/viewer3d/three-memory-cleaner.js +1 -1
- package/lib/components/viewer3d/viewer3d-first-person.js +13 -17
- package/lib/components/viewer3d/viewer3d.js +34 -38
- package/lib/index.js +16 -88
- package/lib/models.js +58 -63
- package/lib/plugins/autosave.js +2 -1
- package/lib/plugins/console-debugger.js +5 -7
- package/lib/plugins/export.js +1 -1
- package/lib/plugins/keyboard.js +2 -1
- package/lib/reducers/areas-reducer.js +2 -1
- package/lib/reducers/export.js +1 -1
- package/lib/reducers/groups-reducer.js +2 -1
- package/lib/reducers/holes-reducer.js +2 -1
- package/lib/reducers/items-reducer.js +2 -1
- package/lib/reducers/lines-reducer.js +2 -1
- package/lib/reducers/project-reducer.js +2 -1
- package/lib/reducers/scene-reducer.js +2 -1
- package/lib/reducers/user-reducer.js +2 -2
- package/lib/reducers/vertices-reducer.js +2 -1
- package/lib/reducers/viewer2d-reducer.js +5 -5
- package/lib/reducers/viewer3d-reducer.js +5 -5
- package/lib/styles/export.js +1 -1
- package/lib/translator/en.js +2 -1
- package/lib/translator/it.js +2 -1
- package/lib/translator/ru.js +2 -1
- package/lib/translator/translator.js +7 -10
- package/lib/utils/convert-units-lite.js +35 -0
- package/lib/utils/export.js +2 -2
- package/lib/utils/geometry.js +20 -28
- package/lib/utils/get-edges-of-subgraphs.js +7 -1
- package/lib/utils/graph-cycles.js +9 -9
- package/lib/utils/graph-inner-cycles.js +1 -1
- package/lib/utils/graph.js +15 -12
- package/lib/utils/helper.js +14 -83
- package/lib/utils/history.js +1 -1
- package/lib/utils/id-broker.js +7 -10
- package/lib/utils/molding.js +66 -71
- package/lib/utils/name-generator.js +7 -9
- package/lib/utils/objects-utils.js +5 -3
- package/lib/utils/process-black-list.js +3 -5
- package/lib/utils/react-if.js +3 -2
- package/lib/utils/snap-scene.js +3 -7
- package/lib/utils/snap.js +22 -26
- package/lib/utils/threeCSG.es6.js +16 -15
- package/package.json +26 -54
- package/es/analytics/ga4.js +0 -191
- package/es/analytics/posthog.js +0 -60
- package/lib/analytics/ga4.js +0 -197
- package/lib/analytics/posthog.js +0 -68
package/lib/utils/id-broker.js
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports["default"] = exports.IDBroker = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
var shortid = require('shortid');
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _nanoid = require("nanoid");
|
|
14
11
|
var IDBroker = exports.IDBroker = /*#__PURE__*/function () {
|
|
15
12
|
function IDBroker() {
|
|
16
|
-
|
|
13
|
+
(0, _classCallCheck2["default"])(this, IDBroker);
|
|
17
14
|
}
|
|
18
|
-
return
|
|
15
|
+
return (0, _createClass2["default"])(IDBroker, null, [{
|
|
19
16
|
key: "acquireID",
|
|
20
17
|
value: function acquireID() {
|
|
21
|
-
return
|
|
18
|
+
return (0, _nanoid.nanoid)();
|
|
22
19
|
}
|
|
23
20
|
}]);
|
|
24
21
|
}();
|
package/lib/utils/molding.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -21,24 +22,18 @@ exports.isSameMoldingLayoutpos = isSameMoldingLayoutpos;
|
|
|
21
22
|
exports.mergeOverlappedLines = mergeOverlappedLines;
|
|
22
23
|
exports.sortItemsByDistance = sortItemsByDistance;
|
|
23
24
|
exports.tryMergeMDItem = tryMergeMDItem;
|
|
25
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
26
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
24
27
|
var _constants = require("../constants");
|
|
25
28
|
var Three = _interopRequireWildcard(require("three"));
|
|
26
|
-
var
|
|
29
|
+
var _convertUnitsLite = require("./convert-units-lite");
|
|
27
30
|
var _idBroker = _interopRequireDefault(require("./id-broker"));
|
|
28
31
|
var _utils = require("../components/viewer2d/utils");
|
|
29
32
|
var _export = require("./export");
|
|
30
33
|
var _helper = require("./helper");
|
|
31
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
32
34
|
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); }
|
|
33
35
|
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; }
|
|
34
|
-
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) {
|
|
35
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
36
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
37
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
38
|
-
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
39
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
40
|
-
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
41
|
-
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
36
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
42
37
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
43
38
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
44
39
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
@@ -48,10 +43,10 @@ function getItemRect(item) {
|
|
|
48
43
|
var rotRad = item.rotation / 180 * Math.PI;
|
|
49
44
|
var itemWidth = item.properties.get('width').get('_length');
|
|
50
45
|
var itemWidthUnit = item.properties.get('width').get('_unit') || 'cm';
|
|
51
|
-
itemWidth = (0,
|
|
46
|
+
itemWidth = (0, _convertUnitsLite.convert)(itemWidth / 2).from(itemWidthUnit).to('cm');
|
|
52
47
|
var itemDepth = item.properties.get('depth').get('_length');
|
|
53
48
|
var itemDepthUnit = item.properties.get('depth').get('_unit') || 'cm';
|
|
54
|
-
itemDepth = (0,
|
|
49
|
+
itemDepth = (0, _convertUnitsLite.convert)(itemDepth / 2).from(itemDepthUnit).to('cm');
|
|
55
50
|
var mx = x - itemWidth * Math.cos(rotRad);
|
|
56
51
|
var my = y - itemWidth * Math.sin(rotRad);
|
|
57
52
|
var x0 = mx + itemDepth * Math.sin(rotRad);
|
|
@@ -93,16 +88,16 @@ function isEnableItemForMolding(layer, selItem) {
|
|
|
93
88
|
else return result && hasMoldingLayout(molding, selItem.layoutpos);
|
|
94
89
|
}
|
|
95
90
|
|
|
96
|
-
/**
|
|
97
|
-
* Check two line segments are overlap. The direction of the two line segments must be opposite.
|
|
98
|
-
* s1 c2 s2 c1
|
|
99
|
-
* |--------|------|-----------|
|
|
100
|
-
* Decision Formular: L(s1,c1) + L(s2, c2) = L(s1, s2) + L(c1, c2)
|
|
101
|
-
* @param {*} selRectPos1
|
|
102
|
-
* @param {*} selRectPos2
|
|
103
|
-
* @param {*} curRectPos1
|
|
104
|
-
* @param {*} curRectPos2
|
|
105
|
-
* @returns L(s1,c1) + L(s2, c2) - L(s1, s2) - L(c1, c2)
|
|
91
|
+
/**
|
|
92
|
+
* Check two line segments are overlap. The direction of the two line segments must be opposite.
|
|
93
|
+
* s1 c2 s2 c1
|
|
94
|
+
* |--------|------|-----------|
|
|
95
|
+
* Decision Formular: L(s1,c1) + L(s2, c2) = L(s1, s2) + L(c1, c2)
|
|
96
|
+
* @param {*} selRectPos1
|
|
97
|
+
* @param {*} selRectPos2
|
|
98
|
+
* @param {*} curRectPos1
|
|
99
|
+
* @param {*} curRectPos2
|
|
100
|
+
* @returns L(s1,c1) + L(s2, c2) - L(s1, s2) - L(c1, c2)
|
|
106
101
|
*/
|
|
107
102
|
function getDelta(selRectPos1, selRectPos2, curRectPos1, curRectPos2) {
|
|
108
103
|
return (
|
|
@@ -142,16 +137,16 @@ function isSameMoldingLayoutpos(curItem, item) {
|
|
|
142
137
|
function isItemSameItemByLocation(item1, item2, location) {
|
|
143
138
|
var item1Altitude = item1.properties.get('altitude').get('_length');
|
|
144
139
|
var item1AltitudeUnit = item1.properties.get('altitude').get('_unit');
|
|
145
|
-
item1Altitude = (0,
|
|
140
|
+
item1Altitude = (0, _convertUnitsLite.convert)(item1Altitude).from(item1AltitudeUnit).to('cm');
|
|
146
141
|
var item1Height = item1.properties.get('height').get('_length');
|
|
147
142
|
var item1HeightUnit = item1.properties.get('height').get('_unit');
|
|
148
|
-
item1Height = (0,
|
|
143
|
+
item1Height = (0, _convertUnitsLite.convert)(item1Height).from(item1HeightUnit).to('cm');
|
|
149
144
|
var item2Altitude = item2.properties.get('altitude').get('_length');
|
|
150
145
|
var item2AltitudeUnit = item2.properties.get('altitude').get('_unit');
|
|
151
|
-
item2Altitude = (0,
|
|
146
|
+
item2Altitude = (0, _convertUnitsLite.convert)(item2Altitude).from(item2AltitudeUnit).to('cm');
|
|
152
147
|
var item2Height = item2.properties.get('height').get('_length');
|
|
153
148
|
var item2HeightUnit = item2.properties.get('height').get('_unit');
|
|
154
|
-
item2Height = (0,
|
|
149
|
+
item2Height = (0, _convertUnitsLite.convert)(item2Height).from(item2HeightUnit).to('cm');
|
|
155
150
|
var flag = false;
|
|
156
151
|
switch (location) {
|
|
157
152
|
case _constants.TOP_MOLDING_LOCATION:
|
|
@@ -192,11 +187,11 @@ function tryMergeItemWithLocation(curItem, itemGroup, location) {
|
|
|
192
187
|
});
|
|
193
188
|
}
|
|
194
189
|
|
|
195
|
-
/**
|
|
196
|
-
* Make the molding group array with [items].
|
|
197
|
-
* @param {*} layer
|
|
198
|
-
* @param {*} items - Mergable snapped item group, if [items] is null then get all MG array of layer
|
|
199
|
-
* @returns MG array
|
|
190
|
+
/**
|
|
191
|
+
* Make the molding group array with [items].
|
|
192
|
+
* @param {*} layer
|
|
193
|
+
* @param {*} items - Mergable snapped item group, if [items] is null then get all MG array of layer
|
|
194
|
+
* @returns MG array
|
|
200
195
|
*/
|
|
201
196
|
function getAllMoldingGroups(layer) {
|
|
202
197
|
var items = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
@@ -268,10 +263,10 @@ function getLinesOfItem(item, allLineRects, catalog) {
|
|
|
268
263
|
// get edge lines
|
|
269
264
|
var newWidth = item.properties.get('width').get('_length');
|
|
270
265
|
var wUnit = item.properties.get('width').get('_unit') || 'cm';
|
|
271
|
-
newWidth = (0,
|
|
266
|
+
newWidth = (0, _convertUnitsLite.convert)(newWidth).from(wUnit).to('cm');
|
|
272
267
|
var newDepth = item.properties.get('depth').get('_length');
|
|
273
268
|
var hUnit = item.properties.get('depth').get('_unit') || 'cm';
|
|
274
|
-
newDepth = (0,
|
|
269
|
+
newDepth = (0, _convertUnitsLite.convert)(newDepth).from(hUnit).to('cm');
|
|
275
270
|
if (item) {
|
|
276
271
|
// Get Outline Data of Selected Item
|
|
277
272
|
outline = element.info.outline;
|
|
@@ -371,19 +366,19 @@ function mergeOverlappedLines(line1, line2) {
|
|
|
371
366
|
}
|
|
372
367
|
}
|
|
373
368
|
|
|
374
|
-
/**
|
|
375
|
-
* Get the contour line array of moldingGroup items
|
|
376
|
-
* @param {*} moldingGroup
|
|
377
|
-
* @param {*} layer
|
|
378
|
-
* @param {*} catalog
|
|
379
|
-
* @returns contour line array of moldingGroup items
|
|
369
|
+
/**
|
|
370
|
+
* Get the contour line array of moldingGroup items
|
|
371
|
+
* @param {*} moldingGroup
|
|
372
|
+
* @param {*} layer
|
|
373
|
+
* @param {*} catalog
|
|
374
|
+
* @returns contour line array of moldingGroup items
|
|
380
375
|
*/
|
|
381
376
|
function getLinesFromItems2(moldingGroup, layer, catalog) {
|
|
382
377
|
// wall lines
|
|
383
378
|
var allLineRects = _export.GeometryUtils.buildRectFromLines(layer, _export.GeometryUtils.getAllLines(layer));
|
|
384
379
|
var MGlines = [];
|
|
385
380
|
var MGlinesOtherSnapped = [];
|
|
386
|
-
var items =
|
|
381
|
+
var items = (0, _toConsumableArray2["default"])(moldingGroup.items);
|
|
387
382
|
// The other item's lines (these items are snapped to the moldingGroup items)
|
|
388
383
|
var itemsOtherSnapped = layer.items.toArray().filter(function (item) {
|
|
389
384
|
if (items.some(function (it) {
|
|
@@ -393,17 +388,17 @@ function getLinesFromItems2(moldingGroup, layer, catalog) {
|
|
|
393
388
|
var itemLines = getLinesOfItem(item, allLineRects, catalog);
|
|
394
389
|
var itemAltitude = item.properties.get('altitude').get('_length');
|
|
395
390
|
var itemAltitudeUnit = item.properties.get('altitude').get('_unit');
|
|
396
|
-
itemAltitude = (0,
|
|
391
|
+
itemAltitude = (0, _convertUnitsLite.convert)(itemAltitude).from(itemAltitudeUnit).to('cm');
|
|
397
392
|
var itemHeight = item.properties.get('height').get('_length');
|
|
398
393
|
var itemHeightUnit = item.properties.get('height').get('_unit');
|
|
399
|
-
itemHeight = (0,
|
|
394
|
+
itemHeight = (0, _convertUnitsLite.convert)(itemHeight).from(itemHeightUnit).to('cm');
|
|
400
395
|
itemLines.forEach(function (line) {
|
|
401
396
|
line.push({
|
|
402
397
|
altitude: itemAltitude,
|
|
403
398
|
height: itemHeight
|
|
404
399
|
});
|
|
405
400
|
});
|
|
406
|
-
MGlinesOtherSnapped = [].concat(
|
|
401
|
+
MGlinesOtherSnapped = [].concat((0, _toConsumableArray2["default"])(MGlinesOtherSnapped), (0, _toConsumableArray2["default"])(itemLines));
|
|
407
402
|
return true;
|
|
408
403
|
} else return false;
|
|
409
404
|
});
|
|
@@ -412,10 +407,10 @@ function getLinesFromItems2(moldingGroup, layer, catalog) {
|
|
|
412
407
|
items.forEach(function (item) {
|
|
413
408
|
var itemAltitude = item.properties.get('altitude').get('_length');
|
|
414
409
|
var itemAltitudeUnit = item.properties.get('altitude').get('_unit');
|
|
415
|
-
itemAltitude = (0,
|
|
410
|
+
itemAltitude = (0, _convertUnitsLite.convert)(itemAltitude).from(itemAltitudeUnit).to('cm');
|
|
416
411
|
var itemHeight = item.properties.get('height').get('_length');
|
|
417
412
|
var itemHeightUnit = item.properties.get('height').get('_unit');
|
|
418
|
-
itemHeight = (0,
|
|
413
|
+
itemHeight = (0, _convertUnitsLite.convert)(itemHeight).from(itemHeightUnit).to('cm');
|
|
419
414
|
var itemLines = getLinesOfItem(item, allLineRects, catalog);
|
|
420
415
|
|
|
421
416
|
// remove the edge that overlapped with other snapped items
|
|
@@ -457,7 +452,7 @@ function getLinesFromItems2(moldingGroup, layer, catalog) {
|
|
|
457
452
|
}
|
|
458
453
|
return ret;
|
|
459
454
|
});
|
|
460
|
-
MGlines = [].concat(
|
|
455
|
+
MGlines = [].concat((0, _toConsumableArray2["default"])(MGlines), (0, _toConsumableArray2["default"])(itemLines));
|
|
461
456
|
});
|
|
462
457
|
|
|
463
458
|
// Filtering overlapped edges and get contour edges
|
|
@@ -487,7 +482,7 @@ function getLinesFromItems2(moldingGroup, layer, catalog) {
|
|
|
487
482
|
var lineSegs = getTrimmedContourLineSegs(rst.trimmedSegs, MGlines.filter(function (v, idx) {
|
|
488
483
|
return idx !== i && idx !== j;
|
|
489
484
|
}), 0);
|
|
490
|
-
if (lineSegs.length > 0) newLines = [].concat(
|
|
485
|
+
if (lineSegs.length > 0) newLines = [].concat((0, _toConsumableArray2["default"])(newLines), (0, _toConsumableArray2["default"])(lineSegs));
|
|
491
486
|
return 1; // break
|
|
492
487
|
}
|
|
493
488
|
},
|
|
@@ -506,7 +501,7 @@ function getLinesFromItems2(moldingGroup, layer, catalog) {
|
|
|
506
501
|
return idx === id;
|
|
507
502
|
});
|
|
508
503
|
});
|
|
509
|
-
if (newLines.length > 0) MGlines = [].concat(
|
|
504
|
+
if (newLines.length > 0) MGlines = [].concat((0, _toConsumableArray2["default"])(MGlines), (0, _toConsumableArray2["default"])(newLines));
|
|
510
505
|
|
|
511
506
|
// merge the collinear linked lines to one line
|
|
512
507
|
var newMGlines = [];
|
|
@@ -531,13 +526,13 @@ function getLinesFromItems2(moldingGroup, layer, catalog) {
|
|
|
531
526
|
return newMGlines;
|
|
532
527
|
}
|
|
533
528
|
|
|
534
|
-
/**
|
|
535
|
-
* Get the line that colinear linked with [line], and merge them to a new line
|
|
536
|
-
* @param {*} line
|
|
537
|
-
* @param {*} MGlines
|
|
538
|
-
* @returns
|
|
539
|
-
* - returns merged new line
|
|
540
|
-
* - returns filtered new line group (remove linked line from [MGlines])
|
|
529
|
+
/**
|
|
530
|
+
* Get the line that colinear linked with [line], and merge them to a new line
|
|
531
|
+
* @param {*} line
|
|
532
|
+
* @param {*} MGlines
|
|
533
|
+
* @returns
|
|
534
|
+
* - returns merged new line
|
|
535
|
+
* - returns filtered new line group (remove linked line from [MGlines])
|
|
541
536
|
*/
|
|
542
537
|
function getMergedLine(line, MGlines, cnt) {
|
|
543
538
|
try {
|
|
@@ -590,11 +585,11 @@ function getMergedLine(line, MGlines, cnt) {
|
|
|
590
585
|
}
|
|
591
586
|
}
|
|
592
587
|
|
|
593
|
-
/**
|
|
594
|
-
* Get the contour line segments from [lineSegs]
|
|
595
|
-
* @param {*} lineSegs
|
|
596
|
-
* @param {*} otherLines
|
|
597
|
-
* @returns
|
|
588
|
+
/**
|
|
589
|
+
* Get the contour line segments from [lineSegs]
|
|
590
|
+
* @param {*} lineSegs
|
|
591
|
+
* @param {*} otherLines
|
|
592
|
+
* @returns
|
|
598
593
|
*/
|
|
599
594
|
function getTrimmedContourLineSegs(lineSegs, otherLines, cnt) {
|
|
600
595
|
try {
|
|
@@ -627,7 +622,7 @@ function getTrimmedContourLineSegs(lineSegs, otherLines, cnt) {
|
|
|
627
622
|
var tLineSegs = getTrimmedContourLineSegs(rst.trimmedSegs, otherLines.filter(function (v, idx) {
|
|
628
623
|
return idx !== j;
|
|
629
624
|
}), cnt);
|
|
630
|
-
if (tLineSegs.length > 0) returnSegs = [].concat(
|
|
625
|
+
if (tLineSegs.length > 0) returnSegs = [].concat((0, _toConsumableArray2["default"])(returnSegs), (0, _toConsumableArray2["default"])(tLineSegs));
|
|
631
626
|
bContourSeg = false;
|
|
632
627
|
return 0; // break
|
|
633
628
|
}
|
|
@@ -653,7 +648,7 @@ function getTrimmedContourLineSegs(lineSegs, otherLines, cnt) {
|
|
|
653
648
|
}
|
|
654
649
|
function getLinesFromItems(moldingGroup, layer, catalog) {
|
|
655
650
|
var allLineRects = _export.GeometryUtils.buildRectFromLines(layer, _export.GeometryUtils.getAllLines(layer));
|
|
656
|
-
var items =
|
|
651
|
+
var items = (0, _toConsumableArray2["default"])(moldingGroup.items);
|
|
657
652
|
var MGlines = getLinesOfItem(items[0], allLineRects, catalog);
|
|
658
653
|
items = sortItemsByDistance(items, items[0]);
|
|
659
654
|
var _loop7 = function _loop7() {
|
|
@@ -692,16 +687,16 @@ function getLinesFromItems(moldingGroup, layer, catalog) {
|
|
|
692
687
|
snapped_other_items.forEach(function (item) {
|
|
693
688
|
var itemAltitude = item.properties.get('altitude').get('_length');
|
|
694
689
|
var itemAltitudeUnit = item.properties.get('altitude').get('_unit');
|
|
695
|
-
itemAltitude = (0,
|
|
690
|
+
itemAltitude = (0, _convertUnitsLite.convert)(itemAltitude).from(itemAltitudeUnit).to('cm');
|
|
696
691
|
var itemHeight = item.properties.get('height').get('_length');
|
|
697
692
|
var itemHeightUnit = item.properties.get('height').get('_unit');
|
|
698
|
-
itemHeight = (0,
|
|
693
|
+
itemHeight = (0, _convertUnitsLite.convert)(itemHeight).from(itemHeightUnit).to('cm');
|
|
699
694
|
var mgroupAltitude = items[0].properties.get('altitude').get('_length');
|
|
700
695
|
var mgroupAltitudeUnit = items[0].properties.get('altitude').get('_unit');
|
|
701
|
-
mgroupAltitude = (0,
|
|
696
|
+
mgroupAltitude = (0, _convertUnitsLite.convert)(mgroupAltitude).from(mgroupAltitudeUnit).to('cm');
|
|
702
697
|
var mgroupHeight = items[0].properties.get('height').get('_length');
|
|
703
698
|
var mgroupHeightUnit = items[0].properties.get('height').get('_unit');
|
|
704
|
-
mgroupHeight = (0,
|
|
699
|
+
mgroupHeight = (0, _convertUnitsLite.convert)(mgroupHeight).from(mgroupHeightUnit).to('cm');
|
|
705
700
|
var flag = false;
|
|
706
701
|
switch (moldingGroup.location_type) {
|
|
707
702
|
case _constants.TOP_MOLDING_LOCATION:
|
|
@@ -787,7 +782,7 @@ function getMDPoints(newMD) {
|
|
|
787
782
|
});
|
|
788
783
|
|
|
789
784
|
// get vertex points
|
|
790
|
-
var MDlines =
|
|
785
|
+
var MDlines = (0, _toConsumableArray2["default"])(newMD.lines);
|
|
791
786
|
var pointGroups = [[]];
|
|
792
787
|
var flag = 1;
|
|
793
788
|
var i = 0;
|
|
@@ -845,7 +840,7 @@ function getMDPoints(newMD) {
|
|
|
845
840
|
y: MDlines[_res][1].y - cPos.y
|
|
846
841
|
};
|
|
847
842
|
}
|
|
848
|
-
pointGroups[i] = [new Three.Vector2(_newPos.x, _newPos.y)].concat(
|
|
843
|
+
pointGroups[i] = [new Three.Vector2(_newPos.x, _newPos.y)].concat((0, _toConsumableArray2["default"])(pointGroups[i]));
|
|
849
844
|
MDlines.splice(_res, 1);
|
|
850
845
|
} else {
|
|
851
846
|
flag = 1;
|
|
@@ -860,10 +855,10 @@ function getMDPoints(newMD) {
|
|
|
860
855
|
}
|
|
861
856
|
var z = newMD.items[0].properties.get('altitude').get('_length');
|
|
862
857
|
var zUnit = newMD.items[0].properties.get('altitude').get('_unit') || 'cm';
|
|
863
|
-
z = (0,
|
|
858
|
+
z = (0, _convertUnitsLite.convert)(z).from(zUnit).to('cm');
|
|
864
859
|
var height = newMD.items[0].properties.get('height').get('_length');
|
|
865
860
|
var heightUnit = newMD.items[0].properties.get('height').get('_unit') || 'cm';
|
|
866
|
-
height = (0,
|
|
861
|
+
height = (0, _convertUnitsLite.convert)(height).from(heightUnit).to('cm');
|
|
867
862
|
switch (newMD.location_type) {
|
|
868
863
|
case _constants.TOP_MOLDING_LOCATION:
|
|
869
864
|
z += height;
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
10
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
10
|
var NameGenerator = exports["default"] = /*#__PURE__*/function () {
|
|
14
11
|
function NameGenerator() {
|
|
15
|
-
|
|
12
|
+
(0, _classCallCheck2["default"])(this, NameGenerator);
|
|
16
13
|
}
|
|
17
|
-
return
|
|
14
|
+
return (0, _createClass2["default"])(NameGenerator, null, [{
|
|
18
15
|
key: "generateName",
|
|
19
16
|
value: function generateName(prototype, type) {
|
|
20
17
|
return type.substr(0, 1).toUpperCase() + type.substr(1);
|
|
21
18
|
}
|
|
22
19
|
}]);
|
|
23
|
-
}();
|
|
20
|
+
}();
|
|
21
|
+
module.exports = exports.default;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -7,9 +9,9 @@ exports.getAllMeshes = getAllMeshes;
|
|
|
7
9
|
exports.objectsCompare = objectsCompare;
|
|
8
10
|
exports.objectsMap = objectsMap;
|
|
9
11
|
exports.vectorIntersectWithMesh = vectorIntersectWithMesh;
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
13
|
var Three = _interopRequireWildcard(require("three"));
|
|
11
|
-
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" !=
|
|
12
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
14
|
+
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" != _typeof3(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); }
|
|
13
15
|
String.prototype.isLeftPlaceholder = function () {
|
|
14
16
|
return this.match(/_L$|_L_\d$/) != null;
|
|
15
17
|
};
|
|
@@ -31,7 +33,7 @@ function objectsCompare(x, y) {
|
|
|
31
33
|
if (!x.hasOwnProperty(p)) continue;
|
|
32
34
|
if (!y.hasOwnProperty(p)) return false;
|
|
33
35
|
if (x[p] === y[p]) continue;
|
|
34
|
-
if (
|
|
36
|
+
if ((0, _typeof2["default"])(x[p]) !== 'object') return false;
|
|
35
37
|
if (!objectsCompare(x[p], y[p])) return false;
|
|
36
38
|
}
|
|
37
39
|
for (var _p in y) {
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.buildCurrentCabinetObject = void 0;
|
|
7
|
-
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
9
|
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; }
|
|
9
|
-
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) {
|
|
10
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
11
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
10
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
13
11
|
var buildCurrentCabinetObject = exports.buildCurrentCabinetObject = function buildCurrentCabinetObject(cabinet, texture) {
|
|
14
12
|
return {
|
|
15
13
|
type: cabinet.name,
|
package/lib/utils/react-if.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports["default"] = If;
|
|
7
8
|
var _react = _interopRequireDefault(require("react"));
|
|
8
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
10
|
/**
|
|
11
11
|
* @return {null}
|
|
12
12
|
*/
|
|
@@ -21,4 +21,5 @@ function If(_ref) {
|
|
|
21
21
|
If.propTypes = {
|
|
22
22
|
condition: _propTypes["default"].bool.isRequired,
|
|
23
23
|
style: _propTypes["default"].object
|
|
24
|
-
};
|
|
24
|
+
};
|
|
25
|
+
module.exports = exports.default;
|
package/lib/utils/snap-scene.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.sceneSnapElements = sceneSnapElements;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
7
9
|
var _snap = require("./snap");
|
|
8
10
|
var _export = require("./export");
|
|
9
11
|
var _immutable = require("immutable");
|
|
10
|
-
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
11
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
13
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
15
|
-
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
16
12
|
function sceneSnapElements(scene) {
|
|
17
13
|
var snapElements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _immutable.List();
|
|
18
14
|
var snapMask = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new _immutable.Map();
|
|
@@ -56,7 +52,7 @@ function sceneSnapElements(scene) {
|
|
|
56
52
|
if (snapMask.get(_snap.SNAP_SEGMENT)) {
|
|
57
53
|
lines.forEach(function (_ref2) {
|
|
58
54
|
var lineID = _ref2.id,
|
|
59
|
-
_ref2$vertices =
|
|
55
|
+
_ref2$vertices = (0, _slicedToArray2["default"])(_ref2.vertices, 2),
|
|
60
56
|
v0 = _ref2$vertices[0],
|
|
61
57
|
v1 = _ref2$vertices[1];
|
|
62
58
|
var _vertices$get = vertices.get(v0),
|
package/lib/utils/snap.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -10,24 +11,19 @@ exports.addLineSegmentSnap = addLineSegmentSnap;
|
|
|
10
11
|
exports.addLineSnap = addLineSnap;
|
|
11
12
|
exports.addPointSnap = addPointSnap;
|
|
12
13
|
exports.nearestSnap = nearestSnap;
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
20
|
var _immutable = require("immutable");
|
|
14
21
|
var Geometry = _interopRequireWildcard(require("./geometry"));
|
|
15
22
|
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); }
|
|
16
23
|
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; }
|
|
17
|
-
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) {
|
|
18
|
-
function
|
|
19
|
-
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
20
|
-
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
21
|
-
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
22
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
23
|
-
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
24
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
25
|
-
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
|
|
26
|
-
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
|
|
24
|
+
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) { (0, _defineProperty2["default"])(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; }
|
|
25
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
27
26
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
28
|
-
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
|
|
29
|
-
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
|
|
30
|
-
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
|
|
31
27
|
var SNAP_POINT = exports.SNAP_POINT = 'SNAP_POINT';
|
|
32
28
|
var SNAP_LINE = exports.SNAP_LINE = 'SNAP_LINE';
|
|
33
29
|
var SNAP_SEGMENT = exports.SNAP_SEGMENT = 'SNAP_SEGMENT';
|
|
@@ -42,11 +38,11 @@ var SNAP_MASK = exports.SNAP_MASK = new _immutable.Map({
|
|
|
42
38
|
});
|
|
43
39
|
var PointSnap = /*#__PURE__*/function (_Record) {
|
|
44
40
|
function PointSnap() {
|
|
45
|
-
|
|
41
|
+
(0, _classCallCheck2["default"])(this, PointSnap);
|
|
46
42
|
return _callSuper(this, PointSnap, arguments);
|
|
47
43
|
}
|
|
48
|
-
|
|
49
|
-
return
|
|
44
|
+
(0, _inherits2["default"])(PointSnap, _Record);
|
|
45
|
+
return (0, _createClass2["default"])(PointSnap, [{
|
|
50
46
|
key: "nearestPoint",
|
|
51
47
|
value: function nearestPoint(x, y) {
|
|
52
48
|
return {
|
|
@@ -71,11 +67,11 @@ var PointSnap = /*#__PURE__*/function (_Record) {
|
|
|
71
67
|
}));
|
|
72
68
|
var LineSnap = /*#__PURE__*/function (_Record2) {
|
|
73
69
|
function LineSnap() {
|
|
74
|
-
|
|
70
|
+
(0, _classCallCheck2["default"])(this, LineSnap);
|
|
75
71
|
return _callSuper(this, LineSnap, arguments);
|
|
76
72
|
}
|
|
77
|
-
|
|
78
|
-
return
|
|
73
|
+
(0, _inherits2["default"])(LineSnap, _Record2);
|
|
74
|
+
return (0, _createClass2["default"])(LineSnap, [{
|
|
79
75
|
key: "nearestPoint",
|
|
80
76
|
value: function nearestPoint(x, y) {
|
|
81
77
|
return _objectSpread(_objectSpread({}, Geometry.closestPointFromLine(this.a, this.b, this.c, x, y)), {}, {
|
|
@@ -99,11 +95,11 @@ var LineSnap = /*#__PURE__*/function (_Record2) {
|
|
|
99
95
|
}));
|
|
100
96
|
var LineSegmentSnap = /*#__PURE__*/function (_Record3) {
|
|
101
97
|
function LineSegmentSnap() {
|
|
102
|
-
|
|
98
|
+
(0, _classCallCheck2["default"])(this, LineSegmentSnap);
|
|
103
99
|
return _callSuper(this, LineSegmentSnap, arguments);
|
|
104
100
|
}
|
|
105
|
-
|
|
106
|
-
return
|
|
101
|
+
(0, _inherits2["default"])(LineSegmentSnap, _Record3);
|
|
102
|
+
return (0, _createClass2["default"])(LineSegmentSnap, [{
|
|
107
103
|
key: "nearestPoint",
|
|
108
104
|
value: function nearestPoint(x, y) {
|
|
109
105
|
return _objectSpread(_objectSpread({}, Geometry.closestPointFromLineSegment(this.x1, this.y1, this.x2, this.y2, x, y)), {}, {
|
|
@@ -134,11 +130,11 @@ var LineSegmentSnap = /*#__PURE__*/function (_Record3) {
|
|
|
134
130
|
}));
|
|
135
131
|
var GridSnap = /*#__PURE__*/function (_Record4) {
|
|
136
132
|
function GridSnap() {
|
|
137
|
-
|
|
133
|
+
(0, _classCallCheck2["default"])(this, GridSnap);
|
|
138
134
|
return _callSuper(this, GridSnap, arguments);
|
|
139
135
|
}
|
|
140
|
-
|
|
141
|
-
return
|
|
136
|
+
(0, _inherits2["default"])(GridSnap, _Record4);
|
|
137
|
+
return (0, _createClass2["default"])(GridSnap, [{
|
|
142
138
|
key: "nearestPoint",
|
|
143
139
|
value: function nearestPoint(x, y) {
|
|
144
140
|
return {
|