kitchen-simulator 1.0.0-alin.1 → 1.0.0-alin.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.
@@ -1,56 +1,159 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
+ 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; }
4
+ 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; }
5
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
6
+ import { fromJS, List, Map, Record } from 'immutable';
1
7
  import { EXTERNAL_EVENT_ADD_WALL, EXTERNAL_EVENT_TOGGLE_TO_3D, EXTERNAL_EVENT_TOGGLE_TO_2D, EXTERNAL_EVENT_TOGGLE_TO_ELEVATION, EXTERNAL_EVENT_MOVE_PAN, MODE_IDLE, MODE_2D_PAN, EXTERNAL_EVENT_ADD_ITEM, ARRAY_3D_MODES, MODE_IDLE_3D, MODE_ELEVATION_VIEW, TOP, BOTTOM, LEFT, RIGHT, EXTERNAL_EVENT_NEW_PROJECT } from "../constants";
2
8
  import { isEmpty } from "./helper";
3
- export function handleExternalEvent(evt, props) {
4
- var state = props.state;
5
- switch (evt === null || evt === void 0 ? void 0 : evt.type) {
6
- case EXTERNAL_EVENT_TOGGLE_TO_3D:
7
- props.projectActions.setMode(MODE_IDLE_3D);
8
- break;
9
- case EXTERNAL_EVENT_TOGGLE_TO_2D:
10
- props.projectActions.setMode(MODE_IDLE);
11
- break;
12
- case EXTERNAL_EVENT_TOGGLE_TO_ELEVATION:
13
- props.projectActions.setMode(MODE_ELEVATION_VIEW);
14
- break;
15
- case EXTERNAL_EVENT_ADD_WALL:
16
- if (state.mode === MODE_IDLE || state.mode === MODE_2D_PAN) props.linesActions.selectToolDrawingLine('wall');else {
17
- props.projectActions.setMode(MODE_IDLE);
18
- props.linesActions.selectToolDrawingLine('wall');
9
+ import exporter from "../catalog/utils/exporter";
10
+ import { render2DItem, render3DItem } from "../catalog/utils/item-loader";
11
+ import Catalog from "../catalog/catalog";
12
+ import { CatalogElement, safeLoadMapList } from "../models";
13
+ var loadSVGsByItem = /*#__PURE__*/function () {
14
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(item) {
15
+ var _parsed$xml$viewBox, _parsed$xml$viewBox2, response, svgText, loader, parsed, _t;
16
+ return _regeneratorRuntime.wrap(function (_context) {
17
+ while (1) switch (_context.prev = _context.next) {
18
+ case 0:
19
+ if (item.outline) {
20
+ _context.next = 1;
21
+ break;
22
+ }
23
+ return _context.abrupt("return", null);
24
+ case 1:
25
+ _context.prev = 1;
26
+ _context.next = 2;
27
+ return fetch(item.outline, {
28
+ cache: 'no-store'
29
+ });
30
+ case 2:
31
+ response = _context.sent;
32
+ _context.next = 3;
33
+ return response.text();
34
+ case 3:
35
+ svgText = _context.sent;
36
+ loader = new SVGLoader();
37
+ parsed = loader.parse(svgText);
38
+ if (!isEmpty(parsed.paths)) {
39
+ _context.next = 4;
40
+ break;
41
+ }
42
+ return _context.abrupt("return", null);
43
+ case 4:
44
+ return _context.abrupt("return", {
45
+ paths: parsed.paths,
46
+ svgWidth: parseFloat(parsed.xml.getAttribute('width')) || ((_parsed$xml$viewBox = parsed.xml.viewBox) === null || _parsed$xml$viewBox === void 0 || (_parsed$xml$viewBox = _parsed$xml$viewBox.animVal) === null || _parsed$xml$viewBox === void 0 ? void 0 : _parsed$xml$viewBox.width) || 0,
47
+ svgHeight: parseFloat(parsed.xml.getAttribute('height')) || ((_parsed$xml$viewBox2 = parsed.xml.viewBox) === null || _parsed$xml$viewBox2 === void 0 || (_parsed$xml$viewBox2 = _parsed$xml$viewBox2.animVal) === null || _parsed$xml$viewBox2 === void 0 ? void 0 : _parsed$xml$viewBox2.height) || 0,
48
+ reverse: !parseFloat(parsed.xml.getAttribute('height'))
49
+ });
50
+ case 5:
51
+ _context.prev = 5;
52
+ _t = _context["catch"](1);
53
+ console.error('Failed to load SVG:', item.outline, _t);
54
+ return _context.abrupt("return", null);
55
+ case 6:
56
+ case "end":
57
+ return _context.stop();
19
58
  }
20
- break;
21
- case EXTERNAL_EVENT_ADD_ITEM:
22
- {
23
- var element = evt.payload;
24
- !isEmpty(evt === null || evt === void 0 ? void 0 : evt.payload) && ARRAY_3D_MODES.includes(state.mode) ? props.itemsActions.selectToolDrawingItem3D(element.name) : props.itemsActions.selectToolDrawingItem(element.name);
25
- props.projectActions.pushLastSelectedCatalogElementToHistory(element);
26
- props.projectActions.setIsCabinetDrawing(true);
27
- }
28
- break;
29
- case EXTERNAL_EVENT_MOVE_PAN:
30
- var _evt$payload = evt.payload,
31
- moveType = _evt$payload.moveType,
32
- moveValue = _evt$payload.moveValue;
33
- var value = state.getIn(['KitchenConfigurator', 'viewer2D']).toJS();
34
- switch (moveType) {
35
- case TOP:
36
- value.f -= moveValue;
59
+ }, _callee, null, [[1, 5]]);
60
+ }));
61
+ return function loadSVGsByItem(_x) {
62
+ return _ref.apply(this, arguments);
63
+ };
64
+ }();
65
+ export function handleExternalEvent(_x2, _x3) {
66
+ return _handleExternalEvent.apply(this, arguments);
67
+ }
68
+ function _handleExternalEvent() {
69
+ _handleExternalEvent = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(evt, props) {
70
+ var state, sLineCnt, element, catalog, outlineSVGData, catalogInstance, elementJs, _evt$payload, moveType, moveValue, value, defaulTitle, _t2, _t3;
71
+ return _regeneratorRuntime.wrap(function (_context2) {
72
+ while (1) switch (_context2.prev = _context2.next) {
73
+ case 0:
74
+ state = props.state;
75
+ _t2 = evt === null || evt === void 0 ? void 0 : evt.type;
76
+ _context2.next = _t2 === EXTERNAL_EVENT_TOGGLE_TO_3D ? 1 : _t2 === EXTERNAL_EVENT_TOGGLE_TO_2D ? 2 : _t2 === EXTERNAL_EVENT_TOGGLE_TO_ELEVATION ? 3 : _t2 === EXTERNAL_EVENT_ADD_WALL ? 4 : _t2 === EXTERNAL_EVENT_ADD_ITEM ? 5 : _t2 === EXTERNAL_EVENT_MOVE_PAN ? 9 : _t2 === EXTERNAL_EVENT_NEW_PROJECT ? 15 : 16;
37
77
  break;
38
- case BOTTOM:
39
- value.f += moveValue;
78
+ case 1:
79
+ props.projectActions.setMode(MODE_IDLE_3D);
80
+ return _context2.abrupt("continue", 16);
81
+ case 2:
82
+ props.projectActions.setMode(MODE_IDLE);
83
+ return _context2.abrupt("continue", 16);
84
+ case 3:
85
+ sLineCnt = state.getIn(['KitchenConfigurator', 'scene', 'layers', 'layer-1', 'selected', 'lines']).size;
86
+ if (sLineCnt > 0) props.projectActions.setMode(MODE_ELEVATION_VIEW);
87
+ return _context2.abrupt("continue", 16);
88
+ case 4:
89
+ if (state.mode === MODE_IDLE || state.mode === MODE_2D_PAN) props.linesActions.selectToolDrawingLine('wall');else {
90
+ props.projectActions.setMode(MODE_IDLE);
91
+ props.linesActions.selectToolDrawingLine('wall');
92
+ }
93
+ return _context2.abrupt("continue", 16);
94
+ case 5:
95
+ if (isEmpty(evt === null || evt === void 0 ? void 0 : evt.payload)) {
96
+ _context2.next = 8;
97
+ break;
98
+ }
99
+ element = evt.payload;
100
+ catalog = state.getIn(['KitchenConfigurator', 'catalog']).toJS(); // add item to catalog of state
101
+ if (!isEmpty(catalog === null || catalog === void 0 ? void 0 : catalog.elements[element.name])) {
102
+ _context2.next = 7;
103
+ break;
104
+ }
105
+ _context2.next = 6;
106
+ return loadSVGsByItem(element);
107
+ case 6:
108
+ outlineSVGData = _context2.sent;
109
+ catalogInstance = props.catalog;
110
+ elementJs = exporter(_objectSpread(_objectSpread({}, element), {}, {
111
+ outlineSVGData: outlineSVGData,
112
+ type: 'cabinet',
113
+ render2DItem: render2DItem,
114
+ render3DItem: render3DItem
115
+ }));
116
+ if (catalogInstance !== null && catalogInstance !== void 0 && catalogInstance.validateElement(elementJs)) {
117
+ props.projectActions.addElementToCatalog(elementJs);
118
+ }
119
+ case 7:
120
+ // start drawing item
121
+ ARRAY_3D_MODES.includes(state.mode) ? props.itemsActions.selectToolDrawingItem3D(element.name) : props.itemsActions.selectToolDrawingItem(element.name);
122
+ props.projectActions.pushLastSelectedCatalogElementToHistory(element);
123
+ props.projectActions.setIsCabinetDrawing(true);
124
+ case 8:
125
+ return _context2.abrupt("continue", 16);
126
+ case 9:
127
+ _evt$payload = evt.payload, moveType = _evt$payload.moveType, moveValue = _evt$payload.moveValue;
128
+ value = state.getIn(['KitchenConfigurator', 'viewer2D']).toJS();
129
+ _t3 = moveType;
130
+ _context2.next = _t3 === TOP ? 10 : _t3 === BOTTOM ? 11 : _t3 === RIGHT ? 12 : _t3 === LEFT ? 13 : 14;
40
131
  break;
41
- case RIGHT:
132
+ case 10:
133
+ value.f -= moveValue;
134
+ return _context2.abrupt("continue", 14);
135
+ case 11:
136
+ value.f += moveValue;
137
+ return _context2.abrupt("continue", 14);
138
+ case 12:
42
139
  value.e += moveValue;
43
- break;
44
- case LEFT:
140
+ return _context2.abrupt("continue", 14);
141
+ case 13:
45
142
  value.e -= moveValue;
46
- break;
143
+ return _context2.abrupt("continue", 14);
144
+ case 14:
145
+ if (value.e <= 10 && value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth && value.f <= 80 && value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight) props.viewer2DActions.updateCameraView(value);
146
+ return _context2.abrupt("continue", 16);
147
+ case 15:
148
+ defaulTitle = 'Untitle';
149
+ props.projectActions.newProject();
150
+ props.projectActions.rename(defaulTitle);
151
+ return _context2.abrupt("continue", 16);
152
+ case 16:
153
+ case "end":
154
+ return _context2.stop();
47
155
  }
48
- if (value.e <= 10 && value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth && value.f <= 80 && value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight) props.viewer2DActions.updateCameraView(value);
49
- break;
50
- case EXTERNAL_EVENT_NEW_PROJECT:
51
- var defaulTitle = 'Untitle';
52
- props.projectActions.newProject();
53
- props.projectActions.rename(defaulTitle);
54
- break;
55
- }
156
+ }, _callee2);
157
+ }));
158
+ return _handleExternalEvent.apply(this, arguments);
56
159
  }
