kitchen-simulator 3.1.2 → 4.0.1-react-18

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 (138) hide show
  1. package/README.md +0 -3
  2. package/es/AppContext.js +1 -1
  3. package/es/LiteKitchenConfigurator.js +15 -25
  4. package/es/LiteRenderer.js +2 -5
  5. package/es/actions/export.js +12 -25
  6. package/es/catalog/catalog.js +5 -21
  7. package/es/components/content.js +2 -5
  8. package/es/components/export.js +6 -4
  9. package/es/components/style/export.js +2 -28
  10. package/es/components/style/form-number-input.js +22 -11
  11. package/es/components/viewer2d/group.js +4 -5
  12. package/es/components/viewer2d/item.js +300 -316
  13. package/es/components/viewer2d/layer.js +1 -1
  14. package/es/components/viewer2d/line.js +47 -17
  15. package/es/components/viewer2d/rulerX.js +0 -3
  16. package/es/components/viewer2d/rulerY.js +0 -3
  17. package/es/components/viewer2d/scene.js +1 -4
  18. package/es/components/viewer2d/state.js +1 -1
  19. package/es/components/viewer2d/viewer2d.js +43 -28
  20. package/es/components/viewer3d/viewer3d-first-person.js +0 -8
  21. package/es/components/viewer3d/viewer3d.js +0 -9
  22. package/es/devLiteRenderer.js +148 -317
  23. package/es/index.js +12 -4
  24. package/es/mocks/appliancePayload.json +27 -0
  25. package/es/mocks/cabinetPayload.json +1914 -0
  26. package/es/mocks/cabinetPayload2.json +76 -0
  27. package/es/mocks/dataBundle2.json +4 -0
  28. package/es/mocks/distancePayload.json +6 -0
  29. package/es/mocks/doorStylePayload2.json +84 -0
  30. package/es/mocks/furnishingPayload.json +23 -0
  31. package/es/mocks/itemCDSPayload.json +27 -0
  32. package/es/mocks/lightingPayload.json +23 -0
  33. package/es/mocks/mockProps.json +43 -0
  34. package/es/mocks/mockProps2.json +9 -0
  35. package/es/mocks/moldingPayload.json +19 -0
  36. package/es/mocks/projectItemsCatalog.json +133 -0
  37. package/es/mocks/rectangleShape.json +238 -0
  38. package/es/mocks/replaceCabinetPayload.json +81 -0
  39. package/es/mocks/roomShapePayload.json +5 -0
  40. package/es/useAppContext.js +8 -0
  41. package/lib/AppContext.js +1 -1
  42. package/lib/LiteKitchenConfigurator.js +15 -25
  43. package/lib/LiteRenderer.js +2 -5
  44. package/lib/actions/export.js +39 -35
  45. package/lib/catalog/catalog.js +4 -20
  46. package/lib/components/content.js +2 -5
  47. package/lib/components/export.js +26 -6
  48. package/lib/components/style/export.js +1 -105
  49. package/lib/components/style/form-number-input.js +22 -11
  50. package/lib/components/viewer2d/group.js +4 -5
  51. package/lib/components/viewer2d/item.js +298 -314
  52. package/lib/components/viewer2d/layer.js +1 -1
  53. package/lib/components/viewer2d/line.js +47 -17
  54. package/lib/components/viewer2d/rulerX.js +0 -3
  55. package/lib/components/viewer2d/rulerY.js +0 -3
  56. package/lib/components/viewer2d/scene.js +1 -4
  57. package/lib/components/viewer2d/state.js +1 -1
  58. package/lib/components/viewer2d/viewer2d.js +42 -27
  59. package/lib/components/viewer3d/viewer3d-first-person.js +0 -8
  60. package/lib/components/viewer3d/viewer3d.js +0 -9
  61. package/lib/devLiteRenderer.js +147 -316
  62. package/lib/index.js +12 -4
  63. package/lib/mocks/appliancePayload.json +27 -0
  64. package/lib/mocks/cabinetPayload.json +1914 -0
  65. package/lib/mocks/cabinetPayload2.json +76 -0
  66. package/lib/mocks/dataBundle2.json +4 -0
  67. package/lib/mocks/distancePayload.json +6 -0
  68. package/lib/mocks/doorStylePayload2.json +84 -0
  69. package/lib/mocks/furnishingPayload.json +23 -0
  70. package/lib/mocks/itemCDSPayload.json +27 -0
  71. package/lib/mocks/lightingPayload.json +23 -0
  72. package/lib/mocks/mockProps.json +43 -0
  73. package/lib/mocks/mockProps2.json +9 -0
  74. package/lib/mocks/moldingPayload.json +19 -0
  75. package/lib/mocks/projectItemsCatalog.json +133 -0
  76. package/lib/mocks/rectangleShape.json +238 -0
  77. package/lib/mocks/replaceCabinetPayload.json +81 -0
  78. package/lib/mocks/roomShapePayload.json +5 -0
  79. package/lib/useAppContext.js +16 -0
  80. package/package.json +16 -21
  81. package/es/catalog/properties/export.js +0 -21
  82. package/es/catalog/properties/property-checkbox.js +0 -68
  83. package/es/catalog/properties/property-color.js +0 -39
  84. package/es/catalog/properties/property-enum.js +0 -50
  85. package/es/catalog/properties/property-hidden.js +0 -19
  86. package/es/catalog/properties/property-lenght-measure.js +0 -100
  87. package/es/catalog/properties/property-length-measure.js +0 -84
  88. package/es/catalog/properties/property-length-measure_hole.js +0 -100
  89. package/es/catalog/properties/property-number.js +0 -48
  90. package/es/catalog/properties/property-read-only.js +0 -26
  91. package/es/catalog/properties/property-string.js +0 -48
  92. package/es/catalog/properties/property-toggle.js +0 -39
  93. package/es/catalog/properties/shared-property-style.js +0 -14
  94. package/es/components/style/button.js +0 -106
  95. package/es/components/style/cancel-button.js +0 -21
  96. package/es/components/style/content-container.js +0 -30
  97. package/es/components/style/content-title.js +0 -25
  98. package/es/components/style/delete-button.js +0 -24
  99. package/es/components/style/form-block.js +0 -20
  100. package/es/components/style/form-color-input.js +0 -26
  101. package/es/components/style/form-label.js +0 -22
  102. package/es/components/style/form-number-input_2.js +0 -200
  103. package/es/components/style/form-select.js +0 -19
  104. package/es/components/style/form-slider.js +0 -60
  105. package/es/components/style/form-submit-button.js +0 -25
  106. package/es/components/style/form-text-input.js +0 -69
  107. package/es/plugins/SVGLoader.js +0 -1414
  108. package/es/styles/export.js +0 -5
  109. package/es/styles/tabs.css +0 -40
  110. package/lib/catalog/properties/export.js +0 -81
  111. package/lib/catalog/properties/property-checkbox.js +0 -76
  112. package/lib/catalog/properties/property-color.js +0 -47
  113. package/lib/catalog/properties/property-enum.js +0 -58
  114. package/lib/catalog/properties/property-hidden.js +0 -27
  115. package/lib/catalog/properties/property-lenght-measure.js +0 -108
  116. package/lib/catalog/properties/property-length-measure.js +0 -92
  117. package/lib/catalog/properties/property-length-measure_hole.js +0 -108
  118. package/lib/catalog/properties/property-number.js +0 -56
  119. package/lib/catalog/properties/property-read-only.js +0 -34
  120. package/lib/catalog/properties/property-string.js +0 -56
  121. package/lib/catalog/properties/property-toggle.js +0 -47
  122. package/lib/catalog/properties/shared-property-style.js +0 -21
  123. package/lib/components/style/button.js +0 -115
  124. package/lib/components/style/cancel-button.js +0 -29
  125. package/lib/components/style/content-container.js +0 -38
  126. package/lib/components/style/content-title.js +0 -35
  127. package/lib/components/style/delete-button.js +0 -34
  128. package/lib/components/style/form-block.js +0 -28
  129. package/lib/components/style/form-color-input.js +0 -34
  130. package/lib/components/style/form-label.js +0 -30
  131. package/lib/components/style/form-number-input_2.js +0 -209
  132. package/lib/components/style/form-select.js +0 -29
  133. package/lib/components/style/form-slider.js +0 -68
  134. package/lib/components/style/form-submit-button.js +0 -35
  135. package/lib/components/style/form-text-input.js +0 -78
  136. package/lib/plugins/SVGLoader.js +0 -1419
  137. package/lib/styles/export.js +0 -13
  138. package/lib/styles/tabs.css +0 -40
