kitchen-simulator 11.28.0 → 11.28.2
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/actions/items-actions.js +12 -1
- package/es/assets/img/svg/3d_item_move.svg +9 -105
- package/es/assets/img/svg/3d_item_rotation.svg +3 -75
- package/es/assets/img/svg/accessories.svg +4 -4
- package/es/assets/img/svg/bottombar/elevation-back.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-front.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-left.svg +6 -6
- package/es/assets/img/svg/bottombar/elevation-right.svg +7 -7
- package/es/assets/img/svg/bottombar/elevation.svg +13 -13
- package/es/assets/img/svg/delete.svg +6 -2
- package/es/assets/img/svg/detail.svg +77 -77
- package/es/assets/img/svg/duplicate.svg +6 -6
- package/es/assets/img/svg/filtersActive.svg +19 -19
- package/es/assets/img/svg/invert.svg +12 -127
- package/es/assets/img/svg/menubar/login.svg +84 -84
- package/es/assets/img/svg/menubar/my_projects.svg +85 -85
- package/es/assets/img/svg/menubar/new_project.svg +110 -110
- package/es/assets/img/svg/menubar/save_project.svg +84 -84
- package/es/assets/img/svg/options.svg +3 -3
- package/es/assets/img/svg/positioning.svg +3 -3
- package/es/assets/img/svg/toggleFilters.svg +19 -19
- package/es/assets/img/svg/toolbar/shopping-cart.svg +13 -13
- package/es/assets/img/svg/wizardstep/detail_view.svg +87 -87
- package/es/assets/img/svg/wizardstep/tile_view.svg +95 -95
- package/es/catalog/utils/exporter.js +4 -0
- package/es/catalog/utils/item-loader.js +18 -8
- package/es/class/item.js +32 -2
- package/es/components/viewer2d/item.js +139 -125
- package/es/components/viewer2d/viewer2d.js +5 -2
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/es/components/viewer3d/scene-creator.js +18 -0
- package/es/components/viewer3d/viewer3d.js +137 -49
- package/es/constants.js +4 -0
- package/es/events/external/handleExternalEvent.js +36 -33
- package/es/events/external/handlers.elementOps.js +8 -0
- package/es/mappings/external-events/mapExternalEventPayload.js +4 -4
- package/es/mappings/external-events/mappers/addItemMapper.js +9 -9
- package/es/models.js +4 -0
- package/es/reducers/items-reducer.js +8 -1
- package/es/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/es/shared/domain/cabinet-mirror.js +7 -0
- package/es/utils/skinPanelEngine.js +14 -14
- package/lib/actions/items-actions.js +12 -0
- package/lib/assets/img/svg/3d_item_move.svg +9 -105
- package/lib/assets/img/svg/3d_item_rotation.svg +3 -75
- package/lib/assets/img/svg/accessories.svg +4 -4
- package/lib/assets/img/svg/bottombar/elevation-back.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-front.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-left.svg +6 -6
- package/lib/assets/img/svg/bottombar/elevation-right.svg +7 -7
- package/lib/assets/img/svg/bottombar/elevation.svg +13 -13
- package/lib/assets/img/svg/delete.svg +6 -2
- package/lib/assets/img/svg/detail.svg +77 -77
- package/lib/assets/img/svg/duplicate.svg +6 -6
- package/lib/assets/img/svg/filtersActive.svg +19 -19
- package/lib/assets/img/svg/invert.svg +12 -127
- package/lib/assets/img/svg/menubar/login.svg +84 -84
- package/lib/assets/img/svg/menubar/my_projects.svg +85 -85
- package/lib/assets/img/svg/menubar/new_project.svg +110 -110
- package/lib/assets/img/svg/menubar/save_project.svg +84 -84
- package/lib/assets/img/svg/options.svg +3 -3
- package/lib/assets/img/svg/positioning.svg +3 -3
- package/lib/assets/img/svg/toggleFilters.svg +19 -19
- package/lib/assets/img/svg/toolbar/shopping-cart.svg +13 -13
- package/lib/assets/img/svg/wizardstep/detail_view.svg +87 -87
- package/lib/assets/img/svg/wizardstep/tile_view.svg +95 -95
- package/lib/catalog/utils/exporter.js +4 -0
- package/lib/catalog/utils/item-loader.js +18 -8
- package/lib/class/item.js +31 -1
- package/lib/components/viewer2d/item.js +138 -124
- package/lib/components/viewer2d/viewer2d.js +5 -2
- package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +556 -556
- package/lib/components/viewer3d/scene-creator.js +18 -0
- package/lib/components/viewer3d/viewer3d.js +137 -49
- package/lib/constants.js +8 -4
- package/lib/events/external/handleExternalEvent.js +34 -31
- package/lib/events/external/handlers.elementOps.js +9 -0
- package/lib/mappings/external-events/mapExternalEventPayload.js +4 -4
- package/lib/mappings/external-events/mappers/addItemMapper.js +9 -9
- package/lib/models.js +4 -0
- package/lib/reducers/items-reducer.js +7 -0
- package/lib/shared/domain/asset/sanitize-asset-url.js +5 -5
- package/lib/shared/domain/cabinet-mirror.js +13 -0
- package/lib/utils/skinPanelEngine.js +14 -14
- package/package.json +1 -1
|
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = Item;
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -13,23 +16,15 @@ var _rulerDist = _interopRequireDefault(require("./rulerDist"));
|
|
|
13
16
|
var _convertUnitsLite = require("../../utils/convert-units-lite");
|
|
14
17
|
var _constants = require("../../constants");
|
|
15
18
|
var _cabinetWarning = require("../../shared/domain/cabinet-warning");
|
|
19
|
+
var _cabinetMirror = require("../../shared/domain/cabinet-mirror");
|
|
16
20
|
var _geometry = require("../../utils/geometry");
|
|
17
21
|
var _cabinetCorner = require("../../shared/domain/cabinet-corner");
|
|
18
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); }
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var
|
|
24
|
-
fill: '#0096fd',
|
|
25
|
-
stroke: '#0096fd',
|
|
26
|
-
cursor: 'ew-resize'
|
|
27
|
-
};
|
|
28
|
-
var STYLE_CIRCLE2 = {
|
|
29
|
-
fill: 'none',
|
|
30
|
-
stroke: '#0096fd',
|
|
31
|
-
cursor: 'ew-resize'
|
|
32
|
-
};
|
|
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; }
|
|
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
|
+
var ICON_WIDTH = 23;
|
|
26
|
+
var ICON_HEIGHT = 23;
|
|
27
|
+
var ICON_SPACING = 2.5;
|
|
33
28
|
function Item(_ref, _ref2) {
|
|
34
29
|
var _element$render2D;
|
|
35
30
|
var layer = _ref.layer,
|
|
@@ -106,116 +101,135 @@ function Item(_ref, _ref2) {
|
|
|
106
101
|
var isSmall = false;
|
|
107
102
|
if (width < 40) isSmall = true;
|
|
108
103
|
var parts = [];
|
|
109
|
-
var
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
},
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
"
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
104
|
+
var canMirror = (0, _cabinetMirror.canMirrorCabinet)(item);
|
|
105
|
+
var isMirrored = item.mirrored === true;
|
|
106
|
+
if (item.selected) {
|
|
107
|
+
var iconsCount = canMirror ? 3 : 2;
|
|
108
|
+
var iconHeightStart = (ICON_HEIGHT * (iconsCount - 2) + ICON_SPACING * (iconsCount - 1)) / 2;
|
|
109
|
+
var iconsData = [{
|
|
110
|
+
key: 'duplicate',
|
|
111
|
+
part: 'duplicate',
|
|
112
|
+
href: '/assets/img/svg/duplicate.svg',
|
|
113
|
+
imageProps: {
|
|
114
|
+
x: ICON_WIDTH / 4,
|
|
115
|
+
y: -(3 / 4) * ICON_HEIGHT,
|
|
116
|
+
height: ICON_HEIGHT / 2,
|
|
117
|
+
width: ICON_WIDTH / 2
|
|
118
|
+
},
|
|
119
|
+
disabled: (0, _cabinetWarning.isWarningCabinet)(item)
|
|
120
|
+
}, canMirror && {
|
|
121
|
+
key: 'mirror',
|
|
122
|
+
part: 'mirror',
|
|
123
|
+
href: '/assets/img/svg/invert.svg',
|
|
124
|
+
wrapperStyle: {
|
|
125
|
+
transformOrigin: 'center',
|
|
126
|
+
transformBox: 'fill-box',
|
|
127
|
+
transform: !isMirrored ? 'scaleX(-1)' : ''
|
|
128
|
+
},
|
|
129
|
+
imageProps: {
|
|
130
|
+
x: ICON_WIDTH / 2 - 7.5,
|
|
131
|
+
y: -ICON_HEIGHT / 2 - 7.5,
|
|
132
|
+
height: '15px',
|
|
133
|
+
width: '15px'
|
|
134
|
+
}
|
|
135
|
+
}, {
|
|
136
|
+
key: 'remove',
|
|
137
|
+
part: 'remove',
|
|
138
|
+
href: '/assets/img/svg/delete.svg',
|
|
139
|
+
imageProps: {
|
|
140
|
+
x: ICON_WIDTH / 4,
|
|
141
|
+
y: -(3 / 4) * ICON_HEIGHT,
|
|
142
|
+
height: ICON_HEIGHT / 2,
|
|
143
|
+
width: ICON_WIDTH / 2
|
|
144
|
+
}
|
|
145
|
+
}].filter(Boolean);
|
|
146
|
+
var icons = iconsData.map(function (icon, index) {
|
|
147
|
+
var translateY = iconHeightStart - index * (ICON_HEIGHT + ICON_SPACING);
|
|
148
|
+
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
149
|
+
key: icon.key,
|
|
150
|
+
style: {
|
|
151
|
+
cursor: icon.disabled ? 'default' : 'pointer',
|
|
152
|
+
transform: "rotate(".concat(360 - item.rotation, "deg)\n translate(").concat(-width / 2 - 27, "px, ").concat(translateY, "px)")
|
|
153
|
+
},
|
|
154
|
+
"data-element-root": true,
|
|
155
|
+
"data-prototype": item.prototype,
|
|
156
|
+
"data-id": item.id,
|
|
157
|
+
"data-selected": item.selected,
|
|
158
|
+
"data-layer": layer.id,
|
|
159
|
+
"data-part": icon.part
|
|
160
|
+
}, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("filter", {
|
|
161
|
+
id: "shadow",
|
|
162
|
+
x: "-20%",
|
|
163
|
+
y: "-20%",
|
|
164
|
+
width: "140%",
|
|
165
|
+
height: "140%"
|
|
166
|
+
}, /*#__PURE__*/_react["default"].createElement("feDropShadow", {
|
|
167
|
+
dx: "0",
|
|
168
|
+
dy: "-1",
|
|
169
|
+
stdDeviation: "1.2",
|
|
170
|
+
"flood-color": "#000",
|
|
171
|
+
"flood-opacity": "0.16"
|
|
172
|
+
}))), /*#__PURE__*/_react["default"].createElement("g", {
|
|
173
|
+
style: icon.wrapperStyle
|
|
174
|
+
}, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
175
|
+
rx: "100%",
|
|
176
|
+
ry: "100%",
|
|
177
|
+
height: ICON_HEIGHT,
|
|
178
|
+
width: ICON_WIDTH,
|
|
179
|
+
fill: "white",
|
|
180
|
+
filter: "url(#shadow)"
|
|
181
|
+
}), /*#__PURE__*/_react["default"].createElement("image", (0, _extends2["default"])({
|
|
182
|
+
href: icon.href
|
|
183
|
+
}, icon.imageProps, {
|
|
184
|
+
style: _objectSpread({
|
|
185
|
+
transform: 'rotateX(180deg)'
|
|
186
|
+
}, icon.disabled ? {
|
|
187
|
+
opacity: 0.3,
|
|
188
|
+
filter: 'contrast(0)'
|
|
189
|
+
} : {})
|
|
190
|
+
}))));
|
|
191
|
+
});
|
|
192
|
+
parts = [/*#__PURE__*/_react["default"].createElement("g", {
|
|
193
|
+
key: 0,
|
|
194
|
+
"data-element-root": true,
|
|
195
|
+
"data-prototype": item.prototype,
|
|
196
|
+
"data-id": item.id,
|
|
197
|
+
"data-selected": item.selected,
|
|
198
|
+
"data-layer": layer.id,
|
|
199
|
+
"data-part": "rotation-anchor",
|
|
200
|
+
style: {
|
|
201
|
+
cursor: 'w-resize'
|
|
202
|
+
}
|
|
203
|
+
}, /*#__PURE__*/_react["default"].createElement("image", {
|
|
204
|
+
href: clockRotateState ? '/assets/img/svg/rotate.png' : '/assets/img/svg/blank_div.svg',
|
|
205
|
+
style: {
|
|
206
|
+
transform: "scale(-1, -1) translate(".concat(width / 2, "px, ").concat(height / 2, "px) rotate(25deg)")
|
|
207
|
+
},
|
|
208
|
+
height: "20",
|
|
209
|
+
width: "20",
|
|
210
|
+
onMouseEnter: function onMouseEnter() {
|
|
211
|
+
setClockRotateState(true);
|
|
212
|
+
setAntiClockRotateState(false);
|
|
213
|
+
},
|
|
214
|
+
onMouseLeave: function onMouseLeave() {
|
|
215
|
+
return setClockRotateState(mode === _constants.MODE_ROTATING_ITEM ? true : false);
|
|
216
|
+
}
|
|
217
|
+
}), /*#__PURE__*/_react["default"].createElement("image", {
|
|
218
|
+
href: antiClockRotateState ? '/assets/img/svg/rotate.png' : '/assets/img/svg/blank_div.svg',
|
|
219
|
+
style: {
|
|
220
|
+
transform: "scale(1, -1) translate(".concat(width / 2, "px, ").concat(height / 2, "px) rotate(25deg)")
|
|
221
|
+
},
|
|
222
|
+
height: "20",
|
|
223
|
+
width: "20",
|
|
224
|
+
onMouseEnter: function onMouseEnter() {
|
|
225
|
+
setAntiClockRotateState(true);
|
|
226
|
+
setClockRotateState(false);
|
|
227
|
+
},
|
|
228
|
+
onMouseLeave: function onMouseLeave() {
|
|
229
|
+
return setAntiClockRotateState(mode === _constants.MODE_ROTATING_ITEM ? true : false);
|
|
230
|
+
}
|
|
231
|
+
}))].concat((0, _toConsumableArray2["default"])(icons));
|
|
232
|
+
}
|
|
219
233
|
var measure = item.layoutpos === _constants.WALL_CABINET_LAYOUTPOS ? showWallCabinetMeasure : showBaseCabinetMeasure;
|
|
220
234
|
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
221
235
|
"data-element-root": true,
|
|
@@ -812,7 +812,7 @@ function Viewer2D(_ref, _ref2) {
|
|
|
812
812
|
case 'items':
|
|
813
813
|
setToolbar('');
|
|
814
814
|
current_sel_obj_id = elementData.id;
|
|
815
|
-
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
|
|
815
|
+
if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'mirror') break;else if (elementData.part === 'warning_edit') break;else {
|
|
816
816
|
// closes the setting dialog
|
|
817
817
|
if (document.getElementById('setting_dialog')) {
|
|
818
818
|
document.getElementById('setting_dialog').style.display = 'none';
|
|
@@ -960,7 +960,10 @@ function Viewer2D(_ref, _ref2) {
|
|
|
960
960
|
holesActions.selectHole(elementData.layer, elementData.id);
|
|
961
961
|
break;
|
|
962
962
|
case 'items':
|
|
963
|
-
if (elementData.part === '
|
|
963
|
+
if (elementData.part === 'mirror') {
|
|
964
|
+
itemsActions.toggleItemMirror(elementData.layer, elementData.id, null, onInternalEvent);
|
|
965
|
+
break;
|
|
966
|
+
} else if (elementData.part === 'duplicate') {
|
|
964
967
|
var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
|
|
965
968
|
if (!(0, _cabinetWarning.isWarningCabinet)(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
|
|
966
969
|
break;
|