@@ -8,10 +8,15 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports["default"] = LiteRenderer;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
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"));
15
20
  var _react = _interopRequireWildcard(require("react"));
16
21
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
22
  var _reactRedux = require("react-redux");
@@ -35,10 +40,12 @@ var _projectActions = require("./actions/project-actions");
35
40
  var _exporter = _interopRequireDefault(require("./catalog/utils/exporter"));
36
41
  var THREE = _interopRequireWildcard(require("three"));
37
42
  var _LiteKitchenConfigurator = _interopRequireDefault(require("./LiteKitchenConfigurator"));
38
- var _excluded = ["width", "height", "projectElement", "categoryData", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onEvent", "onSave", "onError"];
43
+ var _excluded = ["width", "height", "projectElement", "categoryData", "dataBundle", "configData", "options", "user", "auth", "featureFlags", "sentry", "analytics", "externalEvent", "onError"];
39
44
  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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
40
45
  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; }
41
46
  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; }
47
+ 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)); }
48
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
42
49
  if (typeof window !== 'undefined') window.THREE = THREE;
43
50
 
44
51
  /* ============================== component ============================= */
@@ -87,6 +94,62 @@ var store = (0, _redux.createStore)(reducer, null, !isProduction && window.devTo
87
94
  return f;
88
95
  });
89
96
  var plugins = [(0, _export2.Keyboard)(), (0, _export2.ConsoleDebugger)()];
