kitchen-simulator 4.1.7-react-18 → 5.0.0-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 (662) hide show
  1. package/README.md +3 -0
  2. package/es/AppContext.js +1 -1
  3. package/es/LiteKitchenConfigurator.js +139 -103
  4. package/es/LiteRenderer.js +167 -127
  5. package/es/WorkSpace.js +854 -0
  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/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 +96 -0
  17. package/es/catalog/properties/property-length-measure.js +80 -0
  18. package/es/catalog/properties/property-length-measure_hole.js +96 -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 +24 -11
  25. package/es/catalog/utils/item-loader.js +222 -213
  26. package/es/class/hole.js +0 -2
  27. package/es/class/item.js +89 -70
  28. package/es/class/layer.js +1 -1
  29. package/es/class/line.js +4 -8
  30. package/es/class/project.js +95 -80
  31. package/es/components/content.js +5 -92
  32. package/es/components/export.js +1 -1
  33. package/es/components/style/button.js +106 -0
  34. package/es/components/style/cancel-button.js +21 -0
  35. package/es/components/style/content-container.js +30 -0
  36. package/es/components/style/content-title.js +25 -0
  37. package/es/components/style/delete-button.js +24 -0
  38. package/es/components/style/export.js +28 -2
  39. package/es/components/style/form-block.js +20 -0
  40. package/es/components/style/form-color-input.js +26 -0
  41. package/es/components/style/form-label.js +22 -0
  42. package/es/components/style/form-number-input.js +52 -43
  43. package/es/components/style/form-number-input_2.js +238 -0
  44. package/es/components/style/form-select.js +19 -0
  45. package/es/components/style/form-slider.js +60 -0
  46. package/es/components/style/form-submit-button.js +25 -0
  47. package/es/components/style/form-text-input.js +69 -0
  48. package/es/components/viewer2d/grids/grid-streak.js +1 -1
  49. package/es/components/viewer2d/group.js +6 -10
  50. package/es/components/viewer2d/item.js +75 -272
  51. package/es/components/viewer2d/layer.js +1 -1
  52. package/es/components/viewer2d/line.js +19 -19
  53. package/es/components/viewer2d/ruler.js +5 -3
  54. package/es/components/viewer2d/rulerDist.js +8 -7
  55. package/es/components/viewer2d/rulerX.js +1 -2
  56. package/es/components/viewer2d/scene.js +44 -59
  57. package/es/components/viewer2d/utils.js +2 -2
  58. package/es/components/viewer2d/vertex.js +3 -2
  59. package/es/components/viewer2d/viewer2d.js +105 -131
  60. package/es/components/viewer3d/front3D.js +13 -1
  61. package/es/components/viewer3d/ruler-utils/scene3D.js +1 -1
  62. package/es/components/viewer3d/scene-creator.js +77 -39
  63. package/es/components/viewer3d/viewer3d-first-person.js +115 -119
  64. package/es/components/viewer3d/viewer3d.js +89 -127
  65. package/es/constants.js +7 -2
  66. package/es/index.html.ejs +264 -0
  67. package/es/index.js +589 -62
  68. package/es/models.js +13 -8
  69. package/es/plugins/SVGLoader.js +1414 -0
  70. package/es/plugins/console-debugger.js +34 -0
  71. package/es/plugins/export.js +7 -0
  72. package/es/plugins/keyboard.js +110 -0
  73. package/es/reducers/project-reducer.js +3 -0
  74. package/es/reducers/viewer2d-reducer.js +3 -1
  75. package/es/reducers/viewer3d-reducer.js +3 -1
  76. package/es/utils/geometry.js +77 -119
  77. package/es/utils/helper.js +38 -1
  78. package/es/utils/isolate-event-handler.js +831 -611
  79. package/es/utils/molding.js +457 -11
  80. package/package.json +7 -11
  81. package/es/analytics/ga4.js +0 -188
  82. package/es/analytics/posthog.js +0 -60
  83. package/es/devLiteRenderer.js +0 -542
  84. package/es/mocks/appliancePayload.json +0 -27
  85. package/es/mocks/cabinetPayload.json +0 -1914
  86. package/es/mocks/cabinetPayload2.json +0 -76
  87. package/es/mocks/dataBundle2.json +0 -4
  88. package/es/mocks/distancePayload.json +0 -6
  89. package/es/mocks/doorStylePayload2.json +0 -84
  90. package/es/mocks/furnishingPayload.json +0 -23
  91. package/es/mocks/itemCDSPayload.json +0 -27
  92. package/es/mocks/lightingPayload.json +0 -23
  93. package/es/mocks/mockProps.json +0 -43
  94. package/es/mocks/mockProps2.json +0 -9
  95. package/es/mocks/moldingPayload.json +0 -19
  96. package/es/mocks/projectItemsCatalog.json +0 -133
  97. package/es/mocks/rectangleShape.json +0 -238
  98. package/es/mocks/replaceCabinetPayload.json +0 -81
  99. package/es/mocks/roomShapePayload.json +0 -5
  100. package/es/useAppContext.js +0 -8
  101. package/lib/@history.js +0 -11
  102. package/lib/AppContext.js +0 -11
  103. package/lib/LiteKitchenConfigurator.js +0 -468
  104. package/lib/LiteRenderer.js +0 -330
  105. package/lib/actions/area-actions.js +0 -21
  106. package/lib/actions/export.js +0 -40
  107. package/lib/actions/groups-actions.js +0 -107
  108. package/lib/actions/holes-actions.js +0 -140
  109. package/lib/actions/items-actions.js +0 -367
  110. package/lib/actions/lines-actions.js +0 -98
  111. package/lib/actions/project-actions.js +0 -350
  112. package/lib/actions/scene-actions.js +0 -43
  113. package/lib/actions/vertices-actions.js +0 -35
  114. package/lib/actions/viewer2d-actions.js +0 -73
  115. package/lib/actions/viewer3d-actions.js +0 -32
  116. package/lib/analytics/ga4.js +0 -194
  117. package/lib/analytics/posthog.js +0 -68
  118. package/lib/assets/brown_photostudio_02_1k.hdr +0 -0
  119. package/lib/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  120. package/lib/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  121. package/lib/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  122. package/lib/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  123. package/lib/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  124. package/lib/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  125. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  126. package/lib/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  127. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  128. package/lib/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  129. package/lib/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  130. package/lib/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  131. package/lib/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  132. package/lib/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  133. package/lib/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  134. package/lib/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  135. package/lib/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  136. package/lib/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  137. package/lib/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  138. package/lib/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  139. package/lib/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  140. package/lib/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  141. package/lib/assets/fonts/style.css +0 -177
  142. package/lib/assets/gltf/door_closet.bin +0 -0
  143. package/lib/assets/gltf/door_closet.fbx +0 -0
  144. package/lib/assets/gltf/door_closet.gltf +0 -1
  145. package/lib/assets/gltf/door_exterior.bin +0 -0
  146. package/lib/assets/gltf/door_exterior.fbx +0 -0
  147. package/lib/assets/gltf/door_exterior.gltf +0 -1
  148. package/lib/assets/gltf/door_interior.bin +0 -0
  149. package/lib/assets/gltf/door_interior.fbx +0 -0
  150. package/lib/assets/gltf/door_interior.gltf +0 -1
  151. package/lib/assets/gltf/door_sliding.fbx +0 -0
  152. package/lib/assets/gltf/door_sliding.gltf +0 -1
  153. package/lib/assets/gltf/doorway_framed.bin +0 -0
  154. package/lib/assets/gltf/doorway_framed.fbx +0 -0
  155. package/lib/assets/gltf/doorway_framed.gltf +0 -1
  156. package/lib/assets/gltf/window_clear.bin +0 -0
  157. package/lib/assets/gltf/window_clear.fbx +0 -0
  158. package/lib/assets/gltf/window_clear.gltf +0 -1
  159. package/lib/assets/gltf/window_cross.bin +0 -0
  160. package/lib/assets/gltf/window_cross.fbx +0 -0
  161. package/lib/assets/gltf/window_cross.gltf +0 -1
  162. package/lib/assets/gltf/window_double_hung.bin +0 -0
  163. package/lib/assets/gltf/window_double_hung.fbx +0 -0
  164. package/lib/assets/gltf/window_double_hung.gltf +0 -1
  165. package/lib/assets/gltf/window_vertical.bin +0 -0
  166. package/lib/assets/gltf/window_vertical.fbx +0 -0
  167. package/lib/assets/gltf/window_vertical.gltf +0 -1
  168. package/lib/assets/img/TKC_thumbnail.png +0 -0
  169. package/lib/assets/img/Toggle.png +0 -0
  170. package/lib/assets/img/loading/loading.gif +0 -0
  171. package/lib/assets/img/loading/loading_1.svg +0 -11
  172. package/lib/assets/img/loading_large.gif +0 -0
  173. package/lib/assets/img/png/door/closet.png +0 -0
  174. package/lib/assets/img/png/door/doorwaysframed.png +0 -0
  175. package/lib/assets/img/png/door/doorwaysframeles.png +0 -0
  176. package/lib/assets/img/png/door/doorwaysframeless.png +0 -0
  177. package/lib/assets/img/png/door/exterior.png +0 -0
  178. package/lib/assets/img/png/door/interior.png +0 -0
  179. package/lib/assets/img/png/door/sliding.png +0 -0
  180. package/lib/assets/img/png/helper/outcome.png +0 -0
  181. package/lib/assets/img/png/helper/video_preview_3d.png +0 -0
  182. package/lib/assets/img/png/helper/video_preview_start.png +0 -0
  183. package/lib/assets/img/project_img.png +0 -0
  184. package/lib/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  185. package/lib/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  186. package/lib/assets/img/rta/rta_logo_box_blue_ico.svg +0 -55
  187. package/lib/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  188. package/lib/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  189. package/lib/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  190. package/lib/assets/img/rta/rta_logo_box_maroon.png +0 -0
  191. package/lib/assets/img/rta/rta_logo_box_white.png +0 -0
  192. package/lib/assets/img/rta_menu.png +0 -0
  193. package/lib/assets/img/step2.jpg +0 -0
  194. package/lib/assets/img/step3.jpg +0 -0
  195. package/lib/assets/img/step4.jpg +0 -0
  196. package/lib/assets/img/step5.jpg +0 -0
  197. package/lib/assets/img/step6.jpg +0 -0
  198. package/lib/assets/img/step7.jpg +0 -0
  199. package/lib/assets/img/step8.jpg +0 -0
  200. package/lib/assets/img/svg/2d_delete_object.svg +0 -33
  201. package/lib/assets/img/svg/2d_delete_object1.svg +0 -33
  202. package/lib/assets/img/svg/2d_lock_object.svg +0 -33
  203. package/lib/assets/img/svg/3d_item_move.svg +0 -106
  204. package/lib/assets/img/svg/3d_item_rotation.svg +0 -76
  205. package/lib/assets/img/svg/3d_item_warning_edit.svg +0 -77
  206. package/lib/assets/img/svg/3d_item_warning_info.svg +0 -81
  207. package/lib/assets/img/svg/accessories.svg +0 -4
  208. package/lib/assets/img/svg/angle_icon.svg +0 -39
  209. package/lib/assets/img/svg/blank_div.svg +0 -14
  210. package/lib/assets/img/svg/bottombar/2d3d_button.svg +0 -3
  211. package/lib/assets/img/svg/bottombar/2d3d_button_active.svg +0 -3
  212. package/lib/assets/img/svg/bottombar/2d3d_toggle.svg +0 -4
  213. package/lib/assets/img/svg/bottombar/2d3d_toggle_active.svg +0 -4
  214. package/lib/assets/img/svg/bottombar/arrow-down.svg +0 -3
  215. package/lib/assets/img/svg/bottombar/arrow-left.svg +0 -3
  216. package/lib/assets/img/svg/bottombar/arrow-minus.svg +0 -3
  217. package/lib/assets/img/svg/bottombar/arrow-plus.svg +0 -11
  218. package/lib/assets/img/svg/bottombar/arrow-right.svg +0 -3
  219. package/lib/assets/img/svg/bottombar/arrow-up.svg +0 -3
  220. package/lib/assets/img/svg/bottombar/collapse.svg +0 -3
  221. package/lib/assets/img/svg/bottombar/elevation-back.svg +0 -6
  222. package/lib/assets/img/svg/bottombar/elevation-front.svg +0 -6
  223. package/lib/assets/img/svg/bottombar/elevation-left.svg +0 -6
  224. package/lib/assets/img/svg/bottombar/elevation-right.svg +0 -7
  225. package/lib/assets/img/svg/bottombar/elevation.svg +0 -6
  226. package/lib/assets/img/svg/bottombar/expand.svg +0 -3
  227. package/lib/assets/img/svg/bottombar/help.svg +0 -72
  228. package/lib/assets/img/svg/bottombar/incm_toggle.svg +0 -39
  229. package/lib/assets/img/svg/bottombar/pan_1.svg +0 -57
  230. package/lib/assets/img/svg/bottombar/pan_2.svg +0 -27
  231. package/lib/assets/img/svg/bottombar/pan_3.svg +0 -27
  232. package/lib/assets/img/svg/bottombar/pan_4.svg +0 -27
  233. package/lib/assets/img/svg/bottombar/pan_5.svg +0 -27
  234. package/lib/assets/img/svg/bottombar/settings.svg +0 -23
  235. package/lib/assets/img/svg/bottombar/spin-down.svg +0 -76
  236. package/lib/assets/img/svg/bottombar/spin-left.svg +0 -75
  237. package/lib/assets/img/svg/bottombar/spin-right.svg +0 -75
  238. package/lib/assets/img/svg/bottombar/spin-up.svg +0 -76
  239. package/lib/assets/img/svg/bottombar/spin_1.svg +0 -48
  240. package/lib/assets/img/svg/bottombar/spin_2.svg +0 -31
  241. package/lib/assets/img/svg/bottombar/spin_3.svg +0 -31
  242. package/lib/assets/img/svg/bottombar/spin_4.svg +0 -31
  243. package/lib/assets/img/svg/bottombar/spin_5.svg +0 -31
  244. package/lib/assets/img/svg/bottombar/zoomin.svg +0 -29
  245. package/lib/assets/img/svg/bottombar/zoomout.svg +0 -26
  246. package/lib/assets/img/svg/check.svg +0 -10
  247. package/lib/assets/img/svg/close.svg +0 -11
  248. package/lib/assets/img/svg/color/Black.svg +0 -3
  249. package/lib/assets/img/svg/color/Blue.svg +0 -3
  250. package/lib/assets/img/svg/color/Brown.svg +0 -9
  251. package/lib/assets/img/svg/color/Cream.svg +0 -3
  252. package/lib/assets/img/svg/color/Dark.svg +0 -9
  253. package/lib/assets/img/svg/color/Gray.svg +0 -3
  254. package/lib/assets/img/svg/color/Green.svg +0 -3
  255. package/lib/assets/img/svg/color/Light.svg +0 -9
  256. package/lib/assets/img/svg/color/Medium.svg +0 -9
  257. package/lib/assets/img/svg/color/Unfinished.svg +0 -9
  258. package/lib/assets/img/svg/color/White.svg +0 -3
  259. package/lib/assets/img/svg/color/White.svg.bak +0 -3
  260. package/lib/assets/img/svg/color/stone2.jpg +0 -0
  261. package/lib/assets/img/svg/color/wood2.jpg +0 -0
  262. package/lib/assets/img/svg/copy.svg +0 -11
  263. package/lib/assets/img/svg/delete.svg +0 -3
  264. package/lib/assets/img/svg/detail.svg +0 -77
  265. package/lib/assets/img/svg/disclaimer/background.svg +0 -758
  266. package/lib/assets/img/svg/disclaimer/logo-dots.svg +0 -11
  267. package/lib/assets/img/svg/door/Closet.svg +0 -11
  268. package/lib/assets/img/svg/door/Exterior.svg +0 -5
  269. package/lib/assets/img/svg/door/Framed_dorway.svg +0 -5
  270. package/lib/assets/img/svg/door/Frameless_dorway.svg +0 -5
  271. package/lib/assets/img/svg/door/Interior.svg +0 -7
  272. package/lib/assets/img/svg/door/Sliding.svg +0 -5
  273. package/lib/assets/img/svg/doors_closet.svg +0 -47
  274. package/lib/assets/img/svg/doors_exterior.svg +0 -25
  275. package/lib/assets/img/svg/doors_interior.svg +0 -29
  276. package/lib/assets/img/svg/doors_patio.svg +0 -26
  277. package/lib/assets/img/svg/duplicate.svg +0 -11
  278. package/lib/assets/img/svg/duplicate_object_left.svg +0 -32
  279. package/lib/assets/img/svg/duplicate_object_right.svg +0 -32
  280. package/lib/assets/img/svg/filtersActive.svg +0 -19
  281. package/lib/assets/img/svg/firstsetting/L.svg +0 -3
  282. package/lib/assets/img/svg/firstsetting/L2.svg +0 -3
  283. package/lib/assets/img/svg/firstsetting/Open.svg +0 -3
  284. package/lib/assets/img/svg/firstsetting/Square.svg +0 -3
  285. package/lib/assets/img/svg/firstsetting/bar-active.svg +0 -9
  286. package/lib/assets/img/svg/firstsetting/bar-normal.svg +0 -3
  287. package/lib/assets/img/svg/firstsetting/bullet-current.svg +0 -3
  288. package/lib/assets/img/svg/firstsetting/bullet-done.svg +0 -3
  289. package/lib/assets/img/svg/firstsetting/bullet-not-done.svg +0 -3
  290. package/lib/assets/img/svg/firstsetting/check-active.svg +0 -3
  291. package/lib/assets/img/svg/firstsetting/check-normal.svg +0 -3
  292. package/lib/assets/img/svg/firstsetting/pencil.svg +0 -11
  293. package/lib/assets/img/svg/green_checkmark.svg +0 -27
  294. package/lib/assets/img/svg/headerbar/assist.svg +0 -3
  295. package/lib/assets/img/svg/headerbar/cart.svg +0 -3
  296. package/lib/assets/img/svg/headerbar/check.svg +0 -10
  297. package/lib/assets/img/svg/headerbar/consult_designer.svg +0 -45
  298. package/lib/assets/img/svg/headerbar/edit_name.svg +0 -26
  299. package/lib/assets/img/svg/headerbar/file-dollar.svg +0 -13
  300. package/lib/assets/img/svg/headerbar/hamburger_menu.svg +0 -32
  301. package/lib/assets/img/svg/headerbar/plus.svg +0 -11
  302. package/lib/assets/img/svg/headerbar/review_quote.svg +0 -44
  303. package/lib/assets/img/svg/headerbar/ruler-measure.svg +0 -11
  304. package/lib/assets/img/svg/headerbar/save.svg +0 -3
  305. package/lib/assets/img/svg/headerbar/setting.svg +0 -75
  306. package/lib/assets/img/svg/help/check.svg +0 -10
  307. package/lib/assets/img/svg/help/search.svg +0 -76
  308. package/lib/assets/img/svg/intro/1-start-with-floorplan-whole.svg +0 -27
  309. package/lib/assets/img/svg/intro/1-start-with-floorplan.svg +0 -26
  310. package/lib/assets/img/svg/intro/2-start-from-scratch-whole.svg +0 -28
  311. package/lib/assets/img/svg/intro/2-start-from-scratch.svg +0 -27
  312. package/lib/assets/img/svg/intro/3-retrieve-project-whole.svg +0 -19
  313. package/lib/assets/img/svg/intro/3-retrieve-project.svg +0 -18
  314. package/lib/assets/img/svg/invert.svg +0 -127
  315. package/lib/assets/img/svg/lefttoolbar/appliance-active.svg +0 -13
  316. package/lib/assets/img/svg/lefttoolbar/appliance.svg +0 -13
  317. package/lib/assets/img/svg/lefttoolbar/cabinet-active.svg +0 -10
  318. package/lib/assets/img/svg/lefttoolbar/cabinet-category.svg +0 -3
  319. package/lib/assets/img/svg/lefttoolbar/cabinet-one.svg +0 -3
  320. package/lib/assets/img/svg/lefttoolbar/cabinet.svg +0 -10
  321. package/lib/assets/img/svg/lefttoolbar/disigner_assistance.svg +0 -89
  322. package/lib/assets/img/svg/lefttoolbar/door-style-active.svg +0 -20
  323. package/lib/assets/img/svg/lefttoolbar/door-style.svg +0 -20
  324. package/lib/assets/img/svg/lefttoolbar/door.svg +0 -12
  325. package/lib/assets/img/svg/lefttoolbar/error_icon.svg +0 -81
  326. package/lib/assets/img/svg/lefttoolbar/finishing-active.svg +0 -13
  327. package/lib/assets/img/svg/lefttoolbar/finishing.svg +0 -13
  328. package/lib/assets/img/svg/lefttoolbar/reviewforquote-active.svg +0 -86
  329. package/lib/assets/img/svg/lefttoolbar/reviewforquote.svg +0 -12
  330. package/lib/assets/img/svg/lefttoolbar/room-shape-L.svg +0 -3
  331. package/lib/assets/img/svg/lefttoolbar/room-shape-active.svg +0 -18
  332. package/lib/assets/img/svg/lefttoolbar/room-shape-custom.svg +0 -12
  333. package/lib/assets/img/svg/lefttoolbar/room-shape-irregular.svg +0 -3
  334. package/lib/assets/img/svg/lefttoolbar/room-shape-open.svg +0 -3
  335. package/lib/assets/img/svg/lefttoolbar/room-shape-square.svg +0 -3
  336. package/lib/assets/img/svg/lefttoolbar/room-shape.svg +0 -18
  337. package/lib/assets/img/svg/lefttoolbar/search.svg +0 -76
  338. package/lib/assets/img/svg/lefttoolbar/view_more.svg +0 -86
  339. package/lib/assets/img/svg/lefttoolbar/warning_icon.svg +0 -81
  340. package/lib/assets/img/svg/lefttoolbar/window.svg +0 -12
  341. package/lib/assets/img/svg/logo.svg +0 -11
  342. package/lib/assets/img/svg/logo_with_text.svg +0 -25
  343. package/lib/assets/img/svg/menubar/login.svg +0 -84
  344. package/lib/assets/img/svg/menubar/my_projects.svg +0 -85
  345. package/lib/assets/img/svg/menubar/new_project.svg +0 -110
  346. package/lib/assets/img/svg/menubar/save_project.svg +0 -84
  347. package/lib/assets/img/svg/options.svg +0 -3
  348. package/lib/assets/img/svg/positioning.svg +0 -3
  349. package/lib/assets/img/svg/rotate.png +0 -0
  350. package/lib/assets/img/svg/rotate.svg +0 -17
  351. package/lib/assets/img/svg/rotate_object_clockwise.svg +0 -26
  352. package/lib/assets/img/svg/rotate_object_counterclockwise.svg +0 -26
  353. package/lib/assets/img/svg/toggleFilters.svg +0 -19
  354. package/lib/assets/img/svg/toolbar/add_appliances_active.svg +0 -64
  355. package/lib/assets/img/svg/toolbar/add_appliances_inactive.svg +0 -52
  356. package/lib/assets/img/svg/toolbar/add_button.svg +0 -36
  357. package/lib/assets/img/svg/toolbar/add_cabinets_active.svg +0 -59
  358. package/lib/assets/img/svg/toolbar/add_cabinets_inactive.svg +0 -49
  359. package/lib/assets/img/svg/toolbar/add_items_doors.svg +0 -25
  360. package/lib/assets/img/svg/toolbar/add_items_doorways.svg +0 -24
  361. package/lib/assets/img/svg/toolbar/add_items_refrigerator.svg +0 -32
  362. package/lib/assets/img/svg/toolbar/add_items_windows.svg +0 -28
  363. package/lib/assets/img/svg/toolbar/apply_button.svg +0 -38
  364. package/lib/assets/img/svg/toolbar/arrow-plus.svg +0 -11
  365. package/lib/assets/img/svg/toolbar/backsplash.svg +0 -8
  366. package/lib/assets/img/svg/toolbar/cancel_button.svg +0 -37
  367. package/lib/assets/img/svg/toolbar/consult_a_designer_button.svg +0 -47
  368. package/lib/assets/img/svg/toolbar/countertop.svg +0 -7
  369. package/lib/assets/img/svg/toolbar/dcm.png +0 -0
  370. package/lib/assets/img/svg/toolbar/dcm_off.svg +0 -12
  371. package/lib/assets/img/svg/toolbar/dcm_on.svg +0 -474
  372. package/lib/assets/img/svg/toolbar/delete_button.svg +0 -37
  373. package/lib/assets/img/svg/toolbar/download.svg +0 -77
  374. package/lib/assets/img/svg/toolbar/draw_custom_floor.svg +0 -31
  375. package/lib/assets/img/svg/toolbar/edit_button.svg +0 -75
  376. package/lib/assets/img/svg/toolbar/email_quote_button.svg +0 -44
  377. package/lib/assets/img/svg/toolbar/fbm.png +0 -0
  378. package/lib/assets/img/svg/toolbar/finishing_touches_active.svg +0 -54
  379. package/lib/assets/img/svg/toolbar/finishing_touches_inactive.svg +0 -42
  380. package/lib/assets/img/svg/toolbar/floorstyle.svg +0 -9
  381. package/lib/assets/img/svg/toolbar/fmb.png +0 -0
  382. package/lib/assets/img/svg/toolbar/fmb_off.svg +0 -12
  383. package/lib/assets/img/svg/toolbar/fmb_on.svg +0 -489
  384. package/lib/assets/img/svg/toolbar/furnishings_icon.svg +0 -6
  385. package/lib/assets/img/svg/toolbar/get_started_button.svg +0 -41
  386. package/lib/assets/img/svg/toolbar/handles.svg +0 -5
  387. package/lib/assets/img/svg/toolbar/lighting.svg +0 -7
  388. package/lib/assets/img/svg/toolbar/lrm.png +0 -0
  389. package/lib/assets/img/svg/toolbar/lrm_off.svg +0 -12
  390. package/lib/assets/img/svg/toolbar/lrm_on.svg +0 -470
  391. package/lib/assets/img/svg/toolbar/make_floorplan_active.svg +0 -66
  392. package/lib/assets/img/svg/toolbar/make_floorplan_inactive.svg +0 -52
  393. package/lib/assets/img/svg/toolbar/predefined_room_l_shaped.svg +0 -20
  394. package/lib/assets/img/svg/toolbar/predefined_room_layout.svg +0 -20
  395. package/lib/assets/img/svg/toolbar/predefined_room_long_narrow.svg +0 -20
  396. package/lib/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +0 -20
  397. package/lib/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +0 -20
  398. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +0 -20
  399. package/lib/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +0 -20
  400. package/lib/assets/img/svg/toolbar/predefined_room_pentagon.svg +0 -20
  401. package/lib/assets/img/svg/toolbar/predefined_room_rectangle.svg +0 -20
  402. package/lib/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +0 -20
  403. package/lib/assets/img/svg/toolbar/redo_button.svg +0 -75
  404. package/lib/assets/img/svg/toolbar/redo_button1.svg +0 -75
  405. package/lib/assets/img/svg/toolbar/review_quote_active.svg +0 -14
  406. package/lib/assets/img/svg/toolbar/review_quote_inactive.svg +0 -44
  407. package/lib/assets/img/svg/toolbar/save_project_button.svg +0 -44
  408. package/lib/assets/img/svg/toolbar/select_doorstyle_active.svg +0 -67
  409. package/lib/assets/img/svg/toolbar/select_doorstyle_inactive.svg +0 -57
  410. package/lib/assets/img/svg/toolbar/shopping-cart.svg +0 -13
  411. package/lib/assets/img/svg/toolbar/style_change_button.svg +0 -47
  412. package/lib/assets/img/svg/toolbar/take_picture.svg +0 -75
  413. package/lib/assets/img/svg/toolbar/undo_button.svg +0 -76
  414. package/lib/assets/img/svg/toolbar/undo_button1.svg +0 -76
  415. package/lib/assets/img/svg/toolbar/use_button.svg +0 -37
  416. package/lib/assets/img/svg/toolbar/wall_color_icon.svg +0 -6
  417. package/lib/assets/img/svg/topbar/edit_active.svg +0 -10
  418. package/lib/assets/img/svg/topbar/edit_inactive.svg +0 -10
  419. package/lib/assets/img/svg/topbar/redo_active.svg +0 -42
  420. package/lib/assets/img/svg/topbar/redo_inactive.svg +0 -23
  421. package/lib/assets/img/svg/topbar/select_all_active.svg +0 -50
  422. package/lib/assets/img/svg/topbar/select_all_inactive.svg +0 -32
  423. package/lib/assets/img/svg/topbar/take_picture_active.svg +0 -51
  424. package/lib/assets/img/svg/topbar/take_picture_inactive.svg +0 -26
  425. package/lib/assets/img/svg/topbar/undo_active.svg +0 -42
  426. package/lib/assets/img/svg/topbar/undo_inactive.svg +0 -23
  427. package/lib/assets/img/svg/warning_info_2d.svg +0 -81
  428. package/lib/assets/img/svg/window/Clear.svg +0 -3
  429. package/lib/assets/img/svg/window/Cross.svg +0 -5
  430. package/lib/assets/img/svg/window/Double_hung.svg +0 -4
  431. package/lib/assets/img/svg/window/Vertical.svg +0 -4
  432. package/lib/assets/img/svg/windows_clear.svg +0 -23
  433. package/lib/assets/img/svg/windows_cross.svg +0 -28
  434. package/lib/assets/img/svg/windows_double_hung.svg +0 -24
  435. package/lib/assets/img/svg/windows_vertical.svg +0 -24
  436. package/lib/assets/img/svg/wizardstep/Custom.svg +0 -3
  437. package/lib/assets/img/svg/wizardstep/Dashed_line.svg +0 -3
  438. package/lib/assets/img/svg/wizardstep/L.svg +0 -3
  439. package/lib/assets/img/svg/wizardstep/L2.svg +0 -3
  440. package/lib/assets/img/svg/wizardstep/Open.svg +0 -3
  441. package/lib/assets/img/svg/wizardstep/Square.svg +0 -3
  442. package/lib/assets/img/svg/wizardstep/bar-active.svg +0 -9
  443. package/lib/assets/img/svg/wizardstep/bar-normal.svg +0 -3
  444. package/lib/assets/img/svg/wizardstep/bullet-current.svg +0 -3
  445. package/lib/assets/img/svg/wizardstep/bullet-done.svg +0 -3
  446. package/lib/assets/img/svg/wizardstep/bullet-not-done.svg +0 -3
  447. package/lib/assets/img/svg/wizardstep/check-active.svg +0 -3
  448. package/lib/assets/img/svg/wizardstep/check-normal.svg +0 -3
  449. package/lib/assets/img/svg/wizardstep/detail_view.svg +0 -87
  450. package/lib/assets/img/svg/wizardstep/pencil.svg +0 -11
  451. package/lib/assets/img/svg/wizardstep/tile_view.svg +0 -95
  452. package/lib/assets/img/texture/glass.jpg +0 -0
  453. package/lib/assets/img/texture/steel.jpg +0 -0
  454. package/lib/assets/img/texture/white1px.jpg +0 -0
  455. package/lib/assets/img/texture/wood.jpg +0 -0
  456. package/lib/assets/model/DCM.bin +0 -0
  457. package/lib/assets/model/DCM.fbx +0 -0
  458. package/lib/assets/model/DCM.gltf +0 -1
  459. package/lib/assets/model/FBM.bin +0 -0
  460. package/lib/assets/model/FBM.fbx +0 -0
  461. package/lib/assets/model/FBM.gltf +0 -1
  462. package/lib/assets/model/LRM.bin +0 -0
  463. package/lib/assets/model/LRM.fbx +0 -0
  464. package/lib/assets/model/LRM.gltf +0 -1
  465. package/lib/assets/rtastore_logo.png +0 -0
  466. package/lib/catalog/areas/area/planner-element.js +0 -53
  467. package/lib/catalog/areas/area/textures/ceramic-tile.jpg +0 -0
  468. package/lib/catalog/areas/area/textures/grass.jpg +0 -0
  469. package/lib/catalog/areas/area/textures/parquet.jpg +0 -0
  470. package/lib/catalog/areas/area/textures/strand-porcelain.jpg +0 -0
  471. package/lib/catalog/areas/area/textures/tile1.jpg +0 -0
  472. package/lib/catalog/back.png +0 -0
  473. package/lib/catalog/catalog.js +0 -256
  474. package/lib/catalog/doors.png +0 -0
  475. package/lib/catalog/doorways.png +0 -0
  476. package/lib/catalog/envMap/nx.hdr +0 -0
  477. package/lib/catalog/envMap/ny.hdr +0 -0
  478. package/lib/catalog/envMap/nz.hdr +0 -0
  479. package/lib/catalog/envMap/px.hdr +0 -0
  480. package/lib/catalog/envMap/py.hdr +0 -0
  481. package/lib/catalog/envMap/pz.hdr +0 -0
  482. package/lib/catalog/export.js +0 -1
  483. package/lib/catalog/factories/area-factory-3d.js +0 -191
  484. package/lib/catalog/factories/area-factory.js +0 -88
  485. package/lib/catalog/factories/export.js +0 -25
  486. package/lib/catalog/factories/wall-factory-3d.js +0 -212
  487. package/lib/catalog/factories/wall-factory.js +0 -279
  488. package/lib/catalog/holes/door-closet/planner-element.js +0 -232
  489. package/lib/catalog/holes/door-double/door_double.png +0 -0
  490. package/lib/catalog/holes/door-double/planner-element.js +0 -325
  491. package/lib/catalog/holes/door-exterior/planner-element.js +0 -225
  492. package/lib/catalog/holes/door-interior/planner-element.js +0 -237
  493. package/lib/catalog/holes/door-panic/panicDoor.png +0 -0
  494. package/lib/catalog/holes/door-panic/planner-element.js +0 -513
  495. package/lib/catalog/holes/door-panic-double/panicDoorDouble.png +0 -0
  496. package/lib/catalog/holes/door-panic-double/planner-element.js +0 -473
  497. package/lib/catalog/holes/door-sliding/planner-element.js +0 -235
  498. package/lib/catalog/holes/doorway-framed/planner-element.js +0 -155
  499. package/lib/catalog/holes/doorway-frameless/planner-element.js +0 -114
  500. package/lib/catalog/holes/export.js +0 -97
  501. package/lib/catalog/holes/gate/gate.jpg +0 -0
  502. package/lib/catalog/holes/window-clear/planner-element.js +0 -176
  503. package/lib/catalog/holes/window-clear/texture.png +0 -0
  504. package/lib/catalog/holes/window-cross/planner-element.js +0 -175
  505. package/lib/catalog/holes/window-cross/texture.png +0 -0
  506. package/lib/catalog/holes/window-double-hung/planner-element.js +0 -313
  507. package/lib/catalog/holes/window-double-hung/texture.png +0 -0
  508. package/lib/catalog/holes/window-vertical/planner-element.js +0 -286
  509. package/lib/catalog/holes/window-vertical/texture.png +0 -0
  510. package/lib/catalog/lines/wall/planner-element.js +0 -87
  511. package/lib/catalog/lines/wall/textures/bricks-normal.jpg +0 -0
  512. package/lib/catalog/lines/wall/textures/bricks-normal2.jpg +0 -0
  513. package/lib/catalog/lines/wall/textures/bricks.jpg +0 -0
  514. package/lib/catalog/lines/wall/textures/bricks2.jpg +0 -0
  515. package/lib/catalog/lines/wall/textures/bricks3.jpg +0 -0
  516. package/lib/catalog/lines/wall/textures/morden-normal.jpg +0 -0
  517. package/lib/catalog/lines/wall/textures/morden.jpg +0 -0
  518. package/lib/catalog/lines/wall/textures/painted-normal.jpg +0 -0
  519. package/lib/catalog/lines/wall/textures/painted.jpg +0 -0
  520. package/lib/catalog/lines/wall/textures/plaster-normal.jpg +0 -0
  521. package/lib/catalog/lines/wall/textures/plaster.jpg +0 -0
  522. package/lib/catalog/lines/wall/wall.png +0 -0
  523. package/lib/catalog/molding/molding-dcm/planner-element.js +0 -33
  524. package/lib/catalog/molding/molding-dcm/texture.png +0 -0
  525. package/lib/catalog/molding/molding-fbm/planner-element.js +0 -33
  526. package/lib/catalog/molding/molding-fbm/texture.png +0 -0
  527. package/lib/catalog/molding/molding-lrm/planner-element.js +0 -33
  528. package/lib/catalog/molding/molding-lrm/texture.png +0 -0
  529. package/lib/catalog/utils/FuseUtils.js +0 -87
  530. package/lib/catalog/utils/exporter.js +0 -156
  531. package/lib/catalog/utils/geom-utils.js +0 -205
  532. package/lib/catalog/utils/item-loader.js +0 -1613
  533. package/lib/catalog/utils/load-obj.js +0 -99
  534. package/lib/catalog/utils/mtl-loader.js +0 -366
  535. package/lib/catalog/utils/obj-loader.js +0 -486
  536. package/lib/catalog/windows.png +0 -0
  537. package/lib/class/FuseUtils.js +0 -87
  538. package/lib/class/area.js +0 -148
  539. package/lib/class/export.js +0 -96
  540. package/lib/class/group.js +0 -438
  541. package/lib/class/guide.js +0 -64
  542. package/lib/class/hole.js +0 -932
  543. package/lib/class/item.js +0 -1866
  544. package/lib/class/layer.js +0 -670
  545. package/lib/class/line.js +0 -1242
  546. package/lib/class/project.js +0 -931
  547. package/lib/class/vertex.js +0 -205
  548. package/lib/components/content.js +0 -233
  549. package/lib/components/export.js +0 -27
  550. package/lib/components/style/export.js +0 -17
  551. package/lib/components/style/form-number-input.js +0 -192
  552. package/lib/components/viewer2d/area.js +0 -89
  553. package/lib/components/viewer2d/export.js +0 -121
  554. package/lib/components/viewer2d/grids/grid-horizontal-streak.js +0 -44
  555. package/lib/components/viewer2d/grids/grid-streak.js +0 -44
  556. package/lib/components/viewer2d/grids/grid-vertical-streak.js +0 -44
  557. package/lib/components/viewer2d/grids/grids.js +0 -40
  558. package/lib/components/viewer2d/group.js +0 -62
  559. package/lib/components/viewer2d/item.js +0 -449
  560. package/lib/components/viewer2d/layer.js +0 -172
  561. package/lib/components/viewer2d/line.js +0 -1007
  562. package/lib/components/viewer2d/ruler.js +0 -87
  563. package/lib/components/viewer2d/rulerDist.js +0 -123
  564. package/lib/components/viewer2d/rulerX.js +0 -152
  565. package/lib/components/viewer2d/rulerY.js +0 -153
  566. package/lib/components/viewer2d/scene.js +0 -132
  567. package/lib/components/viewer2d/snap.js +0 -84
  568. package/lib/components/viewer2d/state.js +0 -83
  569. package/lib/components/viewer2d/utils.js +0 -207
  570. package/lib/components/viewer2d/vertex.js +0 -75
  571. package/lib/components/viewer2d/viewer2d.js +0 -1509
  572. package/lib/components/viewer3d/camera-controls-module/camera-controls.module.js +0 -2591
  573. package/lib/components/viewer3d/dcm.js +0 -408
  574. package/lib/components/viewer3d/fbm.js +0 -421
  575. package/lib/components/viewer3d/front3D.js +0 -60
  576. package/lib/components/viewer3d/grid-creator.js +0 -35
  577. package/lib/components/viewer3d/grids/grid-horizontal-streak.js +0 -45
  578. package/lib/components/viewer3d/grids/grid-streak.js +0 -36
  579. package/lib/components/viewer3d/grids/grid-vertical-streak.js +0 -45
  580. package/lib/components/viewer3d/libs/first-person-controls.js +0 -74
  581. package/lib/components/viewer3d/libs/helvetiker_regular.typeface.js +0 -1287
  582. package/lib/components/viewer3d/libs/mtl-loader.js +0 -366
  583. package/lib/components/viewer3d/libs/obj-loader.js +0 -471
  584. package/lib/components/viewer3d/libs/orbit-controls.js +0 -706
  585. package/lib/components/viewer3d/libs/pointer-lock-controls.js +0 -53
  586. package/lib/components/viewer3d/lrm.js +0 -312
  587. package/lib/components/viewer3d/model.js +0 -714
  588. package/lib/components/viewer3d/pointer-lock-navigation.js +0 -122
  589. package/lib/components/viewer3d/ruler-utils/itemRect.js +0 -69
  590. package/lib/components/viewer3d/ruler-utils/layer3D.js +0 -503
  591. package/lib/components/viewer3d/ruler-utils/ruler3D.js +0 -232
  592. package/lib/components/viewer3d/ruler-utils/scene3D.js +0 -67
  593. package/lib/components/viewer3d/ruler-utils/state3D.js +0 -26
  594. package/lib/components/viewer3d/scene-creator.js +0 -3652
  595. package/lib/components/viewer3d/three-memory-cleaner.js +0 -60
  596. package/lib/components/viewer3d/viewer3d-first-person.js +0 -322
  597. package/lib/components/viewer3d/viewer3d.js +0 -2693
  598. package/lib/constants.js +0 -773
  599. package/lib/devLiteRenderer.js +0 -546
  600. package/lib/index.js +0 -108
  601. package/lib/mocks/appliancePayload.json +0 -27
  602. package/lib/mocks/cabinetPayload.json +0 -1914
  603. package/lib/mocks/cabinetPayload2.json +0 -76
  604. package/lib/mocks/dataBundle2.json +0 -4
  605. package/lib/mocks/distancePayload.json +0 -6
  606. package/lib/mocks/doorStylePayload2.json +0 -84
  607. package/lib/mocks/furnishingPayload.json +0 -23
  608. package/lib/mocks/itemCDSPayload.json +0 -27
  609. package/lib/mocks/lightingPayload.json +0 -23
  610. package/lib/mocks/mockProps.json +0 -43
  611. package/lib/mocks/mockProps2.json +0 -9
  612. package/lib/mocks/moldingPayload.json +0 -19
  613. package/lib/mocks/projectItemsCatalog.json +0 -133
  614. package/lib/mocks/rectangleShape.json +0 -238
  615. package/lib/mocks/replaceCabinetPayload.json +0 -81
  616. package/lib/mocks/roomShapePayload.json +0 -5
  617. package/lib/models.js +0 -514
  618. package/lib/reducers/areas-reducer.js +0 -19
  619. package/lib/reducers/export.js +0 -97
  620. package/lib/reducers/groups-reducer.js +0 -45
  621. package/lib/reducers/holes-reducer.js +0 -69
  622. package/lib/reducers/items-reducer.js +0 -147
  623. package/lib/reducers/lines-reducer.js +0 -52
  624. package/lib/reducers/project-reducer.js +0 -140
  625. package/lib/reducers/reducer.js +0 -26
  626. package/lib/reducers/scene-reducer.js +0 -35
  627. package/lib/reducers/user-reducer.js +0 -48
  628. package/lib/reducers/vertices-reducer.js +0 -26
  629. package/lib/reducers/viewer2d-reducer.js +0 -82
  630. package/lib/reducers/viewer3d-reducer.js +0 -63
  631. package/lib/shared-style.js +0 -72
  632. package/lib/translator/en.js +0 -111
  633. package/lib/translator/it.js +0 -86
  634. package/lib/translator/ru.js +0 -86
  635. package/lib/translator/translator.js +0 -87
  636. package/lib/useAppContext.js +0 -16
  637. package/lib/utils/browser.js +0 -40
  638. package/lib/utils/convert-units-lite.js +0 -35
  639. package/lib/utils/email-validator.js +0 -10
  640. package/lib/utils/export.js +0 -56
  641. package/lib/utils/geometry.js +0 -2751
  642. package/lib/utils/get-edges-of-subgraphs.js +0 -33
  643. package/lib/utils/graph-cycles.js +0 -239
  644. package/lib/utils/graph-inner-cycles.js +0 -54
  645. package/lib/utils/graph.js +0 -153
  646. package/lib/utils/helper.js +0 -425
  647. package/lib/utils/history.js +0 -36
  648. package/lib/utils/id-broker.js +0 -22
  649. package/lib/utils/isolate-event-handler.js +0 -1409
  650. package/lib/utils/logger.js +0 -14
  651. package/lib/utils/math.js +0 -57
  652. package/lib/utils/molding.js +0 -895
  653. package/lib/utils/name-generator.js +0 -21
  654. package/lib/utils/objects-utils.js +0 -62
  655. package/lib/utils/phone-validator.js +0 -10
  656. package/lib/utils/process-black-list.js +0 -22
  657. package/lib/utils/react-if.js +0 -25
  658. package/lib/utils/snap-scene.js +0 -101
  659. package/lib/utils/snap.js +0 -245
  660. package/lib/utils/summarizeCart.js +0 -30
  661. package/lib/utils/threeCSG.es6.js +0 -504
  662. package/lib/version.js +0 -7
