kitchen-simulator 5.0.0-test.7 → 5.0.0-test.71

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 (606) hide show
  1. package/README.md +1 -1
  2. package/package.json +22 -63
  3. package/src/KitchenConfiguratorApp.jsx +5 -5
  4. package/src/_KitchenConfigurator.jsx +578 -0
  5. package/src/actions/export.js +2 -5
  6. package/src/assets/Window.hdr +2100 -0
  7. package/src/assets/brown_photostudio_02_1k.hdr +0 -0
  8. package/src/assets/fonts/Rene Bieder Milliard Black Italic.woff +0 -0
  9. package/src/assets/fonts/Rene Bieder Milliard Black.woff +0 -0
  10. package/src/assets/fonts/Rene Bieder Milliard Bold Italic.woff +0 -0
  11. package/src/assets/fonts/Rene Bieder Milliard Bold.woff +0 -0
  12. package/src/assets/fonts/Rene Bieder Milliard Book Italic.woff +0 -0
  13. package/src/assets/fonts/Rene Bieder Milliard Book.woff +0 -0
  14. package/src/assets/fonts/Rene Bieder Milliard ExtraBold Italic.woff +0 -0
  15. package/src/assets/fonts/Rene Bieder Milliard ExtraBold.woff +0 -0
  16. package/src/assets/fonts/Rene Bieder Milliard ExtraLight Italic.woff +0 -0
  17. package/src/assets/fonts/Rene Bieder Milliard ExtraLight.woff +0 -0
  18. package/src/assets/fonts/Rene Bieder Milliard Hairline Italic.woff +0 -0
  19. package/src/assets/fonts/Rene Bieder Milliard Hairline.woff +0 -0
  20. package/src/assets/fonts/Rene Bieder Milliard Heavy Italic.woff +0 -0
  21. package/src/assets/fonts/Rene Bieder Milliard Heavy.woff +0 -0
  22. package/src/assets/fonts/Rene Bieder Milliard Light Italic.woff +0 -0
  23. package/src/assets/fonts/Rene Bieder Milliard Light.woff +0 -0
  24. package/src/assets/fonts/Rene Bieder Milliard Medium Italic.woff +0 -0
  25. package/src/assets/fonts/Rene Bieder Milliard Medium.woff +0 -0
  26. package/src/assets/fonts/Rene Bieder Milliard SemiBold Italic.woff +0 -0
  27. package/src/assets/fonts/Rene Bieder Milliard SemiBold.woff +0 -0
  28. package/src/assets/fonts/Rene Bieder Milliard Thin Italic.woff +0 -0
  29. package/src/assets/fonts/Rene Bieder Milliard Thin.woff +0 -0
  30. package/src/assets/fonts/style.css +177 -0
  31. package/src/assets/gltf/door_closet.bin +0 -0
  32. package/src/assets/gltf/door_closet.fbx +0 -0
  33. package/src/assets/gltf/door_closet.gltf +1 -0
  34. package/src/assets/gltf/door_exterior.bin +0 -0
  35. package/src/assets/gltf/door_exterior.fbx +0 -0
  36. package/src/assets/gltf/door_exterior.gltf +1 -0
  37. package/src/assets/gltf/door_interior.bin +0 -0
  38. package/src/assets/gltf/door_interior.fbx +0 -0
  39. package/src/assets/gltf/door_interior.gltf +1 -0
  40. package/src/assets/gltf/door_sliding.bin +0 -0
  41. package/src/assets/gltf/door_sliding.fbx +0 -0
  42. package/src/assets/gltf/door_sliding.gltf +1 -0
  43. package/src/assets/gltf/doorway_framed.bin +0 -0
  44. package/src/assets/gltf/doorway_framed.fbx +0 -0
  45. package/src/assets/gltf/doorway_framed.gltf +1 -0
  46. package/src/assets/gltf/window_clear.bin +0 -0
  47. package/src/assets/gltf/window_clear.fbx +0 -0
  48. package/src/assets/gltf/window_clear.gltf +1 -0
  49. package/src/assets/gltf/window_cross.bin +0 -0
  50. package/src/assets/gltf/window_cross.fbx +0 -0
  51. package/src/assets/gltf/window_cross.gltf +1 -0
  52. package/src/assets/gltf/window_double_hung.bin +0 -0
  53. package/src/assets/gltf/window_double_hung.fbx +0 -0
  54. package/src/assets/gltf/window_double_hung.gltf +1 -0
  55. package/src/assets/gltf/window_vertical.bin +0 -0
  56. package/src/assets/gltf/window_vertical.fbx +0 -0
  57. package/src/assets/gltf/window_vertical.gltf +1 -0
  58. package/src/assets/img/1.jpg +0 -0
  59. package/src/assets/img/TKC_thumbnail.png +0 -0
  60. package/src/assets/img/Toggle.png +0 -0
  61. package/src/assets/img/loading/loading.gif +0 -0
  62. package/src/assets/img/loading/loading_1.svg +11 -0
  63. package/src/assets/img/loading_large.gif +0 -0
  64. package/src/assets/img/png/door/closet.png +0 -0
  65. package/src/assets/img/png/door/doorwaysframed.png +0 -0
  66. package/src/assets/img/png/door/doorwaysframeles.png +0 -0
  67. package/src/assets/img/png/door/doorwaysframeless.png +0 -0
  68. package/src/assets/img/png/door/exterior.png +0 -0
  69. package/src/assets/img/png/door/interior.png +0 -0
  70. package/src/assets/img/png/door/sliding.png +0 -0
  71. package/src/assets/img/png/helper/outcome.png +0 -0
  72. package/src/assets/img/png/helper/video_preview_3d.png +0 -0
  73. package/src/assets/img/png/helper/video_preview_start.png +0 -0
  74. package/src/assets/img/project_img.png +0 -0
  75. package/src/assets/img/rta/rta_logo_box_blue.jpg +0 -0
  76. package/src/assets/img/rta/rta_logo_box_blue_ico.jpg +0 -0
  77. package/src/assets/img/rta/rta_logo_box_blue_ico.svg +55 -0
  78. package/src/assets/img/rta/rta_logo_box_darkGray.jpg +0 -0
  79. package/src/assets/img/rta/rta_logo_box_lightblue.png +0 -0
  80. package/src/assets/img/rta/rta_logo_box_lightmaroon.png +0 -0
  81. package/src/assets/img/rta/rta_logo_box_maroon.png +0 -0
  82. package/src/assets/img/rta/rta_logo_box_white.png +0 -0
  83. package/src/assets/img/rta_menu.png +0 -0
  84. package/src/assets/img/step2.jpg +0 -0
  85. package/src/assets/img/step3.jpg +0 -0
  86. package/src/assets/img/step4.jpg +0 -0
  87. package/src/assets/img/step5.jpg +0 -0
  88. package/src/assets/img/step6.jpg +0 -0
  89. package/src/assets/img/step7.jpg +0 -0
  90. package/src/assets/img/step8.jpg +0 -0
  91. package/src/assets/img/svg/2d_delete_object.svg +33 -0
  92. package/src/assets/img/svg/2d_delete_object1.svg +33 -0
  93. package/src/assets/img/svg/2d_lock_object.svg +33 -0
  94. package/src/assets/img/svg/3d_item_move.svg +106 -0
  95. package/src/assets/img/svg/3d_item_rotation.svg +76 -0
  96. package/src/assets/img/svg/3d_item_warning_edit.svg +77 -0
  97. package/src/assets/img/svg/3d_item_warning_info.svg +81 -0
  98. package/src/assets/img/svg/accessories.svg +4 -0
  99. package/src/assets/img/svg/angle_icon.svg +39 -0
  100. package/src/assets/img/svg/blank_div.svg +14 -0
  101. package/src/assets/img/svg/bottombar/2d3d_button.svg +3 -0
  102. package/src/assets/img/svg/bottombar/2d3d_button_active.svg +3 -0
  103. package/src/assets/img/svg/bottombar/2d3d_toggle.svg +4 -0
  104. package/src/assets/img/svg/bottombar/2d3d_toggle_active.svg +4 -0
  105. package/src/assets/img/svg/bottombar/arrow-down.svg +3 -0
  106. package/src/assets/img/svg/bottombar/arrow-left.svg +3 -0
  107. package/src/assets/img/svg/bottombar/arrow-minus.svg +3 -0
  108. package/src/assets/img/svg/bottombar/arrow-plus.svg +11 -0
  109. package/src/assets/img/svg/bottombar/arrow-right.svg +3 -0
  110. package/src/assets/img/svg/bottombar/arrow-up.svg +3 -0
  111. package/src/assets/img/svg/bottombar/collapse.svg +3 -0
  112. package/src/assets/img/svg/bottombar/elevation-back.svg +6 -0
  113. package/src/assets/img/svg/bottombar/elevation-front.svg +6 -0
  114. package/src/assets/img/svg/bottombar/elevation-left.svg +6 -0
  115. package/src/assets/img/svg/bottombar/elevation-right.svg +7 -0
  116. package/src/assets/img/svg/bottombar/elevation.svg +6 -0
  117. package/src/assets/img/svg/bottombar/expand.svg +3 -0
  118. package/src/assets/img/svg/bottombar/help.svg +72 -0
  119. package/src/assets/img/svg/bottombar/incm_toggle.svg +39 -0
  120. package/src/assets/img/svg/bottombar/pan_1.svg +57 -0
  121. package/src/assets/img/svg/bottombar/pan_2.svg +27 -0
  122. package/src/assets/img/svg/bottombar/pan_3.svg +27 -0
  123. package/src/assets/img/svg/bottombar/pan_4.svg +27 -0
  124. package/src/assets/img/svg/bottombar/pan_5.svg +27 -0
  125. package/src/assets/img/svg/bottombar/settings.svg +23 -0
  126. package/src/assets/img/svg/bottombar/spin-down.svg +76 -0
  127. package/src/assets/img/svg/bottombar/spin-left.svg +75 -0
  128. package/src/assets/img/svg/bottombar/spin-right.svg +75 -0
  129. package/src/assets/img/svg/bottombar/spin-up.svg +76 -0
  130. package/src/assets/img/svg/bottombar/spin_1.svg +48 -0
  131. package/src/assets/img/svg/bottombar/spin_2.svg +31 -0
  132. package/src/assets/img/svg/bottombar/spin_3.svg +31 -0
  133. package/src/assets/img/svg/bottombar/spin_4.svg +31 -0
  134. package/src/assets/img/svg/bottombar/spin_5.svg +31 -0
  135. package/src/assets/img/svg/bottombar/zoomin.svg +29 -0
  136. package/src/assets/img/svg/bottombar/zoomout.svg +26 -0
  137. package/src/assets/img/svg/check.svg +10 -0
  138. package/src/assets/img/svg/close.svg +11 -0
  139. package/src/assets/img/svg/color/Black.svg +3 -0
  140. package/src/assets/img/svg/color/Blue.svg +3 -0
  141. package/src/assets/img/svg/color/Brown.svg +9 -0
  142. package/src/assets/img/svg/color/Cream.svg +3 -0
  143. package/src/assets/img/svg/color/Dark.svg +9 -0
  144. package/src/assets/img/svg/color/Gray.svg +3 -0
  145. package/src/assets/img/svg/color/Green.svg +3 -0
  146. package/src/assets/img/svg/color/Light.svg +9 -0
  147. package/src/assets/img/svg/color/Medium.svg +9 -0
  148. package/src/assets/img/svg/color/Unfinished.svg +9 -0
  149. package/src/assets/img/svg/color/White.svg +3 -0
  150. package/src/assets/img/svg/color/White.svg.bak +3 -0
  151. package/src/assets/img/svg/color/stone2.jpg +0 -0
  152. package/src/assets/img/svg/color/wood2.jpg +0 -0
  153. package/src/assets/img/svg/copy.svg +11 -0
  154. package/src/assets/img/svg/delete.svg +3 -0
  155. package/src/assets/img/svg/detail.svg +77 -0
  156. package/src/assets/img/svg/door/Closet.svg +11 -0
  157. package/src/assets/img/svg/door/Exterior.svg +5 -0
  158. package/src/assets/img/svg/door/Framed_dorway.svg +5 -0
  159. package/src/assets/img/svg/door/Frameless_dorway.svg +5 -0
  160. package/src/assets/img/svg/door/Interior.svg +7 -0
  161. package/src/assets/img/svg/door/Sliding.svg +5 -0
  162. package/src/assets/img/svg/doors_closet.svg +47 -0
  163. package/src/assets/img/svg/doors_exterior.svg +25 -0
  164. package/src/assets/img/svg/doors_interior.svg +29 -0
  165. package/src/assets/img/svg/doors_patio.svg +26 -0
  166. package/src/assets/img/svg/duplicate.svg +11 -0
  167. package/src/assets/img/svg/duplicate_object_left.svg +32 -0
  168. package/src/assets/img/svg/duplicate_object_right.svg +32 -0
  169. package/src/assets/img/svg/filtersActive.svg +19 -0
  170. package/src/assets/img/svg/firstsetting/L.svg +3 -0
  171. package/src/assets/img/svg/firstsetting/L2.svg +3 -0
  172. package/src/assets/img/svg/firstsetting/Open.svg +3 -0
  173. package/src/assets/img/svg/firstsetting/Square.svg +3 -0
  174. package/src/assets/img/svg/firstsetting/bar-active.svg +9 -0
  175. package/src/assets/img/svg/firstsetting/bar-normal.svg +3 -0
  176. package/src/assets/img/svg/firstsetting/bullet-current.svg +3 -0
  177. package/src/assets/img/svg/firstsetting/bullet-done.svg +3 -0
  178. package/src/assets/img/svg/firstsetting/bullet-not-done.svg +3 -0
  179. package/src/assets/img/svg/firstsetting/check-active.svg +3 -0
  180. package/src/assets/img/svg/firstsetting/check-normal.svg +3 -0
  181. package/src/assets/img/svg/firstsetting/pencil.svg +11 -0
  182. package/src/assets/img/svg/green_checkmark.svg +27 -0
  183. package/src/assets/img/svg/headerbar/assist.svg +3 -0
  184. package/src/assets/img/svg/headerbar/cart.svg +3 -0
  185. package/src/assets/img/svg/headerbar/check.svg +10 -0
  186. package/src/assets/img/svg/headerbar/consult_designer.svg +45 -0
  187. package/src/assets/img/svg/headerbar/edit_name.svg +26 -0
  188. package/src/assets/img/svg/headerbar/file-dollar.svg +13 -0
  189. package/src/assets/img/svg/headerbar/hamburger_menu.svg +32 -0
  190. package/src/assets/img/svg/headerbar/plus.svg +11 -0
  191. package/src/assets/img/svg/headerbar/review_quote.svg +44 -0
  192. package/src/assets/img/svg/headerbar/ruler-measure.svg +11 -0
  193. package/src/assets/img/svg/headerbar/save.svg +3 -0
  194. package/src/assets/img/svg/headerbar/setting.svg +75 -0
  195. package/src/assets/img/svg/help/check.svg +10 -0
  196. package/src/assets/img/svg/help/search.svg +76 -0
  197. package/src/assets/img/svg/intro/1-start-with-floorplan-whole.svg +27 -0
  198. package/src/assets/img/svg/intro/1-start-with-floorplan.svg +26 -0
  199. package/src/assets/img/svg/intro/2-start-from-scratch-whole.svg +28 -0
  200. package/src/assets/img/svg/intro/2-start-from-scratch.svg +27 -0
  201. package/src/assets/img/svg/intro/3-retrieve-project-whole.svg +19 -0
  202. package/src/assets/img/svg/intro/3-retrieve-project.svg +18 -0
  203. package/src/assets/img/svg/invert.svg +127 -0
  204. package/src/assets/img/svg/lefttoolbar/appliance-active.svg +13 -0
  205. package/src/assets/img/svg/lefttoolbar/appliance.svg +13 -0
  206. package/src/assets/img/svg/lefttoolbar/cabinet-active.svg +10 -0
  207. package/src/assets/img/svg/lefttoolbar/cabinet-category.svg +3 -0
  208. package/src/assets/img/svg/lefttoolbar/cabinet-one.svg +3 -0
  209. package/src/assets/img/svg/lefttoolbar/cabinet.svg +10 -0
  210. package/src/assets/img/svg/lefttoolbar/disigner_assistance.svg +89 -0
  211. package/src/assets/img/svg/lefttoolbar/door-style-active.svg +20 -0
  212. package/src/assets/img/svg/lefttoolbar/door-style.svg +20 -0
  213. package/src/assets/img/svg/lefttoolbar/door.svg +12 -0
  214. package/src/assets/img/svg/lefttoolbar/error_icon.svg +81 -0
  215. package/src/assets/img/svg/lefttoolbar/finishing-active.svg +13 -0
  216. package/src/assets/img/svg/lefttoolbar/finishing.svg +13 -0
  217. package/src/assets/img/svg/lefttoolbar/reviewforquote-active.svg +86 -0
  218. package/src/assets/img/svg/lefttoolbar/reviewforquote.svg +12 -0
  219. package/src/assets/img/svg/lefttoolbar/room-shape-L.svg +3 -0
  220. package/src/assets/img/svg/lefttoolbar/room-shape-active.svg +18 -0
  221. package/src/assets/img/svg/lefttoolbar/room-shape-custom.svg +12 -0
  222. package/src/assets/img/svg/lefttoolbar/room-shape-irregular.svg +3 -0
  223. package/src/assets/img/svg/lefttoolbar/room-shape-open.svg +3 -0
  224. package/src/assets/img/svg/lefttoolbar/room-shape-square.svg +3 -0
  225. package/src/assets/img/svg/lefttoolbar/room-shape.svg +18 -0
  226. package/src/assets/img/svg/lefttoolbar/search.svg +76 -0
  227. package/src/assets/img/svg/lefttoolbar/view_more.svg +86 -0
  228. package/src/assets/img/svg/lefttoolbar/warning_icon.svg +81 -0
  229. package/src/assets/img/svg/lefttoolbar/window.svg +12 -0
  230. package/src/assets/img/svg/menubar/login.svg +84 -0
  231. package/src/assets/img/svg/menubar/my_projects.svg +85 -0
  232. package/src/assets/img/svg/menubar/new_project.svg +110 -0
  233. package/src/assets/img/svg/menubar/save_project.svg +84 -0
  234. package/src/assets/img/svg/options.svg +3 -0
  235. package/src/assets/img/svg/positioning.svg +3 -0
  236. package/src/assets/img/svg/rotate.png +0 -0
  237. package/src/assets/img/svg/rotate.svg +17 -0
  238. package/src/assets/img/svg/rotate_object_clockwise.svg +26 -0
  239. package/src/assets/img/svg/rotate_object_counterclockwise.svg +26 -0
  240. package/src/assets/img/svg/toggleFilters.svg +19 -0
  241. package/src/assets/img/svg/toolbar/add_appliances_active.svg +64 -0
  242. package/src/assets/img/svg/toolbar/add_appliances_inactive.svg +52 -0
  243. package/src/assets/img/svg/toolbar/add_button.svg +36 -0
  244. package/src/assets/img/svg/toolbar/add_cabinets_active.svg +59 -0
  245. package/src/assets/img/svg/toolbar/add_cabinets_inactive.svg +49 -0
  246. package/src/assets/img/svg/toolbar/add_items_doors.svg +25 -0
  247. package/src/assets/img/svg/toolbar/add_items_doorways.svg +24 -0
  248. package/src/assets/img/svg/toolbar/add_items_refrigerator.svg +32 -0
  249. package/src/assets/img/svg/toolbar/add_items_windows.svg +28 -0
  250. package/src/assets/img/svg/toolbar/apply_button.svg +38 -0
  251. package/src/assets/img/svg/toolbar/arrow-plus.svg +11 -0
  252. package/src/assets/img/svg/toolbar/backsplash.svg +8 -0
  253. package/src/assets/img/svg/toolbar/cancel_button.svg +37 -0
  254. package/src/assets/img/svg/toolbar/consult_a_designer_button.svg +47 -0
  255. package/src/assets/img/svg/toolbar/countertop.svg +7 -0
  256. package/src/assets/img/svg/toolbar/dcm.png +0 -0
  257. package/src/assets/img/svg/toolbar/dcm_off.svg +12 -0
  258. package/src/assets/img/svg/toolbar/dcm_on.svg +474 -0
  259. package/src/assets/img/svg/toolbar/delete_button.svg +37 -0
  260. package/src/assets/img/svg/toolbar/download.svg +77 -0
  261. package/src/assets/img/svg/toolbar/draw_custom_floor.svg +31 -0
  262. package/src/assets/img/svg/toolbar/edit_button.svg +75 -0
  263. package/src/assets/img/svg/toolbar/email_quote_button.svg +44 -0
  264. package/src/assets/img/svg/toolbar/fbm.png +0 -0
  265. package/src/assets/img/svg/toolbar/finishing_touches_active.svg +54 -0
  266. package/src/assets/img/svg/toolbar/finishing_touches_inactive.svg +42 -0
  267. package/src/assets/img/svg/toolbar/floorstyle.svg +9 -0
  268. package/src/assets/img/svg/toolbar/fmb.png +0 -0
  269. package/src/assets/img/svg/toolbar/fmb_off.svg +12 -0
  270. package/src/assets/img/svg/toolbar/fmb_on.svg +489 -0
  271. package/src/assets/img/svg/toolbar/furnishings_icon.svg +6 -0
  272. package/src/assets/img/svg/toolbar/get_started_button.svg +41 -0
  273. package/src/assets/img/svg/toolbar/handles.svg +5 -0
  274. package/src/assets/img/svg/toolbar/lighting.svg +7 -0
  275. package/src/assets/img/svg/toolbar/lrm.png +0 -0
  276. package/src/assets/img/svg/toolbar/lrm_off.svg +12 -0
  277. package/src/assets/img/svg/toolbar/lrm_on.svg +470 -0
  278. package/src/assets/img/svg/toolbar/make_floorplan_active.svg +66 -0
  279. package/src/assets/img/svg/toolbar/make_floorplan_inactive.svg +52 -0
  280. package/src/assets/img/svg/toolbar/predefined_room_l_shaped.svg +20 -0
  281. package/src/assets/img/svg/toolbar/predefined_room_layout.svg +20 -0
  282. package/src/assets/img/svg/toolbar/predefined_room_long_narrow.svg +20 -0
  283. package/src/assets/img/svg/toolbar/predefined_room_open_l_shape.svg +20 -0
  284. package/src/assets/img/svg/toolbar/predefined_room_open_pentagon.svg +20 -0
  285. package/src/assets/img/svg/toolbar/predefined_room_open_rectangle.svg +20 -0
  286. package/src/assets/img/svg/toolbar/predefined_room_open_rectangle_2.svg +20 -0
  287. package/src/assets/img/svg/toolbar/predefined_room_pentagon.svg +20 -0
  288. package/src/assets/img/svg/toolbar/predefined_room_rectangle.svg +20 -0
  289. package/src/assets/img/svg/toolbar/predefined_room_rectangle_with_alcove.svg +20 -0
  290. package/src/assets/img/svg/toolbar/redo_button.svg +75 -0
  291. package/src/assets/img/svg/toolbar/redo_button1.svg +75 -0
  292. package/src/assets/img/svg/toolbar/review_quote_active.svg +14 -0
  293. package/src/assets/img/svg/toolbar/review_quote_inactive.svg +44 -0
  294. package/src/assets/img/svg/toolbar/save_project_button.svg +44 -0
  295. package/src/assets/img/svg/toolbar/select_doorstyle_active.svg +67 -0
  296. package/src/assets/img/svg/toolbar/select_doorstyle_inactive.svg +57 -0
  297. package/src/assets/img/svg/toolbar/shopping-cart.svg +13 -0
  298. package/src/assets/img/svg/toolbar/style_change_button.svg +47 -0
  299. package/src/assets/img/svg/toolbar/take_picture.svg +75 -0
  300. package/src/assets/img/svg/toolbar/undo_button.svg +76 -0
  301. package/src/assets/img/svg/toolbar/undo_button1.svg +76 -0
  302. package/src/assets/img/svg/toolbar/use_button.svg +37 -0
  303. package/src/assets/img/svg/toolbar/wall_color_icon.svg +6 -0
  304. package/src/assets/img/svg/topbar/edit_active.svg +10 -0
  305. package/src/assets/img/svg/topbar/edit_inactive.svg +10 -0
  306. package/src/assets/img/svg/topbar/redo_active.svg +42 -0
  307. package/src/assets/img/svg/topbar/redo_inactive.svg +23 -0
  308. package/src/assets/img/svg/topbar/select_all_active.svg +50 -0
  309. package/src/assets/img/svg/topbar/select_all_inactive.svg +32 -0
  310. package/src/assets/img/svg/topbar/take_picture_active.svg +51 -0
  311. package/src/assets/img/svg/topbar/take_picture_inactive.svg +26 -0
  312. package/src/assets/img/svg/topbar/undo_active.svg +42 -0
  313. package/src/assets/img/svg/topbar/undo_inactive.svg +23 -0
  314. package/src/assets/img/svg/warning_info_2d.svg +81 -0
  315. package/src/assets/img/svg/window/Clear.svg +3 -0
  316. package/src/assets/img/svg/window/Cross.svg +5 -0
  317. package/src/assets/img/svg/window/Double_hung.svg +4 -0
  318. package/src/assets/img/svg/window/Vertical.svg +4 -0
  319. package/src/assets/img/svg/windows_clear.svg +23 -0
  320. package/src/assets/img/svg/windows_cross.svg +28 -0
  321. package/src/assets/img/svg/windows_double_hung.svg +24 -0
  322. package/src/assets/img/svg/windows_vertical.svg +24 -0
  323. package/src/assets/img/svg/wizardstep/Custom.svg +3 -0
  324. package/src/assets/img/svg/wizardstep/Dashed_line.svg +3 -0
  325. package/src/assets/img/svg/wizardstep/L.svg +3 -0
  326. package/src/assets/img/svg/wizardstep/L2.svg +3 -0
  327. package/src/assets/img/svg/wizardstep/Open.svg +3 -0
  328. package/src/assets/img/svg/wizardstep/Square.svg +3 -0
  329. package/src/assets/img/svg/wizardstep/bar-active.svg +9 -0
  330. package/src/assets/img/svg/wizardstep/bar-normal.svg +3 -0
  331. package/src/assets/img/svg/wizardstep/bullet-current.svg +3 -0
  332. package/src/assets/img/svg/wizardstep/bullet-done.svg +3 -0
  333. package/src/assets/img/svg/wizardstep/bullet-not-done.svg +3 -0
  334. package/src/assets/img/svg/wizardstep/check-active.svg +3 -0
  335. package/src/assets/img/svg/wizardstep/check-normal.svg +3 -0
  336. package/src/assets/img/svg/wizardstep/detail_view.svg +87 -0
  337. package/src/assets/img/svg/wizardstep/pencil.svg +11 -0
  338. package/src/assets/img/svg/wizardstep/tile_view.svg +95 -0
  339. package/src/assets/img/texture/glass.jpg +0 -0
  340. package/src/assets/img/texture/steel.jpg +0 -0
  341. package/src/assets/img/texture/white1px.jpg +0 -0
  342. package/src/assets/img/texture/wood.jpg +0 -0
  343. package/src/assets/model/DCM.bin +0 -0
  344. package/src/assets/model/DCM.fbx +0 -0
  345. package/src/assets/model/DCM.gltf +1 -0
  346. package/src/assets/model/FBM.bin +0 -0
  347. package/src/assets/model/FBM.fbx +0 -0
  348. package/src/assets/model/FBM.gltf +1 -0
  349. package/src/assets/model/LRM.bin +0 -0
  350. package/src/assets/model/LRM.fbx +0 -0
  351. package/src/assets/model/LRM.gltf +1 -0
  352. package/src/assets/rtastore_logo.png +0 -0
  353. package/src/catalog/areas/area/planner-element.jsx +1 -1
  354. package/src/catalog/factories/wall-factory-3d.js +11 -18
  355. package/src/catalog/holes/index.js +13 -0
  356. package/src/catalog/lines/wall/planner-element.jsx +1 -1
  357. package/src/catalog/mycatalog.js +26 -0
  358. package/src/catalog/properties/property-checkbox.jsx +64 -68
  359. package/src/catalog/properties/property-color.jsx +1 -1
  360. package/src/catalog/properties/property-enum.jsx +37 -40
  361. package/src/catalog/properties/property-hidden.jsx +1 -1
  362. package/src/catalog/properties/property-lenght-measure.jsx +2 -2
  363. package/src/catalog/properties/property-length-measure.jsx +37 -40
  364. package/src/catalog/properties/property-length-measure_hole.jsx +2 -2
  365. package/src/catalog/properties/property-number.jsx +1 -1
  366. package/src/catalog/properties/property-read-only.jsx +1 -1
  367. package/src/catalog/properties/property-string.jsx +1 -1
  368. package/src/catalog/properties/property-toggle.jsx +1 -1
  369. package/src/catalog/utils/exporter.js +1 -1
  370. package/src/catalog/utils/item-loader.jsx +1 -1
  371. package/src/class/item.js +1 -1
  372. package/src/components/content.jsx +1 -19
  373. package/src/components/export.js +2 -29
  374. package/src/components/style/button.jsx +1 -1
  375. package/src/components/style/export.js +24 -0
  376. package/src/components/style/form-number-input.jsx +3 -29
  377. package/src/components/style/form-select.jsx +2 -31
  378. package/src/components/style/form-text-input.jsx +20 -22
  379. package/src/components/viewer2d/area.jsx +2 -2
  380. package/src/components/viewer2d/grids/grid-horizontal-streak.jsx +2 -2
  381. package/src/components/viewer2d/grids/grid-streak.jsx +2 -2
  382. package/src/components/viewer2d/grids/grid-vertical-streak.jsx +2 -2
  383. package/src/components/viewer2d/grids/grids.jsx +1 -1
  384. package/src/components/viewer2d/group.jsx +1 -1
  385. package/src/components/viewer2d/item.jsx +3 -11
  386. package/src/components/viewer2d/layer.jsx +1 -1
  387. package/src/components/viewer2d/line.jsx +30 -33
  388. package/src/components/viewer2d/ruler.jsx +2 -3
  389. package/src/components/viewer2d/rulerDist.jsx +6 -6
  390. package/src/components/viewer2d/rulerX.jsx +1 -1
  391. package/src/components/viewer2d/rulerY.jsx +1 -1
  392. package/src/components/viewer2d/scene.jsx +1 -1
  393. package/src/components/viewer2d/snap.jsx +1 -1
  394. package/src/components/viewer2d/state.jsx +1 -1
  395. package/src/components/viewer2d/vertex.jsx +2 -2
  396. package/src/components/viewer2d/viewer2d.jsx +3 -3
  397. package/src/components/viewer3d/pointer-lock-navigation.js +1 -1
  398. package/src/components/viewer3d/ruler-utils/itemRect.jsx +91 -91
  399. package/src/components/viewer3d/ruler-utils/layer3D.jsx +528 -528
  400. package/src/components/viewer3d/ruler-utils/scene3D.jsx +85 -87
  401. package/src/components/viewer3d/scene-creator.js +1 -1
  402. package/src/components/viewer3d/viewer3d-first-person.js +2 -2
  403. package/src/components/viewer3d/{viewer3d.js → viewer3d.jsx} +3 -3
  404. package/src/constants.js +3 -0
  405. package/src/index.js +0 -2
  406. package/src/models.js +1 -1
  407. package/src/reducers/viewer2d-reducer.js +1 -1
  408. package/src/reducers/viewer3d-reducer.js +1 -1
  409. package/src/styles/export.js +7 -0
  410. package/src/styles/tabs.css +40 -0
  411. package/src/utils/geometry.js +2 -2
  412. package/src/utils/graph-inner-cycles.js +3 -3
  413. package/src/utils/helper.js +1 -1
  414. package/src/utils/history.js +1 -1
  415. package/src/utils/molding.js +973 -973
  416. package/src/utils/react-if.jsx +1 -1
  417. package/src/KitchenConfigurator.jsx +0 -1517
  418. package/src/actions/user-actions.js +0 -75
  419. package/src/components/atoms/Snackbar/index.jsx +0 -43
  420. package/src/components/atoms/radio-button/index.jsx +0 -20
  421. package/src/components/atoms/radio-button/styles.js +0 -56
  422. package/src/components/button/MainButton.jsx +0 -157
  423. package/src/components/button/ToggleMeasureButton.jsx +0 -65
  424. package/src/components/catalog-view/catalog-breadcrumb.jsx +0 -53
  425. package/src/components/catalog-view/catalog-item.jsx +0 -229
  426. package/src/components/catalog-view/catalog-list.jsx +0 -173
  427. package/src/components/catalog-view/catalog-page-item.jsx +0 -110
  428. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +0 -80
  429. package/src/components/configurator/custom-configurator.jsx +0 -77
  430. package/src/components/configurator/project-configurator.jsx +0 -120
  431. package/src/components/firstsetting/button/styles.js +0 -223
  432. package/src/components/firstsetting/export.js +0 -9
  433. package/src/components/firstsetting/firstsetting-content-button.jsx +0 -198
  434. package/src/components/firstsetting/firstsetting-toggle-button.jsx +0 -101
  435. package/src/components/firstsetting/firstsetting.jsx +0 -814
  436. package/src/components/footerbar/button/ControlButton.jsx +0 -43
  437. package/src/components/footerbar/button/DirectionButton.jsx +0 -54
  438. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +0 -36
  439. package/src/components/footerbar/button/ToggleButton.jsx +0 -58
  440. package/src/components/footerbar/button/ToggleConvertButton.jsx +0 -48
  441. package/src/components/footerbar/button/ToggleMeasureButton.jsx +0 -33
  442. package/src/components/footerbar/button/styles.js +0 -217
  443. package/src/components/footerbar/export.js +0 -9
  444. package/src/components/footerbar/footer-content-button.jsx +0 -198
  445. package/src/components/footerbar/footer-toggle-button.jsx +0 -101
  446. package/src/components/footerbar/footerbar.jsx +0 -1103
  447. package/src/components/footerbar/styles.js +0 -263
  448. package/src/components/header/button/MenuButton.jsx +0 -46
  449. package/src/components/header/button/SaveButton.jsx +0 -54
  450. package/src/components/header/button/styles.js +0 -181
  451. package/src/components/header/export.js +0 -5
  452. package/src/components/header/header.jsx +0 -631
  453. package/src/components/header/header.style.css +0 -47
  454. package/src/components/header/styles.js +0 -320
  455. package/src/components/login/Login.js +0 -77
  456. package/src/components/login/LoginForm/index.js +0 -108
  457. package/src/components/login/Register.js +0 -83
  458. package/src/components/login/RegisterForm/index.js +0 -171
  459. package/src/components/login/jwtService.js +0 -201
  460. package/src/components/login/style.css +0 -158
  461. package/src/components/login/style.scss +0 -260
  462. package/src/components/molecules/slider/index.jsx +0 -15
  463. package/src/components/molecules/slider/styles.js +0 -0
  464. package/src/components/molecules/slider/styles.scss +0 -3
  465. package/src/components/myprojects/export.js +0 -5
  466. package/src/components/myprojects/index.jsx +0 -445
  467. package/src/components/myprojects/styles.js +0 -241
  468. package/src/components/sidebar/custom-accordion.jsx +0 -48
  469. package/src/components/sidebar/export.js +0 -15
  470. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +0 -73
  471. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +0 -101
  472. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +0 -149
  473. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +0 -316
  474. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +0 -108
  475. package/src/components/sidebar/panel-element-editor/element-editor.jsx +0 -1070
  476. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  477. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +0 -104
  478. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +0 -155
  479. package/src/components/sidebar/panel-group-editor.jsx +0 -272
  480. package/src/components/sidebar/panel-groups.jsx +0 -310
  481. package/src/components/sidebar/panel-guides.jsx +0 -192
  482. package/src/components/sidebar/panel-layer-elements.jsx +0 -298
  483. package/src/components/sidebar/panel-layers.jsx +0 -381
  484. package/src/components/sidebar/panel.jsx +0 -71
  485. package/src/components/sidebar/sidebar.jsx +0 -106
  486. package/src/components/sidebar/toolbar-panel.jsx +0 -139
  487. package/src/components/sign/export.js +0 -7
  488. package/src/components/sign/main/index.jsx +0 -523
  489. package/src/components/sign/main/styles.js +0 -163
  490. package/src/components/style/cancel-button.jsx +0 -20
  491. package/src/components/style/content-container.jsx +0 -29
  492. package/src/components/style/content-title.jsx +0 -20
  493. package/src/components/style/delete-button.jsx +0 -23
  494. package/src/components/style/export.jsx +0 -48
  495. package/src/components/style/form-block.jsx +0 -13
  496. package/src/components/style/form-number-input_2.jsx +0 -191
  497. package/src/components/style/form-slider.jsx +0 -36
  498. package/src/components/style/form-submit-button.jsx +0 -23
  499. package/src/components/toolbar/button/ControlButton.jsx +0 -41
  500. package/src/components/toolbar/button/DirectionButton.jsx +0 -34
  501. package/src/components/toolbar/button/RightButton.jsx +0 -103
  502. package/src/components/toolbar/button/ToggleButton.jsx +0 -41
  503. package/src/components/toolbar/button/index.jsx +0 -55
  504. package/src/components/toolbar/button/styles.js +0 -127
  505. package/src/components/toolbar/components/DoorStyleMenu.jsx +0 -103
  506. package/src/components/toolbar/components/Pricing.jsx +0 -126
  507. package/src/components/toolbar/components/ReviewForQuote.jsx +0 -635
  508. package/src/components/toolbar/export.js +0 -21
  509. package/src/components/toolbar/main/Alert.js +0 -122
  510. package/src/components/toolbar/main/TakePictureModal.jsx +0 -104
  511. package/src/components/toolbar/main/confirm-popup.jsx +0 -99
  512. package/src/components/toolbar/main/index.jsx +0 -5627
  513. package/src/components/toolbar/main/lShaped.json +0 -311
  514. package/src/components/toolbar/main/longNarrow.json +0 -238
  515. package/src/components/toolbar/main/myComponents.js +0 -123
  516. package/src/components/toolbar/main/oRectangle.json +0 -220
  517. package/src/components/toolbar/main/rectangle.json +0 -238
  518. package/src/components/toolbar/main/style.css +0 -107
  519. package/src/components/toolbar/main/styles.js +0 -696
  520. package/src/components/toolbar/plugin-item.jsx +0 -123
  521. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +0 -73
  522. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +0 -102
  523. package/src/components/toolbar/popup/appliance/index.jsx +0 -83
  524. package/src/components/toolbar/popup/autosaveprompt/index.jsx +0 -150
  525. package/src/components/toolbar/popup/autosaveprompt/styles.css +0 -64
  526. package/src/components/toolbar/popup/autosaveprompt/styles.js +0 -40
  527. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +0 -73
  528. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +0 -119
  529. package/src/components/toolbar/popup/cabinet/index.jsx +0 -85
  530. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +0 -63
  531. package/src/components/toolbar/popup/doorStyle/index.jsx +0 -71
  532. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +0 -139
  533. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -2
  534. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +0 -157
  535. package/src/components/toolbar/popup/downloadsummary/index.jsx +0 -643
  536. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +0 -51
  537. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +0 -175
  538. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +0 -283
  539. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +0 -2257
  540. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -93
  541. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +0 -132
  542. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +0 -2198
  543. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +0 -152
  544. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +0 -149
  545. package/src/components/toolbar/popup/downloadsummary/styles.css +0 -177
  546. package/src/components/toolbar/popup/downloadsummary/styles.js +0 -453
  547. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +0 -34
  548. package/src/components/toolbar/popup/finishingtouch/index.jsx +0 -58
  549. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +0 -112
  550. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +0 -116
  551. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +0 -101
  552. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +0 -254
  553. package/src/components/toolbar/popup/floorplan/choose-floor/lShaped.json +0 -311
  554. package/src/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +0 -238
  555. package/src/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +0 -220
  556. package/src/components/toolbar/popup/floorplan/choose-floor/rectangle.json +0 -238
  557. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -86
  558. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +0 -109
  559. package/src/components/toolbar/popup/floorplan/index.jsx +0 -60
  560. package/src/components/toolbar/popup/index.jsx +0 -241
  561. package/src/components/toolbar/popup/newproject/index.jsx +0 -59
  562. package/src/components/toolbar/popup/newproject/styles.css +0 -64
  563. package/src/components/toolbar/popup/newproject/styles.js +0 -41
  564. package/src/components/toolbar/popup/product/appliance.jsx +0 -54
  565. package/src/components/toolbar/popup/product/cabinetproduct.jsx +0 -15
  566. package/src/components/toolbar/popup/product/doorstyle.jsx +0 -58
  567. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +0 -47
  568. package/src/components/toolbar/popup/product/floor.jsx +0 -36
  569. package/src/components/toolbar/popup/product/floorproduct.jsx +0 -42
  570. package/src/components/toolbar/popup/product/index.jsx +0 -36
  571. package/src/components/toolbar/popup/product/primary.jsx +0 -77
  572. package/src/components/toolbar/popup/product/productline.jsx +0 -93
  573. package/src/components/toolbar/popup/product/reviewItem.jsx +0 -427
  574. package/src/components/toolbar/popup/product/reviewMolding.jsx +0 -310
  575. package/src/components/toolbar/popup/product/style.css +0 -54
  576. package/src/components/toolbar/popup/product/styles.js +0 -260
  577. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +0 -146
  578. package/src/components/toolbar/popup/savedesign/index.jsx +0 -495
  579. package/src/components/toolbar/popup/savedesign/savedesign.style.css +0 -16
  580. package/src/components/toolbar/popup/savedesign/styles.js +0 -151
  581. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +0 -87
  582. package/src/components/toolbar/popup/styles.js +0 -909
  583. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +0 -192
  584. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +0 -96
  585. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +0 -54
  586. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +0 -25
  587. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +0 -116
  588. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -38
  589. package/src/components/toolbar/popup/submitforquote/index.jsx +0 -698
  590. package/src/components/toolbar/popup/submitforquote/styles.css +0 -105
  591. package/src/components/toolbar/popup/submitforquote/styles.js +0 -294
  592. package/src/components/toolbar/popup/submitprompt/index.jsx +0 -89
  593. package/src/components/toolbar/popup/submitprompt/styles.css +0 -64
  594. package/src/components/toolbar/popup/submitprompt/styles.js +0 -42
  595. package/src/components/toolbar/toolbar-button.jsx +0 -90
  596. package/src/components/toolbar/toolbar-load-button.jsx +0 -36
  597. package/src/components/toolbar/toolbar-save-button.jsx +0 -32
  598. package/src/components/tutorial-view/Modal.jsx +0 -584
  599. package/src/components/tutorial-view/style.css +0 -111
  600. package/src/components/tutorial-view/styles.js +0 -65
  601. package/src/components/wizardstep/button/styles.js +0 -677
  602. package/src/components/wizardstep/export.js +0 -5
  603. package/src/components/wizardstep/index.jsx +0 -1372
  604. package/src/components/wizardstep/styles.js +0 -688
  605. package/src/components/wizardstep/wizardstep-content-button.jsx +0 -198
  606. package/src/components/wizardstep/wizardstep-toggle-button.jsx +0 -101