97
+ function serializeError(err) {
98
+ try {
99
+ if (!err) return {
100
+ message: 'Unknown error'
101
+ };
102
+ if (err instanceof Error) {
103
+ return {
104
+ name: err.name,
105
+ message: err.message,
106
+ stack: err.stack
107
+ };
108
+ }
109
+ return {
110
+ message: String(err),
111
+ raw: safeJson(err)
112
+ };
113
+ } catch (_unused) {
114
+ return {
115
+ message: 'Error serializing error'
116
+ };
117
+ }
118
+ }
119
+ function safeJson(v) {
120
+ try {
121
+ return JSON.parse(JSON.stringify(v));
122
+ } catch (_unused2) {
123
+ return undefined;
124
+ }
125
+ }
126
+
127
+ /* ---------- Error Boundary that pushes into buffer ---------- */
128
+ var ToolErrorBoundary = /*#__PURE__*/function (_React$Component) {
129
+ function ToolErrorBoundary() {
130
+ (0, _classCallCheck2["default"])(this, ToolErrorBoundary);
131
+ return _callSuper(this, ToolErrorBoundary, arguments);
132
+ }
133
+ (0, _inherits2["default"])(ToolErrorBoundary, _React$Component);
134
+ return (0, _createClass2["default"])(ToolErrorBoundary, [{
135
+ key: "componentDidCatch",
136
+ value: function componentDidCatch(error, info) {
137
+ var pushError = this.props.pushError;
138
+ pushError({
139
+ type: 'render-error',
140
+ error: serializeError(error),
141
+ info: {
142
+ componentStack: info === null || info === void 0 ? void 0 : info.componentStack
143
+ }
144
+ });
145
+ }
146
+ }, {
147
+ key: "render",
148
+ value: function render() {
149
+ return this.props.children;
150
+ }
151
+ }]);
152
+ }(_react["default"].Component);
90
153
  function LiteRenderer(props) {
91
154
  var width = props.width,
92
155
  height = props.height,
@@ -101,10 +164,95 @@ function LiteRenderer(props) {
101
164
  sentry = props.sentry,
102
165
  analytics = props.analytics,
103
166
  externalEvent = props.externalEvent,
104
- onEvent = props.onEvent,
105
- onSave = props.onSave,
106
167
  onError = props.onError,
107
168
  passThrough = (0, _objectWithoutProperties2["default"])(props, _excluded);
169
+
170
+ /* ---------- track last external event ---------- */
171
+ var lastExternalEventRef = (0, _react.useRef)(null);
172
+ (0, _react.useEffect)(function () {
173
+ if (externalEvent) {
174
+ lastExternalEventRef.current = externalEvent;
175
+ }
176
+ }, [externalEvent]);
177
+
178
+ /* ---------- error buffer + last emitted bundle ---------- */
179
+ var errorsBufferRef = (0, _react.useRef)([]); // pending errors (not yet emitted)
180
+ var lastEmittedRef = (0, _react.useRef)({
181
+ externalEvent: null,
182
+ errors: []
183
+ }); // last bundle we sent
184
+ var flushTimerRef = (0, _react.useRef)(null);
185
+ var emit = (0, _react.useCallback)(function (external, errors) {
186
+ var payload = {
187
+ externalEvent: external || null,
188
+ errors: errors || []
189
+ };
190
+ try {
191
+ onError === null || onError === void 0 || onError(payload);
192
+ } catch (_unused3) {}
193
+ // eslint-disable-next-line no-console
194
+ console.debug('[LiteRenderer:onError]', payload);
195
+ lastEmittedRef.current = payload;
196
+ }, [onError]);
197
+
198
+ // batch short bursts (e.g., multiple async errors in same tick)
199
+ var scheduleFlush = (0, _react.useCallback)(function () {
200
+ if (flushTimerRef.current) return;
201
+ flushTimerRef.current = setTimeout(function () {
202
+ flushTimerRef.current = null;
203
+ var errors = errorsBufferRef.current;
204
+ if (!errors.length) return;
205
+ errorsBufferRef.current = [];
206
+ emit(lastExternalEventRef.current, errors);
207
+ }, 0); // micro-batch; increase (e.g. 50ms) if you want coarser batching
208
+ }, [emit]);
209
+ var pushError = (0, _react.useCallback)(function (errPayload) {
210
+ errorsBufferRef.current.push(_objectSpread({
211
+ ts: Date.now()
212
+ }, errPayload));
213
+ scheduleFlush();
214
+ }, [scheduleFlush]);
215
+
216
+ /* ---------- global runtime + async error capture ---------- */
217
+ (0, _react.useEffect)(function () {
218
+ var onWindowError = function onWindowError(event) {
219
+ pushError({
220
+ type: 'runtime-error',
221
+ error: serializeError((event === null || event === void 0 ? void 0 : event.error) || (event === null || event === void 0 ? void 0 : event.message)),
222
+ meta: {
223
+ filename: event === null || event === void 0 ? void 0 : event.filename,
224
+ lineno: event === null || event === void 0 ? void 0 : event.lineno,
225
+ colno: event === null || event === void 0 ? void 0 : event.colno
226
+ }
227
+ });
228
+ };
229
+ var onUnhandledRejection = function onUnhandledRejection(event) {
230
+ pushError({
231
+ type: 'unhandled-rejection',
232
+ error: serializeError(event === null || event === void 0 ? void 0 : event.reason)
233
+ });
234
+ };
235
+ window.addEventListener('error', onWindowError);
236
+ window.addEventListener('unhandledrejection', onUnhandledRejection);
237
+ return function () {
238
+ window.removeEventListener('error', onWindowError);
239
+ window.removeEventListener('unhandledrejection', onUnhandledRejection);
240
+ };
241
+ }, [pushError]);
242
+
243
+ /* ---------- re-trigger last batch when externalEvent changes ---------- */
244
+ var prevExternalEventRef = (0, _react.useRef)(null);
245
+ (0, _react.useEffect)(function () {
246
+ var prev = prevExternalEventRef.current;
247
+ if (prev === externalEvent) return;
248
+ prevExternalEventRef.current = externalEvent;
249
+
250
+ // if we already emitted something before, re-send it with the new event context
251
+ var last = lastEmittedRef.current;
252
+ if (last && last.errors && last.errors.length) {
253
+ emit(lastExternalEventRef.current, last.errors);
254
+ }
255
+ }, [externalEvent, emit]);
108
256
  var _ref = categoryData && categoryData.data || {},
109
257
  catalogs = _ref.catalogs,
110
258
  colorAlias = _ref.colorAlias,
@@ -387,43 +535,6 @@ function LiteRenderer(props) {
387
535
  });
388
536
  for (var x in Item) MyCatalog.registerElement(Item[x]);
389
537
  }, [outlineSVGData, data, appliances, furnishing, lighting]);