@@ -1,1509 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = Viewer2D;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _react = _interopRequireWildcard(require("react"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _reactSvgPanZoom = require("react-svg-pan-zoom");
14
- var _constants = _interopRequireWildcard(require("../../constants"));
15
- var constants = _constants;
16
- var _state = _interopRequireDefault(require("./state"));
17
- var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
18
- var _export = require("./export");
19
- var _export2 = require("../../utils/export");
20
- var _formNumberInput = _interopRequireDefault(require("../style/form-number-input"));
21
- var _convertUnitsLite = require("../../utils/convert-units-lite");
22
- var _immutable = require("immutable");
23
- var _math = require("../../utils/math");
24
- var _helper = require("../../utils/helper");
25
- var _utils = require("./utils");
26
- var _useAppContext2 = require("../../useAppContext");
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); }
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; }
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
30
- // variables
31
- var pinFlag = false;
32
- var sFlag = false; //for all object move
33
- var sPoint = {}; //for all object move
34
- var mouseDownPoint = {}; // mouse clicked point
35
- var endPoint = {};
36
- var current_sel_obj_id = null;
37
- var allItemRect;
38
- var allItemSnap;
39
- var allLines;
40
- var allLineRects;
41
- var allLineSnap;
42
- var allRect;
43
- var holeRect;
44
- var allArea;
45
-
46
- // /////////
47
- function mode2Tool(mode) {
48
- if (pinFlag) {
49
- return _reactSvgPanZoom.TOOL_NONE;
50
- }
51
- switch (mode) {
52
- case constants.MODE_2D_PAN:
53
- return _reactSvgPanZoom.TOOL_PAN;
54
- case constants.MODE_2D_ZOOM_IN:
55
- return _reactSvgPanZoom.TOOL_ZOOM_IN;
56
- case constants.MODE_2D_ZOOM_OUT:
57
- return _reactSvgPanZoom.TOOL_ZOOM_OUT;
58
- case constants.MODE_IDLE:
59
- return _reactSvgPanZoom.TOOL_AUTO;
60
- default:
61
- return _reactSvgPanZoom.TOOL_NONE;
62
- }
63
- }
64
- function mode2PointerEvents(mode) {
65
- switch (mode) {
66
- case constants.MODE_DRAWING_LINE:
67
- case constants.MODE_DRAWING_HOLE:
68
- case constants.MODE_DRAWING_ITEM:
69
- case constants.MODE_DRAGGING_HOLE:
70
- case constants.MODE_DRAGGING_ITEM:
71
- case constants.MODE_DRAGGING_LINE:
72
- case constants.MODE_DRAGGING_VERTEX:
73
- return {
74
- pointerEvents: 'none'
75
- };
76
- default:
77
- return {};
78
- }
79
- }
80
- function mode2Cursor(mode) {
81
- switch (mode) {
82
- case constants.MODE_DRAGGING_HOLE:
83
- case constants.MODE_DRAGGING_LINE:
84
- case constants.MODE_DRAGGING_VERTEX:
85
- case constants.MODE_DRAGGING_ITEM:
86
- return {
87
- cursor: 'move'
88
- };
89
- case constants.MODE_ROTATING_ITEM:
90
- return {
91
- cursor: 'ew-resize'
92
- };
93
- case constants.MODE_WAITING_DRAWING_LINE:
94
- case constants.MODE_DRAWING_LINE:
95
- return {
96
- cursor: 'crosshair'
97
- };
98
- default:
99
- return {
100
- cursor: 'default'
101
- };
102
- }
103
- }
104
- function mode2DetectAutopan(mode) {
105
- switch (mode) {
106
- case constants.MODE_DRAWING_LINE:
107
- case constants.MODE_DRAGGING_LINE:
108
- case constants.MODE_DRAGGING_VERTEX:
109
- case constants.MODE_DRAGGING_HOLE:
110
- case constants.MODE_DRAGGING_ITEM:
111
- case constants.MODE_DRAWING_HOLE:
112
- case constants.MODE_DRAWING_ITEM:
113
- return true;
114
- default:
115
- return false;
116
- }
117
- }
118
- function extractElementData(node) {
119
- while (!node.attributes.getNamedItem('data-element-root') && node.tagName !== 'svg') {
120
- node = node.parentNode;
121
- }
122
- if (node.tagName === 'svg') return null;
123
- return {
124
- length: node.attributes.getNamedItem('data-length') ? parseFloat(node.attributes.getNamedItem('data-length').value) : 0,
125
- part: node.attributes.getNamedItem('data-part') ? node.attributes.getNamedItem('data-part').value : undefined,
126
- layer: node.attributes.getNamedItem('data-layer').value,
127
- prototype: node.attributes.getNamedItem('data-prototype').value,
128
- selected: node.attributes.getNamedItem('data-selected').value === 'true',
129
- id: node.attributes.getNamedItem('data-id').value,
130
- direct: node.attributes.getNamedItem('data-direct') ? node.attributes.getNamedItem('data-direct').value : 0
131
- };
132
- }
133
- function Viewer2D(_ref) {
134
- var _state$get;
135
- var state = _ref.state,
136
- width = _ref.width,
137
- height = _ref.height,
138
- replaceCabinet = _ref.replaceCabinet,
139
- 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;
149
- var _useState = (0, _react.useState)(null),
150
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
151
- rulerEdit = _useState2[0],
152
- setRulerEdit = _useState2[1];
153
- var _useState3 = (0, _react.useState)(null),
154
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
155
- rulerEditID = _useState4[0],
156
- setRulerEditID = _useState4[1];
157
- var Viewer = (0, _react.useRef)(null);
158
- var viewer2D = state.viewer2D,
159
- mode = state.mode,
160
- scene = state.scene;
161
-
162
- // let relatedLines = [];
163
- var _useState5 = (0, _react.useState)([]),
164
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
165
- relatedLines = _useState6[0],
166
- setRelatedLines = _useState6[1];
167
- var _useState7 = (0, _react.useState)(false),
168
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
169
- drawStart = _useState8[0],
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]);
191
- (0, _react.useEffect)(function () {
192
- // move viewer point to center
193
- var selectedLayer = state.scene.layers.get(state.scene.selectedLayer);
194
- var vertices = selectedLayer.vertices;
195
- if (vertices.isEmpty()) {
196
- return;
197
- }
198
- var bottomX = 0,
199
- bottomY = 100000,
200
- topX = 100000,
201
- topY = 0;
202
- vertices.forEach(function (vertex) {
203
- if (bottomX < vertex.x) bottomX = vertex.x;
204
- if (bottomY > vertex.y) bottomY = vertex.y;
205
- if (topX > vertex.x) topX = vertex.x;
206
- if (topY < vertex.y) topY = vertex.y;
207
- });
208
- var moveX = topX + (bottomX - topX) / 2;
209
- var moveY = 2000 - (bottomY + (topY - bottomY) / 2);
210
- Viewer.current.setPointOnViewerCenter(moveX, moveY, viewer2D.get('a'));
211
- }, []);
212
- var layerID = scene.selectedLayer;
213
- var wall_thickness = _constants.LINE_THICKNESS / 2;
214
- var layer = scene.getIn(['layers', layerID]);
215
- var mapCursorPosition = function mapCursorPosition(_ref2) {
216
- var x = _ref2.x,
217
- y = _ref2.y;
218
- return {
219
- x: x,
220
- y: -y + scene.height
221
- };
222
- };
223
- // let pinBackColor = pinFlag ? "#4488ff" : "black";
224
- // let topRightImg = state.mode == MODE_IDLE || state.mode == MODE_2D_PAN ? "/assets/img/svg/topbar/edit_inactive.svg" : "/assets/img/svg/topbar/edit_active.svg";
225
- // let topBtnAction = state.mode == MODE_IDLE || state.mode == MODE_2D_PAN ? () => linesActions.selectToolDrawingLine("wall") : () => projectActions.setMode(MODE_IDLE);
226
-
227
- var prepareSnap = function prepareSnap() {
228
- var layerID = scene.selectedLayer;
229
- var layer = scene.layers.get(layerID);
230
- allLines = _export2.GeometryUtils.getAllLines(layer);
231
- allLineRects = _export2.GeometryUtils.buildRectFromLines(layer, allLines);
232
- allItemRect = _export2.GeometryUtils.getAllItems(scene, catalog, allLineRects);
233
- allItemSnap = _export2.GeometryUtils.getAllItemSnap(allItemRect);
234
- allLineSnap = _export2.GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
235
- allRect = allItemRect.others.concat(allLineRects);
236
- allItemSnap = _export2.GeometryUtils.validateSnaps(allItemSnap, allRect);
237
- allLineSnap = _export2.GeometryUtils.validateSnaps(allLineSnap, allRect);
238
- allArea = _export2.GeometryUtils.getAllArea(layer);
239
- };
240
- var updateRulerDistAttribute = function updateRulerDistAttribute(elementData, value) {
241
- var _scene$getIn;
242
- var newVal = value.get('length');
243
- var oldVal = elementData.length;
244
- var direct = elementData.direct;
245
- var thisItem = (_scene$getIn = scene.getIn(['layers', elementData.layer, 'items', elementData.id])) === null || _scene$getIn === void 0 ? void 0 : _scene$getIn.toJS();
246
- var oldX = thisItem.x;
247
- var oldY = thisItem.y;
248
- var oldRotRad = thisItem.rotation / 180 * Math.PI;
249
- var rotRad = oldRotRad + direct / 180 * Math.PI;
250
- var delta = oldVal - newVal;
251
- var newX = oldX + delta * Math.cos(rotRad);
252
- var newY = oldY + delta * Math.sin(rotRad);
253
- itemsActions.updateDraggingItemChanged(newX, newY, elementData.layer, elementData.id);
254
- setRulerEdit(null);
255
- };
256
- var updateangleChangeAttribute = function updateangleChangeAttribute(elementData, value) {
257
- var verArr = elementData.id.split(',');
258
- var oldAngle = elementData.length;
259
- var newAngle = value.getIn(['_length']);
260
- var cenId = verArr[0];
261
- var verId = verArr[1];
262
- var x0 = state.scene.getIn(['layers', layerID, 'vertices', verArr[0], 'x']);
263
- var y0 = state.scene.getIn(['layers', layerID, 'vertices', verArr[0], 'y']);
264
- var x1 = state.scene.getIn(['layers', layerID, 'vertices', verArr[1], 'x']);
265
- var y1 = state.scene.getIn(['layers', layerID, 'vertices', verArr[1], 'y']);
266
- var x, y, delta;
267
- delta = newAngle - oldAngle;
268
- if (verArr[2] === 'true') {
269
- delta = -delta;
270
- }
271
- x = (x1 - x0) * Math.cos(delta * Math.PI / 180) - (y1 - y0) * Math.sin(delta * Math.PI / 180) + x0;
272
- y = (x1 - x0) * Math.sin(delta * Math.PI / 180) + (y1 - y0) * Math.cos(delta * Math.PI / 180) + y0;
273
- setRulerEdit(null);
274
- verticesActions.beginDraggingVertex(elementData.layer, verArr[1], x, y, state.snapMask);
275
- verticesActions.updateDraggingVertex(x, y, state.snapMask);
276
- verticesActions.endDraggingVertex(x, y, state.snapMask);
277
- };
278
- var updateRulerAttribute = function updateRulerAttribute(elementData, value) {
279
- var _scene$getIn2;
280
- var selectedLine = (_scene$getIn2 = scene.getIn(['layers', elementData.layer, 'lines', elementData.id])) === null || _scene$getIn2 === void 0 ? void 0 : _scene$getIn2.toJS();
281
- var v_0 = scene.getIn(['layers', elementData.layer, 'vertices', selectedLine.vertices[0]]);
282
- var v_1 = scene.getIn(['layers', elementData.layer, 'vertices', selectedLine.vertices[1]]);
283
- var _GeometryUtils$orderV = _export2.GeometryUtils.orderVertices([v_0, v_1]),
284
- _GeometryUtils$orderV2 = (0, _slicedToArray2["default"])(_GeometryUtils$orderV, 2),
285
- v_a = _GeometryUtils$orderV2[0],
286
- v_b = _GeometryUtils$orderV2[1];
287
- var v_b_new = _export2.GeometryUtils.extendLine(v_a.x, v_a.y, v_b.x, v_b.y, value.get('length'), 2);
288
-
289
- // Blocked function that as wall changed, opposite wall should changed together.
290
- // let layer = scene.getIn(['layers', elementData.layer]);
291
- // let allLines = layer.lines.toArray()
292
- // let relatedLine = allLines.filter(line => { return line.vertices.toArray().includes(v_b.id) && line.id != selectedLine.id })[0];
293
- // let relatedVertexID = relatedLine && (relatedLine.vertices.toArray()[0] == v_b.id ? relatedLine.vertices.toArray()[1] : relatedLine.vertices.toArray()[0]);
294
- // let v_d = relatedVertexID && layer.getIn(['vertices', relatedVertexID]);
295
- // let delta = {
296
- // x : v_b_new.x - v_b.x,
297
- // y : v_b_new.y - v_b.y
298
- // };
299
- // let newPosition = {
300
- // x : v_d.x + delta.x,
301
- // y : v_d.y + delta.y
302
- // }
303
-
304
- var attributesData = {
305
- // (v_0 === v_a ? 'vertexTwo' : 'vertexOne') : v_b.merge(v_b_new)),
306
- lineLength: value
307
- };
308
- if (v_0 === v_a) {
309
- attributesData = _objectSpread(_objectSpread({}, attributesData), {}, {
310
- vertexTwo: v_b.merge(v_b_new),
311
- vertexOne: v_a
312
- });
313
- } else {
314
- attributesData = _objectSpread(_objectSpread({}, attributesData), {}, {
315
- vertexOne: v_b.merge(v_b_new),
316
- vertexTwo: v_a
317
- });
318
- }
319
- var attributesFormData = new _immutable.Map(_objectSpread({}, attributesData));
320
- setRulerEdit(null);
321
- projectActions.setLinesAttributes(attributesFormData, true, {
322
- layerID: elementData.layer,
323
- lineID: elementData.id
324
- });
325
-
326
- // Blocked function that as wall changed, opposite wall should changed together.
327
- // verticesActions.beginDraggingVertex(elementData.layer, relatedVertexID, newPosition.x, newPosition.y, state.snapMask);
328
- // verticesActions.updateDraggingVertex(newPosition.x, newPosition.y, state.snapMask);
329
- // verticesActions.endDraggingVertex(newPosition.x, newPosition.y, state.snapMask);
330
- };
331
- var updateTwoHoleRulerAttribute = function updateTwoHoleRulerAttribute(elementData, value) {
332
- var elementIds = elementData.id.split(',');
333
- elementData.id = elementIds[1];
334
- elementData.length /= 2;
335
- updateLeftHoleRulerAttribute(elementData, value);
336
- elementData.id = elementIds[0];
337
- updateRightHoleRulerAttribute(elementData, value);
338
- };
339
- var updateLeftHoleRulerAttribute = function updateLeftHoleRulerAttribute(elementData, value) {
340
- var _scene$getIn3;
341
- var newVal = value.get('length');
342
- var oldVal = elementData.length;
343
- var thisItem = (_scene$getIn3 = scene.getIn(['layers', elementData.layer, 'holes', elementData.id])) === null || _scene$getIn3 === void 0 ? void 0 : _scene$getIn3.toJS();
344
- var oldX = thisItem.x;
345
- var oldY = thisItem.y;
346
- var oldRotRad = thisItem.rotation;
347
- var delta = oldVal - newVal;
348
- var newX = oldX - delta * Math.cos(oldRotRad);
349
- var newY = oldY - delta * Math.sin(oldRotRad);
350
- holesActions.beginDraggingHole(elementData.layer, elementData.id, newX, newY);
351
- holesActions.updateDraggingHoleChanged(newX, newY, elementData.layer, elementData.id);
352
- holesActions.endDraggingHole(newX, newY);
353
- setRulerEdit(null);
354
- };
355
- var updateHoleRulerAttribute = function updateHoleRulerAttribute(elementData, value) {
356
- var _scene$getIn4;
357
- var newVal = value.get('length');
358
- var thisItem = (_scene$getIn4 = scene.getIn(['layers', elementData.layer, 'holes', elementData.id])) === null || _scene$getIn4 === void 0 ? void 0 : _scene$getIn4.toJS();
359
- var oldX = thisItem.x;
360
- var oldY = thisItem.y;
361
- holesActions.beginDraggingHole(elementData.layer, elementData.id, oldX, oldY);
362
- holesActions.updateDraggingHoleRulerChanged(newVal, elementData.layer, elementData.id);
363
- holesActions.endDraggingHole(oldX, oldY);
364
- setRulerEdit(null);
365
- };
366
- var updateRightHoleRulerAttribute = function updateRightHoleRulerAttribute(elementData, value) {
367
- var _scene$getIn5;
368
- var newVal = value.get('length');
369
- var oldVal = elementData.length;
370
- var thisItem = (_scene$getIn5 = scene.getIn(['layers', elementData.layer, 'holes', elementData.id])) === null || _scene$getIn5 === void 0 ? void 0 : _scene$getIn5.toJS();
371
- var oldX = thisItem.x;
372
- var oldY = thisItem.y;
373
- var oldRotRad = thisItem.rotation;
374
- var delta = oldVal - newVal;
375
- var newX = oldX + delta * Math.cos(oldRotRad);
376
- var newY = oldY + delta * Math.sin(oldRotRad);
377
- holesActions.beginDraggingHole(elementData.layer, elementData.id, newX, newY);
378
- holesActions.updateDraggingHoleChanged(newX, newY, elementData.layer, elementData.id);
379
- holesActions.endDraggingHole(newX, newY);
380
- setRulerEdit(null);
381
- };
382
- var getRelatedLines = function getRelatedLines(tlines, drawingLine, vertices, lines) {
383
- var _loop = function _loop() {
384
- var vertex = vertices[drawingLine.vertices[i]];
385
- var _loop2 = function _loop2(j) {
386
- if (vertex.lines[j] !== drawingLine.id) {
387
- if (!tlines.some(function (line) {
388
- return line.id === lines[vertex.lines[j]].id;
389
- })) {
390
- tlines.push(lines[vertex.lines[j]]);
391
- }
392
- }
393
- };
394
- for (var j = 0; j < vertex.lines.length; j++) {
395
- _loop2(j);
396
- }
397
- };
398
- // if (drawingLine.vertices[0] !== drawingLine.vertices[1]) {
399
- for (var i = 0; i < drawingLine.vertices.length; i++) {
400
- _loop();
401
- }
402
- // }
403
- };
404
- var getEndPoint = function getEndPoint(vertices, x, y, mode) {
405
- var _state$getIn, _state$getIn2;
406
- var selLineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
407
- if ((0, _helper.isEmpty)(selLineID)) {
408
- return {
409
- isEndDrag: true,
410
- x: x,
411
- y: y
412
- };
413
- }
414
- var draggingLine = (_state$getIn = state.getIn(['scene', 'layers', layerID, 'lines', selLineID])) === null || _state$getIn === void 0 ? void 0 : _state$getIn.toJS();
415
- var allLines = (_state$getIn2 = state.getIn(['scene', 'layers', layerID, 'lines'])) === null || _state$getIn2 === void 0 ? void 0 : _state$getIn2.toJS();
416
- var dragVertexId = state.getIn(['draggingSupport', 'vertexID']);
417
- dragVertexId = !(0, _helper.isEmpty)(dragVertexId) ? dragVertexId : draggingLine.vertices[1];
418
- var vtx, vty;
419
- var stepUnit = false;
420
- vtx = vertices[dragVertexId].x;
421
- vty = vertices[dragVertexId].y;
422
- if (!vertices[dragVertexId].lines.some(function (line) {
423
- return line !== draggingLine.id;
424
- })) {
425
- stepUnit = true;
426
- }
427
- var endDrag = [];
428
- if (!(0, _helper.isEmpty)(relatedLines) && mode !== 'DRAGGING_LINE') {
429
- vertices[dragVertexId].x = x;
430
- vertices[dragVertexId].y = y;
431
- }
432
- var absAngle, lineAngle;
433
- var angles = [];
434
- if (draggingLine.vertices[0] !== draggingLine.vertices[1]) {
435
- if ((0, _helper.isEmpty)(relatedLines) && mode !== 'DRAGGING_LINE') {
436
- endDrag.push(true);
437
- var originVerIndex = draggingLine.vertices.findIndex(function (vertice) {
438
- return vertice !== dragVertexId;
439
- });
440
- var originVerId = originVerIndex < 0 ? draggingLine.vertices[0] : draggingLine.vertices[originVerIndex];
441
- var ox = vertices[originVerId].x;
442
- var oy = vertices[originVerId].y;
443
- lineAngle = _export2.GeometryUtils.angleBetweenTwoPointsAndOrigin(ox, oy, x, y);
444
- absAngle = Math.abs(lineAngle);
445
- }
446
- for (var i = 0; i < relatedLines.length; i++) {
447
- var line = relatedLines[i];
448
- lineAngle = _export2.GeometryUtils.angleBetweenTwoLines(line, draggingLine, vertices);
449
- absAngle = Math.abs(lineAngle);
450
- var tmpRelated = [];
451
- _export2.GeometryUtils.getRelatedLines(tmpRelated, line, vertices, allLines, draggingLine.id);
452
- angles.push(lineAngle);
453
- for (var j = 0; j < tmpRelated.length; j++) {
454
- var tmpAngle = Math.abs(_export2.GeometryUtils.angleBetweenTwoLines(tmpRelated[j], line, vertices));
455
- if (tmpAngle < _constants.MIN_ANGLE_DISALLOW_DRAW_WALL || tmpAngle > 360 - _constants.MIN_ANGLE_DISALLOW_DRAW_WALL) {
456
- endDrag.push(false);
457
- } else endDrag.push(true);
458
- }
459
- if (absAngle < _constants.MIN_ANGLE_DISALLOW_DRAW_WALL || absAngle > 360 - _constants.MIN_ANGLE_DISALLOW_DRAW_WALL) {
460
- endDrag.push(false);
461
- } else endDrag.push(true);
462
- }
463
- }
464
- if (!endDrag.some(function (flag) {
465
- return flag === false;
466
- })) {
467
- vtx = x;
468
- vty = y;
469
- } else {
470
- // the origin point of rotation(snapping)
471
- var _originVerId = draggingLine.vertices.findIndex(function (vertice) {
472
- return vertice !== dragVertexId;
473
- });
474
- _originVerId = _originVerId < 0 ? draggingLine.vertices[0] : draggingLine.vertices[_originVerId];
475
- if (stepUnit) {
476
- var _ox = vertices[_originVerId].x;
477
- var _oy = vertices[_originVerId].y;
478
- angles.forEach(function (angle, index) {
479
- if (Math.abs(angle) < _constants.MIN_ANGLE_DISALLOW_DRAW_WALL || Math.abs(angle) > 360 - _constants.MIN_ANGLE_DISALLOW_DRAW_WALL) {
480
- var absVal = Math.abs(angle);
481
- var rest = _constants.MIN_ANGLE_DISALLOW_DRAW_WALL - absVal;
482
- if (absVal > 360 - _constants.MIN_ANGLE_DISALLOW_DRAW_WALL) {
483
- absVal = 360 - absVal;
484
- rest = -(_constants.MIN_ANGLE_DISALLOW_DRAW_WALL - absVal);
485
- }
486
- // determine the direction of rotation.
487
- rest = angle > 0 ? -rest : rest;
488
- // rotate the current point to last point around the first point of drawing line.
489
- var res = _export2.GeometryUtils.rotatePointAroundPoint(x, y, _ox, _oy, rest);
490
- vtx = res.x;
491
- vty = res.y;
492
- }
493
- });
494
- }
495
- }
496
-
497
- // angle snapping as a value of UNIT_ANGLE
498
- if (!endDrag.some(function (flag) {
499
- return flag === false;
500
- }) && !(0, _helper.isEmpty)(absAngle) && absAngle % _constants.UNIT_ANGLE !== 0 && stepUnit) {
501
- var _result = _export2.GeometryUtils.snapAngleByUnit(lineAngle, vertices, draggingLine, vtx, vty, dragVertexId);
502
- vtx = _result.x;
503
- vty = _result.y;
504
- }
505
- var result = {
506
- isEndDrag: endDrag,
507
- x: vtx,
508
- y: vty
509
- };
510
- return result;
511
- };
512
- var getProperties = function getProperties(item, property) {
513
- var _item$properties;
514
- if (!(item !== null && item !== void 0 && (_item$properties = item.properties) !== null && _item$properties !== void 0 && _item$properties.getIn)) return 0;
515
- var length = item.properties.getIn([property, '_length']);
516
- var unit = item.properties.getIn([property, '_unit']);
517
- return length && unit ? (0, _convertUnitsLite.convert)(length).from(unit).to('cm') : 0;
518
- };
519
- var point = function point(x, y) {
520
- return {
521
- x: x,
522
- y: y
523
- };
524
- };
525
- var getDistant = function getDistant(x, y, rotRad, curItemInfo, allRect) {
526
- var center_h = 3 * height / 8;
527
- var center_x1 = x - center_h * Math.sin(rotRad);
528
- var center_y1 = y + center_h * Math.cos(rotRad);
529
- var pointArray = [];
530
- curItemInfo.rectCenterPoint.forEach(function (centerpoint) {
531
- if (!Array.isArray(centerpoint) || centerpoint.length < 2) return;
532
- var _centerpoint = (0, _slicedToArray2["default"])(centerpoint, 2),
533
- pt = _centerpoint[0],
534
- angle = _centerpoint[1];
535
- if (!pt) return;
536
-
537
- // line through centerpoint and reference center
538
- var rectLine = angle === 180 || angle === 0 ? _export2.GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, center_x1, center_y1) : _export2.GeometryUtils.linePassingThroughTwoPoints(pt.x, pt.y, x, y);
539
- if (!rectLine) return;
540
- var minDist;
541
- allRect.forEach(function (linerect) {
542
- if (!(linerect !== null && linerect !== void 0 && linerect.rect) || linerect.rect.length < 4) return;
543
- var p0 = _export2.GeometryUtils.clone_point(linerect.rect[2]);
544
- var p1 = _export2.GeometryUtils.clone_point(linerect.rect[3]);
545
- if (!p0 || !p1 || p0.x === p1.x && p0.y === p1.y) return;
546
- var lineFn = _export2.GeometryUtils.linePassingThroughTwoPoints(p0.x, p0.y, p1.x, p1.y);
547
- if (!lineFn) return;
548
- var ip = _export2.GeometryUtils.twoLinesIntersection(lineFn.a, lineFn.b, lineFn.c, rectLine.a, rectLine.b, rectLine.c);
549
- if (!ip) return;
550
-
551
- // intersection must lie within line segment
552
- var segLen = _export2.GeometryUtils.pointsDistance(p0.x, p0.y, p1.x, p1.y);
553
- if (segLen <= _export2.GeometryUtils.pointsDistance(p0.x, p0.y, ip.x, ip.y) || segLen <= _export2.GeometryUtils.pointsDistance(p1.x, p1.y, ip.x, ip.y)) return;
554
-
555
- // ensure intersection is farther than pt→center
556
- var distToCenter = _export2.GeometryUtils.pointsDistance(ip.x, ip.y, x, y);
557
- var baseDist = _export2.GeometryUtils.pointsDistance(pt.x, pt.y, ip.x, ip.y);
558
- if (distToCenter <= baseDist) return;
559
- var candidate = baseDist;
560
- minDist = minDist !== undefined ? Math.min(minDist, candidate) : candidate;
561
- });
562
- pointArray.push([minDist !== null && minDist !== void 0 ? minDist : 0, angle]);
563
- });
564
- return pointArray;
565
- };
566
- var getCalcRectFromItem = function getCalcRectFromItem(item) {
567
- if (!(item !== null && item !== void 0 && item.pos) || !(item !== null && item !== void 0 && item.size)) return {
568
- rectCenterPoint: []
569
- };
570
- var _item$pos = item.pos,
571
- x = _item$pos.x,
572
- y = _item$pos.y;
573
- var w = item.size.width / 2;
574
- var h = item.size.height / 2;
575
- var rotRad = item.rotRad;
576
- var mh = 3 * h / 4;
577
- var mx = x - w * Math.cos(rotRad) - mh * Math.sin(rotRad);
578
- var my = y - w * Math.sin(rotRad) + mh * Math.cos(rotRad);
579
- var m2x = x + w * Math.cos(rotRad) - mh * Math.sin(rotRad);
580
- var m2y = y + w * Math.sin(rotRad) + mh * Math.cos(rotRad);
581
- var m3x = x - h * Math.sin(rotRad);
582
- var m3y = y + h * Math.cos(rotRad);
583
- var m1x = x + h * Math.sin(rotRad);
584
- var m1y = y - h * Math.cos(rotRad);
585
- return {
586
- rectCenterPoint: [[point(mx, my), 180], [point(m1x, m1y), -90], [point(m2x, m2y), 0], [point(m3x, m3y), 90]]
587
- };
588
- };
589
- var getConnectedLines = function getConnectedLines() {
590
- var _state$getIn3, _state$getIn4, _state$getIn5;
591
- var vertices = (_state$getIn3 = state.getIn(['scene', 'layers', layerID, 'vertices'])) === null || _state$getIn3 === void 0 ? void 0 : _state$getIn3.toJS();
592
- var lines = (_state$getIn4 = state.getIn(['scene', 'layers', layerID, 'lines'])) === null || _state$getIn4 === void 0 ? void 0 : _state$getIn4.toJS();
593
- var lineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
594
- var drawingLine = (_state$getIn5 = state.getIn(['scene', 'layers', layerID, 'lines', lineID])) === null || _state$getIn5 === void 0 ? void 0 : _state$getIn5.toJS();
595
- // get the lines that have same points with drawing line.
596
- if (!(0, _helper.isEmpty)(drawingLine)) {
597
- var tlines = [];
598
- getRelatedLines(tlines, drawingLine, vertices, lines);
599
- setRelatedLines(tlines);
600
- }
601
- };
602
- var onMouseMove = function onMouseMove(viewerEvent) {
603
- var _state$getIn6, _state$getIn7, _state$getIn9;
604
- //workaround that allow imageful component to work
605
-
606
- // let evt = new Event('mousemove-planner-event');
607
- // evt.viewerEvent = viewerEvent;
608
- // document.dispatchEvent(evt);
609
- var _mapCursorPosition = mapCursorPosition(viewerEvent),
610
- x = _mapCursorPosition.x,
611
- y = _mapCursorPosition.y;
612
- projectActions.updateMouseCoord({
613
- x: x,
614
- y: y
615
- });
616
- if (sFlag) {
617
- var differs = {
618
- x: x - sPoint.x,
619
- y: y - sPoint.y
620
- };
621
- projectActions.selectAll(differs);
622
- } else {
623
- switch (mode) {
624
- case constants.MODE_DRAWING_LINE:
625
- // check whether the drawing line is started.
626
- var lineID = state.getIn(['scene', 'layers', layerID, 'selected', 'lines']).first();
627
- var lines = (_state$getIn6 = state.getIn(['scene', 'layers', layerID, 'lines'])) === null || _state$getIn6 === void 0 ? void 0 : _state$getIn6.toJS();
628
- var drawingLine = (_state$getIn7 = state.getIn(['scene', 'layers', layerID, 'lines', lineID])) === null || _state$getIn7 === void 0 ? void 0 : _state$getIn7.toJS();
629
- var tlines = [];
630
- if (drawStart || state.getIn(['scene', 'setLineAttributes'])) {
631
- var _state$getIn8;
632
- var _vertices = (_state$getIn8 = state.getIn(['scene', 'layers', layerID, 'vertices'])) === null || _state$getIn8 === void 0 ? void 0 : _state$getIn8.toJS();
633
- setdrawStart(false);
634
- // get the lines that have same points with drawing line.
635
- getRelatedLines(tlines, drawingLine, _vertices, lines);
636
- setRelatedLines(tlines);
637
- linesActions.updateDrawingLine(x, y, tlines, state.snapMask);
638
- } else {
639
- linesActions.updateDrawingLine(x, y, relatedLines, state.snapMask);
640
- }
641
-
642
- // Blocked 90 degree snap.
643
- // let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
644
- // let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
645
- // let dx = Math.abs(x - prevVertex.x);
646
- // let dy = Math.abs(y - prevVertex.y);
647
- // if (dx > dy) y = prevVertex.y
648
- // else x = prevVertex.x;
649
- break;
650
- case constants.MODE_DRAWING_HOLE:
651
- holesActions.updateDrawingHole(layerID, x, y);
652
- break;
653
- case constants.MODE_DRAWING_ITEM:
654
- var _layer = scene.layers.get(layerID);
655
- var flag = false;
656
- _layer.items.some(function (item) {
657
- if (item.selected) {
658
- item.counterTop.uri = _layer.counterTop.uri;
659
- current_sel_obj_id = item.id;
660
- flag = true;
661
- }
662
- });
663
- if (current_sel_obj_id === null || !flag) {
664
- itemsActions.updateDrawingItem(layerID, x, y);
665
- endPoint.x = x;
666
- endPoint.y = y;
667
- } else {
668
- prepareSnap();
669
- var _GeometryUtils$calcSn = _export2.GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
670
- nx = _GeometryUtils$calcSn.nx,
671
- ny = _GeometryUtils$calcSn.ny,
672
- rot = _GeometryUtils$calcSn.rot,
673
- rotRad = _GeometryUtils$calcSn.rotRad;
674
- var _val = {
675
- pos: {
676
- x: x,
677
- y: y
678
- },
679
- rotRad: rotRad,
680
- size: allItemRect.cur && allItemRect.cur.size,
681
- layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
682
- is_corner: allItemRect.cur && allItemRect.cur.is_corner
683
- };
684
- var _GeometryUtils$getAll = _export2.GeometryUtils.getAllHoleRect(scene, _val),
685
- _isSect = _GeometryUtils$getAll.isSect,
686
- _snap = _GeometryUtils$getAll.snap;
687
- if (!(0, _helper.isEmpty)(_snap) && _isSect) {
688
- if (_snap.length == 1) _val.pos = {
689
- x: _snap[0].x,
690
- y: _snap[0].y
691
- };else {
692
- if ((_snap[0].x - x) * (_snap[0].x - x) + (_snap[0].y - y) * (_snap[0].y - y) < (_snap[1].x - x) * (_snap[1].x - x) + (_snap[1].y - y) * (_snap[1].y - y)) _val.pos = {
693
- x: _snap[0].x,
694
- y: _snap[0].y
695
- };else _val.pos = {
696
- x: _snap[1].x,
697
- y: _snap[1].y
698
- };
699
- }
700
- var interSect = _export2.GeometryUtils.validInterSect(allItemRect.others, _val);
701
- if (interSect) {
702
- nx = _val.pos.x;
703
- ny = _val.pos.y;
704
- }
705
- }
706
- _val.pos = {
707
- x: nx,
708
- y: ny
709
- };
710
- var _isrectSect = _export2.GeometryUtils.validInterSect(allItemRect.others, _val);
711
- if (_isrectSect && _isSect) {
712
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
713
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
714
- endPoint.x = nx;
715
- endPoint.y = ny;
716
- }
717
- if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('cabinet')) {
718
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
719
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
720
- endPoint.x = nx;
721
- endPoint.y = ny;
722
- }
723
- if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
724
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
725
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
726
- endPoint.x = nx;
727
- endPoint.y = ny;
728
- }
729
- }
730
- break;
731
- case constants.MODE_DRAGGING_HOLE:
732
- holesActions.updateDraggingHole(x, y);
733
- break;
734
- case constants.MODE_DRAGGING_LINE:
735
- linesActions.updateDraggingLine(x, y, relatedLines, state.snapMask);
736
- break;
737
- case constants.MODE_DRAGGING_VERTEX:
738
- var vertices = (_state$getIn9 = state.getIn(['scene', 'layers', layerID, 'vertices'])) === null || _state$getIn9 === void 0 ? void 0 : _state$getIn9.toJS();
739
- getConnectedLines();
740
- var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
741
- verticesActions.updateDraggingVertex(result.x, result.y, state.snapMask);
742
- break;
743
- case constants.MODE_DRAGGING_ITEM:
744
- prepareSnap();
745
- var _GeometryUtils$calcSn2 = _export2.GeometryUtils.calcSnap(allItemRect, allItemSnap, allLineRects, allLineSnap, allRect, x, y, allArea),
746
- nx = _GeometryUtils$calcSn2.nx,
747
- ny = _GeometryUtils$calcSn2.ny,
748
- rot = _GeometryUtils$calcSn2.rot,
749
- rotRad = _GeometryUtils$calcSn2.rotRad;
750
- var val = {
751
- pos: {
752
- x: x,
753
- y: y
754
- },
755
- rotRad: rotRad,
756
- size: allItemRect.cur && allItemRect.cur.size,
757
- layoutpos: allItemRect.cur && allItemRect.cur.layoutpos,
758
- is_corner: allItemRect.cur && allItemRect.cur.is_corner
759
- };
760
- var _GeometryUtils$getAll2 = _export2.GeometryUtils.getAllHoleRect(scene, val),
761
- isSect = _GeometryUtils$getAll2.isSect,
762
- snap = _GeometryUtils$getAll2.snap;
763
- if (!(0, _helper.isEmpty)(snap) && isSect) {
764
- if (snap.length == 1) val.pos = {
765
- x: snap[0].x,
766
- y: snap[0].y
767
- };else if (snap.length == 2) {
768
- if ((snap[0].x - x) * (snap[0].x - x) + (snap[0].y - y) * (snap[0].y - y) < (snap[1].x - x) * (snap[1].x - x) + (snap[1].y - y) * (snap[1].y - y)) val.pos = {
769
- x: snap[0].x,
770
- y: snap[0].y
771
- };else val.pos = {
772
- x: snap[1].x,
773
- y: snap[1].y
774
- };
775
- }
776
- var _interSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
777
- if (_interSect) {
778
- nx = val.pos.x;
779
- ny = val.pos.y;
780
- }
781
- }
782
- val.pos = {
783
- x: nx,
784
- y: ny
785
- };
786
- var isrectSect = _export2.GeometryUtils.validInterSect(allItemRect.others, val);
787
- if (isrectSect && isSect) {
788
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
789
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
790
- }
791
- if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cabinet')) {
792
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
793
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
794
- }
795
- if (allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Hood') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Range') || allItemRect.cur && allItemRect.cur.itemInfo.name.includes('Cook Top')) {
796
- itemsActions.updateDraggingItemChanged(nx, ny, layerID, current_sel_obj_id);
797
- itemsActions.updateRotatingItemChanged(rot, layerID, current_sel_obj_id);
798
- }
799
- break;
800
- case constants.MODE_ROTATING_ITEM:
801
- itemsActions.updateRotatingItem(x, y);
802
- break;
803
- }
804
- }
805
- viewerEvent.originalEvent.stopPropagation();
806
- };
807
- var onMouseDown = function onMouseDown(viewerEvent) {
808
- var event = viewerEvent.originalEvent;
809
- //workaround that allow imageful component to work
810
- // let evt = new Event('mousedown-planner-event');
811
- // evt.viewerEvent = viewerEvent;
812
- // document.dispatchEvent(evt);
813
- var _mapCursorPosition2 = mapCursorPosition(viewerEvent),
814
- x = _mapCursorPosition2.x,
815
- y = _mapCursorPosition2.y;
816
- var layer = state.scene.getIn(['layers', state.scene.selectedLayer]);
817
- var sCount = layer.selected.areas.size + layer.selected.holes.size + layer.selected.items.size + layer.selected.lines.size;
818
- if (mode === constants.MODE_DRAWING_LINE) {
819
- if (event.nativeEvent.which === 3) {
820
- projectActions.rollback();
821
- event.stopPropagation();
822
- return;
823
- }
824
- }
825
- mouseDownPoint = {
826
- x: x,
827
- y: y
828
- };
829
- if (mode === constants.MODE_IDLE) {
830
- var elementData = extractElementData(event.target);
831
- if (!elementData) return;
832
- if (sCount < 2) {
833
- switch (elementData.prototype) {
834
- case 'lines':
835
- if (elementData.selected) {
836
- if (elementData.part === 'remove') break;else if (elementData.part === 'elevation') break;
837
- linesActions.beginDraggingLine(elementData.layer, elementData.id, x, y, state.snapMask);
838
- }
839
- break;
840
- case 'vertices':
841
- verticesActions.beginDraggingVertex(elementData.layer, elementData.id, x, y, state.snapMask);
842
- break;
843
- case 'items':
844
- current_sel_obj_id = elementData.id;
845
- if (elementData.part === 'rotation-anchor') itemsActions.beginRotatingItem(elementData.layer, elementData.id, x, y);else if (elementData.part === 'remove') break;else if (elementData.part === 'duplicate') break;else if (elementData.part === 'warning_edit') break;else {
846
- // closes the setting dialog
847
- if (document.getElementById('setting_dialog')) {
848
- document.getElementById('setting_dialog').style.display = 'none';
849
- }
850
- itemsActions.selectItem(elementData.layer, elementData.id);
851
- // projectActions.setMode(constants.MODE_DRAGGING_ITEM);
852
- itemsActions.beginDraggingItem(elementData.layer, elementData.id, x, y);
853
- replaceCabinet(false);
854
- }
855
- break;
856
- case 'holes':
857
- if (elementData.selected) holesActions.beginDraggingHole(elementData.layer, elementData.id, x, y);
858
- break;
859
- default:
860
- break;
861
- }
862
- } else {
863
- sPoint.x = x;
864
- sPoint.y = y;
865
- sFlag = true;
866
- }
867
- }
868
- event.stopPropagation();
869
- };
870
- var onMouseUp = function onMouseUp(viewerEvent) {
871
- var _state$getIn0, _state$getIn1;
872
- //set move all flag false
873
- sFlag = false;
874
- // //////////////////////
875
- // setRulerEdit(null);
876
- var event = viewerEvent.originalEvent;
877
- var bbox = event.target.getBoundingClientRect();
878
- // bbox.width = event.target.getBBox().width;
879
- // bbox.height = event.target.getBBox().height;
880
- if (event.target.tagName === 'rect') {
881
- if (event.target.id) {
882
- setRulerEditID(event.target.id);
883
- }
884
- }
885
- setRulerEdit(null);
886
- // let evt = new Event('mouseup-planner-event');
887
- // evt.viewerEvent = viewerEvent;
888
- // document.dispatchEvent(evt);
889
-
890
- var _mapCursorPosition3 = mapCursorPosition(viewerEvent),
891
- x = _mapCursorPosition3.x,
892
- y = _mapCursorPosition3.y;
893
- var draggingDistance = Math.sqrt((x - mouseDownPoint.x) * (x - mouseDownPoint.x) + (y - mouseDownPoint.y) * (y - mouseDownPoint.y));
894
- var vertices = (_state$getIn0 = state.getIn(['scene', 'layers', layerID, 'vertices'])) === null || _state$getIn0 === void 0 ? void 0 : _state$getIn0.toJS();
895
- var lines = (_state$getIn1 = state.getIn(['scene', 'layers', layerID, 'lines'])) === null || _state$getIn1 === void 0 ? void 0 : _state$getIn1.toJS();
896
- var elementData = extractElementData(event.target);
897
- var selectedLayer = scene.getIn(['layers', layerID]);
898
- var elementPrototype = null;
899
- var internalType = null;
900
- switch (mode) {
901
- case constants.MODE_DRAWING_LINE:
902
- elementPrototype = 'lines';
903
- internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
904
- break;
905
- case constants.MODE_DRAWING_HOLE:
906
- elementPrototype = 'holes';
907
- internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
908
- break;
909
- case constants.MODE_DRAWING_ITEM:
910
- elementPrototype = 'items';
911
- internalType = _constants.INTERNAL_EVENT_DRAW_ELEMENT;
912
- break;
913
- case constants.MODE_DRAGGING_LINE:
914
- elementPrototype = 'lines';
915
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
916
- break;
917
- case constants.MODE_DRAGGING_HOLE:
918
- elementPrototype = 'holes';
919
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
920
- break;
921
- case constants.MODE_DRAGGING_VERTEX:
922
- elementPrototype = 'lines';
923
- internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;
924
- break;
925
- case constants.MODE_ROTATING_ITEM:
926
- elementPrototype = 'items';
927
- internalType = _constants.INTERNAL_EVENT_ROTATE_ELEMENT;
928
- break;
929
-
930
- // item selection be came from dragging mode
931
- case constants.MODE_DRAGGING_ITEM:
932
- elementPrototype = 'items';
933
- internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
934
- break;
935
- case constants.MODE_IDLE:
936
- switch (elementData === null || elementData === void 0 ? void 0 : elementData.prototype) {
937
- case 'areas':
938
- case 'lines':
939
- case 'holes':
940
- if ((0, _helper.isEmpty)(elementData === null || elementData === void 0 ? void 0 : elementData.part)) {
941
- elementPrototype = elementData === null || elementData === void 0 ? void 0 : elementData.prototype;
942
- internalType = _constants.INTERNAL_EVENT_SELECT_ELEMENT;
943
- }
944
- break;
945
- }
946
- break;
947
- }
948
- switch (mode) {
949
- case constants.MODE_IDLE:
950
- switch (elementData ? elementData.prototype : 'none') {
951
- case 'areas':
952
- if (document.getElementById('setting_dialog')) {
953
- document.getElementById('setting_dialog').style.display = 'none';
954
- }
955
- areaActions.selectArea(elementData.layer, elementData.id);
956
- break;
957
- case 'lines':
958
- if (document.getElementById('setting_dialog')) {
959
- document.getElementById('setting_dialog').style.display = 'none';
960
- }
961
- if (elementData.part === 'remove') {
962
- projectActions.remove();
963
- break;
964
- } else if (elementData.part === 'elevation') {
965
- // handle action when click elevation about selected line
966
- var _mode = _constants.MODE_ELEVATION_VIEW;
967
- projectActions.setMode(_mode);
968
- break;
969
- } else {
970
- var _state$getIn10;
971
- var tlines = [];
972
- var drawingLine = (_state$getIn10 = state.getIn(['scene', 'layers', layerID, 'lines', elementData.id])) === null || _state$getIn10 === void 0 ? void 0 : _state$getIn10.toJS();
973
- getRelatedLines(tlines, drawingLine, vertices, lines);
974
- setRelatedLines(tlines);
975
- linesActions.selectLine(elementData.layer, elementData.id);
976
- break;
977
- }
978
- case 'holes':
979
- if (document.getElementById('setting_dialog')) {
980
- document.getElementById('setting_dialog').style.display = 'none';
981
- }
982
- holesActions.selectHole(elementData.layer, elementData.id);
983
- break;
984
- case 'items':
985
- if (elementData.part === 'duplicate') {
986
- var currentObject = state.getIn(['scene', 'layers', layerID, 'items', elementData.id]);
987
- if (!(0, _utils.isWarningItem)(currentObject)) itemsActions.duplicateSelected(currentObject, onInternalEvent); // send draw internal event when duplicating
988
- break;
989
- } else if (elementData.part === 'remove') {
990
- projectActions.remove();
991
- break;
992
- } else if (elementData.part === 'warning_edit') {
993
- // closes the setting dialog
994
- if (document.getElementById('setting_dialog')) {
995
- document.getElementById('setting_dialog').style.display = 'none';
996
- }
997
- internalType = constants.INTERNAL_EVENT_REPLACE_CABINET;
998
- itemsActions.selectItem(elementData.layer, elementData.id);
999
- replaceCabinet(true);
1000
- break;
1001
- } else {
1002
- projectActions.unselectAll();
1003
- break;
1004
- }
1005
- case 'rulerDist':
1006
- var _length1 = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1007
- var distanceText1 = "".concat((0, _math.formatNumber)(_length1, _constants.DECIMAL_PLACES_2));
1008
- var numberInput1 = /*#__PURE__*/_react["default"].createElement("div", {
1009
- id: "ruler_numberInput",
1010
- style: {
1011
- position: 'absolute',
1012
- left: bbox.left - (150 - bbox.width) / 2,
1013
- top: bbox.top - (50 - bbox.height) / 2,
1014
- zIndex: 1000
1015
- }
1016
- }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1017
- style: {
1018
- textAlign: 'center',
1019
- paddingRight: 10,
1020
- fontSize: '16px',
1021
- lineHeight: '22px',
1022
- fontWeight: 600
1023
- },
1024
- value: distanceText1,
1025
- onChange: function onChange(event) {
1026
- var value = new _immutable.Map({
1027
- length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1028
- _length: event.target.value,
1029
- _unit: scene.rulerUnit
1030
- });
1031
- updateRulerDistAttribute(elementData, value);
1032
- },
1033
- precision: 2
1034
- }));
1035
- setRulerEdit(numberInput1);
1036
- projectActions.unselectAll();
1037
- break;
1038
- case 'ruler':
1039
- var _length = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(selectedLayer.unit);
1040
- var numberInput = /*#__PURE__*/_react["default"].createElement("div", {
1041
- id: "ruler_numberInput",
1042
- style: {
1043
- position: 'absolute',
1044
- left: bbox.left - (150 - bbox.width) / 2,
1045
- top: bbox.top - (50 - bbox.height) / 2,
1046
- zIndex: 1000
1047
- }
1048
- }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1049
- style: {
1050
- textAlign: 'center',
1051
- paddingRight: 10,
1052
- fontSize: '16px',
1053
- lineHeight: '22px',
1054
- fontWeight: 600
1055
- },
1056
- value: (0, _math.formatNumber)(_length, _constants.DECIMAL_PLACES_2),
1057
- onChange: function onChange(event) {
1058
- var value = new _immutable.Map({
1059
- length: (0, _convertUnitsLite.convert)(event.target.value).from(selectedLayer.unit).to(scene.unit),
1060
- _length: event.target.value,
1061
- _unit: selectedLayer.unit
1062
- });
1063
- updateRulerAttribute(elementData, value);
1064
- },
1065
- precision: 2
1066
- }));
1067
- setRulerEdit(numberInput);
1068
- projectActions.unselectAll();
1069
- break;
1070
- case 'twoHoleRuler':
1071
- var _lengthTwoHoleRuler = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1072
- var distanceTextTwoHoleRuler = "".concat((0, _math.formatNumber)(_lengthTwoHoleRuler, _constants.DECIMAL_PLACES_2));
1073
- var numberInputTwoHoleRuler = /*#__PURE__*/_react["default"].createElement("div", {
1074
- id: "ruler_numberInput",
1075
- style: {
1076
- position: 'absolute',
1077
- left: bbox.left - (150 - bbox.width) / 2,
1078
- top: bbox.top - (50 - bbox.height) / 2,
1079
- zIndex: 1000
1080
- }
1081
- }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1082
- style: {
1083
- textAlign: 'center',
1084
- padding: 'auto',
1085
- fontSize: '16px',
1086
- lineHeight: '22px',
1087
- fontWeight: 600
1088
- },
1089
- value: distanceTextTwoHoleRuler,
1090
- onChange: function onChange(event) {
1091
- var value = new _immutable.Map({
1092
- length: (0, _convertUnitsLite.convert)(event.target.value / 2).from(scene.rulerUnit).to(scene.unit),
1093
- _length: event.target.value / 2,
1094
- _unit: scene.rulerUnit
1095
- });
1096
- updateTwoHoleRulerAttribute(elementData, value);
1097
- },
1098
- precision: 2
1099
- }));
1100
- setRulerEdit(numberInputTwoHoleRuler);
1101
- projectActions.unselectAll();
1102
- break;
1103
- case 'leftHoleRuler':
1104
- var _lengthLeftHoleRuler = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1105
- var distanceTextLeftHoleRuler = "".concat(_lengthLeftHoleRuler.toFixed(2));
1106
- var numberInputLeftHoleRuler = /*#__PURE__*/_react["default"].createElement("div", {
1107
- id: "ruler_numberInput",
1108
- style: {
1109
- position: 'absolute',
1110
- left: bbox.left - (150 - bbox.width) / 2,
1111
- top: bbox.top - (50 - bbox.height) / 2,
1112
- zIndex: 1000
1113
- }
1114
- }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1115
- style: {
1116
- textAlign: 'center',
1117
- paddingRight: 10,
1118
- fontSize: '16px',
1119
- lineHeight: '22px',
1120
- fontWeight: 600
1121
- },
1122
- value: distanceTextLeftHoleRuler,
1123
- onChange: function onChange(event) {
1124
- var value = new _immutable.Map({
1125
- length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1126
- _length: event.target.value,
1127
- _unit: scene.rulerUnit
1128
- });
1129
- updateLeftHoleRulerAttribute(elementData, value);
1130
- },
1131
- precision: 2
1132
- }));
1133
- setRulerEdit(numberInputLeftHoleRuler);
1134
- projectActions.unselectAll();
1135
- break;
1136
- case 'rulerHole':
1137
- var _lengthRulerHole = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1138
- var distanceTextRulerHole = "".concat((0, _math.formatNumber)(_lengthRulerHole, _constants.DECIMAL_PLACES_2));
1139
- var numberInputRulerHole = /*#__PURE__*/_react["default"].createElement("div", {
1140
- id: "ruler_numberInput",
1141
- style: {
1142
- position: 'absolute',
1143
- left: bbox.left - (150 - bbox.width) / 2,
1144
- top: bbox.top - (50 - bbox.height) / 2,
1145
- zIndex: 1000
1146
- }
1147
- }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1148
- style: {
1149
- textAlign: 'center',
1150
- paddingRight: 10,
1151
- fontSize: '16px',
1152
- lineHeight: '22px',
1153
- fontWeight: 600
1154
- },
1155
- value: distanceTextRulerHole,
1156
- onChange: function onChange(event) {
1157
- var value = new _immutable.Map({
1158
- length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1159
- _length: event.target.value,
1160
- _unit: scene.rulerUnit
1161
- });
1162
- updateHoleRulerAttribute(elementData, value);
1163
- },
1164
- precision: 2
1165
- }));
1166
- setRulerEdit(numberInputRulerHole);
1167
- projectActions.unselectAll();
1168
- break;
1169
- case 'rightHoleRuler':
1170
- var _lengthRightHoleRuler = (0, _convertUnitsLite.convert)(elementData.length).from(scene.unit).to(scene.rulerUnit);
1171
- var distanceTextRightHoleRuler = "".concat(_lengthRightHoleRuler.toFixed(2));
1172
- var numberInputRightHoleRuler = /*#__PURE__*/_react["default"].createElement("div", {
1173
- id: "ruler_numberInput",
1174
- style: {
1175
- position: 'absolute',
1176
- left: bbox.left - (150 - bbox.width) / 2,
1177
- top: bbox.top - (50 - bbox.height) / 2,
1178
- zIndex: 1000
1179
- }
1180
- }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1181
- style: {
1182
- textAlign: 'center',
1183
- paddingRight: 10,
1184
- fontSize: '16px',
1185
- lineHeight: '22px',
1186
- fontWeight: 600
1187
- },
1188
- value: distanceTextRightHoleRuler,
1189
- onChange: function onChange(event) {
1190
- var value = new _immutable.Map({
1191
- length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1192
- _length: event.target.value,
1193
- _unit: scene.rulerUnit
1194
- });
1195
- updateRightHoleRulerAttribute(elementData, value);
1196
- },
1197
- precision: 2
1198
- }));
1199
- setRulerEdit(numberInputRightHoleRuler);
1200
- projectActions.unselectAll();
1201
- break;
1202
- case 'angleChange':
1203
- var _length2 = elementData.length;
1204
- var numberInput2 = /*#__PURE__*/_react["default"].createElement("div", {
1205
- id: "ruler_numberInput",
1206
- style: {
1207
- position: 'absolute',
1208
- left: bbox.left - (150 - bbox.width) / 2,
1209
- top: bbox.top - (50 - bbox.height) / 2,
1210
- zIndex: 1000
1211
- }
1212
- }, /*#__PURE__*/_react["default"].createElement(_formNumberInput["default"], {
1213
- style: {
1214
- width: 50,
1215
- height: 50
1216
- },
1217
- value: _length2,
1218
- onChange: function onChange(event) {
1219
- var value = new _immutable.Map({
1220
- length: (0, _convertUnitsLite.convert)(event.target.value).from(scene.rulerUnit).to(scene.unit),
1221
- _length: event.target.value,
1222
- _unit: scene.rulerUnit
1223
- });
1224
- updateangleChangeAttribute(elementData, value);
1225
- },
1226
- precision: 2
1227
- }));
1228
- setRulerEdit(numberInput2);
1229
- projectActions.unselectAll();
1230
- break;
1231
- case 'none':
1232
- projectActions.unselectAll();
1233
- break;
1234
- }
1235
- break;
1236
- case constants.MODE_WAITING_DRAWING_LINE:
1237
- setdrawStart(true);
1238
- linesActions.beginDrawingLine(layerID, x, y, state.snapMask, onInternalEvent);
1239
- break;
1240
- case constants.MODE_DRAWING_LINE:
1241
- // Blocked 90 degree snap.
1242
- // let prevVertexID = state.getIn(['scene', 'layers', layerID, 'selected', 'vertices']).toJS()[0];
1243
- // let prevVertex = state.getIn(['scene', 'layers', layerID, 'vertices', prevVertexID]);
1244
- // let dx = Math.abs(x - prevVertex.x);
1245
- // let dy = Math.abs(y - prevVertex.y);
1246
- // if (dx > dy) y = prevVertex.y
1247
- // else x = prevVertex.x;
1248
- setdrawStart(true);
1249
- getConnectedLines();
1250
- var endInfor = getEndPoint(vertices, x, y, 'END_DRAWIN_LINE');
1251
- linesActions.endDrawingLine(endInfor.x, endInfor.y, state.snapMask);
1252
- linesActions.beginDrawingLine(layerID, endInfor.x, endInfor.y, state.snapMask, onInternalEvent);
1253
- break;
1254
- case constants.MODE_DRAWING_HOLE:
1255
- holesActions.endDrawingHole(layerID, x, y);
1256
- break;
1257
- case constants.MODE_DRAWING_ITEM:
1258
- {
1259
- var itemData = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
1260
- itemsActions.endDrawingItem(layerID, itemData.isInitialPos ? itemData.x : endPoint.x, itemData.isInitialPos ? itemData.y : endPoint.y);
1261
- }
1262
- break;
1263
- case constants.MODE_DRAGGING_LINE:
1264
- linesActions.endDraggingLine(x, y, relatedLines, state.snapMask);
1265
- break;
1266
- case constants.MODE_DRAGGING_VERTEX:
1267
- getConnectedLines();
1268
- var result = getEndPoint(vertices, x, y, 'DRAGGING_VERTEX');
1269
- verticesActions.endDraggingVertex(result.x, result.y, state.snapMask);
1270
- break;
1271
- case constants.MODE_DRAGGING_ITEM:
1272
- itemsActions.updateMolding();
1273
- projectActions.setMode(_constants.MODE_IDLE);
1274
- break;
1275
- case constants.MODE_DRAGGING_HOLE:
1276
- holesActions.endDraggingHole(x, y);
1277
- break;
1278
- case constants.MODE_ROTATING_ITEM:
1279
- itemsActions.endRotatingItem(x, y);
1280
- break;
1281
- }
1282
- if (internalType) {
1283
- var _currentObject2;
1284
- var _currentObject = state.getIn(['scene', 'layers', layerID, elementData === null || elementData === void 0 ? void 0 : elementData.prototype, elementData === null || elementData === void 0 ? void 0 : elementData.id]);
1285
- if (internalType === _constants.INTERNAL_EVENT_SELECT_ELEMENT && ((_currentObject2 = _currentObject) === null || _currentObject2 === void 0 ? void 0 : _currentObject2.prototype) === 'items' && draggingDistance > constants.EPSILON) internalType = _constants.INTERNAL_EVENT_DRAG_ELEMENT;else if (internalType === _constants.INTERNAL_EVENT_DRAW_ELEMENT || draggingDistance > constants.EPSILON) {
1286
- var elementID = state.getIn(['scene', 'layers', layerID, 'selected', elementPrototype]).first();
1287
- _currentObject = state.getIn(['scene', 'layers', layerID, elementPrototype, elementID]);
1288
- }
1289
- if (_currentObject) {
1290
- var _currentObject3, _currentObject4, _currentObject5;
1291
- var payload = (_currentObject3 = _currentObject) === null || _currentObject3 === void 0 ? void 0 : _currentObject3.toJS();
1292
- if (((_currentObject4 = _currentObject) === null || _currentObject4 === void 0 ? void 0 : _currentObject4.prototype) === 'lines') {
1293
- // caculating length of selected line//
1294
- var v_a = layer.vertices.get(_currentObject.vertices.get(0));
1295
- var v_b = layer.vertices.get(_currentObject.vertices.get(1));
1296
- var distance = _export2.GeometryUtils.pointsDistance(v_a.x, v_a.y, v_b.x, v_b.y);
1297
- var _length3 = (0, _convertUnitsLite.convert)(distance).from('cm').to('in');
1298
- payload.length = _length3;
1299
- //////////////////////////////////////
1300
- } else if (((_currentObject5 = _currentObject) === null || _currentObject5 === void 0 ? void 0 : _currentObject5.prototype) === 'items') {
1301
- // check this cabinet has warning box
1302
- payload.isWarning = (0, _utils.isWarningItem)(_currentObject);
1303
- // check this item is available molding
1304
- payload.isMoldingAvailable = _export2.MoldingUtils.isEnableItemForMolding(layer, _currentObject);
1305
- // check this item is snapped to wall
1306
- payload.isAttachedWall = _export2.MoldingUtils.isAttachedWall(layer, _currentObject);
1307
- }
1308
-
1309
- // send selection event befor replace event
1310
- if (internalType === constants.INTERNAL_EVENT_REPLACE_CABINET) {
1311
- onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
1312
- type: _constants.INTERNAL_EVENT_SELECT_ELEMENT,
1313
- value: payload
1314
- });
1315
- }
1316
- onInternalEvent === null || onInternalEvent === void 0 || onInternalEvent({
1317
- type: internalType,
1318
- value: payload
1319
- });
1320
- }
1321
- }
1322
- event.stopPropagation();
1323
- };
1324
- var onChangeValue = function onChangeValue(value) {
1325
- if (sFlag) return;
1326
- setSvgValue(value);
1327
- var _zoomValue = parseInt((value.a - 0.5) / constants.ZOOM_VARIABLE);
1328
- if (_zoomValue > constants.MAX_ZOOM_IN_SCALE) return;
1329
- if (_zoomValue < 0 || Number.isNaN(_zoomValue)) return;
1330
- if (rulerEdit !== null && value.startX && value.startY || value.lastAction === 'zoom') {
1331
- var _rulerEdit = document.getElementById('ruler_numberInput') && document.getElementById('ruler_numberInput'),
1332
- _rect;
1333
- if (rulerEditID !== null) {
1334
- _rect = document.getElementById(rulerEditID) && document.getElementById(rulerEditID);
1335
- }
1336
- var bbox;
1337
- if (_rect && _rulerEdit) {
1338
- bbox = _rect.getBoundingClientRect();
1339
- // bbox.width = _rect.getBBox().width;
1340
- // bbox.height = _rect.getBBox().height;
1341
- _rulerEdit.style.left = "".concat(bbox.left - (150 - bbox.width) / 2, "px");
1342
- _rulerEdit.style.top = "".concat(bbox.top - (50 - bbox.height) / 2, "px");
1343
- }
1344
- }
1345
- if (value.e <= 10 && value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth && value.f <= 80 && value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight) {
1346
- /*let val = Object.assign({}, value);
1347
- if (refresh === 2) {
1348
- val.a += 0.4; val.d += 0.4;
1349
- val.e -= (val.SVGWidth * val.a - val.SVGWidth * (val.a - 0.4)) / 2;
1350
- val.f -= (val.SVGHeight * val.d - val.SVGHeight * (val.d - 0.4)) / 2;
1351
- console.log('----', val)
1352
- }*/
1353
- projectActions.updateZoomScale(value.a);
1354
- return viewer2DActions.updateCameraView(value);
1355
- }
1356
- };
1357
- var onChangeTool = function onChangeTool(tool) {
1358
- setSvgTool(tool);
1359
- switch (tool) {
1360
- case _reactSvgPanZoom.TOOL_NONE:
1361
- projectActions.selectToolEdit();
1362
- break;
1363
- case _reactSvgPanZoom.TOOL_PAN:
1364
- viewer2DActions.selectToolPan();
1365
- break;
1366
- case _reactSvgPanZoom.TOOL_ZOOM_IN:
1367
- viewer2DActions.selectToolZoomIn();
1368
- break;
1369
- case _reactSvgPanZoom.TOOL_ZOOM_OUT:
1370
- viewer2DActions.selectToolZoomOut();
1371
- break;
1372
- }
1373
- };
1374
- var onZoom = function onZoom(value) {
1375
- // var nextValue = viewer2D?.toJS();
1376
- // nextValue = zoom(nextValue, 0, 0, value.a / nextValue.a)
1377
- // projectActions.updateZoomScale(nextValue.a);
1378
- // return viewer2DActions.updateCameraView(nextValue)
1379
- };
1380
- var _state$get$toJS = (_state$get = state.get('viewer2D')) === null || _state$get === void 0 ? void 0 : _state$get.toJS(),
1381
- e = _state$get$toJS.e,
1382
- f = _state$get$toJS.f,
1383
- SVGWidth = _state$get$toJS.SVGWidth,
1384
- SVGHeight = _state$get$toJS.SVGHeight;
1385
- var rulerSize = 0; //px
1386
- var rulerUnitPixelSize = 100;
1387
- var rulerBgColor = SharedStyle.PRIMARY_COLOR.main;
1388
- var rulerFnColor = SharedStyle.COLORS.white;
1389
- var rulerMkColor = SharedStyle.SECONDARY_COLOR.main;
1390
- var sceneWidth = SVGWidth || state.getIn(['scene', 'width']);
1391
- var sceneHeight = SVGHeight || state.getIn(['scene', 'height']);
1392
- var sceneZoom = state.zoom || 1;
1393
- var rulerXElements = Math.ceil(sceneWidth / rulerUnitPixelSize) + 1;
1394
- var rulerYElements = Math.ceil(sceneHeight / rulerUnitPixelSize) + 1;
1395
- return /*#__PURE__*/_react["default"].createElement("div", null, rulerEdit, /*#__PURE__*/_react["default"].createElement("div", {
1396
- style: {
1397
- margin: 0,
1398
- padding: 0,
1399
- display: 'grid',
1400
- gridRowGap: '0',
1401
- gridColumnGap: '0',
1402
- gridTemplateColumns: "".concat(rulerSize, "px ").concat(width - rulerSize, "px"),
1403
- gridTemplateRows: "".concat(rulerSize, "px ").concat(height - rulerSize, "px"),
1404
- position: 'relative'
1405
- }
1406
- }, /*#__PURE__*/_react["default"].createElement("div", {
1407
- style: {
1408
- gridColumn: 1,
1409
- gridRow: 1,
1410
- backgroundColor: rulerBgColor
1411
- }
1412
- }), /*#__PURE__*/_react["default"].createElement("div", {
1413
- style: {
1414
- gridRow: 1,
1415
- gridColumn: 2,
1416
- position: 'relative',
1417
- overflow: 'hidden'
1418
- },
1419
- id: "rulerX"
1420
- }, sceneWidth ? /*#__PURE__*/_react["default"].createElement(_export.RulerX, {
1421
- unitPixelSize: rulerUnitPixelSize,
1422
- zoom: sceneZoom,
1423
- mouseX: state.mouse.get('x'),
1424
- width: width - rulerSize,
1425
- zeroLeftPosition: e || 0,
1426
- backgroundColor: rulerBgColor,
1427
- fontColor: rulerFnColor,
1428
- markerColor: rulerMkColor,
1429
- positiveUnitsNumber: rulerXElements,
1430
- negativeUnitsNumber: 0
1431
- }) : null), /*#__PURE__*/_react["default"].createElement("div", {
1432
- style: {
1433
- gridColumn: 1,
1434
- gridRow: 2,
1435
- position: 'relative',
1436
- overflow: 'hidden'
1437
- },
1438
- id: "rulerY"
1439
- }, sceneHeight ? /*#__PURE__*/_react["default"].createElement(_export.RulerY, {
1440
- unitPixelSize: rulerUnitPixelSize,
1441
- zoom: sceneZoom,
1442
- mouseY: state.mouse.get('y'),
1443
- height: height - rulerSize,
1444
- zeroTopPosition: sceneHeight * sceneZoom + f || 0,
1445
- backgroundColor: rulerBgColor,
1446
- fontColor: rulerFnColor,
1447
- markerColor: rulerMkColor,
1448
- positiveUnitsNumber: rulerYElements,
1449
- negativeUnitsNumber: 0
1450
- }) : null), /*#__PURE__*/_react["default"].createElement(_reactSvgPanZoom.ReactSVGPanZoom, {
1451
- style: {
1452
- gridColumn: 2,
1453
- gridRow: 2
1454
- },
1455
- width: width - rulerSize,
1456
- height: height - rulerSize,
1457
- value: svgValue,
1458
- tool: svgTool,
1459
- onChangeValue: onChangeValue,
1460
- onChangeTool: onChangeTool,
1461
- detectAutoPan: mode2DetectAutopan(mode),
1462
- onMouseDown: onMouseDown,
1463
- onMouseMove: onMouseMove,
1464
- onMouseUp: onMouseUp,
1465
- detectPinchGesture: false,
1466
- disableDoubleClickZoomWithToolAuto: true,
1467
- ref: Viewer,
1468
- miniatureProps: {
1469
- position: _reactSvgPanZoom.POSITION_NONE
1470
- },
1471
- toolbarProps: {
1472
- position: _reactSvgPanZoom.POSITION_NONE
1473
- }
1474
- }, /*#__PURE__*/_react["default"].createElement("svg", {
1475
- width: scene.width,
1476
- height: scene.height
1477
- }, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("pattern", {
1478
- id: "diagonalFill",
1479
- patternUnits: "userSpaceOnUse",
1480
- width: "4",
1481
- height: "4",
1482
- fill: "#FFF"
1483
- }, /*#__PURE__*/_react["default"].createElement("rect", {
1484
- x: "0",
1485
- y: "0",
1486
- width: "4",
1487
- height: "4",
1488
- fill: "#FFF"
1489
- }), /*#__PURE__*/_react["default"].createElement("path", {
1490
- d: "M-1,1 l2,-2 M0,4 l4,-4 M3,5 l2,-2",
1491
- style: {
1492
- stroke: '#8E9BA2',
1493
- strokeWidth: 1
1494
- }
1495
- }))), /*#__PURE__*/_react["default"].createElement("g", {
1496
- style: Object.assign(mode2Cursor(mode), mode2PointerEvents(mode))
1497
- }, /*#__PURE__*/_react["default"].createElement(_state["default"], {
1498
- state: state,
1499
- catalog: catalog,
1500
- viewer2DActions: viewer2DActions,
1501
- relatedLines: relatedLines
1502
- }))))));
1503
- }
1504
- Viewer2D.propTypes = {
1505
- state: _propTypes["default"].object.isRequired,
1506
- width: _propTypes["default"].number.isRequired,
1507
- height: _propTypes["default"].number.isRequired
1508
- };
1509
- module.exports = exports.default;