kitchen-simulator 4.0.2-react-18 → 4.0.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 (188) hide show
  1. package/README.md +3 -0
  2. package/es/AppContext.js +1 -1
  3. package/es/LiteKitchenConfigurator.js +165 -107
  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/png/helper/video_preview_start.png +0 -0
  8. package/es/assets/img/svg/bottombar/elevation.svg +12 -5
  9. package/es/catalog/catalog.js +21 -5
  10. package/es/catalog/holes/window-clear/planner-element.js +2 -2
  11. package/es/catalog/properties/export.js +21 -0
  12. package/es/catalog/properties/property-checkbox.js +68 -0
  13. package/es/catalog/properties/property-color.js +39 -0
  14. package/es/catalog/properties/property-enum.js +50 -0
  15. package/es/catalog/properties/property-hidden.js +19 -0
  16. package/es/catalog/properties/property-lenght-measure.js +100 -0
  17. package/es/catalog/properties/property-length-measure.js +84 -0
  18. package/es/catalog/properties/property-length-measure_hole.js +100 -0
  19. package/es/catalog/properties/property-number.js +48 -0
  20. package/es/catalog/properties/property-read-only.js +26 -0
  21. package/es/catalog/properties/property-string.js +48 -0
  22. package/es/catalog/properties/property-toggle.js +39 -0
  23. package/es/catalog/properties/shared-property-style.js +14 -0
  24. package/es/catalog/utils/exporter.js +1 -0
  25. package/es/catalog/utils/item-loader.js +18 -12
  26. package/es/class/hole.js +0 -2
  27. package/es/class/item.js +95 -69
  28. package/es/class/line.js +4 -8
  29. package/es/class/project.js +93 -80
  30. package/es/components/content.js +5 -93
  31. package/es/components/export.js +4 -6
  32. package/es/components/style/button.js +106 -0
  33. package/es/components/style/cancel-button.js +21 -0
  34. package/es/components/style/content-container.js +30 -0
  35. package/es/components/style/content-title.js +25 -0
  36. package/es/components/style/delete-button.js +24 -0
  37. package/es/components/style/export.js +28 -2
  38. package/es/components/style/form-block.js +20 -0
  39. package/es/components/style/form-color-input.js +26 -0
  40. package/es/components/style/form-label.js +22 -0
  41. package/es/components/style/form-number-input.js +11 -22
  42. package/es/components/style/form-number-input_2.js +200 -0
  43. package/es/components/style/form-select.js +19 -0
  44. package/es/components/style/form-slider.js +60 -0
  45. package/es/components/style/form-submit-button.js +25 -0
  46. package/es/components/style/form-text-input.js +69 -0
  47. package/es/components/viewer2d/group.js +5 -4
  48. package/es/components/viewer2d/item.js +155 -359
  49. package/es/components/viewer2d/layer.js +1 -1
  50. package/es/components/viewer2d/line.js +17 -47
  51. package/es/components/viewer2d/ruler.js +5 -3
  52. package/es/components/viewer2d/rulerDist.js +8 -7
  53. package/es/components/viewer2d/rulerX.js +4 -2
  54. package/es/components/viewer2d/rulerY.js +3 -0
  55. package/es/components/viewer2d/scene.js +4 -1
  56. package/es/components/viewer2d/state.js +1 -1
  57. package/es/components/viewer2d/utils.js +2 -2
  58. package/es/components/viewer2d/viewer2d.js +51 -84
  59. package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
  60. package/es/components/viewer3d/scene-creator.js +51 -15
  61. package/es/components/viewer3d/viewer3d-first-person.js +8 -0
  62. package/es/components/viewer3d/viewer3d.js +80 -88
  63. package/es/constants.js +6 -2
  64. package/es/devLiteRenderer.js +491 -150
  65. package/es/index.js +567 -25
  66. package/es/models.js +2 -1
  67. package/es/plugins/SVGLoader.js +1414 -0
  68. package/es/plugins/console-debugger.js +34 -0
  69. package/es/plugins/export.js +7 -0
  70. package/es/plugins/keyboard.js +110 -0
  71. package/es/reducers/project-reducer.js +3 -0
  72. package/es/styles/export.js +5 -0
  73. package/es/styles/tabs.css +40 -0
  74. package/es/utils/geometry.js +64 -106
  75. package/es/utils/helper.js +38 -1
  76. package/es/utils/isolate-event-handler.js +824 -605
  77. package/es/utils/molding.js +457 -11
  78. package/lib/AppContext.js +1 -1
  79. package/lib/LiteKitchenConfigurator.js +164 -107
  80. package/lib/LiteRenderer.js +160 -129
  81. package/lib/actions/export.js +35 -39
  82. package/lib/assets/gltf/door_sliding.bin +0 -0
  83. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  84. package/lib/assets/img/svg/bottombar/elevation.svg +12 -5
  85. package/lib/catalog/catalog.js +20 -4
  86. package/lib/catalog/holes/window-clear/planner-element.js +2 -2
  87. package/lib/catalog/properties/export.js +81 -0
  88. package/lib/catalog/properties/property-checkbox.js +76 -0
  89. package/lib/catalog/properties/property-color.js +47 -0
  90. package/lib/catalog/properties/property-enum.js +58 -0
  91. package/lib/catalog/properties/property-hidden.js +27 -0
  92. package/lib/catalog/properties/property-lenght-measure.js +108 -0
  93. package/lib/catalog/properties/property-length-measure.js +92 -0
  94. package/lib/catalog/properties/property-length-measure_hole.js +108 -0
  95. package/lib/catalog/properties/property-number.js +56 -0
  96. package/lib/catalog/properties/property-read-only.js +34 -0
  97. package/lib/catalog/properties/property-string.js +56 -0
  98. package/lib/catalog/properties/property-toggle.js +47 -0
  99. package/lib/catalog/properties/shared-property-style.js +21 -0
  100. package/lib/catalog/utils/exporter.js +1 -0
  101. package/lib/catalog/utils/item-loader.js +18 -12
  102. package/lib/class/hole.js +0 -2
  103. package/lib/class/item.js +93 -67
  104. package/lib/class/line.js +3 -7
  105. package/lib/class/project.js +93 -80
  106. package/lib/components/content.js +5 -93
  107. package/lib/components/export.js +6 -26
  108. package/lib/components/style/button.js +115 -0
  109. package/lib/components/style/cancel-button.js +29 -0
  110. package/lib/components/style/content-container.js +38 -0
  111. package/lib/components/style/content-title.js +35 -0
  112. package/lib/components/style/delete-button.js +34 -0
  113. package/lib/components/style/export.js +105 -1
  114. package/lib/components/style/form-block.js +28 -0
  115. package/lib/components/style/form-color-input.js +34 -0
  116. package/lib/components/style/form-label.js +30 -0
  117. package/lib/components/style/form-number-input.js +11 -22
  118. package/lib/components/style/form-number-input_2.js +209 -0
  119. package/lib/components/style/form-select.js +29 -0
  120. package/lib/components/style/form-slider.js +68 -0
  121. package/lib/components/style/form-submit-button.js +35 -0
  122. package/lib/components/style/form-text-input.js +78 -0
  123. package/lib/components/viewer2d/group.js +5 -4
  124. package/lib/components/viewer2d/item.js +152 -356
  125. package/lib/components/viewer2d/layer.js +1 -1
  126. package/lib/components/viewer2d/line.js +17 -47
  127. package/lib/components/viewer2d/ruler.js +4 -2
  128. package/lib/components/viewer2d/rulerDist.js +8 -7
  129. package/lib/components/viewer2d/rulerX.js +4 -2
  130. package/lib/components/viewer2d/rulerY.js +3 -0
  131. package/lib/components/viewer2d/scene.js +4 -1
  132. package/lib/components/viewer2d/state.js +1 -1
  133. package/lib/components/viewer2d/utils.js +2 -2
  134. package/lib/components/viewer2d/viewer2d.js +49 -81
  135. package/lib/components/viewer3d/ruler-utils/scene3D.js +1 -1
  136. package/lib/components/viewer3d/scene-creator.js +49 -13
  137. package/lib/components/viewer3d/viewer3d-first-person.js +8 -0
  138. package/lib/components/viewer3d/viewer3d.js +77 -84
  139. package/lib/constants.js +11 -7
  140. package/lib/devLiteRenderer.js +489 -148
  141. package/lib/index.js +567 -25
  142. package/lib/models.js +2 -1
  143. package/lib/plugins/SVGLoader.js +1419 -0
  144. package/lib/plugins/console-debugger.js +42 -0
  145. package/lib/plugins/export.js +25 -0
  146. package/lib/plugins/keyboard.js +117 -0
  147. package/lib/reducers/project-reducer.js +3 -0
  148. package/lib/styles/export.js +13 -0
  149. package/lib/styles/tabs.css +40 -0
  150. package/lib/utils/geometry.js +64 -106
  151. package/lib/utils/helper.js +40 -1
  152. package/lib/utils/isolate-event-handler.js +824 -604
  153. package/lib/utils/molding.js +458 -9
  154. package/package.json +21 -16
  155. package/es/mocks/appliancePayload.json +0 -27
  156. package/es/mocks/cabinetPayload.json +0 -1914
  157. package/es/mocks/cabinetPayload2.json +0 -76
  158. package/es/mocks/dataBundle2.json +0 -4
  159. package/es/mocks/distancePayload.json +0 -6
  160. package/es/mocks/doorStylePayload2.json +0 -84
  161. package/es/mocks/furnishingPayload.json +0 -23
  162. package/es/mocks/itemCDSPayload.json +0 -27
  163. package/es/mocks/lightingPayload.json +0 -23
  164. package/es/mocks/mockProps.json +0 -43
  165. package/es/mocks/mockProps2.json +0 -9
  166. package/es/mocks/moldingPayload.json +0 -19
  167. package/es/mocks/projectItemsCatalog.json +0 -133
  168. package/es/mocks/rectangleShape.json +0 -238
  169. package/es/mocks/replaceCabinetPayload.json +0 -81
  170. package/es/mocks/roomShapePayload.json +0 -5
  171. package/es/useAppContext.js +0 -8
  172. package/lib/mocks/appliancePayload.json +0 -27
  173. package/lib/mocks/cabinetPayload.json +0 -1914
  174. package/lib/mocks/cabinetPayload2.json +0 -76
  175. package/lib/mocks/dataBundle2.json +0 -4
  176. package/lib/mocks/distancePayload.json +0 -6
  177. package/lib/mocks/doorStylePayload2.json +0 -84
  178. package/lib/mocks/furnishingPayload.json +0 -23
  179. package/lib/mocks/itemCDSPayload.json +0 -27
  180. package/lib/mocks/lightingPayload.json +0 -23
  181. package/lib/mocks/mockProps.json +0 -43
  182. package/lib/mocks/mockProps2.json +0 -9
  183. package/lib/mocks/moldingPayload.json +0 -19
  184. package/lib/mocks/projectItemsCatalog.json +0 -133
  185. package/lib/mocks/rectangleShape.json +0 -238
  186. package/lib/mocks/replaceCabinetPayload.json +0 -81
  187. package/lib/mocks/roomShapePayload.json +0 -5
  188. package/lib/useAppContext.js +0 -16