390
-
391
- // Forward updates/save moments to host
392
- (0, _react.useEffect)(function () {
393
- if (!onEvent && !onSave && !onError) return;
394
- var unsubscribe = store.subscribe(function () {
395
- var _state$get, _state$get$get, _state$get$get$get;
396
- var state = store.getState();
397
- onEvent === null || onEvent === void 0 || onEvent({
398
- type: 'state-update',
399
- payload: {
400
- state: state
401
- }
402
- });
403
- var pendingSave = state === null || state === void 0 || (_state$get = state.get) === null || _state$get === void 0 || (_state$get = _state$get.call(state, 'KitchenConfigurator')) === null || _state$get === void 0 || (_state$get$get = _state$get.get) === null || _state$get$get === void 0 || (_state$get$get = _state$get$get.call(_state$get, 'misc')) === null || _state$get$get === void 0 || (_state$get$get$get = _state$get$get.get) === null || _state$get$get$get === void 0 ? void 0 : _state$get$get$get.call(_state$get$get, 'pendingSave');
404
- if (pendingSave && onSave) {
405
- try {
406
- var _planner$get, _planner$get2;
407
- var planner = state.get('KitchenConfigurator');
408
- var currentScene = planner !== null && planner !== void 0 && (_planner$get = planner.get) !== null && _planner$get !== void 0 && (_planner$get = _planner$get.call(planner, 'scene')) !== null && _planner$get !== void 0 && _planner$get.toJS ? planner.get('scene').toJS() : (planner === null || planner === void 0 || (_planner$get2 = planner.get) === null || _planner$get2 === void 0 ? void 0 : _planner$get2.call(planner, 'scene')) || null;
409
- onSave({
410
- type: 'save',
411
- payload: {
412
- scene: currentScene
413
- }
414
- });
415
- } catch (e) {
416
- onError === null || onError === void 0 || onError({
417
- type: 'save-error',
418
- error: e
419
- });
420
- }
421
- }
422
- });
423
- return function () {
424
- return unsubscribe();
425
- };
426
- }, [store, onEvent, onSave, onError]);
427
538
  (0, _react.useEffect)(function () {
428
539
  if (projectElement.length === 0) return;
429
540
  if (!catalogInitiated) return;
@@ -441,6 +552,8 @@ function LiteRenderer(props) {
441
552
  }, [project_data, catalogInitiated]);
442
553
  return /*#__PURE__*/_react["default"].createElement(_AppContext["default"].Provider, null, /*#__PURE__*/_react["default"].createElement(_reactRedux.Provider, {
443
554
  store: store
555
+ }, /*#__PURE__*/_react["default"].createElement(ToolErrorBoundary, {
556
+ pushError: pushError
444
557
  }, /*#__PURE__*/_react["default"].createElement(_LiteKitchenConfigurator["default"], (0, _extends2["default"])({
445
558
  catalog: MyCatalog,
446
559
  width: width,
@@ -454,11 +567,8 @@ function LiteRenderer(props) {
454
567
  categoryData: categoryData,
455
568
  data: data,
456
569
  configData: configData,
457
- externalEvent: externalEvent,
458
- onEvent: onEvent,
459
- onSave: onSave,
460
- onError: onError
461
- }, passThrough))));
570
+ externalEvent: externalEvent
571
+ }, passThrough)))));
462
572
  }
463
573
 
464
574
  /* ============================== prop types ============================== */
@@ -481,8 +591,7 @@ LiteRenderer.propTypes = {
481
591
  dsn: _propTypes["default"].string,
482
592
  environment: _propTypes["default"].string
483
593
  }),
484
- onEvent: _propTypes["default"].func,
485
- onSave: _propTypes["default"].func,
594
+ externalEvent: _propTypes["default"].object,
486
595
  onError: _propTypes["default"].func,
487
596
  store: _propTypes["default"].object
488
597
  };
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.addCircularGuide = addCircularGuide;
7
+ exports.addElementToCatalog = addElementToCatalog;
7
8
  exports.addHorizontalGuide = addHorizontalGuide;
8
9
  exports.addVerticalGuide = addVerticalGuide;
9
10
  exports.changeCatalogPage = changeCatalogPage;
@@ -218,6 +219,12 @@ function initCatalog(catalog) {
218
219
  catalog: catalog
219
220
  };
220
221
  }
222
+ function addElementToCatalog(element) {
223
+ return {
224
+ type: _constants.ADD_ELEMENT_TO_CATALOG,
225
+ element: element
226
+ };
227
+ }
221
228
  function updateMouseCoord() {
222
229
  var coords = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
223
230
  x: x,
@@ -28,7 +28,7 @@ function updateCeilHeightUnit(value) {
28
28
  }
29
29
  function updateCameraView(value) {
30
30
  return {
31
- type: _constants.MOVE_PAN,
31
+ type: _constants.UPDATE_2D_CAMERA,
32
32
  value: value
33
33
  };
34
34
  }
@@ -601,6 +601,24 @@ var Project = exports["default"] = /*#__PURE__*/function () {
601
601
  };
602
602
  }
603
603
  }
