kitchen-simulator 4.4.6 → 5.0.0-new-api

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.
Files changed (49) hide show
  1. package/es/LiteRenderer.js +15 -53
  2. package/es/catalog/factories/area-factory-3d.js +0 -4
  3. package/es/catalog/holes/door-double/door_double.png +0 -0
  4. package/es/catalog/holes/door-panic/panicDoor.png +0 -0
  5. package/es/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  6. package/es/catalog/holes/gate/gate.jpg +0 -0
  7. package/es/catalog/holes/window-clear/texture.png +0 -0
  8. package/es/catalog/holes/window-cross/texture.png +0 -0
  9. package/es/catalog/holes/window-double-hung/texture.png +0 -0
  10. package/es/catalog/holes/window-vertical/texture.png +0 -0
  11. package/es/catalog/utils/item-loader.js +0 -4
  12. package/es/class/item.js +17 -6
  13. package/es/constants.js +11 -6
  14. package/es/devLiteRenderer.js +91 -109
  15. package/es/mappings/external-events/mapExternalEventPayload.js +28 -0
  16. package/es/mappings/external-events/mappers/addItemMapper.js +86 -0
  17. package/es/mappings/external-events/mappers/ccdfMapper.js +86 -0
  18. package/es/mappings/external-events/mappers/ccdfToCDSMapper.js +31 -0
  19. package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +65 -0
  20. package/es/mappings/external-events/mappers/loadProjectMapper.js +62 -0
  21. package/es/mappings/holesToCatalog.js +139 -0
  22. package/es/models.js +12 -1
  23. package/es/utils/isolate-event-handler.js +55 -45
  24. package/es/utils/molding.js +17 -1
  25. package/lib/LiteRenderer.js +17 -55
  26. package/lib/catalog/factories/area-factory-3d.js +0 -4
  27. package/lib/catalog/holes/door-double/door_double.png +0 -0
  28. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  29. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  30. package/lib/catalog/holes/gate/gate.jpg +0 -0
  31. package/lib/catalog/holes/window-clear/texture.png +0 -0
  32. package/lib/catalog/holes/window-cross/texture.png +0 -0
  33. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  34. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  35. package/lib/catalog/utils/item-loader.js +0 -4
  36. package/lib/class/item.js +17 -6
  37. package/lib/constants.js +16 -11
  38. package/lib/devLiteRenderer.js +93 -111
  39. package/lib/mappings/external-events/mapExternalEventPayload.js +33 -0
  40. package/lib/mappings/external-events/mappers/addItemMapper.js +92 -0
  41. package/lib/mappings/external-events/mappers/ccdfMapper.js +93 -0
  42. package/lib/mappings/external-events/mappers/ccdfToCDSMapper.js +37 -0
  43. package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +72 -0
  44. package/lib/mappings/external-events/mappers/loadProjectMapper.js +70 -0
  45. package/lib/mappings/holesToCatalog.js +148 -0
  46. package/lib/models.js +12 -1
  47. package/lib/utils/isolate-event-handler.js +55 -45
  48. package/lib/utils/molding.js +17 -1
  49. package/package.json +1 -1
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mapFromCCDFToCDS = mapFromCCDFToCDS;
7
+ var _utils = require("../../../components/viewer2d/utils");
8
+ function mapFromCCDFToCDS(ccdf_list) {
9
+ // This function make CDS from CCDF_List
10
+ var itemCDSList = [];
11
+ var itemCDSData = {};
12
+ var cabitnetDoorStyleId;
13
+ ccdf_list === null || ccdf_list === void 0 || ccdf_list.forEach(function (asItem) {
14
+ if (!(0, _utils.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
15
+ cabitnetDoorStyleId = asItem.id;
16
+ }
17
+ asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
18
+ if (!(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.placeholder_name) && !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.gltf)) {
19
+ var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
20
+ itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
21
+ }
22
+ itemCDSData['is_euro_cds'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
23
+ itemCDSData['euro_shape_svg'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
24
+ itemCDSData['euro_width'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
25
+ itemCDSData['euro_height'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
26
+ itemCDSData['euro_length'] = !(0, _utils.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
27
+ });
28
+ var data = [];
29
+ data.push(itemCDSData);
30
+ itemCDSList.push({
31
+ itemID: asItem.cabinet_id,
32
+ data: data,
33
+ cabinet_door_style_id: cabitnetDoorStyleId
34
+ });
35
+ });
36
+ return itemCDSList;
37
+ }
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mapChangeDoorStyleEvent = mapChangeDoorStyleEvent;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _constants = require("../../../constants");
10
+ var _helper = require("../../../utils/helper");
11
+ 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; }
12
+ 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
+ function mapChangeDoorStyleEvent(evt, state) {
14
+ var _evt$payload, _layer$toJS, _targetDoorStyle$ccdf;
15
+ if ((0, _helper.isEmpty)(evt)) return null;
16
+ var targetDoorStyle = evt === null || evt === void 0 || (_evt$payload = evt.payload) === null || _evt$payload === void 0 ? void 0 : _evt$payload.doorStyle;
17
+ if ((0, _helper.isEmpty)(targetDoorStyle)) return evt;
18
+ var layerId = state.getIn(['scene', 'selectedLayer']);
19
+ var layer = state.getIn(['scene', 'layers', layerId]);
20
+ if ((0, _helper.isEmpty)(layer)) return evt;
21
+ var handleTexture = layer.get('doorHandle');
22
+ var counterToptexture = layer === null || layer === void 0 || (_layer$toJS = layer.toJS()) === null || _layer$toJS === void 0 || (_layer$toJS = _layer$toJS.counterTop) === null || _layer$toJS === void 0 ? void 0 : _layer$toJS.uri;
23
+
24
+ // make doorStyles and update the doorStyle payload
25
+ var Max_PH = 9;
26
+ var doorStyles = {
27
+ base: targetDoorStyle.texture,
28
+ counttop: counterToptexture,
29
+ interior: _constants.DEFAULT_INTERIOR_URL
30
+ };
31
+ for (var i = 1; i <= Max_PH; i++) {
32
+ doorStyles['base_door_' + i] = targetDoorStyle.texture;
33
+ doorStyles['base_fixed_drawer_door_' + i] = targetDoorStyle.texture;
34
+ doorStyles['base_drawer_' + i] = targetDoorStyle.texture;
35
+ doorStyles['base_drawer_door_' + i] = targetDoorStyle.texture;
36
+ doorStyles['door_handle_' + i] = handleTexture;
37
+ doorStyles['fixed_drawer_door_handle_' + i] = handleTexture;
38
+ doorStyles['drawer_door_handle_' + i] = handleTexture;
39
+ }
40
+ evt.payload.doorStyle = _objectSpread(_objectSpread({}, targetDoorStyle), {}, {
41
+ doorStyles: doorStyles
42
+ });
43
+ // make itemCDS using assets3d
44
+ var itemCDS = [];
45
+ var itemCDSData = {};
46
+ var cabitnetDoorStyleId;
47
+ targetDoorStyle === null || targetDoorStyle === void 0 || (_targetDoorStyle$ccdf = targetDoorStyle.ccdf_list) === null || _targetDoorStyle$ccdf === void 0 || _targetDoorStyle$ccdf.forEach(function (asItem) {
48
+ if (!(0, _helper.isEmpty)(asItem === null || asItem === void 0 ? void 0 : asItem.id)) {
49
+ cabitnetDoorStyleId = asItem.id;
50
+ }
51
+ asItem === null || asItem === void 0 || asItem.assets3d.forEach(function (as) {
52
+ if (!(0, _helper.isEmpty)(as === null || as === void 0 ? void 0 : as.placeholder_name) && !(0, _helper.isEmpty)(as === null || as === void 0 ? void 0 : as.gltf)) {
53
+ var updatedName = 'base_' + (as === null || as === void 0 ? void 0 : as.placeholder_name) + '_gltf';
54
+ itemCDSData[updatedName] = as === null || as === void 0 ? void 0 : as.gltf;
55
+ }
56
+ itemCDSData['is_euro_cds'] = !(0, _helper.isEmpty)(as === null || as === void 0 ? void 0 : as.is_euro_cds) ? as.is_euro_cds : 0;
57
+ itemCDSData['euro_shape_svg'] = !(0, _helper.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_shape_svg) ? as.is_euro_cds : null;
58
+ itemCDSData['euro_width'] = !(0, _helper.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_width) ? as.is_euro_cds : null;
59
+ itemCDSData['euro_height'] = !(0, _helper.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_height) ? as.is_euro_cds : null;
60
+ itemCDSData['euro_length'] = !(0, _helper.isEmpty)(as === null || as === void 0 ? void 0 : as.euro_length) ? as.is_euro_cds : null;
61
+ });
62
+ var data = [];
63
+ data.push(itemCDSData);
64
+ itemCDS.push({
65
+ itemID: asItem.cabinet_id,
66
+ data: data,
67
+ cabinet_door_style_id: cabitnetDoorStyleId
68
+ });
69
+ });
70
+ evt.payload.itemCDS = itemCDS;
71
+ return evt;
72
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.mapLoadProjectEvent = mapLoadProjectEvent;
8
+ exports.updateProjectWithCDSList = updateProjectWithCDSList;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _constants = require("../../../constants");
11
+ var _helper = require("../../../utils/helper");
12
+ 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; }
13
+ 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; }
14
+ function mapLoadProjectEvent(evt, state) {
15
+ // preprocessing for loading project
16
+ // this function make doorStyles using item's doorStyle
17
+ if ((0, _helper.isEmpty)(evt)) return null;
18
+ var layerId = evt.payload.layers['layer-1'].id;
19
+ var layer = evt.payload.layers;
20
+ var itemKeys = Object.keys(layer[layerId].items);
21
+ if ((0, _helper.isEmpty)(layer)) return evt;
22
+ var handleTexture = !(0, _helper.isEmpty)(layer.doorHandle) ? layer.doorHandle : _constants.DEFAULT_DOOR_HANDLE_TEXTURE_URL;
23
+ var counterToptexture = layer.counterTop;
24
+ // make doorStyles and update the doorStyle payload
25
+ var Max_PH = 9;
26
+ for (var i = 0; i < itemKeys.length; i++) {
27
+ var item = layer[layerId].items[itemKeys[i]];
28
+ var doorStyle = item.doorStyle;
29
+ var doorStyles = {
30
+ base: doorStyle.texture,
31
+ counttop: counterToptexture,
32
+ interior: _constants.DEFAULT_INTERIOR_URL
33
+ };
34
+ for (var _i = 1; _i <= Max_PH; _i++) {
35
+ doorStyles['base_door_' + _i] = doorStyle.texture;
36
+ doorStyles['base_fixed_drawer_door_' + _i] = doorStyle.texture;
37
+ doorStyles['base_drawer_' + _i] = doorStyle.texture;
38
+ doorStyles['base_drawer_door_' + _i] = doorStyle.texture;
39
+ doorStyles['door_handle_' + _i] = handleTexture;
40
+ doorStyles['fixed_drawer_door_handle_' + _i] = handleTexture;
41
+ doorStyles['drawer_door_handle_' + _i] = handleTexture;
42
+ }
43
+ item.doorStyle = _objectSpread(_objectSpread({}, doorStyle), {}, {
44
+ doorStyles: doorStyles
45
+ });
46
+ layer[layerId].items[itemKeys[i]] = item;
47
+ }
48
+ return evt;
49
+ }
50
+ function updateProjectWithCDSList(project, cdsList) {
51
+ //This function updates the project json using CDSList
52
+ if ((0, _helper.isEmpty)(project) || (0, _helper.isEmpty)(cdsList)) return project;
53
+ var layerId = project.layers['layer-1'].id;
54
+ var layer = project.layers;
55
+ var itemKeys = Object.keys(layer[layerId].items);
56
+ if ((0, _helper.isEmpty)(itemKeys)) return project;
57
+ var _loop = function _loop(i) {
58
+ cdsList.forEach(function (cds) {
59
+ var _layer$layerId;
60
+ if (((_layer$layerId = layer[layerId]) === null || _layer$layerId === void 0 || (_layer$layerId = _layer$layerId.items[itemKeys[i]]) === null || _layer$layerId === void 0 ? void 0 : _layer$layerId.itemID) === (cds === null || cds === void 0 ? void 0 : cds.itemID)) {
61
+ layer[layerId].items[itemKeys[i]].doorStyle.cds = cds;
62
+ }
63
+ });
64
+ };
65
+ for (var i = 0; i < itemKeys.length; i++) {
66
+ _loop(i);
67
+ }
68
+ project.layers = layer;
69
+ return project;
70
+ }
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.registerDynamicHoles = exports.buildHoleElements = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var Holes = _interopRequireWildcard(require("../catalog/holes/export"));
12
+ 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); }
13
+ 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; }
14
+ 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; }
15
+ var INCH_TO_CM = 2.54;
16
+ var normalizeKey = function normalizeKey(value) {
17
+ return (value !== null && value !== void 0 ? value : '').toString().toLowerCase().replace(/[^a-z0-9]+/g, '');
18
+ };
19
+ var safeParseJson = function safeParseJson(value) {
20
+ if (!value) return null;
21
+ try {
22
+ return JSON.parse(value);
23
+ } catch (_unused) {
24
+ return null;
25
+ }
26
+ };
27
+ var toCatalogLength = function toCatalogLength(value, prop) {
28
+ var _prop$defaultValue;
29
+ if (value == null) return null;
30
+ var unit = prop === null || prop === void 0 || (_prop$defaultValue = prop.defaultValue) === null || _prop$defaultValue === void 0 ? void 0 : _prop$defaultValue.unit;
31
+ if (unit && unit.toLowerCase() === 'in') return value;
32
+ return value * INCH_TO_CM;
33
+ };
34
+ var overrideLengthProperty = function overrideLengthProperty(prop, value) {
35
+ if (!prop || value == null) return prop;
36
+ var length = toCatalogLength(value, prop);
37
+ if (length == null) return prop;
38
+ return _objectSpread(_objectSpread({}, prop), {}, {
39
+ defaultValue: _objectSpread(_objectSpread({}, prop.defaultValue), {}, {
40
+ length: length
41
+ })
42
+ });
43
+ };
44
+ var findBaseHoleTemplate = function findBaseHoleTemplate(hole, templates) {
45
+ var target = normalizeKey(hole === null || hole === void 0 ? void 0 : hole.name);
46
+ if (!target) return null;
47
+ return templates.find(function (template) {
48
+ var _template$info, _template$info2;
49
+ var candidates = [template === null || template === void 0 ? void 0 : template.name, template === null || template === void 0 || (_template$info = template.info) === null || _template$info === void 0 ? void 0 : _template$info.title, template === null || template === void 0 || (_template$info2 = template.info) === null || _template$info2 === void 0 ? void 0 : _template$info2.description].map(normalizeKey);
50
+ return candidates.includes(target);
51
+ }) || null;
52
+ };
53
+ var buildHoleElementFromTemplate = function buildHoleElementFromTemplate(hole, base) {
54
+ var _base$info, _base$info2, _base$info3, _base$info4, _base$info5, _base$structure_json;
55
+ if (!hole || !base) return null;
56
+ var nextInfo = _objectSpread(_objectSpread({}, base.info), {}, {
57
+ title: hole.name || ((_base$info = base.info) === null || _base$info === void 0 ? void 0 : _base$info.title),
58
+ description: ((_base$info2 = base.info) === null || _base$info2 === void 0 ? void 0 : _base$info2.description) || hole.name || ((_base$info3 = base.info) === null || _base$info3 === void 0 ? void 0 : _base$info3.title),
59
+ image: hole.menu_thumbnail || ((_base$info4 = base.info) === null || _base$info4 === void 0 ? void 0 : _base$info4.image),
60
+ url: hole.gltf || ((_base$info5 = base.info) === null || _base$info5 === void 0 ? void 0 : _base$info5.url)
61
+ });
62
+ var nextProperties = _objectSpread({}, base.properties);
63
+ if (nextProperties.width) {
64
+ nextProperties.width = overrideLengthProperty(nextProperties.width, hole.width);
65
+ }
66
+ if (nextProperties.height) {
67
+ nextProperties.height = overrideLengthProperty(nextProperties.height, hole.height);
68
+ }
69
+ if (nextProperties.length) {
70
+ nextProperties.length = overrideLengthProperty(nextProperties.length, hole.length);
71
+ }
72
+ var customConfig = safeParseJson(hole.custom_config);
73
+ var customProps = (customConfig === null || customConfig === void 0 ? void 0 : customConfig.properties) || {};
74
+ Object.keys(customProps).forEach(function (key) {
75
+ if (!nextProperties[key]) return;
76
+ nextProperties[key] = overrideLengthProperty(nextProperties[key], customProps[key]);
77
+ });
78
+ return _objectSpread(_objectSpread({}, base), {}, {
79
+ name: hole.name || base.name,
80
+ info: nextInfo,
81
+ properties: nextProperties,
82
+ structure_json: _objectSpread(_objectSpread({}, base.structure_json || {}), {}, {
83
+ hole_id: hole.id || ((_base$structure_json = base.structure_json) === null || _base$structure_json === void 0 ? void 0 : _base$structure_json.hole_id)
84
+ })
85
+ });
86
+ };
87
+ var buildHoleElements = exports.buildHoleElements = function buildHoleElements(holes) {
88
+ var categories = {
89
+ Doors: [],
90
+ Windows: []
91
+ };
92
+ var elements = [];
93
+ if (!Array.isArray(holes)) return {
94
+ elements: elements,
95
+ categories: categories
96
+ };
97
+ var templates = Object.values(Holes);
98
+ var usedNames = new Set();
99
+ holes.forEach(function (hole) {
100
+ var _base$info6;
101
+ if (!hole || hole.is_deleted) return;
102
+ var base = findBaseHoleTemplate(hole, templates);
103
+ if (!base) return;
104
+ var element = buildHoleElementFromTemplate(hole, base);
105
+ if (!element || !element.name || usedNames.has(element.name)) return;
106
+ usedNames.add(element.name);
107
+ elements.push(element);
108
+ var typeKey = normalizeKey(hole.type);
109
+ if (typeKey === 'window') {
110
+ categories.Windows.push(element);
111
+ } else if (typeKey === 'door') {
112
+ categories.Doors.push(element);
113
+ } else if ((_base$info6 = base.info) !== null && _base$info6 !== void 0 && (_base$info6 = _base$info6.tag) !== null && _base$info6 !== void 0 && _base$info6.includes('window')) {
114
+ categories.Windows.push(element);
115
+ } else {
116
+ categories.Doors.push(element);
117
+ }
118
+ });
119
+ return {
120
+ elements: elements,
121
+ categories: categories
122
+ };
123
+ };
124
+ var registerDynamicHoles = exports.registerDynamicHoles = function registerDynamicHoles(catalog, holePayload) {
125
+ if (!catalog) return;
126
+ var holeElements = (holePayload === null || holePayload === void 0 ? void 0 : holePayload.elements) || [];
127
+ holeElements.forEach(function (element) {
128
+ if (!catalog.hasElement(element.name)) {
129
+ catalog.registerElement(element);
130
+ }
131
+ });
132
+ var categories = (holePayload === null || holePayload === void 0 ? void 0 : holePayload.categories) || {};
133
+ Object.entries(categories).forEach(function (_ref) {
134
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
135
+ name = _ref2[0],
136
+ elements = _ref2[1];
137
+ if (!elements.length) return;
138
+ if (!catalog.hasCategory(name)) {
139
+ catalog.registerCategory(name, name, elements);
140
+ return;
141
+ }
142
+ elements.forEach(function (element) {
143
+ if (!catalog.categoryHasElement(name, element.name)) {
144
+ catalog.addToCategory(name, element);
145
+ }
146
+ });
147
+ });
148
+ };
package/lib/models.js CHANGED
@@ -187,6 +187,15 @@ var Item = exports.Item = /*#__PURE__*/function (_Record7) {
187
187
  (0, _inherits2["default"])(Item, _Record7);
188
188
  return (0, _createClass2["default"])(Item);
189
189
  }((0, _immutable.Record)(_objectSpread(_objectSpread({}, sharedAttributes), {}, {
190
+ long_name: '',
191
+ sizeinfo: new _immutable.Map(),
192
+ description: '',
193
+ base: '',
194
+ shape_svg: '',
195
+ gltf: '',
196
+ is_corner: -1,
197
+ obj_property: new _immutable.Map(),
198
+ outline: '',
190
199
  prototype: 'items',
191
200
  x: 0,
192
201
  y: 0,
@@ -343,13 +352,15 @@ var CatalogElement = exports.CatalogElement = /*#__PURE__*/function (_Record1) {
343
352
  }((0, _immutable.Record)({
344
353
  itemID: -1,
345
354
  name: '',
355
+ long_name: '',
346
356
  prototype: '',
347
357
  info: new _immutable.Map(),
348
358
  properties: new _immutable.Map(),
349
359
  obj: new _immutable.Map(),
350
360
  type: '',
351
361
  cds: new _immutable.Map(),
352
- structure_json: {}
362
+ structure_json: {},
363
+ gltf: ''
353
364
  }, 'CatalogElement'));
354
365
  var Catalog = exports.Catalog = /*#__PURE__*/function (_Record10) {
355
366
  function Catalog() {
@@ -24,6 +24,10 @@ var _molding = require("./molding");
24
24
  var _models = require("../models");
25
25
  var _geometry = require("./geometry");
26
26
  var _skinPanelEngine = require("./skinPanelEngine");
27
+ var _mapExternalEventPayload = require("../mappings/external-events/mapExternalEventPayload");
28
+ var _ccdfMapper = require("../mappings/external-events/mappers/ccdfMapper");
29
+ var _ccdfToCDSMapper = require("../mappings/external-events/mappers/ccdfToCDSMapper");
30
+ var _loadProjectMapper = require("../mappings/external-events/mappers/loadProjectMapper");
27
31
  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; }
28
32
  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; }
29
33
  var PRECISION = 2;
@@ -463,27 +467,28 @@ function updateCabinetPayload(_x3) {
463
467
  }
464
468
  function _updateCabinetPayload() {
465
469
  _updateCabinetPayload = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(cabinetPayload) {
466
- var cabinetPayloadKeys, i, _cabinetPayload$cabin, _cabinetPayload$cabin2;
470
+ var tempPlaceholders, cabinetPayloadKeys, i;
467
471
  return _regenerator["default"].wrap(function (_context6) {
468
472
  while (1) switch (_context6.prev = _context6.next) {
469
473
  case 0:
470
- // let tempPlaceholders = [];
471
- // tempPlaceholders = await parseTempPlaceholdersFromCabinetPayload(
472
- // cabinetPayload
473
- // );
474
+ tempPlaceholders = [];
475
+ _context6.next = 1;
476
+ return parseTempPlaceholdersFromCabinetPayload(cabinetPayload);
477
+ case 1:
478
+ tempPlaceholders = _context6.sent;
474
479
  cabinetPayloadKeys = Object.keys(cabinetPayload);
475
480
  for (i = 0; i < cabinetPayloadKeys.length; i++) {
476
481
  if (cabinetPayloadKeys[i] === 'structure_json') {
477
- cabinetPayload[cabinetPayloadKeys[i]]['placeholders'] = (_cabinetPayload$cabin = (_cabinetPayload$cabin2 = cabinetPayload[cabinetPayloadKeys[i]]['tempPlaceholders'][0]) === null || _cabinetPayload$cabin2 === void 0 ? void 0 : _cabinetPayload$cabin2.placeholders) !== null && _cabinetPayload$cabin !== void 0 ? _cabinetPayload$cabin : [];
478
-
479
482
  // cabinetPayload[cabinetPayloadKeys[i]]['placeholders'] =
480
- // tempPlaceholders[0].placeholders;
481
- // cabinetPayload[cabinetPayloadKeys[i]]['tempPlaceholders'] =
482
- // tempPlaceholders;
483
+ // cabinetPayload[cabinetPayloadKeys[i]]['tempPlaceholders'][0]
484
+ // ?.placeholders ?? [];
485
+
486
+ cabinetPayload[cabinetPayloadKeys[i]]['placeholders'] = tempPlaceholders[0].placeholders;
487
+ cabinetPayload[cabinetPayloadKeys[i]]['tempPlaceholders'] = tempPlaceholders;
483
488
  }
484
489
  }
485
490
  return _context6.abrupt("return", cabinetPayload);
486
- case 1:
491
+ case 2:
487
492
  case "end":
488
493
  return _context6.stop();
489
494
  }
@@ -1219,13 +1224,12 @@ function handleExternalEvent(_x0) {
1219
1224
  }
1220
1225
  function _handleExternalEvent() {
1221
1226
  _handleExternalEvent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0(props) {
1222
- var _evt$payload3, _evt$payload4;
1223
- var evt, state, layerId, layer, _evt$payload, _state$catalog, cdsItems, itemKeys, _loop6, i, newScene, tempState, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _evt$payload5, doorStyle, itemCDS, applyScope, _evt$payload5$itemIds, itemIds, _layerId, allItems, targetItems, idSet, selectedItemIds, _cdsItems, _loop7, _i2, _props$onInternalEven2, _evt$payload6, roomShapeType, width, height, measurementUnit, _doorStyle, value, _value, _evt$payload7, moldingInfo, isGlobal, distElement, _distElement, _evt$payload8, option, _value2, _layerId2, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload9, _evt$payload0, _evt$payload1, _evt$payload10, _layerID, _layer2, orginalItemInfo, originalItem, originalItemPos, replaceItem, _props$configData$mol, _props$configData, _props$configData$ski, _props$configData2, _props$onInternalEven3, sceneData, currentTexture, moldingPieceLength, skinPanelExclusionSKUs, _t5, _t6, _t7;
1227
+ var _evt$payload4, _evt$payload5;
1228
+ var state, evt, layerId, layer, _evt$payload, _state$catalog, cdsItems, itemKeys, _loop6, i, newScene, tempState, _props$onInternalEven, sLineCnt, element, _state$viewer2D, _evt$payload$initialP, mouseX, mouseY, v2d, vPosX, vPosY, layerID, defaulTitle, _evt$payload6, doorStyle, applyScope, itemCDS, _evt$payload6$itemIds, itemIds, _layerId, allItems, targetItems, idSet, selectedItemIds, ccdf_list, _loop7, _i2, _props$onInternalEven2, _evt$payload7, roomShapeType, width, height, measurementUnit, _doorStyle, value, _value, _evt$payload8, moldingInfo, isGlobal, distElement, _distElement, _evt$payload9, option, _value2, _layerId2, _layer, _layer$getIn, selectedLines, selectedHoles, selectedItems, _i4, _i5, _i6, _evt$payload0, _evt$payload1, _evt$payload10, _evt$payload11, _layerID, _layer2, orginalItemInfo, originalItem, originalItemPos, replaceItem, _layer$doorStyle, _currentTexture, _props$configData$mol, _props$configData, _props$configData$ski, _props$configData2, _props$onInternalEven3, sceneData, currentTexture, moldingPieceLength, skinPanelExclusionSKUs, _t5, _t6, _t7;
1224
1229
  return _regenerator["default"].wrap(function (_context11) {
1225
1230
  while (1) switch (_context11.prev = _context11.next) {
1226
1231
  case 0:
1227
1232
  // console.log('***external event****', props.externalEvent);
1228
- evt = props.externalEvent;
1229
1233
  state = getPlannerStateFromProps(props);
1230
1234
  if (state) {
1231
1235
  _context11.next = 1;
@@ -1233,6 +1237,7 @@ function _handleExternalEvent() {
1233
1237
  }
1234
1238
  return _context11.abrupt("return");
1235
1239
  case 1:
1240
+ evt = (0, _mapExternalEventPayload.mapExternalEventPayload)(props.externalEvent, state);
1236
1241
  layerId = state.getIn(['scene', 'selectedLayer']);
1237
1242
  layer = state.getIn(['scene', 'layers', layerId]);
1238
1243
  _t5 = evt === null || evt === void 0 ? void 0 : evt.type;
@@ -1247,19 +1252,19 @@ function _handleExternalEvent() {
1247
1252
  cdsItems = [];
1248
1253
  itemKeys = evt !== null && evt !== void 0 && (_evt$payload = evt.payload) !== null && _evt$payload !== void 0 && (_evt$payload = _evt$payload.layers['layer-1']) !== null && _evt$payload !== void 0 && _evt$payload.items ? Object.keys(evt.payload.layers['layer-1'].items) : [];
1249
1254
  _loop6 = /*#__PURE__*/_regenerator["default"].mark(function _loop6() {
1250
- var _evt$payload2, _it$properties, _it$properties2, _it$properties3, _it$doorStyle2;
1255
+ var _evt$payload3, _it$properties, _it$properties2, _it$properties3, _it$doorStyle2;
1251
1256
  var it;
1252
1257
  return _regenerator["default"].wrap(function (_context0) {
1253
1258
  while (1) switch (_context0.prev = _context0.next) {
1254
1259
  case 0:
1255
- it = evt === null || evt === void 0 || (_evt$payload2 = evt.payload) === null || _evt$payload2 === void 0 || (_evt$payload2 = _evt$payload2.layers['layer-1']) === null || _evt$payload2 === void 0 ? void 0 : _evt$payload2.items[itemKeys[i]]; //////// check altitude of item property and change length from _length (convert length from 'in' fo 'cm')
1260
+ it = evt === null || evt === void 0 || (_evt$payload3 = evt.payload) === null || _evt$payload3 === void 0 || (_evt$payload3 = _evt$payload3.layers['layer-1']) === null || _evt$payload3 === void 0 ? void 0 : _evt$payload3.items[itemKeys[i]]; //////// check altitude of item property and change length from _length (convert length from 'in' fo 'cm')
1256
1261
  if (it !== null && it !== void 0 && (_it$properties = it.properties) !== null && _it$properties !== void 0 && (_it$properties = _it$properties.altitude) !== null && _it$properties !== void 0 && _it$properties.length && it !== null && it !== void 0 && (_it$properties2 = it.properties) !== null && _it$properties2 !== void 0 && (_it$properties2 = _it$properties2.altitude) !== null && _it$properties2 !== void 0 && _it$properties2._unit && it !== null && it !== void 0 && (_it$properties3 = it.properties) !== null && _it$properties3 !== void 0 && (_it$properties3 = _it$properties3.altitude) !== null && _it$properties3 !== void 0 && _it$properties3._length && it.properties.altitude.length !== (0, _convertUnitsLite.convert)(it.properties.altitude._length).from(it.properties.altitude._unit).to('cm')) {
1257
1262
  it.properties.altitude.length = (0, _convertUnitsLite.convert)(it.properties.altitude._length).from(it.properties.altitude._unit).to('cm');
1258
1263
  }
1259
1264
  /////////
1260
1265
  if (!cdsItems.some(function (v) {
1261
1266
  var _it$doorStyle;
1262
- return it.itemID === v.itemID && it.name === v.name && ((_it$doorStyle = it.doorStyle) === null || _it$doorStyle === void 0 || (_it$doorStyle = _it$doorStyle.doorStyles) === null || _it$doorStyle === void 0 ? void 0 : _it$doorStyle.cabinet_door_style_id) === v.cdsId;
1267
+ return it.itemID === v.itemID && it.name === v.name && ((_it$doorStyle = it.doorStyle) === null || _it$doorStyle === void 0 ? void 0 : _it$doorStyle.id) === v.dfId;
1263
1268
  })) cdsItems.push({
1264
1269
  itemID: it.itemID,
1265
1270
  prototype: it.prototype,
@@ -1267,7 +1272,7 @@ function _handleExternalEvent() {
1267
1272
  name: it.name,
1268
1273
  type: it.type,
1269
1274
  sku_number: it.sku_number,
1270
- cdsId: (_it$doorStyle2 = it.doorStyle) === null || _it$doorStyle2 === void 0 || (_it$doorStyle2 = _it$doorStyle2.doorStyles) === null || _it$doorStyle2 === void 0 ? void 0 : _it$doorStyle2.cabinet_door_style_id
1275
+ dfId: (_it$doorStyle2 = it.doorStyle) === null || _it$doorStyle2 === void 0 ? void 0 : _it$doorStyle2.id
1271
1276
  });
1272
1277
  case 1:
1273
1278
  case "end":
@@ -1300,11 +1305,15 @@ function _handleExternalEvent() {
1300
1305
  }
1301
1306
  }, /*#__PURE__*/function () {
1302
1307
  var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(result) {
1303
- var rt, _i;
1308
+ var _evt$payload2;
1309
+ var cdsList, cabinetDefinitionList, rt, _i;
1304
1310
  return _regenerator["default"].wrap(function (_context9) {
1305
1311
  while (1) switch (_context9.prev = _context9.next) {
1306
1312
  case 0:
1307
- rt = mergeSameElements(result === null || result === void 0 ? void 0 : result.elements);
1313
+ cdsList = (0, _ccdfToCDSMapper.mapFromCCDFToCDS)(result === null || result === void 0 ? void 0 : result.ccdf_list);
1314
+ evt.payload = (0, _loadProjectMapper.updateProjectWithCDSList)(evt.payload, cdsList);
1315
+ cabinetDefinitionList = (0, _ccdfMapper.ccdfMapper)(result === null || result === void 0 ? void 0 : result.ccdf_list, evt === null || evt === void 0 || (_evt$payload2 = evt.payload) === null || _evt$payload2 === void 0 ? void 0 : _evt$payload2.layers['layer-1']);
1316
+ rt = mergeSameElements(cabinetDefinitionList);
1308
1317
  _i = 0;
1309
1318
  case 1:
1310
1319
  if (!(_i < (rt === null || rt === void 0 ? void 0 : rt.length))) {
@@ -1381,7 +1390,7 @@ function _handleExternalEvent() {
1381
1390
  case 13:
1382
1391
  return _context11.abrupt("continue", 49);
1383
1392
  case 14:
1384
- _constants.ARRAY_3D_MODES.includes(state.mode) ? props.holesActions.selectToolDrawingHole3D(evt === null || evt === void 0 || (_evt$payload3 = evt.payload) === null || _evt$payload3 === void 0 ? void 0 : _evt$payload3.holeName) : props.holesActions.selectToolDrawingHole(evt === null || evt === void 0 || (_evt$payload4 = evt.payload) === null || _evt$payload4 === void 0 ? void 0 : _evt$payload4.holeName);
1393
+ _constants.ARRAY_3D_MODES.includes(state.mode) ? props.holesActions.selectToolDrawingHole3D(evt === null || evt === void 0 || (_evt$payload4 = evt.payload) === null || _evt$payload4 === void 0 ? void 0 : _evt$payload4.holeName) : props.holesActions.selectToolDrawingHole(evt === null || evt === void 0 || (_evt$payload5 = evt.payload) === null || _evt$payload5 === void 0 ? void 0 : _evt$payload5.holeName);
1385
1394
  return _context11.abrupt("continue", 49);
1386
1395
  case 15:
1387
1396
  moveAndRotatePan2D3D(evt.type, props, evt.payload, state);
@@ -1392,7 +1401,7 @@ function _handleExternalEvent() {
1392
1401
  props.projectActions.rename(defaulTitle);
1393
1402
  return _context11.abrupt("continue", 49);
1394
1403
  case 17:
1395
- _evt$payload5 = evt.payload, doorStyle = _evt$payload5.doorStyle, itemCDS = _evt$payload5.itemCDS, applyScope = _evt$payload5.applyScope, _evt$payload5$itemIds = _evt$payload5.itemIds, itemIds = _evt$payload5$itemIds === void 0 ? [] : _evt$payload5$itemIds;
1404
+ _evt$payload6 = evt.payload, doorStyle = _evt$payload6.doorStyle, applyScope = _evt$payload6.applyScope, itemCDS = _evt$payload6.itemCDS, _evt$payload6$itemIds = _evt$payload6.itemIds, itemIds = _evt$payload6$itemIds === void 0 ? [] : _evt$payload6$itemIds;
1396
1405
  _layerId = state.getIn(['scene', 'selectedLayer']);
1397
1406
  allItems = state.getIn(['scene', 'layers', _layerId, 'items']).toJS();
1398
1407
  targetItems = []; // Prepare idSet for SINGLE or MULTIPLE
@@ -1420,28 +1429,24 @@ function _handleExternalEvent() {
1420
1429
  case 20:
1421
1430
  return _context11.abrupt("continue", 21);
1422
1431
  case 21:
1423
- _cdsItems = [];
1432
+ ccdf_list = [];
1424
1433
  _loop7 = /*#__PURE__*/_regenerator["default"].mark(function _loop7() {
1425
- var _itemCDS$find;
1426
- var item, cdsId;
1434
+ var item;
1427
1435
  return _regenerator["default"].wrap(function (_context10) {
1428
1436
  while (1) switch (_context10.prev = _context10.next) {
1429
1437
  case 0:
1430
1438
  item = targetItems[_i2];
1431
- cdsId = (_itemCDS$find = itemCDS.find(function (itCDS) {
1432
- return itCDS.itemID === item.itemID;
1433
- })) === null || _itemCDS$find === void 0 ? void 0 : _itemCDS$find.cabinet_door_style_id;
1434
- if (cdsId && !_cdsItems.some(function (v) {
1435
- return item.itemID === v.itemID && item.name === v.name && cdsId === v.cdsId;
1439
+ if (!ccdf_list.some(function (v) {
1440
+ return item.itemID === v.itemID && item.name === v.name && doorStyle.id === v.doorFinishId;
1436
1441
  })) {
1437
- _cdsItems.push({
1442
+ ccdf_list.push({
1438
1443
  itemID: item.itemID,
1439
1444
  prototype: item.prototype,
1440
1445
  category: item.category,
1441
1446
  name: item.name,
1442
1447
  type: item.type,
1443
1448
  sku_number: item.sku_number,
1444
- cdsId: cdsId
1449
+ doorFinishId: doorStyle.id
1445
1450
  });
1446
1451
  }
1447
1452
  case 1:
@@ -1462,19 +1467,23 @@ function _handleExternalEvent() {
1462
1467
  _context11.next = 22;
1463
1468
  break;
1464
1469
  case 24:
1465
- if (_cdsItems.length > 0) {
1470
+ if (ccdf_list.length > 0) {
1466
1471
  (_props$onInternalEven2 = props.onInternalEvent) === null || _props$onInternalEven2 === void 0 || _props$onInternalEven2.call(props, {
1467
1472
  type: _constants.INTERNAL_EVENT_ITEMS_CATALOG,
1468
1473
  value: {
1469
- cdsItems: _cdsItems
1474
+ ccdf_list: ccdf_list
1470
1475
  }
1471
- }, /*#__PURE__*/function () {
1476
+ },
1477
+ /*#__PURE__*/
1478
+ // result is ccdf_list
1479
+ function () {
1472
1480
  var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(result) {
1473
- var rt, _i3;
1481
+ var mappedCabinetDefinitionList, rt, _i3;
1474
1482
  return _regenerator["default"].wrap(function (_context1) {
1475
1483
  while (1) switch (_context1.prev = _context1.next) {
1476
1484
  case 0:
1477
- rt = mergeSameElements(result === null || result === void 0 ? void 0 : result.elements);
1485
+ mappedCabinetDefinitionList = (0, _ccdfMapper.ccdfMapper)(result.ccdf_list, layer); // result: ccdf_list
1486
+ rt = mergeSameElements(mappedCabinetDefinitionList);
1478
1487
  _i3 = 0;
1479
1488
  case 1:
1480
1489
  if (!(_i3 < (rt === null || rt === void 0 ? void 0 : rt.length))) {
@@ -1504,7 +1513,7 @@ function _handleExternalEvent() {
1504
1513
  }
1505
1514
  return _context11.abrupt("continue", 49);
1506
1515
  case 25:
1507
- _evt$payload6 = evt.payload, roomShapeType = _evt$payload6.roomShapeType, width = _evt$payload6.width, height = _evt$payload6.height, measurementUnit = _evt$payload6.measurementUnit, _doorStyle = _evt$payload6.doorStyle;
1516
+ _evt$payload7 = evt.payload, roomShapeType = _evt$payload7.roomShapeType, width = _evt$payload7.width, height = _evt$payload7.height, measurementUnit = _evt$payload7.measurementUnit, _doorStyle = _evt$payload7.doorStyle;
1508
1517
  props.projectActions.createRoomWithShape(roomShapeType, width, height, measurementUnit, _doorStyle);
1509
1518
  return _context11.abrupt("continue", 49);
1510
1519
  case 26:
@@ -1533,7 +1542,7 @@ function _handleExternalEvent() {
1533
1542
  props.projectActions.redo();
1534
1543
  return _context11.abrupt("continue", 49);
1535
1544
  case 31:
1536
- _evt$payload7 = evt.payload, moldingInfo = _evt$payload7.moldingInfo, isGlobal = _evt$payload7.isGlobal;
1545
+ _evt$payload8 = evt.payload, moldingInfo = _evt$payload8.moldingInfo, isGlobal = _evt$payload8.isGlobal;
1537
1546
  _context11.next = 32;
1538
1547
  return loadMoldingSvg(moldingInfo);
1539
1548
  case 32:
@@ -1548,7 +1557,7 @@ function _handleExternalEvent() {
1548
1557
  if (_distElement) props.projectActions.remove(_distElement);
1549
1558
  return _context11.abrupt("continue", 49);
1550
1559
  case 35:
1551
- _evt$payload8 = evt.payload, option = _evt$payload8.option, _value2 = _evt$payload8.value;
1560
+ _evt$payload9 = evt.payload, option = _evt$payload9.option, _value2 = _evt$payload9.value;
1552
1561
  _t7 = option;
1553
1562
  _context11.next = _t7 === _constants.PROJECT_SETTING_OPTION.CHANGE_MEASUREMENT_UNIT ? 36 : _t7 === _constants.PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT ? 37 : _t7 === _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_LENGTH_MEASURE ? 38 : _t7 === _constants.PROJECT_SETTING_OPTION.CHANGE_BASE_CABINET_MEASURE ? 39 : _t7 === _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_CABINET_MEASURE ? 40 : _t7 === _constants.PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE ? 41 : 42;
1554
1563
  break;
@@ -1589,7 +1598,7 @@ function _handleExternalEvent() {
1589
1598
  case 45:
1590
1599
  _layerID = state.scene.selectedLayer;
1591
1600
  _layer2 = state.scene.getIn(['layers', _layerID]).toJS();
1592
- orginalItemInfo = evt === null || evt === void 0 || (_evt$payload9 = evt.payload) === null || _evt$payload9 === void 0 ? void 0 : _evt$payload9.orginalItemInfo;
1601
+ orginalItemInfo = evt === null || evt === void 0 || (_evt$payload0 = evt.payload) === null || _evt$payload0 === void 0 ? void 0 : _evt$payload0.orginalItemInfo;
1593
1602
  originalItem = _layer2 === null || _layer2 === void 0 ? void 0 : _layer2.items[orginalItemInfo.id];
1594
1603
  _context11.next = 46;
1595
1604
  return addItemToCatalog(evt.payload.replaceItemInfo, state, props.catalog, props.projectActions);
@@ -1601,10 +1610,10 @@ function _handleExternalEvent() {
1601
1610
  y: originalItem.y
1602
1611
  };
1603
1612
  replaceItem = {
1604
- name: evt === null || evt === void 0 || (_evt$payload0 = evt.payload) === null || _evt$payload0 === void 0 || (_evt$payload0 = _evt$payload0.replaceItemInfo) === null || _evt$payload0 === void 0 ? void 0 : _evt$payload0.name,
1613
+ name: evt === null || evt === void 0 || (_evt$payload1 = evt.payload) === null || _evt$payload1 === void 0 || (_evt$payload1 = _evt$payload1.replaceItemInfo) === null || _evt$payload1 === void 0 ? void 0 : _evt$payload1.name,
1605
1614
  info: {
1606
- width: evt === null || evt === void 0 || (_evt$payload1 = evt.payload) === null || _evt$payload1 === void 0 || (_evt$payload1 = _evt$payload1.replaceItemInfo) === null || _evt$payload1 === void 0 || (_evt$payload1 = _evt$payload1.sizeinfo) === null || _evt$payload1 === void 0 ? void 0 : _evt$payload1.width,
1607
- height: evt === null || evt === void 0 || (_evt$payload10 = evt.payload) === null || _evt$payload10 === void 0 || (_evt$payload10 = _evt$payload10.replaceItemInfo) === null || _evt$payload10 === void 0 || (_evt$payload10 = _evt$payload10.sizeinfo) === null || _evt$payload10 === void 0 ? void 0 : _evt$payload10.height
1615
+ width: evt === null || evt === void 0 || (_evt$payload10 = evt.payload) === null || _evt$payload10 === void 0 || (_evt$payload10 = _evt$payload10.replaceItemInfo) === null || _evt$payload10 === void 0 || (_evt$payload10 = _evt$payload10.sizeinfo) === null || _evt$payload10 === void 0 ? void 0 : _evt$payload10.width,
1616
+ height: evt === null || evt === void 0 || (_evt$payload11 = evt.payload) === null || _evt$payload11 === void 0 || (_evt$payload11 = _evt$payload11.replaceItemInfo) === null || _evt$payload11 === void 0 || (_evt$payload11 = _evt$payload11.sizeinfo) === null || _evt$payload11 === void 0 ? void 0 : _evt$payload11.height
1608
1617
  }
1609
1618
  };
1610
1619
  props.itemsActions.replaceItem(originalItemPos, originalItem, replaceItem);
@@ -1614,7 +1623,8 @@ function _handleExternalEvent() {
1614
1623
  return _context11.abrupt("continue", 49);
1615
1624
  case 48:
1616
1625
  sceneData = state.scene.toJS(); // get molding data for "ReviewForQuote"
1617
- currentTexture = layer.doorStyle !== null || layer.doorStyle !== undefined ? layer.doorStyle : props.state.doorStyle.toJS();
1626
+ currentTexture = (_layer$doorStyle = layer === null || layer === void 0 ? void 0 : layer.doorStyle) !== null && _layer$doorStyle !== void 0 ? _layer$doorStyle : props.state.doorStyle;
1627
+ if (!(0, _helper.isEmpty)(currentTexture) && _immutable.Map.isMap(currentTexture)) currentTexture = (_currentTexture = currentTexture) === null || _currentTexture === void 0 ? void 0 : _currentTexture.toJS();
1618
1628
  moldingPieceLength = (_props$configData$mol = props === null || props === void 0 || (_props$configData = props.configData) === null || _props$configData === void 0 ? void 0 : _props$configData.moldingPieceLength) !== null && _props$configData$mol !== void 0 ? _props$configData$mol : _constants.DEFAULT_MOLDING_PIECE_LENGTH;
1619
1629
  sceneData.layers[layerId].moldingData = (0, _molding.getMoldingDataOfScene2)(layer, props.catalog, currentTexture, moldingPieceLength);
1620
1630