@@ -1,1103 +0,0 @@
1
- import Tooltip from '@material-ui/core/Tooltip';
2
- import React, { Component } from 'react';
3
- import PropTypes from 'prop-types';
4
- import * as S from './styles';
5
- import { GeometryUtils } from '../../utils/export';
6
- import { toFixedFloat } from '../../utils/math';
7
- import convert from 'convert-units';
8
- import { zoom } from 'react-svg-pan-zoom';
9
- import SnackBar from '../atoms/Snackbar/index';
10
- import ToggleMeasureButton from '../button/ToggleMeasureButton';
11
-
12
- import {
13
- EPSILON,
14
- MODE_IDLE,
15
- MODE_IDLE_3D,
16
- ARRAY_3D_MODES,
17
- KEYBOARD_BUTTON_CODE,
18
- TEXT_COLOR_NEUTRAL_5,
19
- MODE_ELEVATION_VIEW
20
- } from '../../constants';
21
- import * as constants from '../../constants';
22
- import { isElevationView } from '../../utils/helper';
23
-
24
- let allItemRect;
25
- let allItemSnap;
26
- let allLines;
27
- let allLineRects;
28
- let allLineSnap;
29
- let allRect;
30
-
31
- export default class FooterBar extends Component {
32
- constructor(props, context) {
33
- super(props, context);
34
- let selectedLayout = props.state.scene.selectedLayer;
35
- let height = props.state.scene.layers.get(selectedLayout).ceilHeight;
36
- let unit = props.state.scene.layers.get(selectedLayout).unit;
37
- this.state = {
38
- objectSetting: null,
39
- controlButton: '',
40
- panButton: '',
41
- toggleUnit: 'in',
42
- dragFlag: true,
43
- unit: unit,
44
- ceilFlag: false,
45
- ceil3DFlag: false,
46
- height: height,
47
- zoomValue: 100,
48
- isSnackBarOpen: false,
49
- snackBarMessage: ''
50
- };
51
- }
52
- componentDidMount() {}
53
-
54
- componentWillReceiveProps(nextProps) {
55
- let selectedLayout = nextProps.state.scene.selectedLayer;
56
- let height = nextProps.state.scene.layers.get(selectedLayout).ceilHeight;
57
- let unit = nextProps.state.scene.layers.get(selectedLayout).unit;
58
- let viewer2DValue = nextProps.state.get('viewer2D').toJS();
59
- let _zoomValue = parseInt(
60
- (viewer2DValue.a - 0.5) / constants.ZOOM_VARIABLE
61
- );
62
- if (_zoomValue > 380) {
63
- _zoomValue = 400;
64
- }
65
- if (_zoomValue < 35 || Number.isNaN(_zoomValue)) {
66
- _zoomValue = 30;
67
- }
68
- this.setState({ height: height, unit: unit, zoomValue: _zoomValue });
69
- }
70
-
71
- render() {
72
- let { state: globalState } = this.props;
73
-
74
- let layer = globalState.scene.layers.get(globalState.scene.selectedLayer);
75
- let selectedItems = [];
76
- if (layer.selected.items.size > 0) {
77
- selectedItems = layer.selected.items.toJS();
78
- }
79
- let selLineFlag = true; // this flag whether line was selected or not
80
- if (layer.selected.lines.size === 0) {
81
- selLineFlag = false;
82
- } else selLineFlag = true;
83
- let {
84
- projectActions,
85
- viewer3DActions,
86
- viewer2DActions,
87
- itemsActions,
88
- catalog
89
- } = this.context;
90
- let {
91
- controlButton: control,
92
- panButton: pan_control,
93
- toggleUnit,
94
- dragFlag
95
- } = this.state;
96
- // let { x, y } = globalState.get('mouse').toJS();
97
- // let zoom = globalState.get('zoom');
98
- let mode = globalState.get('mode');
99
- let scene = globalState.get('scene');
100
- let elevationImg = '/assets/img/svg/bottombar/elevation.svg';
101
-
102
- let update = (LengthInput, unitInput, type) => {
103
- let newLength = toFixedFloat(LengthInput);
104
-
105
- if (type === 0) {
106
- this.setState({ height: newLength });
107
- viewer2DActions.updateCeilHeight(newLength);
108
- viewer2DActions.updateCeilHeightUnit(unitInput);
109
- viewer3DActions.update3DCeilHeight(newLength);
110
- viewer3DActions.update3DCeilHeightUnit(unitInput);
111
- } else {
112
- this.setState({
113
- height: convert(newLength).from(this.state.unit).to(unitInput)
114
- });
115
- this.setState({ unit: unitInput });
116
- viewer2DActions.updateCeilHeight(
117
- convert(newLength).from(this.state.unit).to(unitInput)
118
- );
119
- viewer2DActions.updateCeilHeightUnit(unitInput);
120
- viewer3DActions.update3DCeilHeightUnit(unitInput);
121
- viewer3DActions.update3DCeilHeight(
122
- convert(newLength).from(this.state.unit).to(unitInput)
123
- );
124
- }
125
- };
126
-
127
- let prepareSnap = () => {
128
- allItemRect = GeometryUtils.getAllItems(scene, catalog);
129
- allItemSnap = GeometryUtils.getAllItemSnap(allItemRect);
130
- allLines = GeometryUtils.getAllLines(layer);
131
- allLineRects = GeometryUtils.buildRectFromLines(layer, allLines);
132
- allLineSnap = GeometryUtils.getAllLineSnap(allLineRects, allItemRect.cur);
133
- allRect = allItemRect.others.concat(allLineRects);
134
- allItemSnap = GeometryUtils.validateSnaps(allItemSnap, allRect);
135
- allLineSnap = GeometryUtils.validateSnaps(allLineSnap, allRect);
136
- };
137
-
138
- function spinDragStart(key) {
139
- if (dragFlag) {
140
- window.interval = setInterval(() => {
141
- window.SPKeyDown({ keyCode: key });
142
- }, 50);
143
- }
144
- }
145
-
146
- function spinDragStop() {
147
- clearInterval(window.interval);
148
- }
149
-
150
- function panDragStart(key) {
151
- if (dragFlag) {
152
- window.interval = setInterval(() => {
153
- window.tDKeyDown({ keyCode: key });
154
- }, 50);
155
- }
156
- }
157
-
158
- function panDragStop() {
159
- clearInterval(window.interval);
160
- }
161
-
162
- function validOutSVG(x, y) {
163
- const { SVGWidth, SVGHeight } = globalState.get('viewer2D').toJS();
164
- if (x < 0 || x > SVGWidth || y < 0 || y > SVGHeight) return false;
165
- return true;
166
- }
167
-
168
- const OpenSettings = e => {
169
- e.preventDefault();
170
-
171
- document.getElementById('setting_dialog').style.display = 'flex';
172
- // closes the selected item dialog
173
- // projectActions.unselectAll()
174
- };
175
-
176
- // handle action to view elevation
177
- const ViewElevation = () => {
178
- let layer = globalState.scene.getIn([
179
- 'layers',
180
- globalState.scene.selectedLayer
181
- ]);
182
- if (layer.selected.lines.size === 0) {
183
- this.setState({
184
- isSnackBarOpen: true,
185
- snackBarMessage:
186
- 'Please select the wall you want to see in Elevation View'
187
- });
188
- return;
189
- }
190
- projectActions.setMode(MODE_ELEVATION_VIEW);
191
- };
192
-
193
- let footerview = isElevationView(mode) ? (
194
- <div
195
- style={{
196
- display: 'flex',
197
- position: 'relative',
198
- backgroundColor: 'white',
199
- height: 70,
200
- cursor: 'pointer',
201
- boxShadow:
202
- '0px 3px 5px -1px rgba(156, 154, 154, 0.2), 0px 6px 10px 0px rgba(156, 154, 154, 0.39), 0px 1px 18px 0px rgba(156, 154, 154, 0.12)',
203
- borderRadius: 10,
204
- alignItems: 'center'
205
- }}
206
- >
207
- <S.Toggle_2D_3D
208
- onClick={() => {
209
- this.props.setToolbar('');
210
- projectActions.setMode(MODE_IDLE);
211
- let layer = globalState.scene.getIn([
212
- 'layers',
213
- globalState.scene.selectedLayer
214
- ]);
215
- let sCount =
216
- layer.selected.areas.size +
217
- layer.selected.holes.size +
218
- layer.selected.items.size +
219
- layer.selected.lines.size;
220
- if (sCount > 1) projectActions.unselectAll();
221
- // this.props.setShowProperty(true);
222
- this.setState({ ceil3DFlag: false });
223
- // document.getElementById('item_custom') && (document.getElementById('item_custom').style.display = document.getElementById('item_custom').style.display === 'flex' && 'none');
224
- document.getElementById('item_warning') &&
225
- document.getElementById('item_custom') &&
226
- (document.getElementById('item_warning').style.display =
227
- document.getElementById('item_custom').style.display ===
228
- 'flex' && 'none');
229
- }}
230
- >
231
- <S.FooterTitle>2D</S.FooterTitle>
232
- </S.Toggle_2D_3D>
233
- <S.Toggle_2D_3D
234
- style={{ marginLeft: 5 }}
235
- onClick={() => {
236
- this.props.setToolbar('');
237
- projectActions.setMode(MODE_IDLE_3D);
238
- let layer = globalState.scene.getIn([
239
- 'layers',
240
- globalState.scene.selectedLayer
241
- ]);
242
- let sCount =
243
- layer.selected.areas.size +
244
- layer.selected.holes.size +
245
- layer.selected.items.size +
246
- layer.selected.lines.size;
247
- if (sCount > 1) projectActions.unselectAll();
248
- this.setState({ ceilFlag: false });
249
- }}
250
- >
251
- <S.FooterTitle>3D</S.FooterTitle>
252
- </S.Toggle_2D_3D>
253
-
254
- {selLineFlag ? (
255
- <Tooltip title="Elevation View">
256
- <S.Toggle_2D_3D
257
- style={{ backgroundColor: TEXT_COLOR_NEUTRAL_5 }}
258
- onClick={() => ViewElevation()}
259
- >
260
- <S.ArrowIcon
261
- style={{ width: 20, height: 20 }}
262
- src={elevationImg}
263
- />
264
- </S.Toggle_2D_3D>
265
- </Tooltip>
266
- ) : (
267
- <Tooltip title={<span>Please select a wall</span>}>
268
- <S.Toggle_2D_3D_Button
269
- style={{ backgroundColor: TEXT_COLOR_NEUTRAL_5 }}
270
- >
271
- <S.ArrowIcon
272
- style={{ width: 20, height: 20 }}
273
- src={elevationImg}
274
- />
275
- </S.Toggle_2D_3D_Button>
276
- </Tooltip>
277
- )}
278
- {/* <S.Direction_Left_Right
279
- onClick={() => {
280
- this.props.setToolbar('');
281
- this.setState({ controlButton: 'Left' });
282
- let value = globalState.get('viewer2D').toJS();
283
- value.e -= 5;
284
- if (
285
- value.e <= 10 &&
286
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
287
- value.f <= 80 &&
288
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
289
- ) {
290
- viewer2DActions.updateCameraView(value);
291
- }
292
- }}
293
- >
294
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-left.svg" />
295
- </S.Direction_Left_Right>
296
- <div>
297
- <S.Direction_Up_Down
298
- onClick={() => {
299
- this.props.setToolbar('');
300
- this.setState({ controlButton: 'Top' });
301
- let value = globalState.get('viewer2D').toJS();
302
- value.f -= 5;
303
- if (
304
- value.e <= 10 &&
305
- value.e + value.a * value.SVGWidth + 10 >=
306
- value.viewerWidth &&
307
- value.f <= 80 &&
308
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
309
- ) {
310
- viewer2DActions.updateCameraView(value);
311
- }
312
- }}
313
- >
314
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-up.svg" />
315
- </S.Direction_Up_Down>
316
- <S.Direction_Up_Down
317
- onClick={() => {
318
- this.props.setToolbar('');
319
- this.setState({ controlButton: 'Bottom' });
320
- let value = globalState.get('viewer2D').toJS();
321
- value.f += 5;
322
- if (
323
- value.e <= 10 &&
324
- value.e + value.a * value.SVGWidth + 10 >=
325
- value.viewerWidth &&
326
- value.f <= 80 &&
327
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
328
- ) {
329
- viewer2DActions.updateCameraView(value);
330
- }
331
- }}
332
- >
333
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-down.svg" />
334
- </S.Direction_Up_Down>
335
- </div>
336
- <S.Direction_Left_Right
337
- onClick={() => {
338
- this.props.setToolbar('');
339
- this.setState({ controlButton: 'Right' });
340
- let value = globalState.get('viewer2D').toJS();
341
- value.e += 5;
342
- if (
343
- value.e <= 10 &&
344
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
345
- value.f <= 80 &&
346
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
347
- ) {
348
- viewer2DActions.updateCameraView(value);
349
- }
350
- }}
351
- >
352
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-right.svg" />
353
- </S.Direction_Left_Right>
354
- <S.ZoomButton
355
- onClick={() => {
356
- this.props.setToolbar('');
357
- this.setState({ controlButton: 'Zoom Out' });
358
- let value = globalState.get('viewer2D').toJS();
359
- let width = value.viewerWidth;
360
- let height = value.viewerHeight;
361
- let len = value.SVGWidth;
362
- let _e = (width - len * value.a) / 2;
363
- let _f = (height - len * value.d) / 2;
364
- let offsetE = (value.e - _e) / value.a;
365
- let offsetF = (value.f - _f) / value.a;
366
- value.a -= 0.1;
367
- value.d -= 0.1;
368
- value.e -=
369
- (value.SVGWidth * value.a - value.SVGWidth * (value.a + 0.1)) /
370
- 2;
371
- value.f -=
372
- (value.SVGHeight * value.d -
373
- value.SVGHeight * (value.d + 0.1)) /
374
- 2;
375
- let _zoomValue = parseInt(
376
- (value.a - 0.5) / constants.ZOOM_VARIABLE
377
- );
378
- if (_zoomValue > 404) return;
379
- if (_zoomValue < 30 || Number.isNaN(_zoomValue)) return;
380
- // value = zoom(value, 0, 0, 1/1.06)
381
- while (!(value.e <= 10)) {
382
- value.e -= 0.1;
383
- }
384
- while (
385
- !(value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth)
386
- ) {
387
- value.e += 0.1;
388
- }
389
- while (!(value.f <= 80)) {
390
- value.f -= 0.1;
391
- }
392
- while (
393
- !(
394
- value.f + value.a * value.SVGHeight + 10 >=
395
- value.viewerHeight
396
- )
397
- ) {
398
- value.f += 0.1;
399
- }
400
- if (
401
- value.e <= 10 &&
402
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
403
- value.f <= 80 &&
404
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
405
- ) {
406
- viewer2DActions.updateCameraView(value);
407
- }
408
- }}
409
- >
410
- <img
411
- style={{ margin: 'auto', width: 15, userSelect: 'none' }}
412
- src="/assets/img/svg/bottombar/arrow-minus.svg"
413
- />
414
- </S.ZoomButton>
415
- <S.ZoomInput
416
- value={`${this.state.zoomValue}%`}
417
- type="text"
418
- onChange={event => {
419
- let _zoomValue = parseInt(event.target.value.replace('%', ''));
420
- if (_zoomValue > 380) {
421
- _zoomValue = 400;
422
- }
423
- if (_zoomValue < 0 || Number.isNaN(_zoomValue)) {
424
- _zoomValue = 1;
425
- } else {
426
- this.setState({
427
- zoomValue: _zoomValue
428
- });
429
- }
430
- }}
431
- onKeyDown={e => {
432
- let keyCode = e.keyCode || e.which;
433
- if (keyCode === KEYBOARD_BUTTON_CODE.ENTER) {
434
- let value = globalState.get('viewer2D').toJS();
435
- let _zoomValue =
436
- this.state.zoomValue * constants.ZOOM_VARIABLE + 0.5;
437
- value = zoom(
438
- value,
439
- value.SVGWidth / 2,
440
- value.SVGHeight / 2,
441
- _zoomValue / value.a
442
- );
443
- if (this.state.zoomValue > 404) return;
444
- if (
445
- this.state.zoomValue < 35 ||
446
- Number.isNaN(this.state.zoomValue)
447
- )
448
- return;
449
- if (
450
- value.e <= 10 &&
451
- value.e + value.a * value.SVGWidth + 10 >=
452
- value.viewerWidth &&
453
- value.f <= 80 &&
454
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
455
- ) {
456
- viewer2DActions.updateCameraView(value);
457
- }
458
- }
459
- }}
460
- name="zoominout"
461
- />
462
- <S.ZoomButton
463
- onClick={() => {
464
- this.props.setToolbar('');
465
- this.setState({ controlButton: 'Zoom In' });
466
- let value = globalState.get('viewer2D').toJS();
467
- let width = value.viewerWidth;
468
- let height = value.viewerHeight;
469
- let len = value.SVGWidth;
470
- let _e = (width - len * value.a) / 2;
471
- let _f = (height - len * value.d) / 2;
472
- let offsetE = (value.e - _e) / value.a;
473
- let offsetF = (value.f - _f) / value.a;
474
- value.a += 0.1;
475
- value.d += 0.1;
476
- value.e -=
477
- (value.SVGWidth * value.a - value.SVGWidth * (value.a - 0.1)) /
478
- 2;
479
- value.f -=
480
- (value.SVGHeight * value.d -
481
- value.SVGHeight * (value.d - 0.1)) /
482
- 2;
483
- let _zoomValue = parseInt(
484
- (value.a - 0.5) / constants.ZOOM_VARIABLE
485
- );
486
- if (_zoomValue > 404) return;
487
- if (_zoomValue < 35 || Number.isNaN(_zoomValue)) return;
488
- // value = zoom(value, value.SVGWidth / 2, value.SVGHeight / 2, 1.06);
489
- if (
490
- value.e <= 10 &&
491
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
492
- value.f <= 80 &&
493
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
494
- ) {
495
- viewer2DActions.updateCameraView(value);
496
- }
497
- }}
498
- >
499
- <img
500
- style={{ margin: 'auto', width: 18, userSelect: 'none' }}
501
- src="/assets/img/svg/bottombar/arrow-plus.svg"
502
- />
503
- </S.ZoomButton> */}
504
- <S.Toggle_2D_3D
505
- style={{
506
- marginLeft: 5,
507
- marginRight: 10,
508
- backgroundColor:
509
- document.getElementById('setting_dialog') &&
510
- document.getElementById('setting_dialog').style.display ===
511
- 'flex' &&
512
- TEXT_COLOR_NEUTRAL_5
513
- }}
514
- onClick={e => {
515
- this.props.setToolbar('');
516
- OpenSettings(e);
517
- }}
518
- >
519
- <img
520
- src="/assets/img/svg/headerbar/setting.svg"
521
- style={{ height: 18 }}
522
- />
523
- </S.Toggle_2D_3D>
524
- </div>
525
- ) : !ARRAY_3D_MODES.includes(mode) ? (
526
- <div
527
- style={{
528
- display: 'flex',
529
- position: 'relative',
530
- backgroundColor: 'white',
531
- height: 70,
532
- cursor: 'pointer',
533
- boxShadow:
534
- '0px 3px 5px -1px rgba(156, 154, 154, 0.2), 0px 6px 10px 0px rgba(156, 154, 154, 0.39), 0px 1px 18px 0px rgba(156, 154, 154, 0.12)',
535
- borderRadius: 10,
536
- alignItems: 'center'
537
- }}
538
- >
539
- <S.Toggle_2D_3D style={{ backgroundColor: TEXT_COLOR_NEUTRAL_5 }}>
540
- <S.FooterTitle style={{ fontWeight: '800' }}>2D</S.FooterTitle>
541
- </S.Toggle_2D_3D>
542
- <S.Toggle_2D_3D
543
- style={{ marginLeft: 5 }}
544
- onClick={() => {
545
- this.props.setToolbar('');
546
- projectActions.setMode(MODE_IDLE_3D);
547
- let layer = globalState.scene.getIn([
548
- 'layers',
549
- globalState.scene.selectedLayer
550
- ]);
551
- let sCount =
552
- layer.selected.areas.size +
553
- layer.selected.holes.size +
554
- layer.selected.items.size +
555
- layer.selected.lines.size;
556
- if (sCount > 1) projectActions.unselectAll();
557
- this.setState({ ceilFlag: false });
558
- }}
559
- >
560
- <S.FooterTitle>3D</S.FooterTitle>
561
- </S.Toggle_2D_3D>
562
- {selLineFlag ? (
563
- <Tooltip title="Elevation View">
564
- <S.Toggle_2D_3D onClick={() => ViewElevation()}>
565
- <S.ArrowIcon
566
- style={{ width: 20, height: 20 }}
567
- src={elevationImg}
568
- />
569
- </S.Toggle_2D_3D>
570
- </Tooltip>
571
- ) : (
572
- <Tooltip title={<span>Please select a wall</span>}>
573
- <S.Toggle_2D_3D_Button>
574
- <S.ArrowIcon
575
- style={{ width: 20, height: 20 }}
576
- src={elevationImg}
577
- />
578
- </S.Toggle_2D_3D_Button>
579
- </Tooltip>
580
- )}
581
-
582
- <S.Direction_Left_Right
583
- onClick={() => {
584
- this.props.setToolbar('');
585
- this.setState({ controlButton: 'Left' });
586
- let value = globalState.get('viewer2D').toJS();
587
- value.e -= 5;
588
- if (
589
- value.e <= 10 &&
590
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
591
- value.f <= 80 &&
592
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
593
- ) {
594
- viewer2DActions.updateCameraView(value);
595
- }
596
- }}
597
- >
598
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-left.svg" />
599
- </S.Direction_Left_Right>
600
- <div>
601
- <S.Direction_Up_Down
602
- onClick={() => {
603
- this.props.setToolbar('');
604
- this.setState({ controlButton: 'Top' });
605
- let value = globalState.get('viewer2D').toJS();
606
- value.f -= 5;
607
- if (
608
- value.e <= 10 &&
609
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
610
- value.f <= 80 &&
611
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
612
- ) {
613
- viewer2DActions.updateCameraView(value);
614
- }
615
- }}
616
- >
617
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-up.svg" />
618
- </S.Direction_Up_Down>
619
- <S.Direction_Up_Down
620
- onClick={() => {
621
- this.props.setToolbar('');
622
- this.setState({ controlButton: 'Bottom' });
623
- let value = globalState.get('viewer2D').toJS();
624
- value.f += 5;
625
- if (
626
- value.e <= 10 &&
627
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
628
- value.f <= 80 &&
629
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
630
- ) {
631
- viewer2DActions.updateCameraView(value);
632
- }
633
- }}
634
- >
635
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-down.svg" />
636
- </S.Direction_Up_Down>
637
- </div>
638
- <S.Direction_Left_Right
639
- onClick={() => {
640
- this.props.setToolbar('');
641
- this.setState({ controlButton: 'Right' });
642
- let value = globalState.get('viewer2D').toJS();
643
- value.e += 5;
644
- if (
645
- value.e <= 10 &&
646
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
647
- value.f <= 80 &&
648
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
649
- ) {
650
- viewer2DActions.updateCameraView(value);
651
- }
652
- }}
653
- >
654
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-right.svg" />
655
- </S.Direction_Left_Right>
656
- <S.ZoomButton
657
- onClick={() => {
658
- this.props.setToolbar('');
659
- this.setState({ controlButton: 'Zoom Out' });
660
- let value = globalState.get('viewer2D').toJS();
661
- let width = value.viewerWidth;
662
- let height = value.viewerHeight;
663
- let len = value.SVGWidth;
664
- let _e = (width - len * value.a) / 2;
665
- let _f = (height - len * value.d) / 2;
666
- let offsetE = (value.e - _e) / value.a;
667
- let offsetF = (value.f - _f) / value.a;
668
- value.a -= 0.1;
669
- value.d -= 0.1;
670
- value.e -=
671
- (value.SVGWidth * value.a - value.SVGWidth * (value.a + 0.1)) / 2;
672
- value.f -=
673
- (value.SVGHeight * value.d - value.SVGHeight * (value.d + 0.1)) /
674
- 2;
675
- let _zoomValue = parseInt(
676
- (value.a - 0.5) / constants.ZOOM_VARIABLE
677
- );
678
- if (_zoomValue > 404) return;
679
- if (_zoomValue < 30 || Number.isNaN(_zoomValue)) return;
680
- // value = zoom(value, 0, 0, 1/1.06)
681
- while (!(value.e <= 10)) {
682
- value.e -= 0.1;
683
- }
684
- while (
685
- !(value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth)
686
- ) {
687
- value.e += 0.1;
688
- }
689
- while (!(value.f <= 80)) {
690
- value.f -= 0.1;
691
- }
692
- while (
693
- !(value.f + value.a * value.SVGHeight + 10 >= value.viewerHeight)
694
- ) {
695
- value.f += 0.1;
696
- }
697
- if (
698
- value.e <= 10 &&
699
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
700
- value.f <= 80 &&
701
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
702
- ) {
703
- viewer2DActions.updateCameraView(value);
704
- }
705
- }}
706
- >
707
- <img
708
- style={{ margin: 'auto', width: 15, userSelect: 'none' }}
709
- src="/assets/img/svg/bottombar/arrow-minus.svg"
710
- />
711
- </S.ZoomButton>
712
- <S.ZoomInput
713
- value={`${this.state.zoomValue}%`}
714
- type="text"
715
- onChange={event => {
716
- let _zoomValue = parseInt(event.target.value.replace('%', ''));
717
- if (_zoomValue > 380) {
718
- _zoomValue = 400;
719
- }
720
- if (_zoomValue < 0 || Number.isNaN(_zoomValue)) {
721
- _zoomValue = 1;
722
- } else {
723
- this.setState({
724
- zoomValue: _zoomValue
725
- });
726
- }
727
- }}
728
- onKeyDown={e => {
729
- let keyCode = e.keyCode || e.which;
730
- if (keyCode === KEYBOARD_BUTTON_CODE.ENTER) {
731
- let value = globalState.get('viewer2D').toJS();
732
- let _zoomValue =
733
- this.state.zoomValue * constants.ZOOM_VARIABLE + 0.5;
734
- value = zoom(
735
- value,
736
- value.SVGWidth / 2,
737
- value.SVGHeight / 2,
738
- _zoomValue / value.a
739
- );
740
- if (this.state.zoomValue > 404) return;
741
- if (
742
- this.state.zoomValue < 35 ||
743
- Number.isNaN(this.state.zoomValue)
744
- )
745
- return;
746
- if (
747
- value.e <= 10 &&
748
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
749
- value.f <= 80 &&
750
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
751
- ) {
752
- viewer2DActions.updateCameraView(value);
753
- }
754
- }
755
- }}
756
- name="zoominout"
757
- />
758
- <S.ZoomButton
759
- onClick={() => {
760
- this.props.setToolbar('');
761
- this.setState({ controlButton: 'Zoom In' });
762
- let value = globalState.get('viewer2D').toJS();
763
- let width = value.viewerWidth;
764
- let height = value.viewerHeight;
765
- let len = value.SVGWidth;
766
- let _e = (width - len * value.a) / 2;
767
- let _f = (height - len * value.d) / 2;
768
- let offsetE = (value.e - _e) / value.a;
769
- let offsetF = (value.f - _f) / value.a;
770
- value.a += 0.1;
771
- value.d += 0.1;
772
- value.e -=
773
- (value.SVGWidth * value.a - value.SVGWidth * (value.a - 0.1)) / 2;
774
- value.f -=
775
- (value.SVGHeight * value.d - value.SVGHeight * (value.d - 0.1)) /
776
- 2;
777
- let _zoomValue = parseInt(
778
- (value.a - 0.5) / constants.ZOOM_VARIABLE
779
- );
780
- if (_zoomValue > 404) return;
781
- if (_zoomValue < 35 || Number.isNaN(_zoomValue)) return;
782
- // value = zoom(value, value.SVGWidth / 2, value.SVGHeight / 2, 1.06);
783
- if (
784
- value.e <= 10 &&
785
- value.e + value.a * value.SVGWidth + 10 >= value.viewerWidth &&
786
- value.f <= 80 &&
787
- value.f + value.d * value.SVGHeight + 10 >= value.viewerHeight
788
- ) {
789
- viewer2DActions.updateCameraView(value);
790
- }
791
- }}
792
- >
793
- <img
794
- style={{ margin: 'auto', width: 18, userSelect: 'none' }}
795
- src="/assets/img/svg/bottombar/arrow-plus.svg"
796
- />
797
- </S.ZoomButton>
798
- <S.Toggle_2D_3D
799
- style={{
800
- marginLeft: 5,
801
- marginRight: 10,
802
- backgroundColor:
803
- document.getElementById('setting_dialog') &&
804
- document.getElementById('setting_dialog').style.display ===
805
- 'flex' &&
806
- TEXT_COLOR_NEUTRAL_5
807
- }}
808
- onClick={e => {
809
- this.props.setToolbar('');
810
- OpenSettings(e);
811
- }}
812
- >
813
- <img
814
- src="/assets/img/svg/headerbar/setting.svg"
815
- style={{ height: 18 }}
816
- />
817
- </S.Toggle_2D_3D>
818
- </div>
819
- ) : (
820
- <div
821
- style={{
822
- display: 'flex',
823
- position: 'relative',
824
- backgroundColor: 'white',
825
- height: 70,
826
- cursor: 'pointer',
827
- boxShadow:
828
- '0px 3px 5px -1px rgba(156, 154, 154, 0.2), 0px 6px 10px 0px rgba(156, 154, 154, 0.39), 0px 1px 18px 0px rgba(156, 154, 154, 0.12)',
829
- borderRadius: 10,
830
- alignItems: 'center'
831
- }}
832
- >
833
- <S.Toggle_2D_3D
834
- onClick={() => {
835
- this.props.setToolbar('');
836
- projectActions.setMode(MODE_IDLE);
837
- let layer = globalState.scene.getIn([
838
- 'layers',
839
- globalState.scene.selectedLayer
840
- ]);
841
- let sCount =
842
- layer.selected.areas.size +
843
- layer.selected.holes.size +
844
- layer.selected.items.size +
845
- layer.selected.lines.size;
846
- if (sCount > 1) projectActions.unselectAll();
847
- // this.props.setShowProperty(true);
848
- this.setState({ ceil3DFlag: false });
849
- // document.getElementById('item_custom') && (document.getElementById('item_custom').style.display = document.getElementById('item_custom').style.display === 'flex' && 'none');
850
- document.getElementById('item_warning') &&
851
- document.getElementById('item_custom') &&
852
- (document.getElementById('item_warning').style.display =
853
- document.getElementById('item_custom').style.display ===
854
- 'flex' && 'none');
855
- }}
856
- >
857
- <S.FooterTitle>2D</S.FooterTitle>
858
- </S.Toggle_2D_3D>
859
- <S.Toggle_2D_3D
860
- style={{ backgroundColor: TEXT_COLOR_NEUTRAL_5, marginLeft: 5 }}
861
- >
862
- <S.FooterTitle>3D</S.FooterTitle>
863
- </S.Toggle_2D_3D>
864
- {selLineFlag ? (
865
- <Tooltip title="Elevation View">
866
- <S.Toggle_2D_3D onClick={() => ViewElevation()}>
867
- <S.ArrowIcon
868
- style={{ width: 20, height: 20 }}
869
- src={elevationImg}
870
- />
871
- </S.Toggle_2D_3D>
872
- </Tooltip>
873
- ) : (
874
- <Tooltip title={<span>Please select a wall</span>}>
875
- <S.Toggle_2D_3D_Button>
876
- <S.ArrowIcon
877
- style={{ width: 20, height: 20 }}
878
- src={elevationImg}
879
- />
880
- </S.Toggle_2D_3D_Button>
881
- </Tooltip>
882
- )}
883
- <S.Direction_Left_Right
884
- onMouseDown={() => {
885
- window.tDKeyDown({ keyCode: 37 }); //Up key
886
- panDragStart(37);
887
- this.setState({ panButton: 'Left', dragFlag: false });
888
-
889
- document.addEventListener(
890
- 'mouseup',
891
- () => {
892
- this.props.setToolbar('');
893
- panDragStop();
894
- this.setState({ panButton: 'Left', dragFlag: true });
895
- },
896
- { once: true }
897
- );
898
- }}
899
- >
900
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-left.svg" />
901
- </S.Direction_Left_Right>
902
- <div>
903
- <S.Direction_Up_Down
904
- onMouseDown={() => {
905
- window.tDKeyDown({ keyCode: 38 }); //Up key
906
- panDragStart(38);
907
- this.setState({ panButton: 'Top', dragFlag: false });
908
-
909
- document.addEventListener(
910
- 'mouseup',
911
- () => {
912
- this.props.setToolbar('');
913
- panDragStop();
914
- this.setState({ panButton: 'Top', dragFlag: true });
915
- },
916
- { once: true }
917
- );
918
- }}
919
- >
920
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-up.svg" />
921
- </S.Direction_Up_Down>
922
- <S.Direction_Up_Down
923
- onMouseDown={() => {
924
- window.tDKeyDown({ keyCode: 40 }); //Up key
925
- panDragStart(40);
926
- this.setState({ panButton: 'Bottom', dragFlag: false });
927
-
928
- document.addEventListener(
929
- 'mouseup',
930
- () => {
931
- this.props.setToolbar('');
932
- panDragStop();
933
- this.setState({ panButton: 'Bottom', dragFlag: true });
934
- },
935
- { once: true }
936
- );
937
- }}
938
- >
939
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-down.svg" />
940
- </S.Direction_Up_Down>
941
- </div>
942
- <S.Direction_Left_Right
943
- onMouseDown={() => {
944
- window.tDKeyDown({ keyCode: 39 }); //Up key
945
- panDragStart(39);
946
- this.setState({ panButton: 'Right', dragFlag: false });
947
-
948
- document.addEventListener(
949
- 'mouseup',
950
- () => {
951
- this.props.setToolbar('');
952
- panDragStop();
953
- this.setState({ panButton: 'Right', dragFlag: true });
954
- },
955
- { once: true }
956
- );
957
- }}
958
- >
959
- <S.ArrowIcon src="/assets/img/svg/bottombar/arrow-right.svg" />
960
- </S.Direction_Left_Right>
961
- <S.Rotation_Button
962
- isVertical
963
- onMouseDown={() => {
964
- window.SPKeyDown({ keyCode: 87 });
965
- spinDragStart(87);
966
- this.setState({ panButton: 'spinTop', dragFlag: false });
967
- }}
968
- onMouseUp={() => {
969
- this.props.setToolbar('');
970
- spinDragStop();
971
- this.setState({ panButton: 'spinTop', dragFlag: true });
972
- }}
973
- >
974
- <S.Rotation_Icon
975
- src="/assets/img/svg/bottombar/spin-up.svg"
976
- width="unset"
977
- />
978
- </S.Rotation_Button>
979
- <div>
980
- <S.Rotation_Button
981
- onMouseDown={() => {
982
- window.SPKeyDown({ keyCode: 68 });
983
- spinDragStart(68);
984
- this.setState({ panButton: 'spinRight', dragFlag: false });
985
- }}
986
- onMouseUp={() => {
987
- this.props.setToolbar('');
988
- spinDragStop();
989
- this.setState({ panButton: 'spinRight', dragFlag: true });
990
- }}
991
- >
992
- <S.Rotation_Icon
993
- src="/assets/img/svg/bottombar/spin-right.svg"
994
- height="unset"
995
- />
996
- </S.Rotation_Button>
997
- <S.Rotation_Button
998
- onMouseDown={() => {
999
- window.SPKeyDown({ keyCode: 65 });
1000
- spinDragStart(65);
1001
- this.setState({ panButton: 'spinLeft', dragFlag: false });
1002
- }}
1003
- onMouseUp={() => {
1004
- this.props.setToolbar('');
1005
- spinDragStop();
1006
- this.setState({ panButton: 'spinLeft', dragFlag: true });
1007
- }}
1008
- >
1009
- <S.Rotation_Icon
1010
- height="unset"
1011
- src="/assets/img/svg/bottombar/spin-left.svg"
1012
- />
1013
- </S.Rotation_Button>
1014
- </div>
1015
- <S.Rotation_Button
1016
- isVertical
1017
- onMouseDown={() => {
1018
- window.SPKeyDown({ keyCode: 83 });
1019
- spinDragStart(83);
1020
- this.setState({ panButton: 'spinBottom', dragFlag: false });
1021
- }}
1022
- onMouseUp={() => {
1023
- this.props.setToolbar('');
1024
- spinDragStop();
1025
- this.setState({ panButton: 'spinBottom', dragFlag: true });
1026
- }}
1027
- >
1028
- <S.Rotation_Icon
1029
- src="/assets/img/svg/bottombar/spin-down.svg"
1030
- width="unset"
1031
- />
1032
- </S.Rotation_Button>
1033
- <S.Toggle_2D_3D
1034
- style={{
1035
- marginLeft: 5,
1036
- marginRight: 10,
1037
- backgroundColor:
1038
- document.getElementById('setting_dialog') &&
1039
- document.getElementById('setting_dialog').style.display ===
1040
- 'flex' &&
1041
- TEXT_COLOR_NEUTRAL_5
1042
- }}
1043
- onClick={e => {
1044
- this.props.setToolbar('');
1045
- OpenSettings(e);
1046
- }}
1047
- >
1048
- <img
1049
- src="/assets/img/svg/headerbar/setting.svg"
1050
- style={{ height: 18 }}
1051
- />
1052
- </S.Toggle_2D_3D>
1053
- </div>
1054
- );
1055
-
1056
- let snackBar = (
1057
- <SnackBar
1058
- style={{ top: 90 }}
1059
- isOpen={this.state.isSnackBarOpen}
1060
- message={this.state.snackBarMessage}
1061
- handleClose={() =>
1062
- this.setState({ isSnackBarOpen: false, snackBarMessage: '' })
1063
- }
1064
- />
1065
- );
1066
- return mode !== 'MODE_VIEWING_CATALOG' ? (
1067
- <div
1068
- style={{
1069
- position: 'absolute',
1070
- bottom: 10,
1071
- display: 'flex',
1072
- width: '100%',
1073
- justifyContent: 'center',
1074
- alignItems: 'flex-end',
1075
- zIndex: 0
1076
- }}
1077
- >
1078
- {snackBar}
1079
- {footerview}
1080
- </div>
1081
- ) : null;
1082
- }
1083
- }
1084
-
1085
- FooterBar.propTypes = {
1086
- state: PropTypes.object.isRequired,
1087
- // footerbarComponents: PropTypes.array.isRequired,
1088
- // width: PropTypes.number.isRequired,
1089
- // height: PropTypes.number.isRequired,
1090
- content: PropTypes.number.isRequired
1091
- // softwareSignature: PropTypes.string
1092
- };
1093
-
1094
- FooterBar.contextTypes = {
1095
- projectActions: PropTypes.object.isRequired,
1096
- viewer2DActions: PropTypes.object.isRequired,
1097
- viewer3DActions: PropTypes.object.isRequired,
1098
- // linesActions: PropTypes.object.isRequired,
1099
- // holesActions: PropTypes.object.isRequired,
1100
- itemsActions: PropTypes.object.isRequired,
1101
- // translator: PropTypes.object.isRequired,
1102
- catalog: PropTypes.object.isRequired
1103
- };