@@ -258,13 +258,11 @@ function Line(_ref) {
258
258
  if (!showWallCabinetMeasure || wall_posArray.length <= 2) {
259
259
  wallSpace = 0;
260
260
  }
261
- wallRuler = wall_posAndwidth.map(function (pAw, idx) {
261
+ wallRuler = wall_posAndwidth.map(function (pAw) {
262
262
  if (pAw.length > 1) {
263
263
  if (Math.sin(angle) === 0 || _export.GeometryUtils.almostEqual(y1, y2)) {
264
264
  if (x1 - x2 > 0) {
265
- return /*#__PURE__*/_react["default"].createElement("g", {
266
- key: "wallRuler-".concat(idx)
267
- }, /*#__PURE__*/_react["default"].createElement("line", {
265
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
268
266
  x1: pAw.pos.x + pAw.length,
269
267
  y1: pAw.pos.y,
270
268
  x2: pAw.pos.x + pAw.length,
@@ -286,9 +284,7 @@ function Line(_ref) {
286
284
  style: STYLE_DASH
287
285
  }));
288
286
  } else {
289
- return /*#__PURE__*/_react["default"].createElement("g", {
290
- key: "wallRuler-".concat(idx)
291
- }, /*#__PURE__*/_react["default"].createElement("line", {
287
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
292
288
  x1: pAw.pos.x + pAw.length,
293
289
  y1: pAw.pos.y,
294
290
  x2: pAw.pos.x + pAw.length,
@@ -313,9 +309,7 @@ function Line(_ref) {
313
309
  } else {
314
310
  if (y1 - y2 > 0) {
315
311
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
316
- return /*#__PURE__*/_react["default"].createElement("g", {
317
- key: "wallRuler-".concat(idx)
318
- }, /*#__PURE__*/_react["default"].createElement("line", {
312
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
319
313
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
320
314
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
321
315
  x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -337,9 +331,7 @@ function Line(_ref) {
337
331
  style: STYLE_DASH
338
332
  }));
339
333
  } else {
340
- return /*#__PURE__*/_react["default"].createElement("g", {
341
- key: "wallRuler-".concat(idx)
342
- }, /*#__PURE__*/_react["default"].createElement("line", {
334
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
343
335
  x1: pAw.pos.x,
344
336
  y1: pAw.pos.y,
345
337
  x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -363,9 +355,7 @@ function Line(_ref) {
363
355
  }
364
356
  } else {
365
357
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
366
- return /*#__PURE__*/_react["default"].createElement("g", {
367
- key: "wallRuler-".concat(idx)
368
- }, /*#__PURE__*/_react["default"].createElement("line", {
358
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
369
359
  x1: pAw.pos.x,
370
360
  y1: pAw.pos.y,
371
361
  x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -387,9 +377,7 @@ function Line(_ref) {
387
377
  style: STYLE_DASH
388
378
  }));
389
379
  } else {
390
- return /*#__PURE__*/_react["default"].createElement("g", {
391
- key: "wallRuler-".concat(idx)
392
- }, /*#__PURE__*/_react["default"].createElement("line", {
380
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
393
381
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
394
382
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
395
383
  x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -482,13 +470,11 @@ function Line(_ref) {
482
470
  if (!showBaseCabinetMeasure || base_posArray.length <= 2) {
483
471
  baseSpace -= STEP;
484
472
  }
485
- baseRuler = base_posAndwidth.map(function (pAw, idx) {
473
+ baseRuler = base_posAndwidth.map(function (pAw) {
486
474
  if (pAw.length > 1) {
487
475
  if (Math.sin(angle) === 0 || _export.GeometryUtils.almostEqual(y1, y2)) {
488
476
  if (x1 - x2 > 0) {
489
- return /*#__PURE__*/_react["default"].createElement("g", {
490
- key: "baseRuler-".concat(idx)
491
- }, /*#__PURE__*/_react["default"].createElement("line", {
477
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
492
478
  x1: pAw.pos.x + pAw.length,
493
479
  y1: pAw.pos.y,
494
480
  x2: pAw.pos.x + pAw.length,
@@ -510,9 +496,7 @@ function Line(_ref) {
510
496
  style: STYLE_DASH
511
497
  }));
512
498
  } else {
513
- return /*#__PURE__*/_react["default"].createElement("g", {
514
- key: "baseRuler-".concat(idx)
515
- }, /*#__PURE__*/_react["default"].createElement("line", {
499
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
516
500
  x1: pAw.pos.x + pAw.length,
517
501
  y1: pAw.pos.y,
518
502
  x2: pAw.pos.x + pAw.length,
@@ -537,9 +521,7 @@ function Line(_ref) {
537
521
  } else {
538
522
  if (y1 - y2 > 0) {
539
523
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
540
- return /*#__PURE__*/_react["default"].createElement("g", {
541
- key: "baseRuler-".concat(idx)
542
- }, /*#__PURE__*/_react["default"].createElement("line", {
524
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
543
525
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
544
526
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
545
527
  x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -561,9 +543,7 @@ function Line(_ref) {
561
543
  style: STYLE_DASH
562
544
  }));
563
545
  } else {
564
- return /*#__PURE__*/_react["default"].createElement("g", {
565
- key: "baseRuler-".concat(idx)
566
- }, /*#__PURE__*/_react["default"].createElement("line", {
546
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
567
547
  x1: pAw.pos.x,
568
548
  y1: pAw.pos.y,
569
549
  x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -587,9 +567,7 @@ function Line(_ref) {
587
567
  }
588
568
  } else {
589
569
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
590
- return /*#__PURE__*/_react["default"].createElement("g", {
591
- key: "baseRuler-".concat(idx)
592
- }, /*#__PURE__*/_react["default"].createElement("line", {
570
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
593
571
  x1: pAw.pos.x,
594
572
  y1: pAw.pos.y,
595
573
  x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -611,9 +589,7 @@ function Line(_ref) {
611
589
  style: STYLE_DASH
612
590
  }));
613
591
  } else {
614
- return /*#__PURE__*/_react["default"].createElement("g", {
615
- key: "baseRuler-".concat(idx)
616
- }, /*#__PURE__*/_react["default"].createElement("line", {
592
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
617
593
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
618
594
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
619
595
  x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -687,9 +663,7 @@ function Line(_ref) {
687
663
  //the space from the dimensioning line to the bottom
688
664
  var lineSpacedimension2 = 14;
689
665
  if (compareVertices(vertex0, vertex1) >= 0 && vertex0.x !== vertex1.x) {
690
- renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", {
691
- key: 'ruler_' + line.id
692
- }, /*#__PURE__*/_react["default"].createElement("line", {
666
+ renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
693
667
  x1: length,
694
668
  y1: lineSpace + lineSpacedimension1,
695
669
  x2: length,
@@ -711,9 +685,7 @@ function Line(_ref) {
711
685
  style: STYLE_ROOM_SHAPE
712
686
  })));
713
687
  } else {
714
- renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", {
715
- key: 'ruler_' + line.id
716
- }, /*#__PURE__*/_react["default"].createElement("line", {
688
+ renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
717
689
  x1: 0,
718
690
  y1: lineSpace + lineSpacedimension1,
719
691
  x2: 0,
@@ -812,9 +784,7 @@ function Line(_ref) {
812
784
  }
813
785
  });
814
786
  }
815
- return /*#__PURE__*/_react["default"].createElement("g", {
816
- key: line.id
817
- }, /*#__PURE__*/_react["default"].createElement("g", {
787
+ return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", {
818
788
  transform: "translate(".concat(x1, ", ").concat(y1, ") rotate(").concat(angle, ", 0, 0)"),
819
789
  "data-element-root": true,
820
790
  "data-prototype": 'ruler',
@@ -38,7 +38,9 @@ function Ruler(_ref) {
38
38
  rulerUnit = _ref.rulerUnit,
39
39
  transform = _ref.transform,
40
40
  style = _ref.style;
41
- var distanceText = (0, _convertUnitsLite.convert)(length).from(unit).to(rulerUnit).toFixed(0);
41
+ var ruLength = (0, _convertUnitsLite.convert)(length).from(unit).to(rulerUnit);
42
+ var fixedLength = layer.unit === _constants.UNIT_METER || layer.unit === _constants.UNIT_FOOT ? 2 : 0;
43
+ var distanceText = (Math.round((0, _convertUnitsLite.convert)(ruLength).from(rulerUnit).to(layer.unit) * 100) / 100).toFixed(fixedLength);
42
44
  var textLength = (distanceText.length + layer.unit.length) * 9;
43
45
  return /*#__PURE__*/_react["default"].createElement("g", {
44
46
  transform: transform
@@ -59,7 +61,7 @@ function Ruler(_ref) {
59
61
  transform: "scale(1, -1)",
60
62
  style: STYLE_TEXT,
61
63
  fill: _constants.TEXT_COLOR_NEUTRAL_7
62
- }, Math.round((0, _convertUnitsLite.convert)(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/_react["default"].createElement("line", {
64
+ }, distanceText, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/_react["default"].createElement("line", {
63
65
  x1: style === _line.STYLE_ROOM_SHAPE ? 0 : 4,
64
66
  y1: "0",
65
67
  x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
@@ -8,6 +8,7 @@ exports["default"] = RulerDist;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _convertUnitsLite = require("../../utils/convert-units-lite");
11
+ var _constants = require("../../constants");
11
12
  var ARROW_STYLE = {
12
13
  stroke: '#1183B7',
13
14
  strokeWidth: '2px',
@@ -38,9 +39,9 @@ function RulerDist(_ref) {
38
39
  transform = _ref.transform,
39
40
  angle = _ref.angle,
40
41
  rotation = _ref.rotation;
41
- var _unit = 'in';
42
- // let _length = convert(length).from(unit).to(rulerUnit);
43
- var distanceText = "".concat((0, _convertUnitsLite.convert)(length).from('cm').to(rulerUnit).toFixed(0));
42
+ var ruLength = (0, _convertUnitsLite.convert)(length).from(unit).to(rulerUnit);
43
+ var fixedLength = layer.unit === _constants.UNIT_METER || layer.unit === _constants.UNIT_FOOT ? 2 : 0;
44
+ var distanceText = (Math.round((0, _convertUnitsLite.convert)(ruLength).from(rulerUnit).to(layer.unit) * 100) / 100).toFixed(fixedLength);
44
45
  var textLength = (distanceText.length + layer.unit.length) * 8;
45
46
  var textangle = angle + 90;
46
47
  var textRotation = 1;
@@ -73,8 +74,8 @@ function RulerDist(_ref) {
73
74
  textRotation = 180;
74
75
  ay = 5;
75
76
  }
76
- if (distanceText > 0) {
77
- if (distanceText < 28) {
77
+ if (ruLength > 0) {
78
+ if (ruLength < 28) {
78
79
  return /*#__PURE__*/_react["default"].createElement("g", {
79
80
  transform: transform
80
81
  }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("text", {
@@ -82,7 +83,7 @@ function RulerDist(_ref) {
82
83
  y: "0",
83
84
  transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
84
85
  style: STYLE_TEXT
85
- }, Math.round((0, _convertUnitsLite.convert)(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit === 'in' ? '"' : layer.unit)));
86
+ }, distanceText, layer.unit === 'in' ? '"' : layer.unit)));
86
87
  } else {
87
88
  return /*#__PURE__*/_react["default"].createElement("g", {
88
89
  transform: transform
@@ -91,7 +92,7 @@ function RulerDist(_ref) {
91
92
  y: "0",
92
93
  transform: "translate(".concat(length / 2, ",").concat(ay, ") scale(1, -1) rotate(").concat(textRotation, ")"),
93
94
  style: STYLE_TEXT
94
- }, Math.round((0, _convertUnitsLite.convert)(distanceText).from('in').to(layer.unit) * 100) / 100, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/_react["default"].createElement("line", {
95
+ }, distanceText, layer.unit === 'in' ? '"' : layer.unit)), /*#__PURE__*/_react["default"].createElement("line", {
95
96
  x1: "2",
96
97
  y1: "0",
97
98
  x2: (length - textLength) / 2 < 0 ? 0 : (length - textLength) / 2,
@@ -52,10 +52,9 @@ var RulerX = exports["default"] = /*#__PURE__*/function (_Component) {
52
52
  height: '100%',
53
53
  color: this.props.fontColor
54
54
  };
55
- var left = Number.isFinite(this.props.zeroLeftPosition) && Number.isFinite(this.props.mouseX) && Number.isFinite(this.props.zoom) ? this.props.zeroLeftPosition + this.props.mouseX * this.props.zoom - 6.5 : 0;
56
55
  var markerStyle = {
57
56
  position: 'absolute',
58
- left: left,
57
+ left: this.props.zeroLeftPosition + this.props.mouseX * this.props.zoom - 6.5,
59
58
  top: 8,
60
59
  width: 0,
61
60
  height: 0,
@@ -149,4 +148,7 @@ RulerX.defaultProps = {
149
148
  fontColor: SharedStyle.COLORS.white,
150
149
  markerColor: SharedStyle.SECONDARY_COLOR.main
151
150
  };
151
+ RulerX.contextTypes = {
152
+ translator: _propTypes["default"].object.isRequired
153
+ };
152
154
  module.exports = exports.default;
@@ -150,4 +150,7 @@ RulerY.defaultProps = {
150
150
  fontColor: SharedStyle.COLORS.white,
151
151
  markerColor: SharedStyle.SECONDARY_COLOR.main
152
152
  };
153
+ RulerY.contextTypes = {
154
+ translator: _propTypes["default"].object.isRequired
155
+ };
153
156
  module.exports = exports.default;
@@ -129,6 +129,9 @@ var Scene = exports["default"] = /*#__PURE__*/function (_Component) {
129
129
  Scene.propTypes = {
130
130
  scene: _propTypes["default"].object.isRequired,
131
131
  catalog: _propTypes["default"].object.isRequired,
132
- relatedLines: _propTypes["default"].array.isRequired
132
+ relatedLines: _propTypes["default"].object.isRequired
133
+ };
134
+ Scene.contextTypes = {
135
+ projectActions: _propTypes["default"].object.isRequired
133
136
  };
134
137
  module.exports = exports.default;
@@ -78,6 +78,6 @@ function State(_ref) {
78
78
  State.propTypes = {
79
79
  state: _propTypes["default"].object.isRequired,
80
80
  catalog: _propTypes["default"].object.isRequired,
81
- relatedLines: _propTypes["default"].array.isRequired
81
+ relatedLines: _propTypes["default"].object.isRequired
82
82
  };
83
83
  module.exports = exports.default;
@@ -201,7 +201,7 @@ var areaPolygon = exports.areaPolygon = function areaPolygon(points) {
201
201
  };
202
202
  var isWarningItem = exports.isWarningItem = function isWarningItem(item) {
203
203
  var _item$toJS$doorStyle;
204
- return !(item !== null && item !== void 0 && (_item$toJS$doorStyle = item.toJS().doorStyle) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.doorStyles) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.cds) !== null && _item$toJS$doorStyle !== void 0 && _item$toJS$doorStyle.filter(function (cd) {
204
+ if (item.category === 'cabinet') return !(item !== null && item !== void 0 && (_item$toJS$doorStyle = item.toJS().doorStyle) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.doorStyles) !== null && _item$toJS$doorStyle !== void 0 && (_item$toJS$doorStyle = _item$toJS$doorStyle.cds) !== null && _item$toJS$doorStyle !== void 0 && _item$toJS$doorStyle.filter(function (cd) {
205
205
  return cd.itemID == (item === null || item === void 0 ? void 0 : item.getIn(['itemID']));
206
- }).length) > 0;
206
+ }).length) > 0;else return false;
207
207
  };
@@ -23,7 +23,6 @@ var _immutable = require("immutable");
23
23
  var _math = require("../../utils/math");
24
24
  var _helper = require("../../utils/helper");
25
25
  var _utils = require("./utils");
26
- var _useAppContext2 = require("../../useAppContext");
27
26
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
27
  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; }
29
28
  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; } // variables
@@ -130,22 +129,21 @@ function extractElementData(node) {
130
129
  direct: node.attributes.getNamedItem('data-direct') ? node.attributes.getNamedItem('data-direct').value : 0
131
130
  };
132
131
  }
133
- function Viewer2D(_ref) {
132
+ function Viewer2D(_ref, _ref2) {
134
133
  var state = _ref.state,
135
134
  width = _ref.width,
136
135
  height = _ref.height,
137
136
  setToolbar = _ref.setToolbar,
138
137
  replaceCabinet = _ref.replaceCabinet,
139
138
  onInternalEvent = _ref.onInternalEvent;
140
- var _useAppContext = (0, _useAppContext2.useAppContext)(),
141
- viewer2DActions = _useAppContext.viewer2DActions,
142
- linesActions = _useAppContext.linesActions,
143
- holesActions = _useAppContext.holesActions,
144
- verticesActions = _useAppContext.verticesActions,
145
- itemsActions = _useAppContext.itemsActions,
146
- areaActions = _useAppContext.areaActions,
147
- projectActions = _useAppContext.projectActions,
148
- catalog = _useAppContext.catalog;
139
+ var viewer2DActions = _ref2.viewer2DActions,
140
+ linesActions = _ref2.linesActions,
141
+ holesActions = _ref2.holesActions,
142
+ verticesActions = _ref2.verticesActions,
143
+ itemsActions = _ref2.itemsActions,
144
+ areaActions = _ref2.areaActions,
145
+ projectActions = _ref2.projectActions,
146
+ catalog = _ref2.catalog;
149
147
  var _useState = (0, _react.useState)(null),
150
148
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
151
149
  rulerEdit = _useState2[0],
@@ -168,26 +166,6 @@ function Viewer2D(_ref) {
168
166
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
169
167
  drawStart = _useState8[0],
170
168
  setdrawStart = _useState8[1];
171
- var _useState9 = (0, _react.useState)(function () {
172
- return viewer2D && !viewer2D.isEmpty() ? viewer2D.toJS() : _reactSvgPanZoom.INITIAL_VALUE;
173
- }),
174
- _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
175
- svgValue = _useState0[0],
176
- setSvgValue = _useState0[1];
177
- var _useState1 = (0, _react.useState)(function () {
178
- return mode2Tool(mode);
179
- }),
180
- _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
181
- svgTool = _useState10[0],
182
- setSvgTool = _useState10[1];
183
- (0, _react.useEffect)(function () {
184
- // keep tool controlled from app mode
185
- setSvgTool(mode2Tool(mode));
186
- }, [mode]);
187
- (0, _react.useEffect)(function () {
188
- // keep value controlled from store, but never null
189
- if (viewer2D && !viewer2D.isEmpty()) setSvgValue(viewer2D.toJS());
190
- }, [viewer2D]);
191
169
  (0, _react.useEffect)(function () {
192
170
  // move viewer point to center
193
171
  var selectedLayer = state.scene.layers.get(state.scene.selectedLayer);
@@ -212,9 +190,9 @@ function Viewer2D(_ref) {
212
190
  var layerID = scene.selectedLayer;
213
191
  var wall_thickness = _constants.LINE_THICKNESS / 2;
214
192
  var layer = scene.getIn(['layers', layerID]);
215
- var mapCursorPosition = function mapCursorPosition(_ref2) {
216
- var x = _ref2.x,
217
- y = _ref2.y;
193
+ var mapCursorPosition = function mapCursorPosition(_ref3) {
194
+ var x = _ref3.x,
195
+ y = _ref3.y;
218
196
  return {
219
197
  x: x,
220
198
  y: -y + scene.height
@@ -863,15 +841,17 @@ function Viewer2D(_ref) {
863
841
  var onMouseUp = function onMouseUp(viewerEvent) {
864
842
  //set move all flag false
865
843
  sFlag = false;
866
- // //////////////////////
867
- // setRulerEdit(null);
868
844
  var event = viewerEvent.originalEvent;
869
- var bbox = event.target.getBoundingClientRect();
845
+ var parent = document.querySelector('#kitchen-simulator-container');
846
+ var targetRect = event.target.getBoundingClientRect();
847
+ var parentRect = parent.getBoundingClientRect();
848
+ var left = targetRect.left - parentRect.left;
849
+ var top = targetRect.top - parentRect.top;
850
+ left = left - (200 - targetRect.width) / 2;
851
+ top = top - (50 - targetRect.height) / 2;
870
852
  if (!mode.includes('ING')) {
871
853
  setToolbar('');
872
854
  }
873
- // bbox.width = event.target.getBBox().width;
874
- // bbox.height = event.target.getBBox().height;
875
855
  if (event.target.tagName === 'rect') {
876
856
  if (event.target.id) {
877
857
  setRulerEditID(event.target.id);
@@ -1003,8 +983,8 @@ function Viewer2D(_ref) {
1003
983
  id: "ruler_numberInput",
1004
984
  style: {
1005
985
  position: 'absolute',
1006
- left: bbox.left - (150 - bbox.width) / 2,
1007
- top: bbox.top - (50 - bbox.height) / 2,
986
+ left: left,
987
+ top: top,
1008
988
  zIndex: 1000
1009
989
  }
1010
990
  }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
@@ -1035,8 +1015,8 @@ function Viewer2D(_ref) {
1035
1015
  id: "ruler_numberInput",
1036
1016
  style: {
1037
1017
  position: 'absolute',
1038
- left: bbox.left - (150 - bbox.width) / 2,
1039
- top: bbox.top - (50 - bbox.height) / 2,
1018
+ left: left,
1019
+ top: top,
1040
1020
  zIndex: 1000
1041
1021
  }
1042
1022
  }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
@@ -1068,8 +1048,8 @@ function Viewer2D(_ref) {
1068
1048
  id: "ruler_numberInput",
1069
1049
  style: {
1070
1050
  position: 'absolute',
1071
- left: bbox.left - (150 - bbox.width) / 2,
1072
- top: bbox.top - (50 - bbox.height) / 2,
1051
+ left: left,
1052
+ top: top,
1073
1053
  zIndex: 1000
1074
1054
  }
1075
1055
  }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
@@ -1101,8 +1081,8 @@ function Viewer2D(_ref) {
1101
1081
  id: "ruler_numberInput",
1102
1082
  style: {
1103
1083
  position: 'absolute',
1104
- left: bbox.left - (150 - bbox.width) / 2,
1105
- top: bbox.top - (50 - bbox.height) / 2,
1084
+ left: left,
1085
+ top: top,
1106
1086
  zIndex: 1000
1107
1087
  }
1108
1088
  }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
@@ -1134,8 +1114,8 @@ function Viewer2D(_ref) {
1134
1114
  id: "ruler_numberInput",
1135
1115
  style: {
1136
1116
  position: 'absolute',
1137
- left: bbox.left - (150 - bbox.width) / 2,
1138
- top: bbox.top - (50 - bbox.height) / 2,
1117
+ left: left,
1118
+ top: top,
1139
1119
  zIndex: 1000
1140
1120
  }
1141
1121
  }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
@@ -1167,8 +1147,8 @@ function Viewer2D(_ref) {
1167
1147
  id: "ruler_numberInput",
1168
1148
  style: {
1169
1149
  position: 'absolute',
1170
- left: bbox.left - (150 - bbox.width) / 2,
1171
- top: bbox.top - (50 - bbox.height) / 2,
1150
+ left: left,
1151
+ top: top,
1172
1152
  zIndex: 1000
1173
1153
  }
1174
1154
  }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
@@ -1199,8 +1179,8 @@ function Viewer2D(_ref) {
1199
1179
  id: "ruler_numberInput",
1200
1180
  style: {
1201
1181
  position: 'absolute',
1202
- left: bbox.left - (150 - bbox.width) / 2,
1203
- top: bbox.top - (50 - bbox.height) / 2,
1182
+ left: left,
1183
+ top: top,
1204
1184
  zIndex: 1000
1205
1185
  }
1206
1186
  }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
@@ -1281,24 +1261,7 @@ function Viewer2D(_ref) {
1281
1261
  _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1282
1262
  }
1283
1263
  if (_currentObject) {
1284
- var _currentObject3, _currentObject4, _currentObject5;
1285
- var payload = (_currentObject3 = _currentObject) === null || _currentObject3 === void 0 ? void 0 : _currentObject3.toJS();
1286
- if (((_currentObject4 = _currentObject) === null || _currentObject4 === void 0 ? void 0 : _currentObject4.prototype) === 'lines') {
1287
- // caculating length of selected line//
1288
- var v_a = layer.vertices.get(_currentObject.vertices.get(0));
1289
- var v_b = layer.vertices.get(_currentObject.vertices.get(1));
1290
- var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
1291
- var _length3 = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
1292
- payload.length = _length3;
1293
- //////////////////////////////////////
1294
- } else if (((_currentObject5 = _currentObject) === null || _currentObject5 === void 0 ? void 0 : _currentObject5.prototype) === 'items') {
1295
- // check this cabinet has warning box
1296
- payload.isWarning = (0, _utils.isWarningItem)(_currentObject);
1297
- // check this item is available molding
1298
- payload.isMoldingAvailable = _export2.MoldingUtils.isEnableItemForMolding(layer, _currentObject);
1299
- // check this item is snapped to wall
1300
- payload.isAttachedWall = _export2.MoldingUtils.isAttachedWall(layer, _currentObject);
1301
- }
1264
+ var payload = (0, _helper.updatePayloadOfInternalEvent)(_currentObject, layer, catalog);
1302
1265
 
1303
1266
  // send selection event befor replace event
1304
1267
  if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
@@ -1317,7 +1280,6 @@ function Viewer2D(_ref) {
1317
1280
  };
1318
1281
  var onChangeValue = function onChangeValue(value) {
1319
1282
  if (sFlag) return;
1320
- setSvgValue(value);
1321
1283
  var _zoomValue = parseInt((value.a - 0.5) / constants.ZOOM_VARIABLE);
1322
1284
  if (_zoomValue > constants.MAX_ZOOM_IN_SCALE) return;
1323
1285
  if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
@@ -1330,8 +1292,6 @@ function Viewer2D(_ref) {
1330
1292
  var bbox;
1331
1293
  if (_rect && _rulerEdit) {
1332
1294
  bbox = _rect.getBoundingClientRect();
1333
- // bbox.width = _rect.getBBox().width;
1334
- // bbox.height = _rect.getBBox().height;
1335
1295
  _rulerEdit.style.left = "".concat(bbox.left - (150 - bbox.width) / 2, "px");
1336
1296
  _rulerEdit.style.top = "".concat(bbox.top - (50 - bbox.height) / 2, "px");
1337
1297
  }
@@ -1349,7 +1309,6 @@ function Viewer2D(_ref) {
1349
1309
  }
1350
1310
  };
1351
1311
  var onChangeTool = function onChangeTool(tool) {
1352
- setSvgTool(tool);
1353
1312
  switch (tool) {
1354
1313
  case _reactSvgPanZoom.TOOL_NONE:
1355
1314
  projectActions.selectToolEdit();
@@ -1448,20 +1407,19 @@ function Viewer2D(_ref) {
1448
1407
  },
1449
1408
  width: width - rulerSize,
1450
1409
  height: height - rulerSize,
1451
- value: svgValue,
1452
- tool: svgTool,
1410
+ value: viewer2D.isEmpty() ? null : viewer2D.toJS(),
1453
1411
  onChangeValue: onChangeValue,
1412
+ tool: mode2Tool(mode),
1454
1413
  onChangeTool: onChangeTool,
1455
1414
  detectAutoPan: mode2DetectAutopan(mode),
1456
1415
  onMouseDown: onMouseDown,
1457
1416
  onMouseMove: onMouseMove,
1458
1417
  onMouseUp: onMouseUp,
1418
+ miniaturePosition: "none",
1419
+ toolbarPosition: "none",
1459
1420
  detectPinchGesture: false,
1460
1421
  disableDoubleClickZoomWithToolAuto: true,
1461
- ref: Viewer,
1462
- toolbarProps: {
1463
- position: _reactSvgPanZoom.POSITION_NONE
1464
- }
1422
+ ref: Viewer
1465
1423
  }, /*#__PURE__*/_react["default"].createElement("svg", {
1466
1424
  width: scene.width,
1467
1425
  height: scene.height
@@ -1497,4 +1455,14 @@ Viewer2D.propTypes = {
1497
1455
  width: _propTypes["default"].number.isRequired,
1498
1456
  height: _propTypes["default"].number.isRequired
1499
1457
  };
1458
+ Viewer2D.contextTypes = {
1459
+ viewer2DActions: _propTypes["default"].object.isRequired,
1460
+ linesActions: _propTypes["default"].object.isRequired,
1461
+ holesActions: _propTypes["default"].object.isRequired,
1462
+ verticesActions: _propTypes["default"].object.isRequired,
1463
+ itemsActions: _propTypes["default"].object.isRequired,
1464
+ areaActions: _propTypes["default"].object.isRequired,
1465
+ projectActions: _propTypes["default"].object.isRequired,
1466
+ catalog: _propTypes["default"].object.isRequired
1467
+ };
1500
1468
  module.exports = exports.default;
@@ -22,7 +22,7 @@ function Scene3D(_ref) {
22
22
  downloadFlag = _ref.downloadFlag;
23
23
  var layers = scene.layers;
24
24
  var selectedLayer = layers.get(scene.selectedLayer);
25
- var ceilHeight = selectedLayer.ceilHeight;
25
+ var ceilHeight = Number(selectedLayer.ceilHeight);
26
26
  var selectedLine = selectedLayer.lines.get(selectedLayer.selected.lines.toJS()[0]);
27
27
  var vertex0 = selectedLayer.vertices.get(selectedLine.vertices.get(0));
28
28
  var vertex1 = selectedLayer.vertices.get(selectedLine.vertices.get(1));