604
+ }, {
605
+ key: "addElementToCatalog",
606
+ value: function addElementToCatalog(state, element) {
607
+ try {
608
+ var elements = state.getIn(['catalog', 'elements']).toJS();
609
+ elements[element.name] = element;
610
+ var newElements = (0, _models.safeLoadMapList)(elements, _models.CatalogElement);
611
+ state = state.setIn(['catalog', 'elements'], newElements);
612
+ return {
613
+ updatedState: state
614
+ };
615
+ } catch (error) {
616
+ console.log('initCatalogError', error);
617
+ return {
618
+ updatedState: state
619
+ };
620
+ }
621
+ }
604
622
  }, {
605
623
  key: "updateMouseCoord",
606
624
  value: function updateMouseCoord(state, coords) {
@@ -1363,9 +1363,8 @@ function Viewer2D(_ref, _ref2) {
1363
1363
  onMouseDown: onMouseDown,
1364
1364
  onMouseMove: onMouseMove,
1365
1365
  onMouseUp: onMouseUp,
1366
- toolbarProps: {
1367
- position: 'none'
1368
- },
1366
+ miniaturePosition: "none",
1367
+ toolbarPosition: "none",
1369
1368
  detectPinchGesture: false,
1370
1369
  disableDoubleClickZoomWithToolAuto: true,
1371
1370
  ref: Viewer
package/lib/constants.js CHANGED
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.HOLE_ACTIONS = exports.HDR_URLS = exports.HAS_LOADINGBAR = exports.GROUP_TRANSLATE = exports.GROUP_ROTATE = exports.GROUP_ACTIONS = exports.GO_BACK_TO_CATALOG_PAGE = exports.FINISHING_TOUCH = exports.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.EXTERNAL_EVENT_TOGGLE_TO_3D = exports.EXTERNAL_EVENT_TOGGLE_TO_2D = exports.EXTERNAL_EVENT_NEW_PROJECT = exports.EXTERNAL_EVENT_MOVE_PAN = exports.EXTERNAL_EVENT_ADD_WALL = exports.EXTERNAL_EVENT_ADD_ITEM = exports.ERROR_DATABASE = exports.EPSILON = exports.END_UPLOADING_IMAGE = exports.END_ROTATING_ITEM_3D = exports.END_ROTATING_ITEM = exports.END_LOADING = exports.END_FITTING_IMAGE = exports.END_DRAWING_LINE = exports.END_DRAWING_ITEM = exports.END_DRAWING_HOLE_3D = exports.END_DRAWING_HOLE = exports.END_DRAGGING_VERTEX = exports.END_DRAGGING_LINE = exports.END_DRAGGING_ITEM_3D = exports.END_DRAGGING_ITEM = exports.END_DRAGGING_HOLE_3D = exports.END_DRAGGING_HOLE = exports.END_CREATING_HOLE = exports.END_CREATING_CABINET = exports.ELEVATION_VIEW_TITLE = exports.ELEVATION_VIEW_RIGHT = exports.ELEVATION_VIEW_LEFT = exports.ELEVATION_VIEW_KEYWORD = exports.ELEVATION_VIEW_FRONT = exports.ELEVATION_VIEW_BACK = exports.ELEVATION_VIEW = exports.EDIT_WIDTH = exports.EDIT = exports.DUPLICATE_SELECTED = exports.DISTANCE_EPSILON = exports.DIFFERENT_VALUES_PATH_LENGTH = exports.DELTA = exports.DEFAULT_FONT_FAMILY = exports.DECIMAL_PLACES_3 = exports.DECIMAL_PLACES_2 = exports.COPY_PROPERTIES = exports.CLIENTS_NAME = exports.CHANGE_WINDOW_DOOR_MEASURE = exports.CHANGE_WALL_LENGTH_MEASURE = exports.CHANGE_WALL_CABINET_MEASURE = exports.CHANGE_CATALOG_PAGE = exports.CHANGE_BASE_CABINET_MEASURE = exports.CEIL_UNITS_LENGTH = exports.BROWN_COLOR = exports.BOTTOM_MOLDING_LOCATION = exports.BOTTOM = exports.BG_COLOR_OVERLAY = exports.BG_COLOR_HOVER = exports.BG_COLOR_1 = exports.BG_COLOR_0 = exports.BEGIN_UPLOADING_IMAGE = exports.BEGIN_ROTATING_ITEM_3D = exports.BEGIN_ROTATING_ITEM = exports.BEGIN_FITTING_IMAGE = exports.BEGIN_DRAWING_LINE = exports.BEGIN_DRAGGING_VERTEX = exports.BEGIN_DRAGGING_LINE = exports.BEGIN_DRAGGING_ITEM_3D = exports.BEGIN_DRAGGING_ITEM = exports.BEGIN_DRAGGING_HOLE_3D = exports.BEGIN_DRAGGING_HOLE = exports.BASE_CABINET_LAYOUTPOS = exports.ARROW_TEXT_FORECOLOR = exports.ARROW_TEXT_FONTFACE = exports.ARROW_TEXT_BACKCOLOR = exports.ARROW_COLOR = exports.ARRAY_ELEVATION_VIEW_MODES = exports.ARRAY_3D_MODES = exports.AREA_ACTIONS = exports.API_SERVER_URL = exports.ANIMATE_STEP_MIN = exports.ANIMATE_STEP_MAX = exports.ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = exports.ANIMATE_OBJECT = exports.ALTERATE_STATE = exports.ADD_VERTICAL_GUIDE = exports.ADD_TO_GROUP = exports.ADD_LAYER = exports.ADD_HORIZONTAL_GUIDE = exports.ADD_GROUP_FROM_SELECTED = exports.ADD_GROUP = exports.ADD_CIRCULAR_GUIDE = exports.ADD_CABINETS = exports.ADD_APPLIANCES = exports.ACCENT_COLOR = void 0;
7
- exports.REPLACE_SUBMODULE = exports.REPLACE_ITEM = exports.REMOVE_VERTICAL_GUIDE = exports.REMOVE_REPLACE_SUBMODULE = exports.REMOVE_LINEAR = exports.REMOVE_LAYER = exports.REMOVE_HORIZONTAL_GUIDE = exports.REMOVE_GROUP_AND_DELETE_ELEMENTS = exports.REMOVE_GROUP = exports.REMOVE_FROM_GROUP = exports.REMOVE_DRAWING_SUPPORT = exports.REMOVE_CIRCULAR_GUIDE = exports.REMOVE = exports.REDO = exports.RECREATE = exports.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY = exports.PROJECT_RE_NAME = exports.PROJECT_NAME_LENGTH_LIMIT = exports.PROJECT_ACTIONS = exports.PRODUCT = exports.PRIMARY_GREEN_COLOR = exports.PASTE_PROPERTIES = exports.OVERLAP_SOME = exports.OVERLAP_SAME = exports.OVERLAP_NONE = exports.OVERLAP_LINK = exports.OVERLAP_INCLUDED = exports.OPEN_PROJECT_CONFIGURATOR = exports.OPEN_CATALOG = exports.OBJTYPE_MESH = exports.OBJTYPE_GROUP = exports.NO_DATA_DATABASE = exports.NEW_PROJECT_BTN = exports.NEW_PROJECT = exports.NEW_DESIGN = exports.MOVE_PAN = exports.MOVE_COMPONENT = exports.MOLDING_LOCATIONS = exports.MODE_WAITING_DRAWING_LINE = exports.MODE_VIEWING_CATALOG = exports.MODE_UPLOADING_IMAGE = exports.MODE_SNAPPING = exports.MODE_ROTATING_ITEM_3D = exports.MODE_ROTATING_ITEM = exports.MODE_RIGHT_ELEVATION_VIEW = exports.MODE_LEFT_ELEVATION_VIEW = exports.MODE_IDLE_3D = exports.MODE_IDLE = exports.MODE_FRONT_VIEW = exports.MODE_FRONT_ELEVATION_VIEW = exports.MODE_FITTING_IMAGE = exports.MODE_ELEVATION_VIEW = exports.MODE_DRAWING_LINE = exports.MODE_DRAWING_ITEM_3D = exports.MODE_DRAWING_ITEM = exports.MODE_DRAWING_HOLE_3D = exports.MODE_DRAWING_HOLE = exports.MODE_DRAGGING_VERTEX = exports.MODE_DRAGGING_LINE = exports.MODE_DRAGGING_ITEM_3D = exports.MODE_DRAGGING_ITEM = exports.MODE_DRAGGING_HOLE_3D = exports.MODE_DRAGGING_HOLE = exports.MODE_CONFIGURING_PROJECT = exports.MODE_BACK_ELEVATION_VIEW = exports.MODE_3D_VIEW = exports.MODE_3D_FIRST_PERSON = exports.MODE_2D_ZOOM_OUT = exports.MODE_2D_ZOOM_IN = exports.MODE_2D_PAN = exports.MODE = exports.MIN_ANGLE_DISALLOW_DRAW_WALL = exports.MIDDLE_MOLDING_LOCATION = exports.MEPSILON = exports.MAKE_FLOOR_PLAN = exports.LOGOUT = exports.LOGIN_SUCCESS = exports.LOGIN_ERROR = exports.LOCAL_STORAGE_TOKEN_VALUE = exports.LOCAL_STORAGE_TOKEN_NAME = exports.LOCAL_STORAGE_ORIGINAL_TOKEN = exports.LOCAL_STORAGE_CUSTOMER_INFO = exports.LOCAL_STORAGE_CART_ACTION = exports.LOAD_PROJECT = exports.LIST_QUANTITIES = exports.LIST_PARTS = exports.LINE_THICKNESS = exports.LINE_ACTIONS = exports.LEFT = exports.LABEL_COLOR = exports.KITCHEN_KONFIGURATOR = exports.KEYBOARD_BUTTON_CODE = exports.ITEM_TYPE = exports.ITEM_MOVE_UP = exports.ITEMS_ACTIONS = exports.INVERT = exports.INSTALLATION_TYPE_SKU_SUFFIX = exports.INSTALLATION_TYPE_NAME = exports.INSTALLATION_SUFFIX_TYPE = exports.INIT_CATALOG = void 0;
6
+ exports.HDR_URLS = exports.HAS_LOADINGBAR = exports.GROUP_TRANSLATE = exports.GROUP_ROTATE = exports.GROUP_ACTIONS = exports.GO_BACK_TO_CATALOG_PAGE = exports.FINISHING_TOUCH = exports.EXTERNAL_EVENT_TOGGLE_TO_ELEVATION = exports.EXTERNAL_EVENT_TOGGLE_TO_3D = exports.EXTERNAL_EVENT_TOGGLE_TO_2D = exports.EXTERNAL_EVENT_NEW_PROJECT = exports.EXTERNAL_EVENT_MOVE_PAN = exports.EXTERNAL_EVENT_ADD_WALL = exports.EXTERNAL_EVENT_ADD_ITEM = exports.ERROR_DATABASE = exports.EPSILON = exports.END_UPLOADING_IMAGE = exports.END_ROTATING_ITEM_3D = exports.END_ROTATING_ITEM = exports.END_LOADING = exports.END_FITTING_IMAGE = exports.END_DRAWING_LINE = exports.END_DRAWING_ITEM = exports.END_DRAWING_HOLE_3D = exports.END_DRAWING_HOLE = exports.END_DRAGGING_VERTEX = exports.END_DRAGGING_LINE = exports.END_DRAGGING_ITEM_3D = exports.END_DRAGGING_ITEM = exports.END_DRAGGING_HOLE_3D = exports.END_DRAGGING_HOLE = exports.END_CREATING_HOLE = exports.END_CREATING_CABINET = exports.ELEVATION_VIEW_TITLE = exports.ELEVATION_VIEW_RIGHT = exports.ELEVATION_VIEW_LEFT = exports.ELEVATION_VIEW_KEYWORD = exports.ELEVATION_VIEW_FRONT = exports.ELEVATION_VIEW_BACK = exports.ELEVATION_VIEW = exports.EDIT_WIDTH = exports.EDIT = exports.DUPLICATE_SELECTED = exports.DISTANCE_EPSILON = exports.DIFFERENT_VALUES_PATH_LENGTH = exports.DELTA = exports.DEFAULT_FONT_FAMILY = exports.DECIMAL_PLACES_3 = exports.DECIMAL_PLACES_2 = exports.COPY_PROPERTIES = exports.CLIENTS_NAME = exports.CHANGE_WINDOW_DOOR_MEASURE = exports.CHANGE_WALL_LENGTH_MEASURE = exports.CHANGE_WALL_CABINET_MEASURE = exports.CHANGE_CATALOG_PAGE = exports.CHANGE_BASE_CABINET_MEASURE = exports.CEIL_UNITS_LENGTH = exports.BROWN_COLOR = exports.BOTTOM_MOLDING_LOCATION = exports.BOTTOM = exports.BG_COLOR_OVERLAY = exports.BG_COLOR_HOVER = exports.BG_COLOR_1 = exports.BG_COLOR_0 = exports.BEGIN_UPLOADING_IMAGE = exports.BEGIN_ROTATING_ITEM_3D = exports.BEGIN_ROTATING_ITEM = exports.BEGIN_FITTING_IMAGE = exports.BEGIN_DRAWING_LINE = exports.BEGIN_DRAGGING_VERTEX = exports.BEGIN_DRAGGING_LINE = exports.BEGIN_DRAGGING_ITEM_3D = exports.BEGIN_DRAGGING_ITEM = exports.BEGIN_DRAGGING_HOLE_3D = exports.BEGIN_DRAGGING_HOLE = exports.BASE_CABINET_LAYOUTPOS = exports.ARROW_TEXT_FORECOLOR = exports.ARROW_TEXT_FONTFACE = exports.ARROW_TEXT_BACKCOLOR = exports.ARROW_COLOR = exports.ARRAY_ELEVATION_VIEW_MODES = exports.ARRAY_3D_MODES = exports.AREA_ACTIONS = exports.API_SERVER_URL = exports.ANIMATE_STEP_MIN = exports.ANIMATE_STEP_MAX = exports.ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT = exports.ANIMATE_OBJECT = exports.ALTERATE_STATE = exports.ADD_VERTICAL_GUIDE = exports.ADD_TO_GROUP = exports.ADD_LAYER = exports.ADD_HORIZONTAL_GUIDE = exports.ADD_GROUP_FROM_SELECTED = exports.ADD_GROUP = exports.ADD_ELEMENT_TO_CATALOG = exports.ADD_CIRCULAR_GUIDE = exports.ADD_CABINETS = exports.ADD_APPLIANCES = exports.ACCENT_COLOR = void 0;
7
+ exports.REPLACE_SUBMODULE = exports.REPLACE_ITEM = exports.REMOVE_VERTICAL_GUIDE = exports.REMOVE_REPLACE_SUBMODULE = exports.REMOVE_LINEAR = exports.REMOVE_LAYER = exports.REMOVE_HORIZONTAL_GUIDE = exports.REMOVE_GROUP_AND_DELETE_ELEMENTS = exports.REMOVE_GROUP = exports.REMOVE_FROM_GROUP = exports.REMOVE_DRAWING_SUPPORT = exports.REMOVE_CIRCULAR_GUIDE = exports.REMOVE = exports.REDO = exports.RECREATE = exports.PUSH_LAST_SELECTED_CATALOG_ELEMENT_TO_HISTORY = exports.PROJECT_RE_NAME = exports.PROJECT_NAME_LENGTH_LIMIT = exports.PROJECT_ACTIONS = exports.PRODUCT = exports.PRIMARY_GREEN_COLOR = exports.PASTE_PROPERTIES = exports.OVERLAP_SOME = exports.OVERLAP_SAME = exports.OVERLAP_NONE = exports.OVERLAP_LINK = exports.OVERLAP_INCLUDED = exports.OPEN_PROJECT_CONFIGURATOR = exports.OPEN_CATALOG = exports.OBJTYPE_MESH = exports.OBJTYPE_GROUP = exports.NO_DATA_DATABASE = exports.NEW_PROJECT_BTN = exports.NEW_PROJECT = exports.NEW_DESIGN = exports.MOVE_COMPONENT = exports.MOLDING_LOCATIONS = exports.MODE_WAITING_DRAWING_LINE = exports.MODE_VIEWING_CATALOG = exports.MODE_UPLOADING_IMAGE = exports.MODE_SNAPPING = exports.MODE_ROTATING_ITEM_3D = exports.MODE_ROTATING_ITEM = exports.MODE_RIGHT_ELEVATION_VIEW = exports.MODE_LEFT_ELEVATION_VIEW = exports.MODE_IDLE_3D = exports.MODE_IDLE = exports.MODE_FRONT_VIEW = exports.MODE_FRONT_ELEVATION_VIEW = exports.MODE_FITTING_IMAGE = exports.MODE_ELEVATION_VIEW = exports.MODE_DRAWING_LINE = exports.MODE_DRAWING_ITEM_3D = exports.MODE_DRAWING_ITEM = exports.MODE_DRAWING_HOLE_3D = exports.MODE_DRAWING_HOLE = exports.MODE_DRAGGING_VERTEX = exports.MODE_DRAGGING_LINE = exports.MODE_DRAGGING_ITEM_3D = exports.MODE_DRAGGING_ITEM = exports.MODE_DRAGGING_HOLE_3D = exports.MODE_DRAGGING_HOLE = exports.MODE_CONFIGURING_PROJECT = exports.MODE_BACK_ELEVATION_VIEW = exports.MODE_3D_VIEW = exports.MODE_3D_FIRST_PERSON = exports.MODE_2D_ZOOM_OUT = exports.MODE_2D_ZOOM_IN = exports.MODE_2D_PAN = exports.MODE = exports.MIN_ANGLE_DISALLOW_DRAW_WALL = exports.MIDDLE_MOLDING_LOCATION = exports.MEPSILON = exports.MAKE_FLOOR_PLAN = exports.LOGOUT = exports.LOGIN_SUCCESS = exports.LOGIN_ERROR = exports.LOCAL_STORAGE_TOKEN_VALUE = exports.LOCAL_STORAGE_TOKEN_NAME = exports.LOCAL_STORAGE_ORIGINAL_TOKEN = exports.LOCAL_STORAGE_CUSTOMER_INFO = exports.LOCAL_STORAGE_CART_ACTION = exports.LOAD_PROJECT = exports.LIST_QUANTITIES = exports.LIST_PARTS = exports.LINE_THICKNESS = exports.LINE_ACTIONS = exports.LEFT = exports.LABEL_COLOR = exports.KITCHEN_KONFIGURATOR = exports.KEYBOARD_BUTTON_CODE = exports.ITEM_TYPE = exports.ITEM_MOVE_UP = exports.ITEMS_ACTIONS = exports.INVERT = exports.INSTALLATION_TYPE_SKU_SUFFIX = exports.INSTALLATION_TYPE_NAME = exports.INSTALLATION_SUFFIX_TYPE = exports.INIT_CATALOG = exports.HOLE_ACTIONS = void 0;
8
8
  exports.TEXT_COLOR_NEUTRAL_6 = exports.TEXT_COLOR_NEUTRAL_5 = exports.TEXT_COLOR_NEUTRAL_4 = exports.TEXT_COLOR_NEUTRAL_3 = exports.TEXT_COLOR_NEUTRAL_2 = exports.TEXT_COLOR_NEUTRAL_1 = exports.TEXT_COLOR_NEUTRAL_0 = exports.TEXT_COLOR = exports.TECHNICAL_VIEW = exports.TALL_CABINET_LAYOUTPOS = exports.TAKE_PICTURE = exports.SUBTOTAL = exports.SUBMIT_REQUEST_ASSIST = exports.SUBMIT_DESIGN = exports.SUBMIT_ADD_CART = exports.STORE_DIST_ARRAY = exports.STOP_DRAWING_LINE = exports.STEP_CABINET_CHOOSE_PRODUCT = exports.STATUS_WARNING_LIGHT_COLOR = exports.STATUS_WARNING_COLOR = exports.STATUS_POSITIVE_LIGHT_COLOR = exports.STATUS_POSITIVE_COLOR = exports.STATUS_OVERDUE_LIGHT_COLOR = exports.STATUS_OVERDUE_COLOR = exports.STATUS_NEGATIVE_LIGHT_COLOR = exports.STATUS_NEGATIVE_COLOR = exports.STATUS_INFO_LIGHT_COLOR = exports.STATUS_INFO_COLOR = exports.SHIFT2DON = exports.SHIFT2DOFF = exports.SHAPE_SVG_WIDTH = exports.SHAPE_SVG_PADDING = exports.SHAPE_SVG_DEPTH = exports.SHADE_LIGHT_PURPLE_COLOR = exports.SHADE_LIGHT_GREEN_COLOR = exports.SHADE_LIGHT_BLUE_COLOR = exports.SHADE_DARK_PURPLE_COLOR = exports.SHADE_DARK_GREEN_COLOR = exports.SHADE_DARK_BLUE_COLOR = exports.SET_WALL_COLOR = exports.SET_USER_DATA = exports.SET_STATE_PROPERTIES = exports.SET_ROTATE_STATUS = exports.SET_RELATED_LINE = exports.SET_PROPERTIES = exports.SET_PROJECT_PROPERTIES = exports.SET_PROJECT_ID = exports.SET_MOVE_STATUS = exports.SET_MOLDING = exports.SET_MODELLING = exports.SET_MODE = exports.SET_LINES_ATTRIBUTES = exports.SET_LAYER_PROPERTIES = exports.SET_ITEMS_ATTRIBUTES = exports.SET_IS_HELP = exports.SET_IS_CABINET_DRAWING = exports.SET_INITIAL_DOOR_STYLE = exports.SET_HOLES_ATTRIBUTES = exports.SET_HANDLE_MATERIAL = exports.SET_GROUP_PROPERTIES = exports.SET_GROUP_BARYCENTER = exports.SET_GROUP_ATTRIBUTES = exports.SET_FLOOR_STYLES = exports.SET_DOOR_STYLE = exports.SET_DOOR_HANDLE = exports.SET_DISTANT = exports.SET_COUNTER_TOP = exports.SET_BACKSPLASH_VISIBLE = exports.SET_BACKSPLASH = exports.SET_APPLIANCE_MATERIAL = exports.SELECT_TOOL_ZOOM_OUT = exports.SELECT_TOOL_ZOOM_IN = exports.SELECT_TOOL_UPLOAD_IMAGE = exports.SELECT_TOOL_PAN = exports.SELECT_TOOL_EDIT = exports.SELECT_TOOL_DRAWING_LINE = exports.SELECT_TOOL_DRAWING_ITEM_3D = exports.SELECT_TOOL_DRAWING_ITEM = exports.SELECT_TOOL_DRAWING_HOLE_3D = exports.SELECT_TOOL_DRAWING_HOLE = exports.SELECT_TOOL_3D_VIEW = exports.SELECT_TOOL_3D_FIRST_PERSON = exports.SELECT_LINE = exports.SELECT_LAYER = exports.SELECT_ITEM = exports.SELECT_HOLE = exports.SELECT_GROUP = exports.SELECT_DOOR_STYLE = exports.SELECT_AREA = exports.SELECT_ALL = exports.SELECTALL = exports.SECONDARY_PURPLE_COLOR = exports.SECONDARY_BLUE_COLOR = exports.SCENE_ACTIONS = exports.SAVE_PROJECT = exports.SAVE_DESIGN = exports.ROLLBACK = exports.RIGHT = exports.REVIEW_AND_QUOTE = exports.REQUEST_ASSISTANCE = void 0;
9
- exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = void 0;
9
+ exports.ZOOM_VARIABLE = exports.WARRANTY_VIEW = exports.WARRANTY_SUPPORT = exports.WARNING_MESSAGE = exports.WALL_CABINET_LAYOUTPOS = exports.VIEWER3D_ACTIONS = exports.VIEWER2D_ACTIONS = exports.VERTEX_ACTIONS = exports.VALIDATE_ITEM_POSTIONS = exports.USER_ACTIONS = exports.UPDATE_ZOOM_SCALE = exports.UPDATE_ROTATING_ITEM_CHANGED = exports.UPDATE_ROTATING_ITEM = exports.UPDATE_ROTATING = exports.UPDATE_POPUP_OPEN = exports.UPDATE_MOVING_STATE = exports.UPDATE_MOUSE_COORDS = exports.UPDATE_MOLDING = exports.UPDATE_ITEM_POSITION = exports.UPDATE_DRAWING_LINE = exports.UPDATE_DRAWING_ITEM = exports.UPDATE_DRAWING_HOLE_3D = exports.UPDATE_DRAWING_HOLE = exports.UPDATE_DRAGGING_VERTEX = exports.UPDATE_DRAGGING_LINE = exports.UPDATE_DRAGGING_ITEM_CHANGED = exports.UPDATE_DRAGGING_ITEM_3DY = exports.UPDATE_DRAGGING_ITEM_3DX = exports.UPDATE_DRAGGING_ITEM = exports.UPDATE_DRAGGING_HOLE_RULER_CHANGED = exports.UPDATE_DRAGGING_HOLE_CHANGED = exports.UPDATE_DRAGGING_HOLE_3D = exports.UPDATE_DRAGGING_HOLE = exports.UPDATE_CEIL_HEIGHT_UNIT = exports.UPDATE_CEIL_HEIGHT = exports.UPDATE_3D_CEIL_HEIGHT_UNIT = exports.UPDATE_3D_CEIL_HEIGHT = exports.UPDATE_2D_CAMERA = exports.UNSELECT_GROUP = exports.UNSELECT_ALL = exports.UNIT_MILLIMETER = exports.UNIT_MILE = exports.UNIT_METER = exports.UNIT_INCH = exports.UNIT_FOOT = exports.UNIT_CENTIMETER = exports.UNIT_ANGLE = exports.UNITS_LENGTH = exports.UNDO = exports.UNCREATE = exports.TWO_D_FLOOR_PLAN = exports.TOP_MOLDING_LOCATION = exports.TOP = exports.TOGGLE_SNAP = exports.TOGGLE_LOADING_CABINET = exports.TOE_KICK_MOLDING = exports.TITLE_SMALL_COLOR = exports.TITLE_COLOR = exports.THROW_WARNING = exports.THROW_ERROR = exports.TEXT_COLOR_NEUTRAL_7 = void 0;
10
10
  //API server
11
11
  // export const API_SERVER = 'http://localhost:3000/';
12
12
  // ACTIONS project
@@ -42,6 +42,7 @@ var SET_PROJECT_PROPERTIES = exports.SET_PROJECT_PROPERTIES = 'SET_PROJECT_PROPE
42
42
  var SET_PROJECT_ID = exports.SET_PROJECT_ID = 'SET_PROJECT_ID';
43
43
  var OPEN_PROJECT_CONFIGURATOR = exports.OPEN_PROJECT_CONFIGURATOR = 'OPEN_PROJECT_CONFIGURATOR';
44
44
  var INIT_CATALOG = exports.INIT_CATALOG = 'INIT_CATALOG';
45
+ var ADD_ELEMENT_TO_CATALOG = exports.ADD_ELEMENT_TO_CATALOG = 'ADD_ELEMENT_TO_CATALOG';
45
46
  var UPDATE_MOUSE_COORDS = exports.UPDATE_MOUSE_COORDS = 'UPDATE_MOUSE_COORDS';
46
47
  var UPDATE_ZOOM_SCALE = exports.UPDATE_ZOOM_SCALE = 'UPDATE_ZOOM_SCALE';
47
48
  var TOGGLE_SNAP = exports.TOGGLE_SNAP = 'TOGGLE_SNAP';
@@ -68,7 +69,7 @@ var SET_IS_CABINET_DRAWING = exports.SET_IS_CABINET_DRAWING = 'SET_IS_CABINET_DR
68
69
  var SELECT_TOOL_ZOOM_IN = exports.SELECT_TOOL_ZOOM_IN = 'SELECT_TOOL_ZOOM_IN';
69
70
  var SELECT_TOOL_ZOOM_OUT = exports.SELECT_TOOL_ZOOM_OUT = 'SELECT_TOOL_ZOOM_OUT';
70
71
  var SELECT_TOOL_PAN = exports.SELECT_TOOL_PAN = 'SELECT_TOOL_PAN';
71
- var MOVE_PAN = exports.MOVE_PAN = 'MOVE_PAN';
72
+ var UPDATE_2D_CAMERA = exports.UPDATE_2D_CAMERA = 'UPDATE_2D_CAMERA';
72
73
  var CHANGE_WALL_LENGTH_MEASURE = exports.CHANGE_WALL_LENGTH_MEASURE = 'CHANGE_WALL_LENGTH_MEASURE';
73
74
  var CHANGE_BASE_CABINET_MEASURE = exports.CHANGE_BASE_CABINET_MEASURE = 'CHANGE_BASE_CABINET_MEASURE';
74
75
  var CHANGE_WALL_CABINET_MEASURE = exports.CHANGE_WALL_CABINET_MEASURE = 'CHANGE_WALL_CABINET_MEASURE';
@@ -228,6 +229,7 @@ var PROJECT_ACTIONS = exports.PROJECT_ACTIONS = {
228
229
  PROJECT_RE_NAME: PROJECT_RE_NAME,
229
230
  OPEN_PROJECT_CONFIGURATOR: OPEN_PROJECT_CONFIGURATOR,
230
231
  INIT_CATALOG: INIT_CATALOG,
232
+ ADD_ELEMENT_TO_CATALOG: ADD_ELEMENT_TO_CATALOG,
231
233
  UPDATE_MOUSE_COORDS: UPDATE_MOUSE_COORDS,
232
234
  UPDATE_ZOOM_SCALE: UPDATE_ZOOM_SCALE,
233
235
  TOGGLE_SNAP: TOGGLE_SNAP,
@@ -257,7 +259,7 @@ var VIEWER2D_ACTIONS = exports.VIEWER2D_ACTIONS = {
257
259
  SELECT_TOOL_ZOOM_IN: SELECT_TOOL_ZOOM_IN,
258
260
  SELECT_TOOL_ZOOM_OUT: SELECT_TOOL_ZOOM_OUT,
259
261
  SELECT_TOOL_PAN: SELECT_TOOL_PAN,
260
- MOVE_PAN: MOVE_PAN,
262
+ UPDATE_2D_CAMERA: UPDATE_2D_CAMERA,
261
263
  CHANGE_WALL_LENGTH_MEASURE: CHANGE_WALL_LENGTH_MEASURE,
262
264
  CHANGE_BASE_CABINET_MEASURE: CHANGE_BASE_CABINET_MEASURE,
263
265
  CHANGE_WALL_CABINET_MEASURE: CHANGE_WALL_CABINET_MEASURE,