kitchen-simulator 5.0.0-new-api → 5.0.0-new-api.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.
Files changed (187) hide show
  1. package/es/LiteKitchenConfigurator.js +1 -1
  2. package/es/assets/Window.hdr +2100 -0
  3. package/es/assets/img/default/maple.jpg +0 -0
  4. package/es/assets/img/default/steel.jpg +0 -0
  5. package/es/catalog/catalog.js +0 -2
  6. package/es/catalog/utils/exporter.js +2 -0
  7. package/es/class/area.js +0 -1
  8. package/es/class/export.js +1 -3
  9. package/es/components/content.js +1 -3
  10. package/es/components/style/export.js +2 -28
  11. package/es/components/viewer2d/line.js +2 -2
  12. package/es/components/viewer2d/viewer2d.js +0 -1
  13. package/es/components/viewer3d/front3D.js +1 -2
  14. package/es/components/viewer3d/pointer-lock-navigation.js +0 -90
  15. package/es/components/viewer3d/scene-creator.js +7 -5
  16. package/es/components/viewer3d/three-memory-cleaner.js +0 -14
  17. package/es/components/viewer3d/viewer3d.js +1 -1
  18. package/es/constants.js +3 -3
  19. package/es/devLiteRenderer.js +119 -61
  20. package/es/events/external/handleExternalEvent.js +140 -0
  21. package/es/{utils/isolate-event-handler.js → events/external/handleExternalEvent.util.js} +17 -563
  22. package/es/events/external/handlers.addItem.js +47 -0
  23. package/es/events/external/handlers.changeDoorStyle.js +131 -0
  24. package/es/events/external/handlers.elementOps.js +8 -0
  25. package/es/events/external/handlers.finishing.js +26 -0
  26. package/es/events/external/handlers.hole.js +4 -0
  27. package/es/events/external/handlers.loadProject.js +117 -0
  28. package/es/events/external/handlers.molding.js +24 -0
  29. package/es/events/external/handlers.projectLifecycle.js +11 -0
  30. package/es/events/external/handlers.projectSettings.js +32 -0
  31. package/es/events/external/handlers.replaceCabinet.js +41 -0
  32. package/es/events/external/handlers.roomShape.js +8 -0
  33. package/es/events/external/handlers.syncScene.js +21 -0
  34. package/es/events/external/handlers.updateSelectedElements.js +11 -0
  35. package/es/events/external/handlers.viewMode.js +11 -0
  36. package/es/events/external/handlers.viewerNavigation.js +108 -0
  37. package/es/events/external/handlers.wall.js +7 -0
  38. package/es/mappings/external-events/mappers/ccdfMapper.js +2 -2
  39. package/es/mappings/external-events/mappers/changeDoorStyleMapper.js +1 -29
  40. package/es/plugins/keyboard.js +1 -1
  41. package/es/reducers/export.js +2 -4
  42. package/es/reducers/items-reducer.js +1 -1
  43. package/es/reducers/project-reducer.js +1 -1
  44. package/es/reducers/reducer.js +2 -3
  45. package/es/shared/objects/immutable.js +3 -0
  46. package/es/utils/geometry.js +276 -74
  47. package/es/utils/history.js +2 -2
  48. package/es/utils/molding.js +6 -20
  49. package/lib/LiteKitchenConfigurator.js +2 -2
  50. package/lib/assets/Window.hdr +2100 -0
  51. package/lib/assets/img/default/maple.jpg +0 -0
  52. package/lib/assets/img/default/steel.jpg +0 -0
  53. package/lib/catalog/catalog.js +0 -2
  54. package/lib/catalog/utils/exporter.js +2 -0
  55. package/lib/class/area.js +0 -1
  56. package/lib/class/export.js +0 -8
  57. package/lib/components/content.js +1 -3
  58. package/lib/components/style/export.js +1 -105
  59. package/lib/components/viewer2d/line.js +1 -1
  60. package/lib/components/viewer2d/viewer2d.js +0 -1
  61. package/lib/components/viewer3d/front3D.js +1 -2
  62. package/lib/components/viewer3d/pointer-lock-navigation.js +0 -90
  63. package/lib/components/viewer3d/scene-creator.js +7 -5
  64. package/lib/components/viewer3d/three-memory-cleaner.js +0 -14
  65. package/lib/constants.js +8 -8
  66. package/lib/devLiteRenderer.js +118 -60
  67. package/lib/events/external/handleExternalEvent.js +147 -0
  68. package/lib/{utils/isolate-event-handler.js → events/external/handleExternalEvent.util.js} +14 -557
  69. package/lib/events/external/handlers.addItem.js +54 -0
  70. package/lib/events/external/handlers.changeDoorStyle.js +138 -0
  71. package/lib/events/external/handlers.elementOps.js +15 -0
  72. package/lib/events/external/handlers.finishing.js +32 -0
  73. package/lib/events/external/handlers.hole.js +10 -0
  74. package/lib/events/external/handlers.loadProject.js +124 -0
  75. package/lib/events/external/handlers.molding.js +31 -0
  76. package/lib/events/external/handlers.projectLifecycle.js +19 -0
  77. package/lib/events/external/handlers.projectSettings.js +38 -0
  78. package/lib/events/external/handlers.replaceCabinet.js +48 -0
  79. package/lib/events/external/handlers.roomShape.js +14 -0
  80. package/lib/events/external/handlers.syncScene.js +27 -0
  81. package/lib/events/external/handlers.updateSelectedElements.js +17 -0
  82. package/lib/events/external/handlers.viewMode.js +19 -0
  83. package/lib/events/external/handlers.viewerNavigation.js +117 -0
  84. package/lib/events/external/handlers.wall.js +13 -0
  85. package/lib/mappings/external-events/mappers/ccdfMapper.js +2 -2
  86. package/lib/mappings/external-events/mappers/changeDoorStyleMapper.js +1 -29
  87. package/lib/reducers/export.js +1 -9
  88. package/lib/reducers/reducer.js +0 -1
  89. package/lib/shared/objects/immutable.js +9 -0
  90. package/lib/utils/geometry.js +276 -74
  91. package/lib/utils/history.js +1 -1
  92. package/lib/utils/molding.js +6 -20
  93. package/package.json +1 -1
  94. package/es/assets/gltf/door_closet.bin +0 -0
  95. package/es/assets/gltf/door_closet.fbx +0 -0
  96. package/es/assets/gltf/door_exterior.bin +0 -0
  97. package/es/assets/gltf/door_exterior.fbx +0 -0
  98. package/es/assets/gltf/door_interior.bin +0 -0
  99. package/es/assets/gltf/door_interior.fbx +0 -0
  100. package/es/assets/gltf/door_sliding.bin +0 -0
  101. package/es/assets/gltf/door_sliding.fbx +0 -0
  102. package/es/assets/img/png/helper/video_preview_3d.png +0 -0
  103. package/es/assets/img/png/helper/video_preview_start.png +0 -0
  104. package/es/assets/img/svg/color/Brown.svg +0 -9
  105. package/es/assets/img/svg/color/Dark.svg +0 -9
  106. package/es/assets/img/svg/color/Light.svg +0 -9
  107. package/es/assets/img/svg/color/Medium.svg +0 -9
  108. package/es/assets/img/svg/color/Unfinished.svg +0 -9
  109. package/es/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  110. package/es/catalog/lines/wall/textures/bricks3.jpg +0 -0
  111. package/es/catalog/properties/export.js +0 -21
  112. package/es/catalog/properties/property-checkbox.js +0 -68
  113. package/es/catalog/properties/property-color.js +0 -39
  114. package/es/catalog/properties/property-enum.js +0 -50
  115. package/es/catalog/properties/property-hidden.js +0 -19
  116. package/es/catalog/properties/property-lenght-measure.js +0 -100
  117. package/es/catalog/properties/property-length-measure.js +0 -84
  118. package/es/catalog/properties/property-length-measure_hole.js +0 -100
  119. package/es/catalog/properties/property-number.js +0 -48
  120. package/es/catalog/properties/property-read-only.js +0 -26
  121. package/es/catalog/properties/property-string.js +0 -48
  122. package/es/catalog/properties/property-toggle.js +0 -39
  123. package/es/catalog/properties/shared-property-style.js +0 -14
  124. package/es/catalog/utils/FuseUtils.js +0 -79
  125. package/es/class/FuseUtils.js +0 -79
  126. package/es/components/style/button.js +0 -106
  127. package/es/components/style/cancel-button.js +0 -21
  128. package/es/components/style/content-container.js +0 -30
  129. package/es/components/style/content-title.js +0 -25
  130. package/es/components/style/delete-button.js +0 -24
  131. package/es/components/style/form-block.js +0 -20
  132. package/es/components/style/form-color-input.js +0 -26
  133. package/es/components/style/form-label.js +0 -22
  134. package/es/components/style/form-number-input_2.js +0 -200
  135. package/es/components/style/form-select.js +0 -19
  136. package/es/components/style/form-slider.js +0 -60
  137. package/es/components/style/form-text-input.js +0 -69
  138. package/es/reducers/user-reducer.js +0 -41
  139. package/es/styles/export.js +0 -5
  140. package/es/styles/tabs.css +0 -40
  141. package/lib/assets/gltf/door_closet.bin +0 -0
  142. package/lib/assets/gltf/door_closet.fbx +0 -0
  143. package/lib/assets/gltf/door_exterior.bin +0 -0
  144. package/lib/assets/gltf/door_exterior.fbx +0 -0
  145. package/lib/assets/gltf/door_interior.bin +0 -0
  146. package/lib/assets/gltf/door_interior.fbx +0 -0
  147. package/lib/assets/gltf/door_sliding.bin +0 -0
  148. package/lib/assets/gltf/door_sliding.fbx +0 -0
  149. package/lib/assets/img/png/helper/video_preview_3d.png +0 -0
  150. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  151. package/lib/assets/img/svg/color/Brown.svg +0 -9
  152. package/lib/assets/img/svg/color/Dark.svg +0 -9
  153. package/lib/assets/img/svg/color/Light.svg +0 -9
  154. package/lib/assets/img/svg/color/Medium.svg +0 -9
  155. package/lib/assets/img/svg/color/Unfinished.svg +0 -9
  156. package/lib/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  157. package/lib/catalog/lines/wall/textures/bricks3.jpg +0 -0
  158. package/lib/catalog/properties/export.js +0 -81
  159. package/lib/catalog/properties/property-checkbox.js +0 -76
  160. package/lib/catalog/properties/property-color.js +0 -47
  161. package/lib/catalog/properties/property-enum.js +0 -58
  162. package/lib/catalog/properties/property-hidden.js +0 -27
  163. package/lib/catalog/properties/property-lenght-measure.js +0 -108
  164. package/lib/catalog/properties/property-length-measure.js +0 -92
  165. package/lib/catalog/properties/property-length-measure_hole.js +0 -108
  166. package/lib/catalog/properties/property-number.js +0 -56
  167. package/lib/catalog/properties/property-read-only.js +0 -34
  168. package/lib/catalog/properties/property-string.js +0 -56
  169. package/lib/catalog/properties/property-toggle.js +0 -47
  170. package/lib/catalog/properties/shared-property-style.js +0 -21
  171. package/lib/catalog/utils/FuseUtils.js +0 -87
  172. package/lib/class/FuseUtils.js +0 -87
  173. package/lib/components/style/button.js +0 -115
  174. package/lib/components/style/cancel-button.js +0 -29
  175. package/lib/components/style/content-container.js +0 -38
  176. package/lib/components/style/content-title.js +0 -35
  177. package/lib/components/style/delete-button.js +0 -34
  178. package/lib/components/style/form-block.js +0 -28
  179. package/lib/components/style/form-color-input.js +0 -34
  180. package/lib/components/style/form-label.js +0 -30
  181. package/lib/components/style/form-number-input_2.js +0 -209
  182. package/lib/components/style/form-select.js +0 -29
  183. package/lib/components/style/form-slider.js +0 -68
  184. package/lib/components/style/form-text-input.js +0 -78
  185. package/lib/reducers/user-reducer.js +0 -48
  186. package/lib/styles/export.js +0 -13
  187. package/lib/styles/tabs.css +0 -40
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.handleChangeDoorStyleEvent = handleChangeDoorStyleEvent;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ function handleChangeDoorStyleEvent(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8, _x9, _x0, _x1, _x10) {
11
+ return _handleChangeDoorStyleEvent.apply(this, arguments);
12
+ }
13
+ function _handleChangeDoorStyleEvent() {
14
+ _handleChangeDoorStyleEvent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(props, state, layer, payload, DOORSTYLE_SCOPE_SINGLE, DOORSTYLE_SCOPE_MULTIPLE, DOORSTYLE_SCOPE_ALL, INTERNAL_EVENT_ITEMS_CATALOG, mapFromCCDFToCDS, ccdfMapper, mergeSameElements, addItemToCatalog) {
15
+ var doorStyle, applyScope, _payload$itemIds, itemIds, itemCDS, layerId, allItems, targetItems, idSet, selectedItemIds, ccdf_list, _loop, i, _props$onInternalEven, _t;
16
+ return _regenerator["default"].wrap(function (_context3) {
17
+ while (1) switch (_context3.prev = _context3.next) {
18
+ case 0:
19
+ doorStyle = payload.doorStyle, applyScope = payload.applyScope, _payload$itemIds = payload.itemIds, itemIds = _payload$itemIds === void 0 ? [] : _payload$itemIds;
20
+ itemCDS = [];
21
+ layerId = state.getIn(['scene', 'selectedLayer']);
22
+ allItems = state.getIn(['scene', 'layers', layerId, 'items']).toJS();
23
+ targetItems = []; // Prepare idSet for SINGLE or MULTIPLE
24
+ idSet = null;
25
+ if (applyScope === DOORSTYLE_SCOPE_SINGLE) {
26
+ selectedItemIds = state.getIn(['scene', 'layers', layerId, 'selected', 'items']).toJS();
27
+ idSet = new Set(selectedItemIds);
28
+ }
29
+ if (applyScope === DOORSTYLE_SCOPE_MULTIPLE) {
30
+ // itemIds contains item.id (instance IDs)
31
+ idSet = new Set(itemIds);
32
+ }
33
+ _t = applyScope;
34
+ _context3.next = _t === DOORSTYLE_SCOPE_ALL ? 1 : _t === DOORSTYLE_SCOPE_SINGLE ? 2 : _t === DOORSTYLE_SCOPE_MULTIPLE ? 2 : 3;
35
+ break;
36
+ case 1:
37
+ targetItems = Object.values(allItems);
38
+ return _context3.abrupt("continue", 4);
39
+ case 2:
40
+ targetItems = Object.values(allItems).filter(function (item) {
41
+ var _idSet;
42
+ return (_idSet = idSet) === null || _idSet === void 0 ? void 0 : _idSet.has(item.id);
43
+ });
44
+ return _context3.abrupt("continue", 4);
45
+ case 3:
46
+ return _context3.abrupt("continue", 4);
47
+ case 4:
48
+ ccdf_list = [];
49
+ _loop = /*#__PURE__*/_regenerator["default"].mark(function _loop() {
50
+ var item;
51
+ return _regenerator["default"].wrap(function (_context2) {
52
+ while (1) switch (_context2.prev = _context2.next) {
53
+ case 0:
54
+ item = targetItems[i];
55
+ if (!ccdf_list.some(function (v) {
56
+ return item.itemID === v.itemID && item.name === v.name && doorStyle.id === v.doorFinishId;
57
+ })) {
58
+ ccdf_list.push({
59
+ itemID: item.itemID,
60
+ prototype: item.prototype,
61
+ category: item.category,
62
+ name: item.name,
63
+ type: item.type,
64
+ sku_number: item.sku_number,
65
+ doorFinishId: doorStyle.id
66
+ });
67
+ }
68
+ case 1:
69
+ case "end":
70
+ return _context2.stop();
71
+ }
72
+ }, _loop);
73
+ });
74
+ i = 0;
75
+ case 5:
76
+ if (!(i < targetItems.length)) {
77
+ _context3.next = 7;
78
+ break;
79
+ }
80
+ return _context3.delegateYield(_loop(), "t0", 6);
81
+ case 6:
82
+ i++;
83
+ _context3.next = 5;
84
+ break;
85
+ case 7:
86
+ if (ccdf_list.length > 0) {
87
+ (_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
88
+ type: INTERNAL_EVENT_ITEMS_CATALOG,
89
+ value: {
90
+ ccdf_list: ccdf_list
91
+ }
92
+ },
93
+ /*#__PURE__*/
94
+ // result is ccdf_list
95
+ function () {
96
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(result) {
97
+ var mappedCabinetDefinitionList, rt, _i;
98
+ return _regenerator["default"].wrap(function (_context) {
99
+ while (1) switch (_context.prev = _context.next) {
100
+ case 0:
101
+ itemCDS = mapFromCCDFToCDS(result === null || result === void 0 ? void 0 : result.ccdf_list);
102
+ mappedCabinetDefinitionList = ccdfMapper(result.ccdf_list, layer); // result: ccdf_list
103
+ rt = mergeSameElements(mappedCabinetDefinitionList);
104
+ _i = 0;
105
+ case 1:
106
+ if (!(_i < (rt === null || rt === void 0 ? void 0 : rt.length))) {
107
+ _context.next = 3;
108
+ break;
109
+ }
110
+ _context.next = 2;
111
+ return addItemToCatalog(rt[_i], state, props.catalog, props.projectActions);
112
+ case 2:
113
+ _i++;
114
+ _context.next = 1;
115
+ break;
116
+ case 3:
117
+ props.itemsActions.setDoorStyle(doorStyle, itemCDS, applyScope, itemIds);
118
+ case 4:
119
+ case "end":
120
+ return _context.stop();
121
+ }
122
+ }, _callee);
123
+ }));
124
+ return function (_x11) {
125
+ return _ref.apply(this, arguments);
126
+ };
127
+ }());
128
+ } else {
129
+ props.itemsActions.setDoorStyle(doorStyle, itemCDS, applyScope, itemIds);
130
+ }
131
+ case 8:
132
+ case "end":
133
+ return _context3.stop();
134
+ }
135
+ }, _callee2);
136
+ }));
137
+ return _handleChangeDoorStyleEvent.apply(this, arguments);
138
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleDeleteElement = handleDeleteElement;
7
+ exports.handleDuplicateElement = handleDuplicateElement;
8
+ function handleDuplicateElement(props, getElement, payload, state) {
9
+ var distElement = getElement(payload, state);
10
+ if (distElement) props.itemsActions.duplicateSelected(distElement, props.onInternalEvent);
11
+ }
12
+ function handleDeleteElement(props, getElement, payload, state) {
13
+ var distElement = getElement(payload, state);
14
+ if (distElement) props.projectActions.remove(distElement);
15
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleSetFinishing = handleSetFinishing;
7
+ var _constants = require("../../constants");
8
+ function handleSetFinishing(props, state, payload) {
9
+ switch (payload.category) {
10
+ case _constants.FINISHING_TYPE.WALL_COLOR:
11
+ if (state.mode !== _constants.MODE_ELEVATION_VIEW) props.itemsActions.setWallColor(payload.color);
12
+ break;
13
+ case _constants.FINISHING_TYPE.COUNTER_TOP:
14
+ props.itemsActions.setCounterTop({
15
+ uri: payload.texture
16
+ });
17
+ break;
18
+ case _constants.FINISHING_TYPE.FLOOR_STYLE:
19
+ if (state.mode !== _constants.MODE_ELEVATION_VIEW) props.areaActions.setFloorStyles({
20
+ uri: payload.texture
21
+ });
22
+ break;
23
+ case _constants.FINISHING_TYPE.BACKSPLASH:
24
+ if (state.mode !== _constants.MODE_ELEVATION_VIEW) props.itemsActions.setBacksplash({
25
+ uri: payload.texture
26
+ });
27
+ break;
28
+ case _constants.FINISHING_TYPE.DOOR_HANDLE:
29
+ props.itemsActions.setDoorHandle(payload.gltf);
30
+ break;
31
+ }
32
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleAddHole = handleAddHole;
7
+ var _constants = require("../../constants");
8
+ function handleAddHole(props, state, payload) {
9
+ _constants.ARRAY_3D_MODES.includes(state.mode) ? props.holesActions.selectToolDrawingHole3D(payload === null || payload === void 0 ? void 0 : payload.holeName) : props.holesActions.selectToolDrawingHole(payload === null || payload === void 0 ? void 0 : payload.holeName);
10
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.handleLoadProjectEvent = handleLoadProjectEvent;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _convertUnitsLite = require("../../utils/convert-units-lite");
11
+ var _constants = require("../../constants");
12
+ var _models = require("../../models");
13
+ function handleLoadProjectEvent(_x, _x2, _x3, _x4, _x5, _x6, _x7, _x8) {
14
+ return _handleLoadProjectEvent.apply(this, arguments);
15
+ }
16
+ function _handleLoadProjectEvent() {
17
+ _handleLoadProjectEvent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(props, state, evt, mapFromCCDFToCDS, updateProjectWithCDSList, ccdfMapper, mergeSameElements, addItemToCatalog) {
18
+ var _evt$payload, _state$catalog, cdsItems, itemKeys, _loop, i, newScene, tempState, _props$onInternalEven;
19
+ return _regenerator["default"].wrap(function (_context3) {
20
+ while (1) switch (_context3.prev = _context3.next) {
21
+ case 0:
22
+ if (!(evt !== null && evt !== void 0 && evt.payload)) {
23
+ _context3.next = 4;
24
+ break;
25
+ }
26
+ // prepare item data request
27
+ cdsItems = [];
28
+ 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) : [];
29
+ _loop = /*#__PURE__*/_regenerator["default"].mark(function _loop() {
30
+ var _evt$payload3, _it$properties, _it$properties2, _it$properties3, _it$doorStyle2;
31
+ var it;
32
+ return _regenerator["default"].wrap(function (_context2) {
33
+ while (1) switch (_context2.prev = _context2.next) {
34
+ case 0:
35
+ 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')
36
+ 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')) {
37
+ it.properties.altitude.length = (0, _convertUnitsLite.convert)(it.properties.altitude._length).from(it.properties.altitude._unit).to('cm');
38
+ }
39
+ /////////
40
+ if (!cdsItems.some(function (v) {
41
+ var _it$doorStyle;
42
+ 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;
43
+ })) cdsItems.push({
44
+ itemID: it.itemID,
45
+ prototype: it.prototype,
46
+ category: it.category,
47
+ name: it.name,
48
+ type: it.type,
49
+ sku_number: it.sku_number,
50
+ dfId: (_it$doorStyle2 = it.doorStyle) === null || _it$doorStyle2 === void 0 ? void 0 : _it$doorStyle2.id
51
+ });
52
+ case 1:
53
+ case "end":
54
+ return _context2.stop();
55
+ }
56
+ }, _loop);
57
+ });
58
+ i = 0;
59
+ case 1:
60
+ if (!(i < itemKeys.length)) {
61
+ _context3.next = 3;
62
+ break;
63
+ }
64
+ return _context3.delegateYield(_loop(), "t0", 2);
65
+ case 2:
66
+ i++;
67
+ _context3.next = 1;
68
+ break;
69
+ case 3:
70
+ newScene = new _models.Scene(evt === null || evt === void 0 ? void 0 : evt.payload);
71
+ tempState = new _models.State({
72
+ scene: newScene.toJS(),
73
+ catalog: (_state$catalog = state.catalog) === null || _state$catalog === void 0 ? void 0 : _state$catalog.toJS()
74
+ }); // request item catalog data to host app
75
+ if (cdsItems.length > 0) {
76
+ (_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
77
+ type: _constants.INTERNAL_EVENT_ITEMS_CATALOG,
78
+ value: {
79
+ cdsItems: cdsItems
80
+ }
81
+ }, /*#__PURE__*/function () {
82
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(result) {
83
+ var _evt$payload2;
84
+ var cdsList, cabinetDefinitionList, rt, _i;
85
+ return _regenerator["default"].wrap(function (_context) {
86
+ while (1) switch (_context.prev = _context.next) {
87
+ case 0:
88
+ cdsList = mapFromCCDFToCDS(result === null || result === void 0 ? void 0 : result.ccdf_list);
89
+ evt.payload = updateProjectWithCDSList(evt.payload, cdsList);
90
+ cabinetDefinitionList = 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']);
91
+ rt = mergeSameElements(cabinetDefinitionList);
92
+ _i = 0;
93
+ case 1:
94
+ if (!(_i < (rt === null || rt === void 0 ? void 0 : rt.length))) {
95
+ _context.next = 3;
96
+ break;
97
+ }
98
+ _context.next = 2;
99
+ return addItemToCatalog(rt[_i], tempState, props.catalog, props.projectActions);
100
+ case 2:
101
+ _i++;
102
+ _context.next = 1;
103
+ break;
104
+ case 3:
105
+ props.projectActions.loadProject(evt.payload);
106
+ case 4:
107
+ case "end":
108
+ return _context.stop();
109
+ }
110
+ }, _callee);
111
+ }));
112
+ return function (_x9) {
113
+ return _ref.apply(this, arguments);
114
+ };
115
+ }());
116
+ } else props.projectActions.loadProject(evt.payload);
117
+ case 4:
118
+ case "end":
119
+ return _context3.stop();
120
+ }
121
+ }, _callee2);
122
+ }));
123
+ return _handleLoadProjectEvent.apply(this, arguments);
124
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.handleSetMolding = handleSetMolding;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ function handleSetMolding(_x, _x2, _x3) {
11
+ return _handleSetMolding.apply(this, arguments);
12
+ }
13
+ function _handleSetMolding() {
14
+ _handleSetMolding = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(props, loadMoldingSvg, payload) {
15
+ var moldingInfo, isGlobal;
16
+ return _regenerator["default"].wrap(function (_context) {
17
+ while (1) switch (_context.prev = _context.next) {
18
+ case 0:
19
+ moldingInfo = payload.moldingInfo, isGlobal = payload.isGlobal;
20
+ _context.next = 1;
21
+ return loadMoldingSvg(moldingInfo);
22
+ case 1:
23
+ props.itemsActions.setMolding(moldingInfo, isGlobal);
24
+ case 2:
25
+ case "end":
26
+ return _context.stop();
27
+ }
28
+ }, _callee);
29
+ }));
30
+ return _handleSetMolding.apply(this, arguments);
31
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleNewProject = handleNewProject;
7
+ exports.handleRedo = handleRedo;
8
+ exports.handleUndo = handleUndo;
9
+ function handleNewProject(props) {
10
+ var defaulTitle = 'Untitle';
11
+ props.projectActions.newProject();
12
+ props.projectActions.rename(defaulTitle);
13
+ }
14
+ function handleUndo(props) {
15
+ props.projectActions.undo();
16
+ }
17
+ function handleRedo(props) {
18
+ props.projectActions.redo();
19
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleProjectSetting = handleProjectSetting;
7
+ var _constants = require("../../constants");
8
+ var _convertUnitsLite = require("../../utils/convert-units-lite");
9
+ function handleProjectSetting(props, payload, layer) {
10
+ var option = payload.option,
11
+ value = payload.value;
12
+ switch (option) {
13
+ case _constants.PROJECT_SETTING_OPTION.CHANGE_MEASUREMENT_UNIT:
14
+ props.viewer2DActions.updateCeilHeight((0, _convertUnitsLite.convert)(layer.ceilHeight).from(layer.unit).to(value));
15
+ props.viewer2DActions.updateCeilHeightUnit(value);
16
+ props.viewer3DActions.update3DCeilHeightUnit(value);
17
+ props.viewer3DActions.update3DCeilHeight((0, _convertUnitsLite.convert)(layer.ceilHeight).from(layer.unit).to(value));
18
+ break;
19
+ case _constants.PROJECT_SETTING_OPTION.UPDATE_CEIL_HEIGHT:
20
+ props.viewer2DActions.updateCeilHeight(value);
21
+ props.viewer3DActions.update3DCeilHeight(value);
22
+ break;
23
+ case _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_LENGTH_MEASURE:
24
+ props.viewer2DActions.changeWallLengthMeasure(value);
25
+ break;
26
+ case _constants.PROJECT_SETTING_OPTION.CHANGE_BASE_CABINET_MEASURE:
27
+ props.viewer2DActions.changeBaseCabinetMeasure(value);
28
+ break;
29
+ case _constants.PROJECT_SETTING_OPTION.CHANGE_WALL_CABINET_MEASURE:
30
+ props.viewer2DActions.changeWallCabinetMeasure(value);
31
+ break;
32
+ case _constants.PROJECT_SETTING_OPTION.CHANGE_WINDOW_DOOR_MEASURE:
33
+ props.viewer2DActions.changeWindowDoorMeasure(value);
34
+ break;
35
+ default:
36
+ break;
37
+ }
38
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.handleReplaceCabinet = handleReplaceCabinet;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ function handleReplaceCabinet(_x, _x2, _x3, _x4) {
11
+ return _handleReplaceCabinet.apply(this, arguments);
12
+ }
13
+ function _handleReplaceCabinet() {
14
+ _handleReplaceCabinet = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(props, addItemToCatalog, payload, state) {
15
+ var _payload$replaceItemI, _payload$replaceItemI2, _payload$replaceItemI3;
16
+ var layerID, layer, orginalItemInfo, originalItem, originalItemPos, replaceItem;
17
+ return _regenerator["default"].wrap(function (_context) {
18
+ while (1) switch (_context.prev = _context.next) {
19
+ case 0:
20
+ layerID = state.scene.selectedLayer;
21
+ layer = state.scene.getIn(['layers', layerID]).toJS();
22
+ orginalItemInfo = payload === null || payload === void 0 ? void 0 : payload.orginalItemInfo;
23
+ originalItem = layer === null || layer === void 0 ? void 0 : layer.items[orginalItemInfo.id];
24
+ _context.next = 1;
25
+ return addItemToCatalog(payload.replaceItemInfo, state, props.catalog, props.projectActions);
26
+ case 1:
27
+ originalItemPos = {
28
+ rotation: originalItem.rotation,
29
+ selectedItemId: originalItem.id,
30
+ x: originalItem.x,
31
+ y: originalItem.y
32
+ };
33
+ replaceItem = {
34
+ name: payload === null || payload === void 0 || (_payload$replaceItemI = payload.replaceItemInfo) === null || _payload$replaceItemI === void 0 ? void 0 : _payload$replaceItemI.name,
35
+ info: {
36
+ width: payload === null || payload === void 0 || (_payload$replaceItemI2 = payload.replaceItemInfo) === null || _payload$replaceItemI2 === void 0 || (_payload$replaceItemI2 = _payload$replaceItemI2.sizeinfo) === null || _payload$replaceItemI2 === void 0 ? void 0 : _payload$replaceItemI2.width,
37
+ height: payload === null || payload === void 0 || (_payload$replaceItemI3 = payload.replaceItemInfo) === null || _payload$replaceItemI3 === void 0 || (_payload$replaceItemI3 = _payload$replaceItemI3.sizeinfo) === null || _payload$replaceItemI3 === void 0 ? void 0 : _payload$replaceItemI3.height
38
+ }
39
+ };
40
+ props.itemsActions.replaceItem(originalItemPos, originalItem, replaceItem);
41
+ case 2:
42
+ case "end":
43
+ return _context.stop();
44
+ }
45
+ }, _callee);
46
+ }));
47
+ return _handleReplaceCabinet.apply(this, arguments);
48
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleAddRoomShape = handleAddRoomShape;
7
+ function handleAddRoomShape(props, payload) {
8
+ var roomShapeType = payload.roomShapeType,
9
+ width = payload.width,
10
+ height = payload.height,
11
+ measurementUnit = payload.measurementUnit,
12
+ doorStyle = payload.doorStyle;
13
+ props.projectActions.createRoomWithShape(roomShapeType, width, height, measurementUnit, doorStyle);
14
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleSyncScene = handleSyncScene;
7
+ function handleSyncScene(props, state, layer, layerId, getMoldingDataOfScene2, computeSkinPanels, DEFAULT_MOLDING_PIECE_LENGTH, INTERNAL_EVENT_SYNC_SCENE) {
8
+ var _layer$doorStyle, _props$configData$mol, _props$configData, _props$configData$ski, _props$configData2, _props$onInternalEven;
9
+ var sceneData = state.scene.toJS();
10
+ // get molding data for "ReviewForQuote"
11
+ var currentTexture = (_layer$doorStyle = layer === null || layer === void 0 ? void 0 : layer.doorStyle) !== null && _layer$doorStyle !== void 0 ? _layer$doorStyle : props.state.doorStyle;
12
+ if (currentTexture && currentTexture.toJS) currentTexture = currentTexture.toJS();
13
+ var 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 : DEFAULT_MOLDING_PIECE_LENGTH;
14
+ sceneData.layers[layerId].moldingData = getMoldingDataOfScene2(layer, props.catalog, currentTexture, moldingPieceLength);
15
+
16
+ // get skin panel data
17
+ var skinPanelExclusionSKUs = (_props$configData$ski = props === null || props === void 0 || (_props$configData2 = props.configData) === null || _props$configData2 === void 0 ? void 0 : _props$configData2.skinPanelExclusionSKUs) !== null && _props$configData$ski !== void 0 ? _props$configData$ski : [];
18
+ sceneData.layers[layerId].skinPanelData = computeSkinPanels(layer, skinPanelExclusionSKUs, props.catalog);
19
+
20
+ // send scene object from 3DTool to HostApp using internalEvent
21
+ (_props$onInternalEven = props.onInternalEvent) === null || _props$onInternalEven === void 0 || _props$onInternalEven.call(props, {
22
+ type: INTERNAL_EVENT_SYNC_SCENE,
23
+ value: {
24
+ scene: sceneData
25
+ }
26
+ });
27
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleUpdateSelectedElementsEvent = handleUpdateSelectedElementsEvent;
7
+ function handleUpdateSelectedElementsEvent(props, state, evt, EXTERNAL_EVENT_UPDATE_ATTRIBUTE, updateAttributeOfSelectedElement, updatePropertyOfSelectedElement) {
8
+ var layerId = state.getIn(['scene', 'selectedLayer']);
9
+ var layer = state.getIn(['scene', 'layers', layerId]);
10
+ var _layer$getIn = layer.getIn(['selected']),
11
+ selectedLines = _layer$getIn.lines,
12
+ selectedHoles = _layer$getIn.holes,
13
+ selectedItems = _layer$getIn.items;
14
+ for (var i = 0; i < selectedLines.size; i++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(layer.getIn(['lines', selectedLines.get(i)]), evt.payload, state, layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['lines', selectedLines.get(i)]), evt.payload, props.catalog, props.projectActions, evt.callback);
15
+ for (var _i = 0; _i < selectedHoles.size; _i++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(layer.getIn(['holes', selectedHoles.get(_i)]), evt.payload, state, layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['holes', selectedHoles.get(_i)]), evt.payload, props.catalog, props.projectActions, evt.callback);
16
+ for (var _i2 = 0; _i2 < selectedItems.size; _i2++) (evt === null || evt === void 0 ? void 0 : evt.type) === EXTERNAL_EVENT_UPDATE_ATTRIBUTE ? updateAttributeOfSelectedElement(layer.getIn(['items', selectedItems.get(_i2)]), evt.payload, state, layer, props.catalog, props.projectActions, evt.callback) : updatePropertyOfSelectedElement(layer.getIn(['items', selectedItems.get(_i2)]), evt.payload, props.catalog, props.projectActions, evt.callback);
17
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleToggleTo2D = handleToggleTo2D;
7
+ exports.handleToggleTo3D = handleToggleTo3D;
8
+ exports.handleToggleToElevation = handleToggleToElevation;
9
+ function handleToggleTo3D(props, MODE_IDLE_3D_CONST) {
10
+ props.projectActions.unselectAll();
11
+ props.projectActions.setMode(MODE_IDLE_3D_CONST);
12
+ }
13
+ function handleToggleTo2D(props, MODE_IDLE_CONST) {
14
+ props.projectActions.setMode(MODE_IDLE_CONST);
15
+ }
16
+ function handleToggleToElevation(props, layer, MODE_ELEVATION_VIEW_CONST) {
17
+ var sLineCnt = layer.selected.lines.size;
18
+ if (sLineCnt > 0) props.projectActions.setMode(MODE_ELEVATION_VIEW_CONST);
19
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.handleCentering2D = handleCentering2D;
7
+ exports.handleMoveAndRotatePan2D3D = handleMoveAndRotatePan2D3D;
8
+ exports.handleZoomIn = handleZoomIn;
9
+ exports.handleZoomOut = handleZoomOut;
10
+ var _constants = require("../../constants");
11
+ var _helper = require("../../utils/helper");
12
+ function handleMoveAndRotatePan2D3D(eventType, props, payload, state) {
13
+ if (eventType === _constants.EXTERNAL_EVENT_MOVE_PAN) {
14
+ var moveType = payload.moveType,
15
+ moveValue = payload.moveValue;
16
+ var value = state.getIn(['viewer2D']).toJS();
17
+ if (state.mode === _constants.MODE_IDLE) {
18
+ switch (moveType) {
19
+ case _constants.TOP:
20
+ value.f -= moveValue;
21
+ break;
22
+ case _constants.BOTTOM:
23
+ value.f += moveValue;
24
+ break;
25
+ case _constants.RIGHT:
26
+ value.e += moveValue;
27
+ break;
28
+ case _constants.LEFT:
29
+ value.e -= moveValue;
30
+ break;
31
+ }
32
+ (0, _helper.updateViwer2D)(value, props.viewer2DActions);
33
+ } else if (state.mode === _constants.MODE_IDLE_3D) {
34
+ switch (moveType) {
35
+ case _constants.TOP:
36
+ window.interval = setTimeout(function () {
37
+ window.tDKeyDown({
38
+ keyCode: 38
39
+ });
40
+ }, 50);
41
+ break;
42
+ case _constants.BOTTOM:
43
+ window.interval = setTimeout(function () {
44
+ window.tDKeyDown({
45
+ keyCode: 40
46
+ });
47
+ }, 50);
48
+ break;
49
+ case _constants.RIGHT:
50
+ window.interval = setTimeout(function () {
51
+ window.tDKeyDown({
52
+ keyCode: 37
53
+ });
54
+ }, 50);
55
+ break;
56
+ case _constants.LEFT:
57
+ window.interval = setTimeout(function () {
58
+ window.tDKeyDown({
59
+ keyCode: 39
60
+ });
61
+ }, 50);
62
+ break;
63
+ }
64
+ }
65
+ } else if (eventType === _constants.EXTERNAL_EVENT_ROTATE_PAN) {
66
+ var rotateType = payload.rotateType;
67
+ switch (rotateType) {
68
+ case _constants.TOP:
69
+ window.interval = setTimeout(function () {
70
+ window.SPKeyDown({
71
+ keyCode: 87
72
+ });
73
+ }, 50);
74
+ break;
75
+ case _constants.BOTTOM:
76
+ window.interval = setTimeout(function () {
77
+ window.SPKeyDown({
78
+ keyCode: 83
79
+ });
80
+ }, 50);
81
+ break;
82
+ case _constants.RIGHT:
83
+ window.interval = setTimeout(function () {
84
+ window.SPKeyDown({
85
+ keyCode: 68
86
+ });
87
+ }, 50);
88
+ break;
89
+ case _constants.LEFT:
90
+ window.interval = setTimeout(function () {
91
+ window.SPKeyDown({
92
+ keyCode: 65
93
+ });
94
+ }, 50);
95
+ break;
96
+ }
97
+ }
98
+ }
99
+ function handleZoomIn(props, state) {
100
+ var value = state.getIn(['viewer2D']).toJS();
101
+ value.a += 0.1;
102
+ value.d += 0.1;
103
+ value.e -= value.SVGWidth * 0.1 / 2;
104
+ value.f -= value.SVGHeight * 0.1 / 2;
105
+ (0, _helper.updateViwer2D)(value, props.viewer2DActions);
106
+ }
107
+ function handleZoomOut(props, state) {
108
+ var value = state.getIn(['viewer2D']).toJS();
109
+ value.a -= 0.1;
110
+ value.d -= 0.1;
111
+ value.e += value.SVGWidth * 0.1 / 2;
112
+ value.f += value.SVGHeight * 0.1 / 2;
113
+ (0, _helper.updateViwer2D)(value, props.viewer2DActions);
114
+ }
115
+ function handleCentering2D(props, state) {
116
+ (0, _helper.centering2D)(state, props.viewer2DActions);
117
+ }