kitchen-simulator 4.1.0-react-18 → 4.1.1

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 (202) hide show
  1. package/README.md +3 -0
  2. package/es/AppContext.js +1 -1
  3. package/es/LiteKitchenConfigurator.js +162 -111
  4. package/es/LiteRenderer.js +161 -129
  5. package/es/actions/export.js +25 -12
  6. package/es/assets/gltf/door_sliding.bin +0 -0
  7. package/es/assets/img/svg/bottombar/elevation.svg +12 -5
  8. package/es/catalog/catalog.js +21 -5
  9. package/es/catalog/factories/area-factory-3d.js +17 -17
  10. package/es/catalog/factories/wall-factory.js +1 -1
  11. package/es/catalog/holes/window-clear/planner-element.js +2 -2
  12. package/es/catalog/properties/export.js +21 -0
  13. package/es/catalog/properties/property-checkbox.js +68 -0
  14. package/es/catalog/properties/property-color.js +39 -0
  15. package/es/catalog/properties/property-enum.js +50 -0
  16. package/es/catalog/properties/property-hidden.js +19 -0
  17. package/es/catalog/properties/property-lenght-measure.js +100 -0
  18. package/es/catalog/properties/property-length-measure.js +84 -0
  19. package/es/catalog/properties/property-length-measure_hole.js +100 -0
  20. package/es/catalog/properties/property-number.js +48 -0
  21. package/es/catalog/properties/property-read-only.js +26 -0
  22. package/es/catalog/properties/property-string.js +48 -0
  23. package/es/catalog/properties/property-toggle.js +39 -0
  24. package/es/catalog/properties/shared-property-style.js +14 -0
  25. package/es/catalog/utils/exporter.js +24 -11
  26. package/es/catalog/utils/item-loader.js +222 -213
  27. package/es/class/hole.js +0 -2
  28. package/es/class/item.js +89 -70
  29. package/es/class/layer.js +1 -1
  30. package/es/class/line.js +4 -8
  31. package/es/class/project.js +97 -80
  32. package/es/components/content.js +5 -93
  33. package/es/components/export.js +4 -6
  34. package/es/components/style/button.js +106 -0
  35. package/es/components/style/cancel-button.js +21 -0
  36. package/es/components/style/content-container.js +30 -0
  37. package/es/components/style/content-title.js +25 -0
  38. package/es/components/style/delete-button.js +24 -0
  39. package/es/components/style/export.js +28 -2
  40. package/es/components/style/form-block.js +20 -0
  41. package/es/components/style/form-color-input.js +26 -0
  42. package/es/components/style/form-label.js +22 -0
  43. package/es/components/style/form-number-input.js +29 -27
  44. package/es/components/style/form-number-input_2.js +200 -0
  45. package/es/components/style/form-select.js +19 -0
  46. package/es/components/style/form-slider.js +60 -0
  47. package/es/components/style/form-submit-button.js +25 -0
  48. package/es/components/style/form-text-input.js +69 -0
  49. package/es/components/viewer2d/grids/grid-streak.js +1 -1
  50. package/es/components/viewer2d/group.js +5 -4
  51. package/es/components/viewer2d/item.js +155 -359
  52. package/es/components/viewer2d/layer.js +1 -1
  53. package/es/components/viewer2d/line.js +22 -52
  54. package/es/components/viewer2d/ruler.js +16 -11
  55. package/es/components/viewer2d/rulerDist.js +38 -51
  56. package/es/components/viewer2d/rulerX.js +4 -2
  57. package/es/components/viewer2d/rulerY.js +3 -0
  58. package/es/components/viewer2d/scene.js +17 -12
  59. package/es/components/viewer2d/state.js +1 -1
  60. package/es/components/viewer2d/utils.js +2 -2
  61. package/es/components/viewer2d/vertex.js +3 -2
  62. package/es/components/viewer2d/viewer2d.js +56 -87
  63. package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
  64. package/es/components/viewer3d/scene-creator.js +255 -58
  65. package/es/components/viewer3d/viewer3d-first-person.js +24 -26
  66. package/es/components/viewer3d/viewer3d.js +103 -124
  67. package/es/constants.js +7 -2
  68. package/es/devLiteRenderer.js +491 -150
  69. package/es/index.js +590 -21
  70. package/es/models.js +13 -8
  71. package/es/plugins/SVGLoader.js +1414 -0
  72. package/es/plugins/console-debugger.js +34 -0
  73. package/es/plugins/export.js +7 -0
  74. package/es/plugins/keyboard.js +110 -0
  75. package/es/reducers/project-reducer.js +3 -0
  76. package/es/reducers/viewer2d-reducer.js +3 -1
  77. package/es/reducers/viewer3d-reducer.js +3 -1
  78. package/es/styles/export.js +5 -0
  79. package/es/styles/tabs.css +40 -0
  80. package/es/utils/geometry.js +77 -119
  81. package/es/utils/helper.js +38 -1
  82. package/es/utils/isolate-event-handler.js +827 -607
  83. package/es/utils/molding.js +459 -11
  84. package/es/utils/ruler.js +58 -0
  85. package/lib/AppContext.js +1 -1
  86. package/lib/LiteKitchenConfigurator.js +161 -111
  87. package/lib/LiteRenderer.js +160 -129
  88. package/lib/actions/export.js +35 -39
  89. package/lib/assets/gltf/door_sliding.bin +0 -0
  90. package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
  91. package/lib/catalog/catalog.js +20 -4
  92. package/lib/catalog/factories/area-factory-3d.js +14 -14
  93. package/lib/catalog/factories/wall-factory.js +1 -1
  94. package/lib/catalog/holes/window-clear/planner-element.js +2 -2
  95. package/lib/catalog/properties/export.js +81 -0
  96. package/lib/catalog/properties/property-checkbox.js +76 -0
  97. package/lib/catalog/properties/property-color.js +47 -0
  98. package/lib/catalog/properties/property-enum.js +58 -0
  99. package/lib/catalog/properties/property-hidden.js +27 -0
  100. package/lib/catalog/properties/property-lenght-measure.js +108 -0
  101. package/lib/catalog/properties/property-length-measure.js +92 -0
  102. package/lib/catalog/properties/property-length-measure_hole.js +108 -0
  103. package/lib/catalog/properties/property-number.js +56 -0
  104. package/lib/catalog/properties/property-read-only.js +34 -0
  105. package/lib/catalog/properties/property-string.js +56 -0
  106. package/lib/catalog/properties/property-toggle.js +47 -0
  107. package/lib/catalog/properties/shared-property-style.js +21 -0
  108. package/lib/catalog/utils/exporter.js +24 -11
  109. package/lib/catalog/utils/item-loader.js +219 -210
  110. package/lib/class/hole.js +0 -2
  111. package/lib/class/item.js +87 -68
  112. package/lib/class/layer.js +1 -1
  113. package/lib/class/line.js +3 -7
  114. package/lib/class/project.js +97 -80
  115. package/lib/components/content.js +5 -93
  116. package/lib/components/export.js +6 -26
  117. package/lib/components/style/button.js +115 -0
  118. package/lib/components/style/cancel-button.js +29 -0
  119. package/lib/components/style/content-container.js +38 -0
  120. package/lib/components/style/content-title.js +35 -0
  121. package/lib/components/style/delete-button.js +34 -0
  122. package/lib/components/style/export.js +105 -1
  123. package/lib/components/style/form-block.js +28 -0
  124. package/lib/components/style/form-color-input.js +34 -0
  125. package/lib/components/style/form-label.js +30 -0
  126. package/lib/components/style/form-number-input.js +29 -27
  127. package/lib/components/style/form-number-input_2.js +209 -0
  128. package/lib/components/style/form-select.js +29 -0
  129. package/lib/components/style/form-slider.js +68 -0
  130. package/lib/components/style/form-submit-button.js +35 -0
  131. package/lib/components/style/form-text-input.js +78 -0
  132. package/lib/components/viewer2d/grids/grid-streak.js +1 -1
  133. package/lib/components/viewer2d/group.js +5 -4
  134. package/lib/components/viewer2d/item.js +152 -356
  135. package/lib/components/viewer2d/layer.js +1 -1
  136. package/lib/components/viewer2d/line.js +22 -52
  137. package/lib/components/viewer2d/ruler.js +15 -10
  138. package/lib/components/viewer2d/rulerDist.js +38 -51
  139. package/lib/components/viewer2d/rulerX.js +4 -2
  140. package/lib/components/viewer2d/rulerY.js +3 -0
  141. package/lib/components/viewer2d/scene.js +17 -12
  142. package/lib/components/viewer2d/state.js +1 -1
  143. package/lib/components/viewer2d/utils.js +2 -2
  144. package/lib/components/viewer2d/vertex.js +3 -2
  145. package/lib/components/viewer2d/viewer2d.js +54 -84
  146. package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
  147. package/lib/components/viewer3d/scene-creator.js +252 -55
  148. package/lib/components/viewer3d/viewer3d-first-person.js +24 -26
  149. package/lib/components/viewer3d/viewer3d.js +100 -120
  150. package/lib/constants.js +12 -7
  151. package/lib/devLiteRenderer.js +489 -148
  152. package/lib/index.js +592 -21
  153. package/lib/models.js +13 -8
  154. package/lib/plugins/SVGLoader.js +1419 -0
  155. package/lib/plugins/console-debugger.js +42 -0
  156. package/lib/plugins/export.js +25 -0
  157. package/lib/plugins/keyboard.js +117 -0
  158. package/lib/reducers/project-reducer.js +3 -0
  159. package/lib/reducers/viewer2d-reducer.js +3 -1
  160. package/lib/reducers/viewer3d-reducer.js +3 -1
  161. package/lib/styles/export.js +13 -0
  162. package/lib/styles/tabs.css +40 -0
  163. package/lib/utils/geometry.js +77 -119
  164. package/lib/utils/helper.js +40 -1
  165. package/lib/utils/isolate-event-handler.js +827 -606
  166. package/lib/utils/molding.js +460 -9
  167. package/lib/utils/ruler.js +63 -0
  168. package/package.json +20 -15
  169. package/es/mocks/appliancePayload.json +0 -27
  170. package/es/mocks/cabinetPayload.json +0 -1914
  171. package/es/mocks/cabinetPayload2.json +0 -76
  172. package/es/mocks/dataBundle2.json +0 -4
  173. package/es/mocks/distancePayload.json +0 -6
  174. package/es/mocks/doorStylePayload2.json +0 -84
  175. package/es/mocks/furnishingPayload.json +0 -23
  176. package/es/mocks/itemCDSPayload.json +0 -27
  177. package/es/mocks/lightingPayload.json +0 -23
  178. package/es/mocks/mockProps.json +0 -43
  179. package/es/mocks/mockProps2.json +0 -9
  180. package/es/mocks/moldingPayload.json +0 -19
  181. package/es/mocks/projectItemsCatalog.json +0 -133
  182. package/es/mocks/rectangleShape.json +0 -238
  183. package/es/mocks/replaceCabinetPayload.json +0 -81
  184. package/es/mocks/roomShapePayload.json +0 -5
  185. package/es/useAppContext.js +0 -8
  186. package/lib/mocks/appliancePayload.json +0 -27
  187. package/lib/mocks/cabinetPayload.json +0 -1914
  188. package/lib/mocks/cabinetPayload2.json +0 -76
  189. package/lib/mocks/dataBundle2.json +0 -4
  190. package/lib/mocks/distancePayload.json +0 -6
  191. package/lib/mocks/doorStylePayload2.json +0 -84
  192. package/lib/mocks/furnishingPayload.json +0 -23
  193. package/lib/mocks/itemCDSPayload.json +0 -27
  194. package/lib/mocks/lightingPayload.json +0 -23
  195. package/lib/mocks/mockProps.json +0 -43
  196. package/lib/mocks/mockProps2.json +0 -9
  197. package/lib/mocks/moldingPayload.json +0 -19
  198. package/lib/mocks/projectItemsCatalog.json +0 -133
  199. package/lib/mocks/rectangleShape.json +0 -238
  200. package/lib/mocks/replaceCabinetPayload.json +0 -81
  201. package/lib/mocks/roomShapePayload.json +0 -5
  202. package/lib/useAppContext.js +0 -16