@@ -123,7 +123,7 @@ function Layer(_ref) {
123
123
  var lineData = [];
124
124
  lines.sort(function compare(a, b) {
125
125
  return a.createdDateTime - b.createdDateTime;
126
- }).valueSeq().forEach(function (line) {
126
+ }).valueSeq().forEach(function (line, index) {
127
127
  lineData.push(/*#__PURE__*/_react["default"].createElement(_export.Line, {
128
128
  key: line.id,
129
129
  layer: layer,
@@ -258,11 +258,13 @@ function Line(_ref) {
258
258
  if (!showWallCabinetMeasure || wall_posArray.length <= 2) {
259
259
  wallSpace = 0;
260
260
  }
261
- wallRuler = wall_posAndwidth.map(function (pAw) {
261
+ wallRuler = wall_posAndwidth.map(function (pAw, idx) {
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", null, /*#__PURE__*/_react["default"].createElement("line", {
265
+ return /*#__PURE__*/_react["default"].createElement("g", {
266
+ key: "wallRuler-".concat(idx)
267
+ }, /*#__PURE__*/_react["default"].createElement("line", {
266
268
  x1: pAw.pos.x + pAw.length,
267
269
  y1: pAw.pos.y,
268
270
  x2: pAw.pos.x + pAw.length,
@@ -284,7 +286,9 @@ function Line(_ref) {
284
286
  style: STYLE_DASH
285
287
  }));
286
288
  } else {
287
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
289
+ return /*#__PURE__*/_react["default"].createElement("g", {
290
+ key: "wallRuler-".concat(idx)
291
+ }, /*#__PURE__*/_react["default"].createElement("line", {
288
292
  x1: pAw.pos.x + pAw.length,
289
293
  y1: pAw.pos.y,
290
294
  x2: pAw.pos.x + pAw.length,
@@ -309,7 +313,9 @@ function Line(_ref) {
309
313
  } else {
310
314
  if (y1 - y2 > 0) {
311
315
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
312
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
316
+ return /*#__PURE__*/_react["default"].createElement("g", {
317
+ key: "wallRuler-".concat(idx)
318
+ }, /*#__PURE__*/_react["default"].createElement("line", {
313
319
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
314
320
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
315
321
  x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -331,7 +337,9 @@ function Line(_ref) {
331
337
  style: STYLE_DASH
332
338
  }));
333
339
  } else {
334
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
340
+ return /*#__PURE__*/_react["default"].createElement("g", {
341
+ key: "wallRuler-".concat(idx)
342
+ }, /*#__PURE__*/_react["default"].createElement("line", {
335
343
  x1: pAw.pos.x,
336
344
  y1: pAw.pos.y,
337
345
  x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -355,7 +363,9 @@ function Line(_ref) {
355
363
  }
356
364
  } else {
357
365
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
358
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
366
+ return /*#__PURE__*/_react["default"].createElement("g", {
367
+ key: "wallRuler-".concat(idx)
368
+ }, /*#__PURE__*/_react["default"].createElement("line", {
359
369
  x1: pAw.pos.x,
360
370
  y1: pAw.pos.y,
361
371
  x2: pAw.pos.x - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -377,7 +387,9 @@ function Line(_ref) {
377
387
  style: STYLE_DASH
378
388
  }));
379
389
  } else {
380
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
390
+ return /*#__PURE__*/_react["default"].createElement("g", {
391
+ key: "wallRuler-".concat(idx)
392
+ }, /*#__PURE__*/_react["default"].createElement("line", {
381
393
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
382
394
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
383
395
  x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + wallSpace) * Math.sin(angle / 180 * Math.PI),
@@ -470,11 +482,13 @@ function Line(_ref) {
470
482
  if (!showBaseCabinetMeasure || base_posArray.length <= 2) {
471
483
  baseSpace -= STEP;
472
484
  }
473
- baseRuler = base_posAndwidth.map(function (pAw) {
485
+ baseRuler = base_posAndwidth.map(function (pAw, idx) {
474
486
  if (pAw.length > 1) {
475
487
  if (Math.sin(angle) === 0 || _export.GeometryUtils.almostEqual(y1, y2)) {
476
488
  if (x1 - x2 > 0) {
477
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
489
+ return /*#__PURE__*/_react["default"].createElement("g", {
490
+ key: "baseRuler-".concat(idx)
491
+ }, /*#__PURE__*/_react["default"].createElement("line", {
478
492
  x1: pAw.pos.x + pAw.length,
479
493
  y1: pAw.pos.y,
480
494
  x2: pAw.pos.x + pAw.length,
@@ -496,7 +510,9 @@ function Line(_ref) {
496
510
  style: STYLE_DASH
497
511
  }));
498
512
  } else {
499
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
513
+ return /*#__PURE__*/_react["default"].createElement("g", {
514
+ key: "baseRuler-".concat(idx)
515
+ }, /*#__PURE__*/_react["default"].createElement("line", {
500
516
  x1: pAw.pos.x + pAw.length,
501
517
  y1: pAw.pos.y,
502
518
  x2: pAw.pos.x + pAw.length,
@@ -521,7 +537,9 @@ function Line(_ref) {
521
537
  } else {
522
538
  if (y1 - y2 > 0) {
523
539
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
524
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
540
+ return /*#__PURE__*/_react["default"].createElement("g", {
541
+ key: "baseRuler-".concat(idx)
542
+ }, /*#__PURE__*/_react["default"].createElement("line", {
525
543
  x1: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI),
526
544
  y1: pAw.pos.y - pAw.length * Math.sin(angle / 180 * Math.PI),
527
545
  x2: pAw.pos.x - pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -543,7 +561,9 @@ function Line(_ref) {
543
561
  style: STYLE_DASH
544
562
  }));
545
563
  } else {
546
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
564
+ return /*#__PURE__*/_react["default"].createElement("g", {
565
+ key: "baseRuler-".concat(idx)
566
+ }, /*#__PURE__*/_react["default"].createElement("line", {
547
567
  x1: pAw.pos.x,
548
568
  y1: pAw.pos.y,
549
569
  x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -567,7 +587,9 @@ function Line(_ref) {
567
587
  }
568
588
  } else {
569
589
  if (x1 - x2 < 0 || _export.GeometryUtils.almostEqual(x1, x2)) {
570
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
590
+ return /*#__PURE__*/_react["default"].createElement("g", {
591
+ key: "baseRuler-".concat(idx)
592
+ }, /*#__PURE__*/_react["default"].createElement("line", {
571
593
  x1: pAw.pos.x,
572
594
  y1: pAw.pos.y,
573
595
  x2: pAw.pos.x - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -589,7 +611,9 @@ function Line(_ref) {
589
611
  style: STYLE_DASH
590
612
  }));
591
613
  } else {
592
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
614
+ return /*#__PURE__*/_react["default"].createElement("g", {
615
+ key: "baseRuler-".concat(idx)
616
+ }, /*#__PURE__*/_react["default"].createElement("line", {
593
617
  x1: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI),
594
618
  y1: pAw.pos.y + pAw.length * Math.sin(angle / 180 * Math.PI),
595
619
  x2: pAw.pos.x + pAw.length * Math.cos(angle / 180 * Math.PI) - (thickness / 2 + baseSpace) * Math.sin(angle / 180 * Math.PI),
@@ -663,7 +687,9 @@ function Line(_ref) {
663
687
  //the space from the dimensioning line to the bottom
664
688
  var lineSpacedimension2 = 14;
665
689
  if (compareVertices(vertex0, vertex1) >= 0 && vertex0.x !== vertex1.x) {
666
- renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
690
+ renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", {
691
+ key: 'ruler_' + line.id
692
+ }, /*#__PURE__*/_react["default"].createElement("line", {
667
693
  x1: length,
668
694
  y1: lineSpace + lineSpacedimension1,
669
695
  x2: length,
@@ -685,7 +711,9 @@ function Line(_ref) {
685
711
  style: STYLE_ROOM_SHAPE
686
712
  })));
687
713
  } else {
688
- renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("line", {
714
+ renderedRuler.push(/*#__PURE__*/_react["default"].createElement("g", {
715
+ key: 'ruler_' + line.id
716
+ }, /*#__PURE__*/_react["default"].createElement("line", {
689
717
  x1: 0,
690
718
  y1: lineSpace + lineSpacedimension1,
691
719
  x2: 0,
@@ -784,7 +812,9 @@ function Line(_ref) {
784
812
  }
785
813
  });
786
814
  }
787
- return /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("g", {
815
+ return /*#__PURE__*/_react["default"].createElement("g", {
816
+ key: line.id
817
+ }, /*#__PURE__*/_react["default"].createElement("g", {
788
818
  transform: "translate(".concat(x1, ", ").concat(y1, ") rotate(").concat(angle, ", 0, 0)"),
789
819
  "data-element-root": true,
790
820
  "data-prototype": 'ruler',
@@ -148,7 +148,4 @@ RulerX.defaultProps = {
148
148
  fontColor: SharedStyle.COLORS.white,
149
149
  markerColor: SharedStyle.SECONDARY_COLOR.main
150
150
  };
151
- RulerX.contextTypes = {
152
- translator: _propTypes["default"].object.isRequired
153
- };
154
151
  module.exports = exports.default;
@@ -150,7 +150,4 @@ 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
- };
156
153
  module.exports = exports.default;
@@ -129,9 +129,6 @@ 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"].object.isRequired
133
- };
134
- Scene.contextTypes = {
135
- projectActions: _propTypes["default"].object.isRequired
132
+ relatedLines: _propTypes["default"].array.isRequired
136
133
  };
137
134
  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"].object.isRequired
81
+ relatedLines: _propTypes["default"].array.isRequired
82
82
  };
83
83
  module.exports = exports.default;
@@ -23,6 +23,7 @@ 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");
26
27
  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); }
27
28
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
29
  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
@@ -129,21 +130,22 @@ function extractElementData(node) {
129
130
  direct: node.attributes.getNamedItem('data-direct') ? node.attributes.getNamedItem('data-direct').value : 0
130
131
  };
131
132
  }
132
- function Viewer2D(_ref, _ref2) {
133
+ function Viewer2D(_ref) {
133
134
  var state = _ref.state,
134
135
  width = _ref.width,
135
136
  height = _ref.height,
136
137
  setToolbar = _ref.setToolbar,
137
138
  replaceCabinet = _ref.replaceCabinet,
138
139
  onInternalEvent = _ref.onInternalEvent;
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;
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;
147
149
  var _useState = (0, _react.useState)(null),
148
150
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
149
151
  rulerEdit = _useState2[0],
@@ -166,6 +168,26 @@ function Viewer2D(_ref, _ref2) {
166
168
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
167
169
  drawStart = _useState8[0],
168
170
  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]);
169
191
  (0, _react.useEffect)(function () {
170
192
  // move viewer point to center
171
193
  var selectedLayer = state.scene.layers.get(state.scene.selectedLayer);
@@ -190,9 +212,9 @@ function Viewer2D(_ref, _ref2) {
190
212
  var layerID = scene.selectedLayer;
191
213
  var wall_thickness = _constants.LINE_THICKNESS / 2;
192
214
  var layer = scene.getIn(['layers', layerID]);
193
- var mapCursorPosition = function mapCursorPosition(_ref3) {
194
- var x = _ref3.x,
195
- y = _ref3.y;
215
+ var mapCursorPosition = function mapCursorPosition(_ref2) {
216
+ var x = _ref2.x,
217
+ y = _ref2.y;
196
218
  return {
197
219
  x: x,
198
220
  y: -y + scene.height
@@ -1295,6 +1317,7 @@ function Viewer2D(_ref, _ref2) {
1295
1317
  };
1296
1318
  var onChangeValue = function onChangeValue(value) {
1297
1319
  if (sFlag) return;
1320
+ setSvgValue(value);
1298
1321
  var _zoomValue = parseInt((value.a - 0.5) / constants.ZOOM_VARIABLE);
1299
1322
  if (_zoomValue > constants.MAX_ZOOM_IN_SCALE) return;
1300
1323
  if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
@@ -1326,6 +1349,7 @@ function Viewer2D(_ref, _ref2) {
1326
1349
  }
1327
1350
  };
1328
1351
  var onChangeTool = function onChangeTool(tool) {
1352
+ setSvgTool(tool);
1329
1353
  switch (tool) {
1330
1354
  case _reactSvgPanZoom.TOOL_NONE:
1331
1355
  projectActions.selectToolEdit();
@@ -1424,19 +1448,20 @@ function Viewer2D(_ref, _ref2) {
1424
1448
  },
1425
1449
  width: width - rulerSize,
1426
1450
  height: height - rulerSize,
1427
- value: viewer2D.isEmpty() ? null : viewer2D.toJS(),
1451
+ value: svgValue,
1452
+ tool: svgTool,
1428
1453
  onChangeValue: onChangeValue,
1429
- tool: mode2Tool(mode),
1430
1454
  onChangeTool: onChangeTool,
1431
1455
  detectAutoPan: mode2DetectAutopan(mode),
1432
1456
  onMouseDown: onMouseDown,
1433
1457
  onMouseMove: onMouseMove,
1434
1458
  onMouseUp: onMouseUp,
1435
- miniaturePosition: "none",
1436
- toolbarPosition: "none",
1437
1459
  detectPinchGesture: false,
1438
1460
  disableDoubleClickZoomWithToolAuto: true,
1439
- ref: Viewer
1461
+ ref: Viewer,
1462
+ toolbarProps: {
1463
+ position: _reactSvgPanZoom.POSITION_NONE
1464
+ }
1440
1465
  }, /*#__PURE__*/_react["default"].createElement("svg", {
1441
1466
  width: scene.width,
1442
1467
  height: scene.height
@@ -1472,14 +1497,4 @@ Viewer2D.propTypes = {
1472
1497
  width: _propTypes["default"].number.isRequired,
1473
1498
  height: _propTypes["default"].number.isRequired
1474
1499
  };
1475
- Viewer2D.contextTypes = {
1476
- viewer2DActions: _propTypes["default"].object.isRequired,
1477
- linesActions: _propTypes["default"].object.isRequired,
1478
- holesActions: _propTypes["default"].object.isRequired,
1479
- verticesActions: _propTypes["default"].object.isRequired,
1480
- itemsActions: _propTypes["default"].object.isRequired,
1481
- areaActions: _propTypes["default"].object.isRequired,
1482
- projectActions: _propTypes["default"].object.isRequired,
1483
- catalog: _propTypes["default"].object.isRequired
1484
- };
1485
1500
  module.exports = exports.default;
@@ -305,12 +305,4 @@ Viewer3DFirstPerson.propTypes = {
305
305
  width: _propTypes["default"].number.isRequired,
306
306
  height: _propTypes["default"].number.isRequired
307
307
  };
308
- Viewer3DFirstPerson.contextTypes = {
309
- areaActions: _propTypes["default"].object.isRequired,
310
- holesActions: _propTypes["default"].object.isRequired,
311
- itemsActions: _propTypes["default"].object.isRequired,
312
- linesActions: _propTypes["default"].object.isRequired,
313
- projectActions: _propTypes["default"].object.isRequired,
314
- catalog: _propTypes["default"].object
315
- };
316
308
  module.exports = exports.default;
@@ -2671,13 +2671,4 @@ Scene3DViewer.propTypes = {
2671
2671
  height: _propTypes["default"].number.isRequired,
2672
2672
  replaceCabinet: _propTypes["default"].func.isRequired
2673
2673
  };
2674
- Scene3DViewer.contextTypes = {
2675
- areaActions: _propTypes["default"].object.isRequired,
2676
- holesActions: _propTypes["default"].object.isRequired,
2677
- itemsActions: _propTypes["default"].object.isRequired,
2678
- linesActions: _propTypes["default"].object.isRequired,
2679
- sceneActions: _propTypes["default"].object.isRequired,
2680
- projectActions: _propTypes["default"].object.isRequired,
2681
- catalog: _propTypes["default"].object
2682
- };
2683
2674
  module.exports = exports.default;