@@ -28,18 +28,18 @@ var _utils = require("../../components/viewer2d/utils");
28
28
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _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); }
29
29
  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; }
30
30
  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; }
31
- var INITIAL_NORMAL_MAP = "";
31
+ var INITIAL_NORMAL_MAP = '';
32
32
 
33
33
  // env Map ///////////////
34
34
  var paramsCounter = {
35
- envMap: "HDR",
35
+ envMap: 'HDR',
36
36
  roughness: 0.6,
37
37
  metalness: 0.3,
38
38
  exposure: 1
39
39
  // debug: true
40
40
  };
41
41
  var params = {
42
- envMap: "HDR",
42
+ envMap: 'HDR',
43
43
  roughness: 0.9,
44
44
  metalness: 0.1,
45
45
  metalness_glossy: 0.2,
@@ -47,18 +47,18 @@ var params = {
47
47
  // debug: false
48
48
  };
49
49
  var paramsModel = {
50
- envMap: "HDR",
50
+ envMap: 'HDR',
51
51
  roughness: 0.9,
52
52
  metalness: 0.2,
53
53
  exposure: 1.0
54
54
  // debug: false
55
55
  };
56
56
  var buttons = [{
57
- name: "Edit",
58
- thumbnail: "/assets/img/svg/3d_item_warning_edit.svg"
57
+ name: 'Edit',
58
+ thumbnail: '/assets/img/svg/3d_item_warning_edit.svg'
59
59
  }, {
60
- name: "Info",
61
- thumbnail: "/assets/img/svg/3d_item_warning_info.svg"
60
+ name: 'Info',
61
+ thumbnail: '/assets/img/svg/3d_item_warning_info.svg'
62
62
  }];
63
63
 
64
64
  // /////////////////////////
@@ -74,7 +74,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
74
74
  var x = element.x,
75
75
  y = element.y,
76
76
  rotation = element.rotation;
77
- var el_DSN = "el_DSN",
77
+ var el_DSN = 'el_DSN',
78
78
  doorStylesKeys = [];
79
79
  var _element = element.toJS();
80
80
  if (_element.doorStyle !== undefined) {
@@ -82,10 +82,10 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
82
82
  doorStylesKeys = Object.keys(_element.doorStyle.doorStyles);
83
83
  }
84
84
  }
85
- if ((doorStylesKeys.includes("euro_length") || doorStylesKeys.includes("euro_width") || doorStylesKeys.includes("euro_shape_svg")) && _element.doorStyle.doorStyles.is_euro_cds) {
85
+ if ((doorStylesKeys.includes('euro_length') || doorStylesKeys.includes('euro_width') || doorStylesKeys.includes('euro_shape_svg')) && _element.doorStyle.doorStyles.is_euro_cds) {
86
86
  el_DSN = _element.doorStyle.door_style_name;
87
87
  } else {
88
- el_DSN = "el_DSN";
88
+ el_DSN = 'el_DSN';
89
89
  }
90
90
  var width, depth, el_euro_length, el_euro_width, el_euro_length_unit, el_euro_width_unit, el_is_euro_cds, el_euro_shape_svg;
91
91
  if (doorStylesKeys.length > 0) {
@@ -94,42 +94,42 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
94
94
  el_is_euro_cds = _element.doorStyle.doorStyles.is_euro_cds;
95
95
  el_euro_shape_svg = _element.doorStyle.doorStyles.euro_shape_svg;
96
96
  }
97
- if (el_euro_length === undefined && el_euro_width === undefined) {
98
- el_DSN = "el_DSN";
97
+ if ((0, _helper.isEmpty)(el_euro_length) && (0, _helper.isEmpty)(el_euro_width)) {
98
+ el_DSN = 'el_DSN';
99
99
  }
100
- if (el_DSN === "Euro & Frameless") {
100
+ if (el_DSN === 'Euro & Frameless') {
101
101
  // sizeinfo["depth"] = el_euro_length;
102
102
  // sizeinfo["width"] = el_euro_width;
103
103
  }
104
- var tempWidth = element.properties.get("width");
105
- var tempDepth = element.properties.get("depth");
104
+ var tempWidth = element.properties.get('width');
105
+ var tempDepth = element.properties.get('depth');
106
106
  width = tempWidth && {
107
- length: tempWidth.get("_length"),
108
- unit: tempWidth.get("_unit")
107
+ length: tempWidth.get('_length'),
108
+ unit: tempWidth.get('_unit')
109
109
  };
110
110
  depth = tempDepth && {
111
- length: tempDepth.get("_length"),
112
- unit: tempDepth.get("_unit")
111
+ length: tempDepth.get('_length'),
112
+ unit: tempDepth.get('_unit')
113
113
  };
114
- var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from("in").to("cm");
115
- var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from("in").to("cm");
116
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to("cm");
117
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to("cm");
114
+ var originalWidth = (0, _convertUnitsLite.convert)(sizeinfo.width).from('in').to('cm');
115
+ var originalDepth = (0, _convertUnitsLite.convert)(sizeinfo.depth).from('in').to('cm');
116
+ var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
117
+ var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
118
118
  var padding = (0, _convertUnitsLite.convert)(_constants.SHAPE_SVG_PADDING).from(_constants.UNIT_INCH).to(_constants.UNIT_CENTIMETER);
119
119
  var angle = element.rotation + 90;
120
120
  var textRotation = 0;
121
121
  if (Math.sin(angle * Math.PI / 180) < 0) {
122
122
  textRotation = 180;
123
123
  }
124
- var color = "#eee";
124
+ var color = '#eee';
125
125
  if (layoutpos == _constants.BASE_CABINET_LAYOUTPOS) {
126
- color = "#3f8db3";
126
+ color = '#3f8db3';
127
127
  }
128
128
  if (layoutpos == _constants.TALL_CABINET_LAYOUTPOS) {
129
- color = "#93b3be";
129
+ color = '#93b3be';
130
130
  }
131
131
  if (layoutpos == _constants.WALL_CABINET_LAYOUTPOS) {
132
- color = "#48b08dcc";
132
+ color = '#48b08dcc';
133
133
  }
134
134
  var splitStr = [];
135
135
  var txtContent = [];
@@ -143,7 +143,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
143
143
  var dcId,
144
144
  doorStyle = element.doorStyle;
145
145
  if (doorStyle instanceof _immutable.Map) {
146
- dcId = doorStyle.get("id");
146
+ dcId = doorStyle.get('id');
147
147
  } else {
148
148
  dcId = doorStyle.id;
149
149
  }
@@ -162,7 +162,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
162
162
  splitStr.push(type.slice(lineCount * rowCount));
163
163
  splitStr.forEach(function (el, key) {
164
164
  txtContent.push(/*#__PURE__*/_react["default"].createElement("text", {
165
- key: "text" + key,
165
+ key: 'text' + key,
166
166
  x: "0",
167
167
  y: newDepth / 2 - 12,
168
168
  dy: 16 * key,
@@ -172,16 +172,16 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
172
172
  ,
173
173
  style: {
174
174
  fontWeight: 500,
175
- fontSize: "7px",
176
- textAnchor: "middle",
177
- fill: "#FFF",
178
- display: "block"
175
+ fontSize: '7px',
176
+ textAnchor: 'middle',
177
+ fill: '#FFF',
178
+ display: 'block'
179
179
  }
180
180
  }, el));
181
181
  });
182
182
  var style = {
183
- stroke: element.selected ? "#565658" : "#565658",
184
- strokeWidth: "2px",
183
+ stroke: element.selected ? '#565658' : '#565658',
184
+ strokeWidth: '2px',
185
185
  fill: color
186
186
  };
187
187
  // let arrow_style = { stroke: element.selected ? '#0096fd' : null, strokeWidth: "2px", fill: "#84e1ce" };
@@ -189,8 +189,8 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
189
189
  var rendered = null;
190
190
  var svg_url, svg_width, svg_depth;
191
191
  if (shape_svg || el_euro_shape_svg) {
192
- if (typeof shape_svg == "string" || typeof el_euro_shape_svg == "string") {
193
- if (el_DSN === "Euro & Frameless" && el_is_euro_cds) {
192
+ if (typeof shape_svg == 'string' || typeof el_euro_shape_svg == 'string') {
193
+ if (el_DSN === 'Euro & Frameless' && el_is_euro_cds) {
194
194
  svg_url = el_euro_shape_svg;
195
195
  svg_width = newWidth;
196
196
  svg_depth = newDepth;
@@ -217,20 +217,25 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
217
217
  var warning_buttons = /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", {
218
218
  id: "warning_info_2d",
219
219
  style: {
220
- cursor: "pointer",
220
+ cursor: 'pointer',
221
221
  transform: "translate(".concat(-transX, "px, ").concat(-transY, "px)")
222
222
  },
223
223
  onMouseEnter: function onMouseEnter(event) {
224
- var bbox = event.target.getBoundingClientRect();
225
- if (document.getElementById("warning_box_2d")) {
226
- document.getElementById("warning_box_2d").style.display = "flex";
227
- document.getElementById("warning_box_2d").style.top = "".concat(bbox.top - 60, "px");
228
- document.getElementById("warning_box_2d").style.left = "".concat(bbox.left, "px");
229
- }
224
+ var target = event.currentTarget;
225
+ var tooltip = document.getElementById('warning_box_2d');
226
+ var parent = document.querySelector('#kitchen-simulator-container');
227
+ if (!tooltip || !parent) return;
228
+ var targetRect = target.getBoundingClientRect();
229
+ var parentRect = parent.getBoundingClientRect();
230
+ var left = targetRect.left - parentRect.left;
231
+ var top = targetRect.top - parentRect.top;
232
+ tooltip.style.display = 'flex';
233
+ tooltip.style.left = "".concat(left, "px");
234
+ tooltip.style.top = "".concat(top - 60, "px");
230
235
  },
231
236
  onMouseLeave: function onMouseLeave() {
232
- if (document.getElementById("warning_box_2d")) {
233
- document.getElementById("warning_box_2d").style.display = "none";
237
+ if (document.getElementById('warning_box_2d')) {
238
+ document.getElementById('warning_box_2d').style.display = 'none';
234
239
  }
235
240
  }
236
241
  }, /*#__PURE__*/_react["default"].createElement("circle", {
@@ -249,7 +254,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
249
254
  href: buttons[1].thumbnail
250
255
  })), /*#__PURE__*/_react["default"].createElement("g", {
251
256
  style: {
252
- cursor: "pointer",
257
+ cursor: 'pointer',
253
258
  transform: "translate(".concat(transX, "px, ").concat(transY, "px)")
254
259
  },
255
260
  "data-element-root": true,
@@ -295,7 +300,7 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
295
300
  }, /*#__PURE__*/_react["default"].createElement("image", {
296
301
  preserveAspectRatio: "none",
297
302
  style: {
298
- pointerEvents: "none"
303
+ pointerEvents: 'none'
299
304
  },
300
305
  href: svg_url,
301
306
  width: "".concat(newWidth + 2 * padding_width),
@@ -308,16 +313,16 @@ function render2DItem(element, layer, scene, sizeinfo, layoutpos, is_corner, sha
308
313
  y: "".concat(padding_depth),
309
314
  width: "".concat(newWidth),
310
315
  height: "".concat(newDepth),
311
- visibility: "hidden",
316
+ visibility: 'hidden',
312
317
  style: {
313
- pointerEvents: "all",
318
+ pointerEvents: 'all',
314
319
  opacity: 0.7,
315
- postion: "relative"
320
+ postion: 'relative'
316
321
  }
317
322
  }), /*#__PURE__*/_react["default"].createElement("g", {
318
323
  transform: "translate(".concat(padding_width, ",").concat(padding_depth, ")")
319
- }, txtContent)), element.category === "cabinet" && /*#__PURE__*/_react["default"].createElement("g", {
320
- visibility: (0, _utils.isWarningItem)(element) ? "visible" : "hidden"
324
+ }, txtContent)), element.category === 'cabinet' && /*#__PURE__*/_react["default"].createElement("g", {
325
+ visibility: (0, _utils.isWarningItem)(element) ? 'visible' : 'hidden'
321
326
  }, warning_buttons)));
322
327
  } else {
323
328
  rendered = /*#__PURE__*/_react["default"].createElement("g", {
@@ -404,38 +409,38 @@ var assignUVs = function assignUVs(geometry) {
404
409
  function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner) {
405
410
  var mode = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
406
411
  if (element.doorStyle.constructor !== _immutable.Map) {
407
- element = element.set("doorStyle", (0, _immutable.fromJS)(element.doorStyle));
412
+ element = element.set('doorStyle', (0, _immutable.fromJS)(element.doorStyle));
408
413
  }
409
- if (element.doorStyle.toJS().handle_gltf !== "") {
414
+ if (element.doorStyle.toJS().handle_gltf !== '') {
410
415
  // Check element has doorHandle
411
416
  for (var i = 1; i < 10; i++) {
412
- element = element.setIn(["doorStyle", "doorStyles", "door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
413
- element = element.setIn(["doorStyle", "doorStyles", "fixed_drawer_door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
414
- element = element.setIn(["doorStyle", "doorStyles", "drawer_door_handle_" + i + "_gltf"], element.doorStyle.toJS().handle_gltf);
417
+ element = element.setIn(['doorStyle', 'doorStyles', 'door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
418
+ element = element.setIn(['doorStyle', 'doorStyles', 'fixed_drawer_door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
419
+ element = element.setIn(['doorStyle', 'doorStyles', 'drawer_door_handle_' + i + '_gltf'], element.doorStyle.toJS().handle_gltf);
415
420
  }
416
421
  }
417
422
  var width = {
418
423
  length: sizeinfo.width,
419
- unit: "in"
424
+ unit: 'in'
420
425
  };
421
426
  var depth = {
422
427
  length: sizeinfo.depth,
423
- unit: "in"
428
+ unit: 'in'
424
429
  };
425
430
  var height = {
426
431
  length: sizeinfo.height,
427
- unit: "in"
432
+ unit: 'in'
428
433
  };
429
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to("in");
430
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to("in");
431
- var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to("in");
432
- var mainName = ""; // to get name structure//
433
- if (element.properties.get("width")) newWidth = element.getIn(["properties", "width", "_length"]);
434
- if (element.properties.get("depth")) newDepth = element.getIn(["properties", "depth", "_length"]);
435
- if (element.properties.get("height")) newHeight = element.getIn(["properties", "height", "_length"]);
434
+ var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('in');
435
+ var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('in');
436
+ var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('in');
437
+ var mainName = ''; // to get name structure//
438
+ if (element.properties.get('width')) newWidth = element.getIn(['properties', 'width', '_length']);
439
+ if (element.properties.get('depth')) newDepth = element.getIn(['properties', 'depth', '_length']);
440
+ if (element.properties.get('height')) newHeight = element.getIn(['properties', 'height', '_length']);
436
441
  var structure = structure_json;
437
442
  // structure.push({name:'model', url: '/assets/model/DCM.gltf'});
438
- structure.model = "/assets/model/DCM.gltf";
443
+ structure.model = '/assets/model/DCM.gltf';
439
444
  var placeholders = structure.placeholders;
440
445
  var doorStyles = null;
441
446
  var color = 0xffffff,
@@ -445,26 +450,29 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
445
450
  if (layer.toJS().counterTop.uri) {
446
451
  counterTop.uri = layer.toJS().counterTop.uri;
447
452
  }
448
- if ("name" in element.doorStyle) {
453
+ if ('name' in element.doorStyle) {
454
+ var _element2, _element3, _element4, _element5;
449
455
  doorStyles = new _immutable.Map(element.doorStyle.doorStyles);
450
- color = element.doorStyle.color;
451
- glossness = element.doorStyle.glossness;
452
- handleMaterial.metalness = element.doorStyle.metalness;
453
- handleMaterial.roughness = element.doorStyle.roughness;
456
+ color = (_element2 = element) === null || _element2 === void 0 || (_element2 = _element2.doorStyle) === null || _element2 === void 0 ? void 0 : _element2.color;
457
+ glossness = (_element3 = element) === null || _element3 === void 0 || (_element3 = _element3.doorStyle) === null || _element3 === void 0 ? void 0 : _element3.glossness;
458
+ handleMaterial.metalness = (_element4 = element) === null || _element4 === void 0 || (_element4 = _element4.doorStyle) === null || _element4 === void 0 ? void 0 : _element4.metalness;
459
+ handleMaterial.roughness = (_element5 = element) === null || _element5 === void 0 || (_element5 = _element5.doorStyle) === null || _element5 === void 0 ? void 0 : _element5.roughness;
454
460
  } else if (element.doorStyle != null && element.doorStyle) {
455
- doorStyles = element.doorStyle.get("doorStyles");
456
- color = element.doorStyle.get("color");
457
- glossness = element.doorStyle.get("glossness");
458
- handleMaterial.metalness = element.doorStyle.get("metalness");
459
- handleMaterial.roughness = element.doorStyle.get("roughness");
461
+ var _element6, _element7, _element8, _element9, _element0;
462
+ doorStyles = (_element6 = element) === null || _element6 === void 0 || (_element6 = _element6.doorStyle) === null || _element6 === void 0 ? void 0 : _element6.get('doorStyles');
463
+ color = (_element7 = element) === null || _element7 === void 0 || (_element7 = _element7.doorStyle) === null || _element7 === void 0 ? void 0 : _element7.get('color');
464
+ glossness = (_element8 = element) === null || _element8 === void 0 || (_element8 = _element8.doorStyle) === null || _element8 === void 0 ? void 0 : _element8.get('glossness');
465
+ handleMaterial.metalness = (_element9 = element) === null || _element9 === void 0 || (_element9 = _element9.doorStyle) === null || _element9 === void 0 ? void 0 : _element9.get('metalness');
466
+ handleMaterial.roughness = (_element0 = element) === null || _element0 === void 0 || (_element0 = _element0.doorStyle) === null || _element0 === void 0 ? void 0 : _element0.get('roughness');
460
467
  }
461
- if (color === undefined) color = "#ffffff";
462
- if (glossness === undefined) glossness = 1;
468
+ if ((0, _helper.isEmpty)(color)) color = '#ffffff';
469
+ if ((0, _helper.isEmpty)(glossness)) glossness = 1;
463
470
  var tempDoorStyles = doorStyles.toJS();
464
471
  var tempPlaceholders = structure.tempPlaceholders;
465
472
  var tPlaceholders = tempPlaceholders.find(function (el) {
466
- return el.id === tempDoorStyles.cabinet_door_style_id;
467
- // return el.id === tempDoorStyles.cds[0].cabinet_door_style_id;
473
+ var _tempDoorStyles$cds, _tempDoorStyles$cds$;
474
+ if (tempDoorStyles !== null && tempDoorStyles !== void 0 && tempDoorStyles.cabinet_door_style_id) return el.id === (tempDoorStyles === null || tempDoorStyles === void 0 ? void 0 : tempDoorStyles.cabinet_door_style_id);else if ((tempDoorStyles === null || tempDoorStyles === void 0 || (_tempDoorStyles$cds = tempDoorStyles.cds) === null || _tempDoorStyles$cds === void 0 ? void 0 : _tempDoorStyles$cds.length) > 0) return el.id === (tempDoorStyles === null || tempDoorStyles === void 0 || (_tempDoorStyles$cds$ = tempDoorStyles.cds[0]) === null || _tempDoorStyles$cds$ === void 0 ? void 0 : _tempDoorStyles$cds$.cabinet_door_style_id);
475
+ return false;
468
476
  });
469
477
  if (tPlaceholders !== undefined) {
470
478
  placeholders = tPlaceholders.placeholders;
@@ -483,13 +491,13 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
483
491
  areaMaterial.side = Three.DoubleSide;
484
492
  // areaMaterial.envMap = textureCube;
485
493
  if ((0, _helper.isEmpty)(doorStyles)) {
486
- var normalMap = doorStyles.get("base") || INITIAL_NORMAL_MAP;
494
+ var normalMap = doorStyles.get('base') || INITIAL_NORMAL_MAP;
487
495
  var interiortexture = loadTexture(normalMap);
488
496
  applyTexture(areaMaterial, interiortexture, 100, 100);
489
497
  }
490
498
  var object1 = object;
491
- var newAltitude = element.properties.get("altitude").get("_length");
492
- var newUnit = element.properties.get("altitude").get("_unit") || "in";
499
+ var newAltitude = element.properties.get('altitude').get('_length');
500
+ var newUnit = element.properties.get('altitude').get('_unit') || 'in';
493
501
  newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
494
502
  var _element = element.toJS();
495
503
  if (!_element.doorStyle.doorStyles.is_euro_cds) {
@@ -506,27 +514,27 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
506
514
  var door_match = child.name.match(matchStr);
507
515
  if (door_match && door_match.length > 2) {
508
516
  var _child$children$;
509
- var rotate_match_text = element.properties.toJS().flip_doorhandle ? "rotate_L" : "rotate_R";
510
- if (door_match[2] === "_L") {
511
- rotate_match_text = element.properties.toJS().flip_doorhandle ? "rotate_R" : "rotate_L";
517
+ var rotate_match_text = element.properties.toJS().flip_doorhandle ? 'rotate_L' : 'rotate_R';
518
+ if (door_match[2] === '_L') {
519
+ rotate_match_text = element.properties.toJS().flip_doorhandle ? 'rotate_R' : 'rotate_L';
512
520
  }
513
521
  var isDoubleDoor = door_match && door_match[2] !== undefined;
514
522
  (_child$children$ = child.children[0]) === null || _child$children$ === void 0 || _child$children$.children.forEach(function (it) {
515
523
  var _it$name, _it$children;
516
- if (it !== null && it !== void 0 && (_it$name = it.name) !== null && _it$name !== void 0 && _it$name.includes("handle") && (_it$children = it.children) !== null && _it$children !== void 0 && _it$children.length && is_corner === 1 && isDoubleDoor) {
524
+ if (it !== null && it !== void 0 && (_it$name = it.name) !== null && _it$name !== void 0 && _it$name.includes('handle') && (_it$children = it.children) !== null && _it$children !== void 0 && _it$children.length && is_corner === 1 && isDoubleDoor) {
517
525
  var _child$name, _child$name2, _object1$children, _t0$name, _t0$children;
518
- var tname = child !== null && child !== void 0 && (_child$name = child.name) !== null && _child$name !== void 0 && _child$name.endsWith("_L") ? child.name.replace("_L", "_R") : child === null || child === void 0 || (_child$name2 = child.name) === null || _child$name2 === void 0 ? void 0 : _child$name2.replace("_R", "_L");
526
+ var tname = child !== null && child !== void 0 && (_child$name = child.name) !== null && _child$name !== void 0 && _child$name.endsWith('_L') ? child.name.replace('_L', '_R') : child === null || child === void 0 || (_child$name2 = child.name) === null || _child$name2 === void 0 ? void 0 : _child$name2.replace('_R', '_L');
519
527
  var tmp = (object1 === null || object1 === void 0 || (_object1$children = object1.children) === null || _object1$children === void 0 ? void 0 : _object1$children.filter(function (item) {
520
528
  return (item === null || item === void 0 ? void 0 : item.name) === tname;
521
529
  })) || [];
522
530
  var t0 = tmp[0];
523
- var filterStr = t0 !== null && t0 !== void 0 && (_t0$name = t0.name) !== null && _t0$name !== void 0 && _t0$name.endsWith("_L") ? "rotate_L" : "rotate_R";
531
+ var filterStr = t0 !== null && t0 !== void 0 && (_t0$name = t0.name) !== null && _t0$name !== void 0 && _t0$name.endsWith('_L') ? 'rotate_L' : 'rotate_R';
524
532
  var tposArr = (t0 === null || t0 === void 0 || (_t0$children = t0.children) === null || _t0$children === void 0 || (_t0$children = _t0$children[0]) === null || _t0$children === void 0 || (_t0$children = _t0$children.children) === null || _t0$children === void 0 ? void 0 : _t0$children.filter(function (item) {
525
533
  var _item$name;
526
534
  return item === null || item === void 0 || (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.endsWith(filterStr);
527
535
  })) || [];
528
536
  var tpos0 = tposArr[0];
529
- if (it.name.includes("base_end")) {
537
+ if (it.name.includes('base_end')) {
530
538
  var _it$position$x, _it$position, _it$position$y, _it$position2, _tpos0$position$x, _tpos0$position;
531
539
  door_animate_offset[child.name] = {
532
540
  x: -2 * ((_it$position$x = (_it$position = it.position) === null || _it$position === void 0 ? void 0 : _it$position.x) !== null && _it$position$x !== void 0 ? _it$position$x : 0) - 0.12,
@@ -594,16 +602,16 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
594
602
  // vertical line - 4 lines around object//////////////////////////
595
603
  var vLineGeom = new Three.BufferGeometry();
596
604
  var vertices = [(max.x - min.x) / 2 + min.x, 0, max.z, (max.x - min.x) / 2 + min.x, 0, max.z + 1.3];
597
- vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
605
+ vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
598
606
  var vLineGeom1 = new Three.BufferGeometry();
599
607
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
600
- vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
608
+ vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
601
609
  var vLineGeom2 = new Three.BufferGeometry();
602
610
  var vertices2 = [max.x, 0, max.z - (max.z - min.z) / 2, max.x + 1.3, 0, max.z - (max.z - min.z) / 2];
603
- vLineGeom2.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
611
+ vLineGeom2.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
604
612
  var vLineGeom3 = new Three.BufferGeometry();
605
613
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
606
- vLineGeom3.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
614
+ vLineGeom3.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
607
615
  // ///////////////////////////////////////
608
616
 
609
617
  // set names of transform object
@@ -616,12 +624,12 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
616
624
  color: new Three.Color(0xffffff).convertLinearToSRGB(),
617
625
  colorWrite: true
618
626
  }));
619
- rotFillObj.name = "rotate";
627
+ rotFillObj.name = 'rotate';
620
628
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
621
629
  color: new Three.Color(0xffffff).convertLinearToSRGB(),
622
630
  side: Three.DoubleSide
623
631
  }));
624
- upObj.name = "transUp";
632
+ upObj.name = 'transUp';
625
633
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
626
634
  color: new Three.Color(0xdd6699).convertLinearToSRGB(),
627
635
  side: Three.DoubleSide,
@@ -655,15 +663,15 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
655
663
  vLine3.material.depthTest = false;
656
664
  // translate vector to center of object
657
665
  var uVec = new Three.Vector3(-posVec.x / scalevec.x, -posVec.y / scalevec.y, -posVec.z / scalevec.z);
658
- vLine.translateY(0.1);
659
- vLine1.translateY(0.1);
660
- vLine2.translateY(0.1);
661
- vLine3.translateY(0.1);
666
+ vLine.translateY(_boundingBox.min.y + 0.1);
667
+ vLine1.translateY(_boundingBox.min.y + 0.1);
668
+ vLine2.translateY(_boundingBox.min.y + 0.1);
669
+ vLine3.translateY(_boundingBox.min.y + 0.1);
662
670
 
663
671
  //rotObj.translateOnAxis(uVec, 1);
664
672
  upObj.translateOnAxis(uVec, 1);
665
673
  upObj.translateY(max.y - min.y);
666
- mBox.name = "TransformBox";
674
+ mBox.name = 'TransformBox';
667
675
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
668
676
  mBox.scale.set(1.01, 1.01, 1.01);
669
677
 
@@ -692,7 +700,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
692
700
  asrtObj.add(mBox);
693
701
  asrtObj.scale.set(1 / object.scale.x, object.scale.y, 1 / object.scale.z);
694
702
  //asrtObj.translateY(newAltitude / scalevec.y);
695
- asrtObj.name = "TransformGizmo";
703
+ asrtObj.name = 'TransformGizmo';
696
704
  // add assets Objects Group
697
705
  object1.add(asrtObj);
698
706
 
@@ -705,7 +713,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
705
713
  SceneCreator.getDistances(layer);
706
714
  }, 100);
707
715
  }
708
- var flip_doorhandle = element.properties.get("flip_doorhandle");
716
+ var flip_doorhandle = element.properties.get('flip_doorhandle');
709
717
  if (flip_doorhandle) {
710
718
  SceneCreator.updateDoorHandleMesh(element, object1, true);
711
719
  }
@@ -721,14 +729,14 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
721
729
  transparency: 0.8
722
730
  });
723
731
  obj.material = material;
724
- } else if (name.startsWith("sink_")) {
732
+ } else if (name.startsWith('sink_')) {
725
733
  // texture = loadTexture('/assets/img/texture/steel.jpg');
726
734
 
727
735
  var _material;
728
736
  // Get color from name
729
- if (name.includes("black") || name.includes("white")) {
737
+ if (name.includes('black') || name.includes('white')) {
730
738
  var _color2;
731
- if (name.includes("black")) {
739
+ if (name.includes('black')) {
732
740
  _color2 = new Three.Color(0x555555).convertLinearToSRGB();
733
741
  } else {
734
742
  _color2 = 0xffffff;
@@ -761,14 +769,14 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
761
769
  var open_doors = element.toJS().properties.open_doors;
762
770
  var object_match = obj.name.match(/\d_(interior_drawer[^LR1-9]*)(_[LR1-9])?$/) || obj.name.match(matchStr);
763
771
  if (object_match && object_match.length > 2) {
764
- var isDoor = object_match[1] === "door";
772
+ var isDoor = object_match[1] === 'door';
765
773
  if (isDoor) {
766
774
  var offsetData = object1.userData.door_animate_offset[obj.name];
767
775
  // Open Door
768
- (0, _helper.animateDoor)(offsetData, obj, open_doors, element.toJS(), is_corner, "Opened2D");
776
+ (0, _helper.animateDoor)(offsetData, obj, open_doors, element.toJS(), is_corner, 'Opened2D');
769
777
  } else {
770
778
  // Open Drawer
771
- (0, _helper.translateDrawer)(element.toJS(), obj, open_doors, "Opened2D");
779
+ (0, _helper.translateDrawer)(element.toJS(), obj, open_doors, 'Opened2D');
772
780
  }
773
781
  }
774
782
  }
@@ -778,30 +786,30 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
778
786
  // keys in structure
779
787
  var keys = Object.keys(structure);
780
788
  // if exist in cached Objects
781
- if (element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
782
- var _objGroup = cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())].clone();
789
+ if (element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS()) + element.counterTop.uri in cachedObject) {
790
+ var _objGroup = cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone();
783
791
  return Promise.resolve(onLoadItem(_objGroup.clone()));
784
792
  }
785
793
 
786
794
  // base Object/////
787
795
  var objGroup = null;
788
796
  var _loadGLTFs = function loadGLTFs(i) {
789
- if (keys[i] === "animation") {
797
+ if (keys[i] === 'animation') {
790
798
  // if animation info
791
799
  i++;
792
800
  return _loadGLTFs(i);
793
801
  }
794
- if (keys[i] === "placeholders") {
802
+ if (keys[i] === 'placeholders') {
795
803
  // if placeholders group
796
804
  i++;
797
805
  return _loadGLTFs(i);
798
806
  }
799
807
  if (i === keys.length) {
800
808
  // if end of keys
801
- cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())] = objGroup.clone(); //register to cachedObject
802
- return onLoadItem(cachedObject[element.type + color + "doorStyle" + JSON.stringify(doorStyles.toJS())].clone());
809
+ cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = objGroup.clone(); //register to cachedObject
810
+ return onLoadItem(cachedObject[element.type + color + 'doorStyle' + JSON.stringify(doorStyles.toJS())].clone());
803
811
  }
804
- if (keys[i] === "base") {
812
+ if (keys[i] === 'base') {
805
813
  // if base Objects
806
814
  i++;
807
815
  return _loadGLTFs(i);
@@ -814,15 +822,15 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
814
822
  }
815
823
  for (var j = 0; j < placeholderStructure.length; j++) {
816
824
  var phData = placeholderStructure[j];
817
- var phs = phData.split("/");
818
- var temp = phData.split("/");
825
+ var phs = phData.split('/');
826
+ var temp = phData.split('/');
819
827
  // placeholder remake////////////////
820
828
  for (var k = 0; k < phs.length; k++) {
821
829
  if (phs[k] in placeholders) {
822
830
  var placeholderphs = placeholders[phs[k]];
823
831
  var key = placeholderStructure.length / placeholderphs.length;
824
832
  phs[k] = placeholderphs[Math.floor(j / key)];
825
- var splitedData = phs[k].split("/");
833
+ var splitedData = phs[k].split('/');
826
834
  if (splitedData.length > 1) {
827
835
  phs[k] = splitedData[splitedData.length - 1];
828
836
  for (var m = splitedData.length - 2; m >= 0; m--) {
@@ -833,41 +841,41 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
833
841
  k = -1;
834
842
  continue;
835
843
  }
836
- if (phs[k].indexOf("ph") == -1) {
844
+ if (phs[k].indexOf('ph') == -1) {
837
845
  var _url = structure[temp[k - 1]];
838
- if (temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS()) in structure) {
839
- if (structure[temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] != null) {
840
- _url = structure[temp[k - 1] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())];
846
+ if (temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS()) in structure) {
847
+ if (structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] != null) {
848
+ _url = structure[temp[k - 1] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())];
841
849
  }
842
850
  }
843
851
  if ((0, _typeof2["default"])(_url) == Array) _url = _url[0];
844
- var uData = _url.split("/");
852
+ var uData = _url.split('/');
845
853
  uData = uData[uData.length - 1];
846
854
  uData = uData.slice(0, -5);
847
- var datas = uData.split("_");
855
+ var datas = uData.split('_');
848
856
  uData = datas[1];
849
857
  for (var _i = 2; _i < datas.length; _i++) {
850
- uData += "_";
858
+ uData += '_';
851
859
  uData += datas[_i];
852
860
  }
853
- uData = mainName.replace("main", uData);
854
- phs[k] = "ph_" + uData + "_" + phs[k];
861
+ uData = mainName.replace('main', uData);
862
+ phs[k] = 'ph_' + uData + '_' + phs[k];
855
863
  }
856
864
  }
857
865
  phsArray.push(phs);
858
866
  }
859
867
  var url = structure[keys[i]];
860
- var normalMap = "";
861
- var urlData = url.split("/");
868
+ var normalMap = '';
869
+ var urlData = url.split('/');
862
870
  for (var _j = 0; _j < element.submodule.size; _j++) {
863
- var replaceUrlData = element.submodule.get(_j).split("/");
871
+ var replaceUrlData = element.submodule.get(_j).split('/');
864
872
  if (urlData.includes(replaceUrlData[replaceUrlData.length - 2])) {
865
873
  url = element.submodule.get(_j);
866
874
  break;
867
875
  }
868
876
  }
869
877
  for (var _j2 = 0; _j2 < element.normalMap.size; _j2++) {
870
- var normalMapData = element.normalMap.get(_j2).split("/");
878
+ var normalMapData = element.normalMap.get(_j2).split('/');
871
879
  if (urlData.includes(normalMapData[normalMapData.length - 2])) {
872
880
  normalMap = element.normalMap.get(_j2);
873
881
  break;
@@ -879,15 +887,15 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
879
887
  if (phsArray.length > 0) {
880
888
  // let loadUrl = dirName + url;
881
889
  var loadUrl = url;
882
- if (doorStyles.get(keys[i] + "_gltf") != undefined) {
883
- loadUrl = doorStyles.get(keys[i] + "_gltf");
884
- structure[keys[i] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] = loadUrl;
890
+ if (doorStyles.get(keys[i] + '_gltf') != undefined) {
891
+ loadUrl = doorStyles.get(keys[i] + '_gltf');
892
+ structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = loadUrl;
885
893
  } else {
886
- structure[keys[i] + "_doorStyle" + element.type + "doorStyle" + JSON.stringify(doorStyles.toJS())] = null;
894
+ structure[keys[i] + '_doorStyle' + element.type + 'doorStyle' + JSON.stringify(doorStyles.toJS())] = null;
887
895
  }
888
896
  return (0, _loadObj.loadGLTF)(loadUrl).then(function (object) {
889
- if (normalMap !== "") {
890
- var normalUrl = normalMap.split(".")[0] + "-normal." + normalMap.split(".")[1];
897
+ if (normalMap !== '') {
898
+ var normalUrl = normalMap.split('.')[0] + '-normal.' + normalMap.split('.')[1];
891
899
  var t = loadTexture(normalMap);
892
900
  var _m = loadTexture(normalUrl);
893
901
  var mat2 = new Three.MeshStandardMaterial({
@@ -911,7 +919,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
911
919
  // let normalMap = "catalog/items/doorstyle/" + doorStyles.get(keys[i]);
912
920
  var _normalMap = doorStyles.get(keys[i]) || INITIAL_NORMAL_MAP;
913
921
  var _mat;
914
- if (_normalMap === "") {
922
+ if (_normalMap === '') {
915
923
  var examplecolor = new Three.Color(parseInt(color.slice(1), 16)).convertLinearToSRGB();
916
924
  _mat = new Three.MeshStandardMaterial({
917
925
  color: examplecolor,
@@ -935,8 +943,8 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
935
943
  object.children[_j4].material = _mat;
936
944
  object.children[_j4].receiveShadow = true;
937
945
  object.children[_j4].castShadow = true;
938
- !object.children[_j4].name.includes("handle") && addEdgesToMesh(object.children[_j4]);
939
- } else if (!object.children[_j4].name.startsWith("ph_") && object.children[_j4].type === _constants.OBJTYPE_GROUP) {
946
+ !object.children[_j4].name.includes('handle') && addEdgesToMesh(object.children[_j4]);
947
+ } else if (!object.children[_j4].name.startsWith('ph_') && object.children[_j4].type === _constants.OBJTYPE_GROUP) {
940
948
  object.children[_j4].traverse(function (prim) {
941
949
  prim.material = _mat;
942
950
  prim.receiveShadow = true;
@@ -976,10 +984,10 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
976
984
  } else {
977
985
  if (parent.children[_k].name == placeholder) {
978
986
  var tmp = object.clone();
979
- if (placeholder.includes("drawer_door") && placeholder.includes("_handle")) {
987
+ if (placeholder.includes('drawer_door') && placeholder.includes('_handle')) {
980
988
  tmp.rotateZ(Math.PI / 2);
981
989
  }
982
- if (placeholder.includes("_handle") && tmp.children[0].type === _constants.OBJTYPE_MESH) {
990
+ if (placeholder.includes('_handle') && tmp.children[0].type === _constants.OBJTYPE_MESH) {
983
991
  // NOTE: change metalness of handle
984
992
  tmp.children[0].material.metalness = 1;
985
993
  // handleMaterial.metalness || 0.2;
@@ -993,33 +1001,34 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
993
1001
  }
994
1002
  }
995
1003
  }, function (reason) {
996
- console.log("loadGLTF failed for reason:", reason);
1004
+ console.log('loadGLTF failed for reason:', reason);
997
1005
  }).then(function () {
998
1006
  i++;
999
1007
  return _loadGLTFs(i);
1000
1008
  });
1001
1009
  }
1002
1010
  };
1003
- return (0, _loadObj.loadGLTF)(structure["base"]).then(function (object) {
1004
- object.name = "MainObject";
1011
+ return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1012
+ object.name = 'MainObject';
1005
1013
  object.receiveShadow = true;
1006
1014
  objGroup = object;
1007
1015
  if (!(0, _helper.isEmpty)(doorStyles)) {
1008
- var normalMap = doorStyles.get("base") || INITIAL_NORMAL_MAP;
1009
- if (counterTop.uri === undefined) {
1016
+ var _layer$toJS;
1017
+ var normalMap = doorStyles.get('base') || INITIAL_NORMAL_MAP;
1018
+ if ((0, _helper.isEmpty)(counterTop.uri)) {
1010
1019
  try {
1011
1020
  counterTop = counterTop.toJS();
1012
1021
  } catch (error) {
1013
1022
  //@todo THIS IS A TEMPORARY FIX FOR COUNTERTOP TEXTURE UNDEFINED ISSUE
1014
- counterTop.uri = "https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg";
1023
+ counterTop.uri = 'https://media.test.diydesignspace.com/uploads/CountTop/202105074107_5/texture/Unique_Calcatta_texture.jpg';
1015
1024
  console.log(error);
1016
1025
  }
1017
1026
  }
1018
- if (counterTop.uri === undefined && layer.toJS().counterTop.uri !== undefined) {
1027
+ if ((0, _helper.isEmpty)(counterTop.uri) && !(0, _helper.isEmpty)(layer === null || layer === void 0 || (_layer$toJS = layer.toJS()) === null || _layer$toJS === void 0 ? void 0 : _layer$toJS.counterTop.uri)) {
1019
1028
  counterTop.uri = layer.toJS().counterTop.uri;
1020
1029
  }
1021
1030
  var countTopMap = counterTop.uri;
1022
- var interiorMap = doorStyles.get("interior");
1031
+ var interiorMap = doorStyles.get('interior');
1023
1032
  var countT = loadTexture(countTopMap);
1024
1033
  countT.wrapS = Three.RepeatWrapping;
1025
1034
  countT.wrapT = Three.RepeatWrapping;
@@ -1028,7 +1037,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1028
1037
  var mat2 = null,
1029
1038
  mat3 = null,
1030
1039
  mat4 = null;
1031
- if (normalMap === "") {
1040
+ if (normalMap === '') {
1032
1041
  mat2 = new Three.MeshStandardMaterial({
1033
1042
  color: examplecolor,
1034
1043
  metalness: glossness === 1 ? params.metalness : params.metalness_glossy,
@@ -1045,11 +1054,11 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1045
1054
  }
1046
1055
  // mat2.envMap = textureCube;
1047
1056
 
1048
- if (normalMap !== "") {
1057
+ if (normalMap !== '') {
1049
1058
  var t = loadTexture(normalMap);
1050
1059
  mat2.map = t;
1051
1060
  }
1052
- if (normalMap === "") {
1061
+ if (normalMap === '') {
1053
1062
  mat3 = new Three.MeshStandardMaterial({
1054
1063
  // color: examplecolor,
1055
1064
  metalness: counterTop.metalness,
@@ -1071,13 +1080,13 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1071
1080
  });
1072
1081
  mat4.map = loadTexture(interiorMap);
1073
1082
  for (var j = 0; j < object.children.length; j++) {
1074
- if (object.children[j].name.includes("main")) {}
1075
- if (object.children[j].name.includes("countertop")) {
1083
+ if (object.children[j].name.includes('main')) {}
1084
+ if (object.children[j].name.includes('countertop')) {
1076
1085
  object.children[j].material = mat3;
1077
1086
  object.children[j].receiveShadow = true;
1078
1087
  object.children[j].castShadow = true;
1079
1088
  addEdgesToMesh(object.children[j]);
1080
- } else if (object.children[j].name.includes("_interior_")) {
1089
+ } else if (object.children[j].name.includes('_interior_')) {
1081
1090
  object.children[j].material = mat4;
1082
1091
  } else if (object.children[j].type === _constants.OBJTYPE_MESH) {
1083
1092
  object.children[j].material = mat2;
@@ -1087,7 +1096,7 @@ function render3DItem(element, layer, scene, sizeinfo, structure_json, is_corner
1087
1096
  }
1088
1097
  }
1089
1098
  }, function (reason) {
1090
- console.log("loadGLTF failed for reason:", reason);
1099
+ console.log('loadGLTF failed for reason:', reason);
1091
1100
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1092
1101
  }).then(function () {
1093
1102
  return _loadGLTFs(0);
@@ -1101,18 +1110,18 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1101
1110
  var applianceMaterial = element.applianceMaterial;
1102
1111
  if (applianceMaterial.metalness == undefined) applianceMaterial = applianceMaterial.toJS();
1103
1112
  var onLoadItem = function onLoadItem(object) {
1104
- var newAltitude = element.properties.get("altitude").get("_length");
1105
- var newUnit = element.properties.get("altitude").get("_unit") || "in";
1113
+ var newAltitude = element.properties.get('altitude').get('_length');
1114
+ var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1106
1115
  newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
1107
- var newWidth = element.properties.get("width").get("_length");
1108
- var newWidthUnit = element.properties.get("width").get("_unit") || "in";
1109
- newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to("in");
1110
- var newHeight = element.properties.get("height").get("_length");
1111
- var newHeightUnit = element.properties.get("height").get("_unit") || "in";
1112
- newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to("in");
1113
- var newDepth = element.properties.get("depth").get("_length");
1114
- var newDepthUnit = element.properties.get("depth").get("_unit") || "in";
1115
- newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to("in");
1116
+ var newWidth = element.properties.get('width').get('_length');
1117
+ var newWidthUnit = element.properties.get('width').get('_unit') || 'in';
1118
+ newWidth = (0, _convertUnitsLite.convert)(newWidth).from(newWidthUnit).to('in');
1119
+ var newHeight = element.properties.get('height').get('_length');
1120
+ var newHeightUnit = element.properties.get('height').get('_unit') || 'in';
1121
+ newHeight = (0, _convertUnitsLite.convert)(newHeight).from(newHeightUnit).to('in');
1122
+ var newDepth = element.properties.get('depth').get('_length');
1123
+ var newDepthUnit = element.properties.get('depth').get('_unit') || 'in';
1124
+ newDepth = (0, _convertUnitsLite.convert)(newDepth).from(newDepthUnit).to('in');
1116
1125
  object.scale.set(100 * newWidth / sizeinfo.width, 100 * newHeight / sizeinfo.height, 100 * newDepth / sizeinfo.depth);
1117
1126
  // Normalize the origin of the object
1118
1127
  var boundingBox = new Three.Box3().setFromObject(object);
@@ -1127,16 +1136,16 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1127
1136
  var name = obj.name;
1128
1137
  var texture,
1129
1138
  textureLoader = new Three.TextureLoader();
1130
- if (name.includes("_black")) {
1139
+ if (name.includes('_black')) {
1131
1140
  obj.material.roughness = 0.4;
1132
1141
  obj.material.metalness = 1.0;
1133
1142
  obj.material.color = new Three.Color(0, 0, 0);
1134
1143
  obj.castShadow = true;
1135
1144
  obj.receiveShadow = true;
1136
1145
  return object;
1137
- } else if (name.includes("_wood")) {
1138
- texture = loadTexture("/assets/img/texture/wood.jpg");
1139
- } else if (name.includes("_glass")) {
1146
+ } else if (name.includes('_wood')) {
1147
+ texture = loadTexture('/assets/img/texture/wood.jpg');
1148
+ } else if (name.includes('_glass')) {
1140
1149
  // texture = loadTexture('/assets/img/texture/glass.jpg');
1141
1150
  var material = new Three.MeshPhysicalMaterial({
1142
1151
  transparent: true,
@@ -1151,7 +1160,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1151
1160
  obj.castShadow = true;
1152
1161
  obj.receiveShadow = true;
1153
1162
  return object;
1154
- } else if (name.includes("_steel")) {
1163
+ } else if (name.includes('_steel')) {
1155
1164
  // texture = loadTexture('/assets/img/texture/steel.jpg');
1156
1165
  var _material2 = new Three.MeshPhysicalMaterial({
1157
1166
  roughness: 0.2,
@@ -1201,16 +1210,16 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1201
1210
  // vertical line - 4 lines around object//////////////////////////
1202
1211
  var vLineGeom = new Three.BufferGeometry();
1203
1212
  var vertices = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z + 1.3];
1204
- vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
1213
+ vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
1205
1214
  var vLineGeom1 = new Three.BufferGeometry();
1206
1215
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
1207
- vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
1216
+ vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
1208
1217
  var vLineGeom2 = new Three.BufferGeometry();
1209
1218
  var vertices2 = [max.x, 0, max.z - (max.z - min.z) / 2, max.x + 1.3, 0, max.z - (max.z - min.z) / 2];
1210
- vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
1219
+ vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
1211
1220
  var vLineGeom3 = new Three.BufferGeometry();
1212
1221
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
1213
- vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
1222
+ vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
1214
1223
  // ///////////////////////////////////////
1215
1224
 
1216
1225
  // set names of transform object
@@ -1223,12 +1232,12 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1223
1232
  color: 0xffffff,
1224
1233
  colorWrite: true
1225
1234
  }));
1226
- rotFillObj.name = "rotate";
1235
+ rotFillObj.name = 'rotate';
1227
1236
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
1228
1237
  color: 0xffffff,
1229
1238
  side: Three.DoubleSide
1230
1239
  }));
1231
- upObj.name = "transUp";
1240
+ upObj.name = 'transUp';
1232
1241
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
1233
1242
  color: new Three.Color(0xdd6699).convertLinearToSRGB(),
1234
1243
  side: Three.DoubleSide,
@@ -1268,7 +1277,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1268
1277
  vLine3.translateY(0.1);
1269
1278
  upObj.translateOnAxis(uVec, 1);
1270
1279
  upObj.translateY(max.y - min.y + 0.05);
1271
- mBox.name = "TransformBox";
1280
+ mBox.name = 'TransformBox';
1272
1281
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
1273
1282
  mBox.scale.set(1.01, 1.01, 1.01);
1274
1283
 
@@ -1296,7 +1305,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1296
1305
  asrtObj.add(mBox);
1297
1306
  asrtObj.scale.set(1 / object.scale.x, object.scale.y, 1 / object.scale.z);
1298
1307
  // asrtObj.translateY(newAltitude / scalevec.y);
1299
- asrtObj.name = "TransformGizmo";
1308
+ asrtObj.name = 'TransformGizmo';
1300
1309
  // add assets Objects Group
1301
1310
  object.add(asrtObj);
1302
1311
 
@@ -1326,7 +1335,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1326
1335
  cachedObject[element.type] = objGroup.clone(); //register to cachedObject
1327
1336
  return onLoadItem(cachedObject[element.type].clone());
1328
1337
  }
1329
- if (keys[i] === "base") {
1338
+ if (keys[i] === 'base') {
1330
1339
  // if base Objects
1331
1340
  i++;
1332
1341
  return _loadGLTFs2(i);
@@ -1335,13 +1344,13 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1335
1344
 
1336
1345
  // load base to start //
1337
1346
  // return loadGLTF(dirName + structure["base"])
1338
- return (0, _loadObj.loadGLTF)(structure["base"]).then(function (object) {
1347
+ return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1339
1348
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1340
1349
  // let texture = loadTexture(textureURL);
1341
1350
  // texture.wrapS = Three.MirroredRepeatWrapping;
1342
1351
  // texture.wrapT = Three.MirroredRepeatWrapping;
1343
1352
 
1344
- object.name = "MainObject";
1353
+ object.name = 'MainObject';
1345
1354
  // NOTE: changed appliance emissive color to black
1346
1355
  var mat2 = new Three.MeshStandardMaterial({
1347
1356
  emissive: new Three.Color(0x0d0d0d).convertLinearToSRGB(),
@@ -1359,7 +1368,7 @@ function render3DApplianceItem(element, layer, scene, sizeinfo, structure_json)
1359
1368
  }
1360
1369
  objGroup = object;
1361
1370
  }, function (reason) {
1362
- console.log("loadGLTF failed for reason:", reason);
1371
+ console.log('loadGLTF failed for reason:', reason);
1363
1372
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1364
1373
  }).then(function () {
1365
1374
  return _loadGLTFs2(0);
@@ -1372,21 +1381,21 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1372
1381
  var onLoadItem = function onLoadItem(object) {
1373
1382
  var width = {
1374
1383
  length: sizeinfo.width,
1375
- unit: "in"
1384
+ unit: 'in'
1376
1385
  };
1377
1386
  var depth = {
1378
1387
  length: sizeinfo.depth,
1379
- unit: "in"
1388
+ unit: 'in'
1380
1389
  };
1381
1390
  var height = {
1382
1391
  length: sizeinfo.height,
1383
- unit: "in"
1392
+ unit: 'in'
1384
1393
  };
1385
- var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to("cm");
1386
- var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to("cm");
1387
- var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to("cm");
1388
- var newAltitude = element.properties.get("altitude").get("_length");
1389
- var newUnit = element.properties.get("altitude").get("_unit") || "in";
1394
+ var newWidth = (0, _convertUnitsLite.convert)(width.length).from(width.unit).to('cm');
1395
+ var newDepth = (0, _convertUnitsLite.convert)(depth.length).from(depth.unit).to('cm');
1396
+ var newHeight = (0, _convertUnitsLite.convert)(height.length).from(height.unit).to('cm');
1397
+ var newAltitude = element.properties.get('altitude').get('_length');
1398
+ var newUnit = element.properties.get('altitude').get('_unit') || 'in';
1390
1399
  newAltitude = (0, _convertUnitsLite.convert)(newAltitude).from(newUnit).to(scene.unit);
1391
1400
 
1392
1401
  //object.scale.set(newWidth, newHeight, newDepth);
@@ -1433,16 +1442,16 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1433
1442
  // vertical line - 4 lines around object//////////////////////////
1434
1443
  var vLineGeom = new Three.BufferGeometry();
1435
1444
  var vertices = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z + 1.3];
1436
- vLineGeom.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices), 3));
1445
+ vLineGeom.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices), 3));
1437
1446
  var vLineGeom1 = new Three.BufferGeometry();
1438
1447
  var vertices1 = [(max.x - min.x) / 2 + min.x, 0, min.z, (max.x - min.x) / 2 + min.x, 0, min.z - 1.3];
1439
- vLineGeom1.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices1), 3));
1448
+ vLineGeom1.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices1), 3));
1440
1449
  var vLineGeom2 = new Three.BufferGeometry();
1441
1450
  var vertices2 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x + 1.3, 0, max.z - (max.z - min.z) / 2];
1442
- vLineGeom2.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices2), 3));
1451
+ vLineGeom2.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices2), 3));
1443
1452
  var vLineGeom3 = new Three.BufferGeometry();
1444
1453
  var vertices3 = [min.x, 0, max.z - (max.z - min.z) / 2, min.x - 1.3, 0, max.z - (max.z - min.z) / 2];
1445
- vLineGeom3.setAttribute("position", new Three.BufferAttribute(new Float32Array(vertices3), 3));
1454
+ vLineGeom3.setAttribute('position', new Three.BufferAttribute(new Float32Array(vertices3), 3));
1446
1455
  // ///////////////////////////////////////
1447
1456
 
1448
1457
  // set names of transform object
@@ -1455,12 +1464,12 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1455
1464
  color: 0xffffff,
1456
1465
  colorWrite: true
1457
1466
  }));
1458
- rotFillObj.name = "rotate";
1467
+ rotFillObj.name = 'rotate';
1459
1468
  var upObj = new Three.Mesh(upwardsGeom, new Three.MeshBasicMaterial({
1460
1469
  color: 0xffffff,
1461
1470
  side: Three.DoubleSide
1462
1471
  }));
1463
- upObj.name = "transUp";
1472
+ upObj.name = 'transUp';
1464
1473
  var mBox = new Three.Mesh(moveBox, new Three.MeshBasicMaterial({
1465
1474
  color: 0xdd6699,
1466
1475
  side: Three.DoubleSide,
@@ -1502,7 +1511,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1502
1511
  //rotObj.translateOnAxis(uVec, 1);
1503
1512
  upObj.translateOnAxis(uVec, 1);
1504
1513
  upObj.translateY(max.y - min.y);
1505
- mBox.name = "TransformBox";
1514
+ mBox.name = 'TransformBox';
1506
1515
  mBox.translateOnAxis(new Three.Vector3(uVec.x, uVec.y + (max.y - min.y) / 2, uVec.z), 1);
1507
1516
  mBox.scale.set(1.01, 1.01, 1.01);
1508
1517
 
@@ -1531,7 +1540,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1531
1540
  asrtObj.add(mBox);
1532
1541
  asrtObj.scale.set(1, 1, 1);
1533
1542
  //asrtObj.translateY(newAltitude / scalevec.y);
1534
- asrtObj.name = "TransformGizmo";
1543
+ asrtObj.name = 'TransformGizmo';
1535
1544
  // add assets Objects Group
1536
1545
  object.add(asrtObj);
1537
1546
 
@@ -1564,7 +1573,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1564
1573
  cachedObject[element.type] = objGroup.clone(); //register to cachedObject
1565
1574
  return onLoadItem(cachedObject[element.type].clone());
1566
1575
  }
1567
- if (keys[i] === "base") {
1576
+ if (keys[i] === 'base') {
1568
1577
  // if base Objects
1569
1578
  i++;
1570
1579
  return _loadGLTFs3(i);
@@ -1573,13 +1582,13 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1573
1582
 
1574
1583
  // load base to start //
1575
1584
  // return loadGLTF(dirName + structure["base"])
1576
- return (0, _loadObj.loadGLTF)(structure["base"]).then(function (object) {
1585
+ return (0, _loadObj.loadGLTF)(structure['base']).then(function (object) {
1577
1586
  // let textureURL = `${API_SERVER_URL}/uploads/assets/default/steel.jpg`;
1578
1587
  // let texture = loadTexture(textureURL);
1579
1588
  // texture.wrapS = Three.MirroredRepeatWrapping;
1580
1589
  // texture.wrapT = Three.MirroredRepeatWrapping;
1581
1590
 
1582
- object.name = "MainObject";
1591
+ object.name = 'MainObject';
1583
1592
  var mat2 = new Three.MeshStandardMaterial({
1584
1593
  emissive: new Three.Color(0x666666).convertLinearToSRGB(),
1585
1594
  metalness: 0.7,
@@ -1595,7 +1604,7 @@ function render3DLightingItem(element, layer, scene, sizeinfo, structure_json) {
1595
1604
  }
1596
1605
  objGroup = object;
1597
1606
  }, function (reason) {
1598
- console.log("loadGLTF failed for reason:", reason);
1607
+ console.log('loadGLTF failed for reason:', reason);
1599
1608
  objGroup = GeomUtils.emptyBoxHolder(newWidth, newHeight, newDepth);
1600
1609
  }).then(function () {
1601
1610
  return _loadGLTFs3(0);