@labelbee/lb-components 1.22.0-beta.5 → 1.23.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/dist/assets/annotation/LLMTool/empty.svg.js +1 -1
  2. package/dist/assets/annotation/LLMTool/imgFail_cn.svg.js +1 -1
  3. package/dist/assets/annotation/LLMTool/imgFail_en.svg.js +1 -1
  4. package/dist/assets/annotation/LLMTool/loading.svg.js +1 -1
  5. package/dist/assets/annotation/audio/clip.svg.js +1 -1
  6. package/dist/assets/annotation/audio/clipA.svg.js +1 -1
  7. package/dist/assets/annotation/audio/clipASmall.svg.js +1 -1
  8. package/dist/assets/annotation/audio/clipSmall.svg.js +1 -1
  9. package/dist/assets/annotation/audio/delete.svg.js +1 -1
  10. package/dist/assets/annotation/audio/loop.svg.js +1 -1
  11. package/dist/assets/annotation/audio/loopA.svg.js +1 -1
  12. package/dist/assets/annotation/audio/progressDot.svg.js +1 -1
  13. package/dist/assets/annotation/audio/progressDotA.svg.js +1 -1
  14. package/dist/assets/annotation/audio/tag.svg.js +1 -1
  15. package/dist/assets/annotation/audio/tagA.svg.js +1 -1
  16. package/dist/assets/annotation/common/icon_adapt.svg.js +1 -1
  17. package/dist/assets/annotation/common/icon_adapt_black.svg.js +1 -1
  18. package/dist/assets/annotation/common/icon_back.svg.js +1 -1
  19. package/dist/assets/annotation/common/icon_backA.svg.js +1 -1
  20. package/dist/assets/annotation/common/icon_clear.svg.js +1 -1
  21. package/dist/assets/annotation/common/icon_clearSmall.svg.js +1 -1
  22. package/dist/assets/annotation/common/icon_clearSmall_a.svg.js +1 -1
  23. package/dist/assets/annotation/common/icon_clear_a.svg.js +1 -1
  24. package/dist/assets/annotation/common/icon_esc.svg.js +1 -1
  25. package/dist/assets/annotation/common/icon_invalid.svg.js +1 -1
  26. package/dist/assets/annotation/common/icon_invalid_a.svg.js +1 -1
  27. package/dist/assets/annotation/common/icon_left_squareOutlined.svg.js +1 -1
  28. package/dist/assets/annotation/common/icon_menu_fold.svg.js +1 -1
  29. package/dist/assets/annotation/common/icon_next.svg.js +1 -1
  30. package/dist/assets/annotation/common/icon_nextA.svg.js +1 -1
  31. package/dist/assets/annotation/common/icon_r.svg.js +1 -1
  32. package/dist/assets/annotation/common/icon_rA.svg.js +1 -1
  33. package/dist/assets/annotation/common/icon_right_squareOutlined.svg.js +1 -1
  34. package/dist/assets/annotation/common/icon_save.svg.js +1 -1
  35. package/dist/assets/annotation/common/icon_saveA.svg.js +1 -1
  36. package/dist/assets/annotation/image/brightness.svg.js +1 -1
  37. package/dist/assets/annotation/image/contrast.svg.js +1 -1
  38. package/dist/assets/annotation/image/icon_yuantu.svg.js +1 -1
  39. package/dist/assets/annotation/image/saturation.svg.js +1 -1
  40. package/dist/assets/annotation/lineTool/icon_line.svg.js +1 -1
  41. package/dist/assets/annotation/lineTool/icon_line_a.svg.js +1 -1
  42. package/dist/assets/annotation/pointCloudTool/addSvg.svg.js +1 -1
  43. package/dist/assets/annotation/pointCloudTool/cancel.svg.js +1 -1
  44. package/dist/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +1 -1
  45. package/dist/assets/annotation/pointCloudTool/circleSelector.svg.js +1 -1
  46. package/dist/assets/annotation/pointCloudTool/circleSelector_a.svg.js +1 -1
  47. package/dist/assets/annotation/pointCloudTool/clearSvg.svg.js +1 -1
  48. package/dist/assets/annotation/pointCloudTool/copy.svg.js +1 -1
  49. package/dist/assets/annotation/pointCloudTool/coverMode.svg.js +1 -1
  50. package/dist/assets/annotation/pointCloudTool/finish.svg.js +1 -1
  51. package/dist/assets/annotation/pointCloudTool/highlight.svg.js +1 -0
  52. package/dist/assets/annotation/pointCloudTool/highlight_a.svg.js +1 -0
  53. package/dist/assets/annotation/pointCloudTool/lassoSelector.svg.js +1 -1
  54. package/dist/assets/annotation/pointCloudTool/lassoSelector_a.svg.js +1 -1
  55. package/dist/assets/annotation/pointCloudTool/leftArrow.svg.js +1 -0
  56. package/dist/assets/annotation/pointCloudTool/nextBox.svg.js +1 -1
  57. package/dist/assets/annotation/pointCloudTool/nodata.svg.js +1 -1
  58. package/dist/assets/annotation/pointCloudTool/patse.svg.js +1 -1
  59. package/dist/assets/annotation/pointCloudTool/prevBox.svg.js +1 -1
  60. package/dist/assets/annotation/pointCloudTool/rightArrow.svg.js +1 -0
  61. package/dist/assets/annotation/pointCloudTool/rotate180_black.svg.js +1 -1
  62. package/dist/assets/annotation/pointCloudTool/selectAll.svg.js +1 -1
  63. package/dist/assets/annotation/pointCloudTool/selectMultiple.svg.js +1 -1
  64. package/dist/assets/annotation/pointCloudTool/unCoverMode.svg.js +1 -1
  65. package/dist/assets/annotation/pointCloudTool/unitAttribute.svg.js +1 -1
  66. package/dist/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +1 -1
  67. package/dist/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +1 -1
  68. package/dist/assets/annotation/pointTool/icon_point.svg.js +1 -1
  69. package/dist/assets/annotation/pointTool/icon_point_a.svg.js +1 -1
  70. package/dist/assets/annotation/polygonTool/icon_polygon.svg.js +1 -1
  71. package/dist/assets/annotation/polygonTool/icon_polygon_a.svg.js +1 -1
  72. package/dist/assets/annotation/rectTool/icon_rect.svg.js +1 -1
  73. package/dist/assets/annotation/rectTool/icon_rect_a.svg.js +1 -1
  74. package/dist/assets/annotation/toolHotKeyIcon/deleteRemark.svg.js +1 -1
  75. package/dist/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js +1 -1
  76. package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -1
  77. package/dist/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js +1 -1
  78. package/dist/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js +1 -1
  79. package/dist/assets/annotation/toolHotKeyIcon/icon_down.svg.js +1 -1
  80. package/dist/assets/annotation/toolHotKeyIcon/icon_eraser.svg.js +1 -1
  81. package/dist/assets/annotation/toolHotKeyIcon/icon_eyeLock_kj.svg.js +1 -1
  82. package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -1
  83. package/dist/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js +1 -1
  84. package/dist/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js +1 -1
  85. package/dist/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js +1 -1
  86. package/dist/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js +1 -1
  87. package/dist/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js +1 -1
  88. package/dist/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js +1 -1
  89. package/dist/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js +1 -1
  90. package/dist/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js +1 -1
  91. package/dist/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js +1 -1
  92. package/dist/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js +1 -1
  93. package/dist/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js +1 -1
  94. package/dist/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js +1 -1
  95. package/dist/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js +1 -1
  96. package/dist/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js +1 -1
  97. package/dist/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js +1 -1
  98. package/dist/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js +1 -1
  99. package/dist/assets/annotation/toolHotKeyIcon/icon_line_static.svg.js +1 -1
  100. package/dist/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js +1 -1
  101. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js +1 -1
  102. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js +1 -1
  103. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js +1 -1
  104. package/dist/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js +1 -1
  105. package/dist/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js +1 -1
  106. package/dist/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js +1 -1
  107. package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -1
  108. package/dist/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js +1 -1
  109. package/dist/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js +1 -1
  110. package/dist/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js +1 -1
  111. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js +1 -1
  112. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js +1 -1
  113. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonCut_kj.svg.js +1 -1
  114. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js +1 -1
  115. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js +1 -1
  116. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -1
  117. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js +1 -1
  118. package/dist/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js +1 -1
  119. package/dist/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js +1 -1
  120. package/dist/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js +1 -1
  121. package/dist/assets/annotation/toolHotKeyIcon/icon_scribble.svg.js +1 -1
  122. package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -1
  123. package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -1
  124. package/dist/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js +1 -1
  125. package/dist/assets/annotation/toolHotKeyIcon/icon_strokeEnlarge.svg.js +1 -1
  126. package/dist/assets/annotation/toolHotKeyIcon/icon_strokeReduction.svg.js +1 -1
  127. package/dist/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js +1 -1
  128. package/dist/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js +1 -1
  129. package/dist/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js +1 -1
  130. package/dist/assets/annotation/toolHotKeyIcon/icon_up.svg.js +1 -1
  131. package/dist/assets/annotation/toolHotKeyIcon/nextRemark.svg.js +1 -1
  132. package/dist/assets/annotation/toolHotKeyIcon/preRemark.svg.js +1 -1
  133. package/dist/assets/annotation/toolHotKeyIcon/setValid.svg.js +1 -1
  134. package/dist/assets/annotation/video/icon_clip.svg.js +1 -1
  135. package/dist/assets/annotation/video/icon_keyboard_h.svg.js +1 -1
  136. package/dist/assets/annotation/video/icon_timePoint.svg.js +1 -1
  137. package/dist/assets/annotation/video/icon_videoCut.svg.js +1 -1
  138. package/dist/assets/annotation/video/icon_videoCutting.svg.js +1 -1
  139. package/dist/assets/attributeIcon/eraser.svg.js +1 -1
  140. package/dist/assets/attributeIcon/eraser_a.svg.js +1 -1
  141. package/dist/assets/attributeIcon/icon_eyeLock_a.svg.js +1 -1
  142. package/dist/assets/attributeIcon/icon_eyeLock_h.svg.js +1 -1
  143. package/dist/assets/attributeIcon/pen.svg.js +1 -1
  144. package/dist/assets/attributeIcon/pen_a.svg.js +1 -1
  145. package/dist/assets/attributeIcon/zoomUp.svg.js +1 -1
  146. package/dist/assets/predictTracking/icon.svg.js +1 -1
  147. package/dist/assets/toolStyle/icon_border.svg.js +1 -1
  148. package/dist/assets/toolStyle/icon_borderColor.svg.js +1 -1
  149. package/dist/assets/toolStyle/icon_defaultSize.svg.js +1 -1
  150. package/dist/assets/toolStyle/icon_opacityFill.svg.js +1 -1
  151. package/dist/assets/toolStyle/icon_opacityStroke.svg.js +1 -1
  152. package/dist/components/LLMToolView/index.js +1 -1
  153. package/dist/components/LLMToolView/questionView/components/header/index.js +1 -1
  154. package/dist/components/LLMToolView/sidebar/components/answerList/index.js +1 -1
  155. package/dist/components/LLMToolView/sidebar/components/answerSort/index.js +1 -1
  156. package/dist/components/LLMToolView/sidebar/components/determineGroup/index.js +1 -1
  157. package/dist/components/LLMToolView/sidebar/components/scoreGroupButton/index.js +1 -1
  158. package/dist/components/LLMToolView/sidebar/components/textEditor/index.js +1 -1
  159. package/dist/components/LLMToolView/sidebar/components/textInputBox/index.js +2 -2
  160. package/dist/components/LLMToolView/sidebar/index.js +1 -1
  161. package/dist/components/LLMToolView/utils/data.js +1 -1
  162. package/dist/components/NLPToolView/index.js +1 -1
  163. package/dist/components/NLPToolView/textContent/extraMask.js +1 -0
  164. package/dist/components/NLPToolView/textContent/index.js +1 -1
  165. package/dist/components/messageMaskLayer/index.js +1 -0
  166. package/dist/components/pointCloudView/PointCloudContext.js +1 -1
  167. package/dist/components/pointCloudView/PointCloudTopView.js +1 -1
  168. package/dist/components/tagList/components/overall/index.js +1 -0
  169. package/dist/components/tagList/components/portion/index.js +1 -0
  170. package/dist/components/tagList/index.js +1 -0
  171. package/dist/components/tagList/index.module.scss.js +1 -0
  172. package/dist/constant/index.js +1 -1
  173. package/dist/index.css +70 -2
  174. package/dist/index.js +1 -1
  175. package/dist/store/annotatedBox/index.js +1 -0
  176. package/dist/types/components/LLMToolView/index.d.ts +2 -0
  177. package/dist/types/components/LLMToolView/sidebar/components/answerList/index.d.ts +3 -10
  178. package/dist/types/components/LLMToolView/sidebar/components/answerSort/index.d.ts +1 -1
  179. package/dist/types/components/LLMToolView/sidebar/components/determineGroup/index.d.ts +1 -1
  180. package/dist/types/components/LLMToolView/sidebar/components/scoreGroupButton/index.d.ts +1 -1
  181. package/dist/types/components/LLMToolView/sidebar/components/textEditor/index.d.ts +1 -1
  182. package/dist/types/components/LLMToolView/sidebar/components/textInputBox/index.d.ts +1 -1
  183. package/dist/types/components/LLMToolView/sidebar/index.d.ts +1 -3
  184. package/dist/types/components/LLMToolView/types.d.ts +27 -0
  185. package/dist/types/components/LLMToolView/utils/data.d.ts +14 -0
  186. package/dist/types/components/NLPToolView/index.d.ts +5 -4
  187. package/dist/types/components/NLPToolView/textContent/extraMask.d.ts +12 -0
  188. package/dist/types/components/NLPToolView/textContent/index.d.ts +6 -8
  189. package/dist/types/components/NLPToolView/types.d.ts +18 -11
  190. package/dist/types/components/messageMaskLayer/index.d.ts +11 -0
  191. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +3 -0
  192. package/dist/types/components/tagList/components/overall/index.d.ts +4 -0
  193. package/dist/types/components/tagList/components/portion/index.d.ts +4 -0
  194. package/dist/types/components/tagList/index.d.ts +4 -0
  195. package/dist/types/components/tagList/types.d.ts +23 -0
  196. package/dist/types/constant/index.d.ts +0 -4
  197. package/dist/types/index.d.ts +3 -1
  198. package/dist/types/store/annotatedBox/index.d.ts +14 -0
  199. package/dist/types/views/MainView/NLPLayout/index.d.ts +5 -3
  200. package/dist/types/views/MainView/sidebar/NLPSidebar/indicatorDetermine.d.ts +1 -1
  201. package/dist/types/views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.d.ts +9 -0
  202. package/dist/types/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/arrow.d.ts +8 -0
  203. package/dist/types/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.d.ts +11 -0
  204. package/dist/types/views/MainView/sidebar/SwitchAttributeList/index.d.ts +0 -1
  205. package/dist/utils/audio.js +1 -1
  206. package/dist/views/MainView/LLMLayout/index.js +1 -1
  207. package/dist/views/MainView/NLPLayout/index.js +1 -1
  208. package/dist/views/MainView/sidebar/AnnotationText/index.js +1 -1
  209. package/dist/views/MainView/sidebar/NLPSidebar/index.js +1 -1
  210. package/dist/views/MainView/sidebar/NLPSidebar/indicatorDetermine.js +1 -1
  211. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.js +1 -0
  212. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.module.scss.js +1 -0
  213. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/arrow.js +1 -0
  214. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.js +1 -0
  215. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.module.scss.js +1 -0
  216. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  217. package/dist/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  218. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/LLM/index.js +1 -1
  219. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  220. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  221. package/es/App.js +1 -1
  222. package/es/assets/annotation/LLMTool/empty.svg.js +1 -1
  223. package/es/assets/annotation/LLMTool/imgFail_cn.svg.js +1 -1
  224. package/es/assets/annotation/LLMTool/imgFail_en.svg.js +1 -1
  225. package/es/assets/annotation/LLMTool/loading.svg.js +1 -1
  226. package/es/assets/annotation/audio/clip.svg.js +1 -1
  227. package/es/assets/annotation/audio/clipA.svg.js +1 -1
  228. package/es/assets/annotation/audio/clipASmall.svg.js +1 -1
  229. package/es/assets/annotation/audio/clipSmall.svg.js +1 -1
  230. package/es/assets/annotation/audio/delete.svg.js +1 -1
  231. package/es/assets/annotation/audio/loop.svg.js +1 -1
  232. package/es/assets/annotation/audio/loopA.svg.js +1 -1
  233. package/es/assets/annotation/audio/progressDot.svg.js +1 -1
  234. package/es/assets/annotation/audio/progressDotA.svg.js +1 -1
  235. package/es/assets/annotation/audio/tag.svg.js +1 -1
  236. package/es/assets/annotation/audio/tagA.svg.js +1 -1
  237. package/es/assets/annotation/common/icon_adapt.svg.js +1 -1
  238. package/es/assets/annotation/common/icon_adapt_black.svg.js +1 -1
  239. package/es/assets/annotation/common/icon_back.svg.js +1 -1
  240. package/es/assets/annotation/common/icon_backA.svg.js +1 -1
  241. package/es/assets/annotation/common/icon_clear.svg.js +1 -1
  242. package/es/assets/annotation/common/icon_clearSmall.svg.js +1 -1
  243. package/es/assets/annotation/common/icon_clearSmall_a.svg.js +1 -1
  244. package/es/assets/annotation/common/icon_clear_a.svg.js +1 -1
  245. package/es/assets/annotation/common/icon_esc.svg.js +1 -1
  246. package/es/assets/annotation/common/icon_invalid.svg.js +1 -1
  247. package/es/assets/annotation/common/icon_invalid_a.svg.js +1 -1
  248. package/es/assets/annotation/common/icon_left_squareOutlined.svg.js +1 -1
  249. package/es/assets/annotation/common/icon_menu_fold.svg.js +1 -1
  250. package/es/assets/annotation/common/icon_next.svg.js +1 -1
  251. package/es/assets/annotation/common/icon_nextA.svg.js +1 -1
  252. package/es/assets/annotation/common/icon_r.svg.js +1 -1
  253. package/es/assets/annotation/common/icon_rA.svg.js +1 -1
  254. package/es/assets/annotation/common/icon_right_squareOutlined.svg.js +1 -1
  255. package/es/assets/annotation/common/icon_save.svg.js +1 -1
  256. package/es/assets/annotation/common/icon_saveA.svg.js +1 -1
  257. package/es/assets/annotation/image/brightness.svg.js +1 -1
  258. package/es/assets/annotation/image/contrast.svg.js +1 -1
  259. package/es/assets/annotation/image/icon_yuantu.svg.js +1 -1
  260. package/es/assets/annotation/image/saturation.svg.js +1 -1
  261. package/es/assets/annotation/lineTool/icon_line.svg.js +1 -1
  262. package/es/assets/annotation/lineTool/icon_line_a.svg.js +1 -1
  263. package/es/assets/annotation/pointCloudTool/addSvg.svg.js +1 -1
  264. package/es/assets/annotation/pointCloudTool/cancel.svg.js +1 -1
  265. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +1 -1
  266. package/es/assets/annotation/pointCloudTool/circleSelector.svg.js +1 -1
  267. package/es/assets/annotation/pointCloudTool/circleSelector_a.svg.js +1 -1
  268. package/es/assets/annotation/pointCloudTool/clearSvg.svg.js +1 -1
  269. package/es/assets/annotation/pointCloudTool/copy.svg.js +1 -1
  270. package/es/assets/annotation/pointCloudTool/coverMode.svg.js +1 -1
  271. package/es/assets/annotation/pointCloudTool/finish.svg.js +1 -1
  272. package/es/assets/annotation/pointCloudTool/highlight.svg.js +1 -0
  273. package/es/assets/annotation/pointCloudTool/highlight_a.svg.js +1 -0
  274. package/es/assets/annotation/pointCloudTool/lassoSelector.svg.js +1 -1
  275. package/es/assets/annotation/pointCloudTool/lassoSelector_a.svg.js +1 -1
  276. package/es/assets/annotation/pointCloudTool/leftArrow.svg.js +1 -0
  277. package/es/assets/annotation/pointCloudTool/nextBox.svg.js +1 -1
  278. package/es/assets/annotation/pointCloudTool/nodata.svg.js +1 -1
  279. package/es/assets/annotation/pointCloudTool/patse.svg.js +1 -1
  280. package/es/assets/annotation/pointCloudTool/prevBox.svg.js +1 -1
  281. package/es/assets/annotation/pointCloudTool/rightArrow.svg.js +1 -0
  282. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js +1 -1
  283. package/es/assets/annotation/pointCloudTool/selectAll.svg.js +1 -1
  284. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js +1 -1
  285. package/es/assets/annotation/pointCloudTool/unCoverMode.svg.js +1 -1
  286. package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js +1 -1
  287. package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +1 -1
  288. package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +1 -1
  289. package/es/assets/annotation/pointTool/icon_point.svg.js +1 -1
  290. package/es/assets/annotation/pointTool/icon_point_a.svg.js +1 -1
  291. package/es/assets/annotation/polygonTool/icon_polygon.svg.js +1 -1
  292. package/es/assets/annotation/polygonTool/icon_polygon_a.svg.js +1 -1
  293. package/es/assets/annotation/rectTool/icon_rect.svg.js +1 -1
  294. package/es/assets/annotation/rectTool/icon_rect_a.svg.js +1 -1
  295. package/es/assets/annotation/toolHotKeyIcon/deleteRemark.svg.js +1 -1
  296. package/es/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js +1 -1
  297. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -1
  298. package/es/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js +1 -1
  299. package/es/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js +1 -1
  300. package/es/assets/annotation/toolHotKeyIcon/icon_down.svg.js +1 -1
  301. package/es/assets/annotation/toolHotKeyIcon/icon_eraser.svg.js +1 -1
  302. package/es/assets/annotation/toolHotKeyIcon/icon_eyeLock_kj.svg.js +1 -1
  303. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -1
  304. package/es/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js +1 -1
  305. package/es/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js +1 -1
  306. package/es/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js +1 -1
  307. package/es/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js +1 -1
  308. package/es/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js +1 -1
  309. package/es/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js +1 -1
  310. package/es/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js +1 -1
  311. package/es/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js +1 -1
  312. package/es/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js +1 -1
  313. package/es/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js +1 -1
  314. package/es/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js +1 -1
  315. package/es/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js +1 -1
  316. package/es/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js +1 -1
  317. package/es/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js +1 -1
  318. package/es/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js +1 -1
  319. package/es/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js +1 -1
  320. package/es/assets/annotation/toolHotKeyIcon/icon_line_static.svg.js +1 -1
  321. package/es/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js +1 -1
  322. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js +1 -1
  323. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js +1 -1
  324. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js +1 -1
  325. package/es/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js +1 -1
  326. package/es/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js +1 -1
  327. package/es/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js +1 -1
  328. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -1
  329. package/es/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js +1 -1
  330. package/es/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js +1 -1
  331. package/es/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js +1 -1
  332. package/es/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js +1 -1
  333. package/es/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js +1 -1
  334. package/es/assets/annotation/toolHotKeyIcon/icon_polygonCut_kj.svg.js +1 -1
  335. package/es/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js +1 -1
  336. package/es/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js +1 -1
  337. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -1
  338. package/es/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js +1 -1
  339. package/es/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js +1 -1
  340. package/es/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js +1 -1
  341. package/es/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js +1 -1
  342. package/es/assets/annotation/toolHotKeyIcon/icon_scribble.svg.js +1 -1
  343. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -1
  344. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -1
  345. package/es/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js +1 -1
  346. package/es/assets/annotation/toolHotKeyIcon/icon_strokeEnlarge.svg.js +1 -1
  347. package/es/assets/annotation/toolHotKeyIcon/icon_strokeReduction.svg.js +1 -1
  348. package/es/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js +1 -1
  349. package/es/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js +1 -1
  350. package/es/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js +1 -1
  351. package/es/assets/annotation/toolHotKeyIcon/icon_up.svg.js +1 -1
  352. package/es/assets/annotation/toolHotKeyIcon/nextRemark.svg.js +1 -1
  353. package/es/assets/annotation/toolHotKeyIcon/preRemark.svg.js +1 -1
  354. package/es/assets/annotation/toolHotKeyIcon/setValid.svg.js +1 -1
  355. package/es/assets/annotation/video/icon_clip.svg.js +1 -1
  356. package/es/assets/annotation/video/icon_keyboard_h.svg.js +1 -1
  357. package/es/assets/annotation/video/icon_timePoint.svg.js +1 -1
  358. package/es/assets/annotation/video/icon_videoCut.svg.js +1 -1
  359. package/es/assets/annotation/video/icon_videoCutting.svg.js +1 -1
  360. package/es/assets/attributeIcon/eraser.svg.js +1 -1
  361. package/es/assets/attributeIcon/eraser_a.svg.js +1 -1
  362. package/es/assets/attributeIcon/icon_eyeLock_a.svg.js +1 -1
  363. package/es/assets/attributeIcon/icon_eyeLock_h.svg.js +1 -1
  364. package/es/assets/attributeIcon/pen.svg.js +1 -1
  365. package/es/assets/attributeIcon/pen_a.svg.js +1 -1
  366. package/es/assets/attributeIcon/zoomUp.svg.js +1 -1
  367. package/es/assets/predictTracking/icon.svg.js +1 -1
  368. package/es/assets/toolStyle/icon_border.svg.js +1 -1
  369. package/es/assets/toolStyle/icon_borderColor.svg.js +1 -1
  370. package/es/assets/toolStyle/icon_defaultSize.svg.js +1 -1
  371. package/es/assets/toolStyle/icon_opacityFill.svg.js +1 -1
  372. package/es/assets/toolStyle/icon_opacityStroke.svg.js +1 -1
  373. package/es/components/LLMToolView/index.js +1 -1
  374. package/es/components/LLMToolView/modelAPIView/index.js +1 -1
  375. package/es/components/LLMToolView/questionView/components/header/index.js +1 -1
  376. package/es/components/LLMToolView/questionView/components/imgView/index.js +1 -1
  377. package/es/components/LLMToolView/questionView/index.js +1 -1
  378. package/es/components/LLMToolView/sidebar/components/answerList/index.js +1 -1
  379. package/es/components/LLMToolView/sidebar/components/answerSort/index.js +1 -1
  380. package/es/components/LLMToolView/sidebar/components/determineGroup/index.js +1 -1
  381. package/es/components/LLMToolView/sidebar/components/scoreGroupButton/index.js +1 -1
  382. package/es/components/LLMToolView/sidebar/components/textEditor/index.js +2 -2
  383. package/es/components/LLMToolView/sidebar/components/textInputBox/index.js +2 -2
  384. package/es/components/LLMToolView/sidebar/index.js +1 -1
  385. package/es/components/LLMToolView/utils/data.js +1 -1
  386. package/es/components/NLPToolView/index.js +1 -1
  387. package/es/components/NLPToolView/textContent/extraMask.js +1 -0
  388. package/es/components/NLPToolView/textContent/index.js +1 -1
  389. package/es/components/attributeList/components/limitPopover/index.js +1 -1
  390. package/es/components/audioAnnotate/audioContext/index.js +1 -1
  391. package/es/components/audioAnnotate/audioSide/LabelDetailPopover/index.js +1 -1
  392. package/es/components/audioAnnotate/audioSide/clipSidebar/index.js +1 -1
  393. package/es/components/audioAnnotate/audioSide/labelSidebar/index.js +1 -1
  394. package/es/components/audioAnnotate/tagResultShow/index.js +1 -1
  395. package/es/components/audioPlayer/clipRegion/index.js +1 -1
  396. package/es/components/audioPlayer/clipTip/index.js +1 -1
  397. package/es/components/audioPlayer/combineTip/index.js +1 -1
  398. package/es/components/audioPlayer/progressDot/index.js +1 -1
  399. package/es/components/audioPlayer/zoomSlider/index.js +1 -1
  400. package/es/components/checkboxList/index.js +1 -1
  401. package/es/components/colorPalette/index.js +1 -1
  402. package/es/components/customAntd/IconWithText/index.js +1 -1
  403. package/es/components/diffMatchPatchComponent/index.js +2 -2
  404. package/es/components/fileException/FileError.js +1 -1
  405. package/es/components/fileException/FileInvalid.js +1 -1
  406. package/es/components/fileException/index.js +1 -1
  407. package/es/components/invalidPage/index.js +1 -1
  408. package/es/components/latexEditor/index.js +1 -1
  409. package/es/components/markdownView/index.js +1 -1
  410. package/es/components/measureCanvas/index.js +1 -1
  411. package/es/components/messageMaskLayer/index.js +1 -0
  412. package/es/components/pointCloud2DRectOperationView/index.js +1 -1
  413. package/es/components/pointCloudView/PointCloud2DSingleView.js +1 -1
  414. package/es/components/pointCloudView/PointCloud2DView.js +1 -1
  415. package/es/components/pointCloudView/PointCloud3DView.js +1 -1
  416. package/es/components/pointCloudView/PointCloudContext.js +1 -1
  417. package/es/components/pointCloudView/PointCloudInfos.js +1 -1
  418. package/es/components/pointCloudView/PointCloudSegment.js +1 -1
  419. package/es/components/pointCloudView/PointCloudSegment2DView.js +1 -1
  420. package/es/components/pointCloudView/PointCloudSegmentStatus.js +1 -1
  421. package/es/components/pointCloudView/PointCloudSegmentToolbar.js +1 -1
  422. package/es/components/pointCloudView/PointCloudTopView.js +1 -1
  423. package/es/components/pointCloudView/components/HighlightVisible/index.js +1 -1
  424. package/es/components/pointCloudView/components/PointCloudSizeSlider/index.js +1 -1
  425. package/es/components/pointCloudView/components/TitleButton/index.js +1 -1
  426. package/es/components/pointCloudView/components/UnifyParamsModal/index.js +1 -1
  427. package/es/components/pointCloudView/components/sideAndBackOverView/index.js +1 -1
  428. package/es/components/pointCloudView/index.js +1 -1
  429. package/es/components/predictTracking/predictTrackingIcon/index.js +1 -1
  430. package/es/components/predictTracking/previewResult/index.js +1 -1
  431. package/es/components/tagList/components/overall/index.js +1 -0
  432. package/es/components/tagList/components/portion/index.js +1 -0
  433. package/es/components/tagList/index.js +1 -0
  434. package/es/components/tagList/index.module.scss.js +1 -0
  435. package/es/components/videoAnnotate/index.js +1 -1
  436. package/es/components/videoAnnotate/videoClipTool/components/annotatedList/index.js +1 -1
  437. package/es/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.js +1 -1
  438. package/es/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.js +1 -1
  439. package/es/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js +1 -1
  440. package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js +1 -1
  441. package/es/components/videoAnnotate/videoClipTool/components/videoTrack/index.js +1 -1
  442. package/es/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptorI18nProvider.js +1 -1
  443. package/es/components/videoPlayer/VideoTagLayer.js +1 -1
  444. package/es/components/videoPlayer/VideoTextLayer.js +2 -2
  445. package/es/components/videoPlayer/components/SpeedController/index.js +1 -1
  446. package/es/components/videoPlayer/components/controller/index.js +1 -1
  447. package/es/components/videoPlayer/index.js +1 -1
  448. package/es/constant/index.js +1 -1
  449. package/es/hooks/useSafeSate.js +1 -1
  450. package/es/index.css +70 -2
  451. package/es/index.js +1 -1
  452. package/es/store/annotatedBox/index.js +1 -0
  453. package/es/utils/audio.js +1 -1
  454. package/es/views/MainView/LLMLayout/index.js +1 -1
  455. package/es/views/MainView/NLPLayout/index.js +1 -1
  456. package/es/views/MainView/annotationOperation/index.js +1 -1
  457. package/es/views/MainView/annotationTips/index.js +1 -1
  458. package/es/views/MainView/index.js +1 -1
  459. package/es/views/MainView/sidebar/AnnotationText/index.js +1 -1
  460. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  461. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js +1 -1
  462. package/es/views/MainView/sidebar/NLPSidebar/NLPAnnotatedList.js +1 -1
  463. package/es/views/MainView/sidebar/NLPSidebar/index.js +1 -1
  464. package/es/views/MainView/sidebar/NLPSidebar/indicatorDetermine.js +1 -1
  465. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.js +1 -0
  466. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/annotatedBox/index.module.scss.js +1 -0
  467. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js +1 -1
  468. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/arrow.js +1 -0
  469. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.js +1 -0
  470. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/findTrackIDIndex/index.module.scss.js +1 -0
  471. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  472. package/es/views/MainView/sidebar/ScribbleSidebar/index.js +1 -1
  473. package/es/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  474. package/es/views/MainView/sidebar/TextAreaFormat/index.js +1 -1
  475. package/es/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
  476. package/es/views/MainView/sidebar/ToolIcons.js +1 -1
  477. package/es/views/MainView/sidebar/index.js +1 -1
  478. package/es/views/MainView/toolFooter/AnnotatedAttributes/index.js +1 -1
  479. package/es/views/MainView/toolFooter/FooterPopover.js +1 -1
  480. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/LLM/index.js +1 -1
  481. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  482. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -1
  483. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  484. package/es/views/MainView/toolFooter/FooterTips/index.js +1 -1
  485. package/es/views/MainView/toolFooter/HiddenTips/index.js +1 -1
  486. package/es/views/MainView/toolFooter/PageNumber/index.js +1 -1
  487. package/es/views/MainView/toolFooter/Pagination.js +1 -1
  488. package/es/views/MainView/toolFooter/SwitchCuboidBoxIn2DView/index.js +1 -1
  489. package/es/views/MainView/toolFooter/ZoomController/index.js +1 -1
  490. package/es/views/MainView/toolFooter/index.js +1 -1
  491. package/es/views/MainView/toolHeader/ExportData/index.js +1 -1
  492. package/es/views/MainView/toolHeader/StepSwitch/index.js +1 -1
  493. package/es/views/MainView/toolHeader/SwitchPattern/index.js +1 -1
  494. package/es/views/MainView/toolHeader/headerOption/index.js +1 -1
  495. package/es/views/MainView/toolHeader/index.js +1 -1
  496. package/package.json +9 -6
  497. package/dist/components/NLPToolView/textContent/remarkMask.js +0 -1
  498. package/dist/types/components/NLPToolView/textContent/remarkMask.d.ts +0 -12
  499. package/es/components/NLPToolView/textContent/remarkMask.js +0 -1
@@ -1 +1 @@
1
- import n from"react";import y from"react-markdown";import P from"remark-math";import O from"rehype-katex";import k from"react-syntax-highlighter";import{docco as x}from"react-syntax-highlighter/dist/esm/styles/hljs";import b from"remark-gfm";import"github-markdown-css";import j from"./index.module.scss.js";import{classnames as E}from"../../utils/index.js";var N=Object.defineProperty,S=Object.defineProperties,I=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,g=(r,e,t)=>e in r?N(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,m=(r,e)=>{for(var t in e||(e={}))f.call(e,t)&&g(r,t,e[t]);if(o)for(var t of o(e))d.call(e,t)&&g(r,t,e[t]);return r},h=(r,e)=>S(r,I(e)),M=(r,e)=>{var t={};for(var a in r)f.call(r,a)&&e.indexOf(a)<0&&(t[a]=r[a]);if(r!=null&&o)for(var a of o(r))e.indexOf(a)<0&&d.call(r,a)&&(t[a]=r[a]);return t};const V=r=>{const{value:e,transformImageUri:t,transformLinkUri:a,components:_}=r,u=v=>{var i=v,{node:D,inline:w,className:s,children:l}=i,c=M(i,["node","inline","className","children"]);const p=/language-(\w+)/.exec(s||"");return!w&&p?n.createElement(k,h(m({},c),{className:"markdown-code-viewer",language:p[1],style:x,PreTag:"div"}),String(l).replace(/\n$/,"")):n.createElement("code",h(m({},c),{className:s}),l)};return n.createElement(y,{className:E({"markdown-body":!0,[j.markdownView]:!0}),remarkPlugins:[b,P],rehypePlugins:[[O,{output:"mathml"}]],transformImageUri:t,transformLinkUri:a,components:m({code:u},_)},e)};export{V as default};
1
+ import n from"react";import y from"react-markdown";import P from"remark-math";import O from"rehype-katex";import k from"react-syntax-highlighter";import{docco as x}from"react-syntax-highlighter/dist/esm/styles/hljs";import b from"remark-gfm";import"github-markdown-css";import j from"./index.module.scss.js";import{classnames as E}from"../../utils/index.js";var N=Object.defineProperty,S=Object.defineProperties,I=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,g=(r,e,t)=>e in r?N(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,m=(r,e)=>{for(var t in e||(e={}))f.call(e,t)&&g(r,t,e[t]);if(o)for(var t of o(e))d.call(e,t)&&g(r,t,e[t]);return r},_=(r,e)=>S(r,I(e)),M=(r,e)=>{var t={};for(var a in r)f.call(r,a)&&e.indexOf(a)<0&&(t[a]=r[a]);if(r!=null&&o)for(var a of o(r))e.indexOf(a)<0&&d.call(r,a)&&(t[a]=r[a]);return t};const V=r=>{const{value:e,transformImageUri:t,transformLinkUri:a,components:h}=r,u=v=>{var i=v,{node:D,inline:w,className:s,children:l}=i,c=M(i,["node","inline","className","children"]);const p=/language-(\w+)/.exec(s||"");return!w&&p?n.createElement(k,_(m({},c),{className:"markdown-code-viewer",language:p[1],style:x,PreTag:"div"}),String(l).replace(/\n$/,"")):n.createElement("code",_(m({},c),{className:s}),l)};return n.createElement(y,{className:E({"markdown-body":!0,[j.markdownView]:!0}),remarkPlugins:[b,P],rehypePlugins:[[O,{output:"mathml"}]],transformImageUri:t,transformLinkUri:a,components:m({code:u},h)},e)};export{V as default};
@@ -1 +1 @@
1
- import{MeasureOperation as p,EventBus as f}from"@labelbee/lb-annotation";import v,{useRef as s,useEffect as l}from"react";var m=Object.defineProperty,c=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,d=(o,e,t)=>e in o?m(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,h=(o,e)=>{for(var t in e||(e={}))P.call(e,t)&&d(o,t,e[t]);if(c)for(var t of c(e))_.call(e,t)&&d(o,t,e[t]);return o};const O=o=>{const{size:e,imgNode:t,zoom:i,currentPos:u}=o,a=s(null),n=s(null);return l(()=>{if(a.current&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&t&&i){const r=new p({container:a.current,size:e,imgNode:t});r.init(),n.current=r,r.updatePosition({zoom:i,currentPos:u})}return()=>{if(n.current){const r=n.current;r==null||r.destroy(),f.emit("updatePosition",{currentPos:r.currentPos,zoom:r.zoom})}}},[a]),l(()=>{var r;n.current&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&((r=n.current)==null||r.setSize(e))},[e==null?void 0:e.width,e==null?void 0:e.height]),l(()=>{if(n.current&&t&&i&&u){const r=n.current;r==null||r.setImgNode(t),r.updatePosition({zoom:i,currentPos:u}),r.setResult([])}},[t]),v.createElement("div",{style:h({position:"relative"},e),id:"measureOperation",ref:a})};export{O as default};
1
+ import{MeasureOperation as p,EventBus as f}from"@labelbee/lb-annotation";import v,{useRef as s,useEffect as l}from"react";var m=Object.defineProperty,c=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,d=(o,e,t)=>e in o?m(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,h=(o,e)=>{for(var t in e||(e={}))_.call(e,t)&&d(o,t,e[t]);if(c)for(var t of c(e))P.call(e,t)&&d(o,t,e[t]);return o};const O=o=>{const{size:e,imgNode:t,zoom:i,currentPos:u}=o,a=s(null),n=s(null);return l(()=>{if(a.current&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&t&&i){const r=new p({container:a.current,size:e,imgNode:t});r.init(),n.current=r,r.updatePosition({zoom:i,currentPos:u})}return()=>{if(n.current){const r=n.current;r==null||r.destroy(),f.emit("updatePosition",{currentPos:r.currentPos,zoom:r.zoom})}}},[a]),l(()=>{var r;n.current&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&((r=n.current)==null||r.setSize(e))},[e==null?void 0:e.width,e==null?void 0:e.height]),l(()=>{if(n.current&&t&&i&&u){const r=n.current;r==null||r.setImgNode(t),r.updatePosition({zoom:i,currentPos:u}),r.setResult([])}},[t]),v.createElement("div",{style:h({position:"relative"},e),id:"measureOperation",ref:a})};export{O as default};
@@ -0,0 +1 @@
1
+ import n from"react";var p=Object.defineProperty,a=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,o=(t,e,r)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,f=(t,e)=>{for(var r in e||(e={}))l.call(e,r)&&o(t,r,e[r]);if(a)for(var r of a(e))i.call(e,r)&&o(t,r,e[r]);return t},s=({message:t,style:e})=>n.createElement("div",{style:f({position:"absolute",left:"0px",top:"0px",width:"100%",height:"100%",background:"rgba(255, 87, 34, 1)",overflow:"hidden",color:"white",display:"flex",justifyContent:"center",alignItems:"center",fontSize:"30px",opacity:"0.7",zIndex:30},e)},t);export{s as default};
@@ -1 +1 @@
1
- import{useLatest as B}from"ahooks";import{Spin as M}from"antd/es";import d,{useContext as N,useRef as w,useState as U,useEffect as u}from"react";import{connect as F}from"react-redux";import{usePointCloudViews as T}from"../pointCloudView/hooks/usePointCloudViews.js";import{PointCloudContext as $}from"../pointCloudView/PointCloudContext.js";import{a2MapStateToProps as q}from"../../store/annotation/map.js";import{LabelBeeContext as A}from"../../store/ctx.js";import{PointCloud2DRectOperation as G,ImgUtils as H}from"@labelbee/lb-annotation";var J=Object.defineProperty,K=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,O=(o,e,t)=>e in o?J(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,f=(o,e)=>{for(var t in e||(e={}))W.call(e,t)&&O(o,t,e[t]);if(C)for(var t of C(e))X.call(e,t)&&O(o,t,e[t]);return o},R=(o,e)=>K(o,Q(e));const Y=o=>{var e;const{mappingData:t,size:l,config:b,checkMode:D,afterImgOnLoad:h}=o,s=(e=t==null?void 0:t.url)!=null?e:"",{pointCloudBoxList:c,setPointCloudResult:x}=N($),{update2DViewRect:y}=T(),p=d.useRef(null),n=w(null),m=B(y),v=w(null),[I,V]=U(!0),_=r=>{var a;const i=(a=m.current)==null?void 0:a.call(m,r);v.current=i,x(i)},j=()=>{var r;let a=[];c.forEach(i=>{const{rects:S=[],id:P,attribute:E,trackID:L}=i,g=S.find(z=>z.imageName===(t==null?void 0:t.path)),k=P+"_"+(t==null?void 0:t.path);g&&(a=[...a,R(f({},g),{boxID:P,id:k,attribute:E,order:L})])}),(r=n.current)==null||r.setResult(a)};return u(()=>{if(p.current){const r=new G({container:p.current,size:l,config:R(f({},b),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:D});return n.current=r,n.current.init(),n.current.on("updateDragResult",_),()=>{var a,i;(a=n.current)==null||a.unbind("updateDragResult",_),(i=n.current)==null||i.destroy()}}},[]),u(()=>{n.current&&s&&H.load(s).then(r=>{n.current.setImgNode(r),h(r),V(!1)})},[s]),u(()=>{var r;(r=n.current)==null||r.setSize(l)},[l]),u(()=>{c!==v.current&&j()},[c,s]),d.createElement(M,{spinning:I},d.createElement("div",{ref:p,style:f({position:"relative"},l)}))};var Z=F(q,null,null,{context:A})(Y);export{Z as default};
1
+ import{useLatest as B}from"ahooks";import{Spin as M}from"antd/es";import d,{useContext as N,useRef as w,useState as U,useEffect as u}from"react";import{connect as F}from"react-redux";import{usePointCloudViews as T}from"../pointCloudView/hooks/usePointCloudViews.js";import{PointCloudContext as $}from"../pointCloudView/PointCloudContext.js";import{a2MapStateToProps as q}from"../../store/annotation/map.js";import{LabelBeeContext as A}from"../../store/ctx.js";import{PointCloud2DRectOperation as G,ImgUtils as H}from"@labelbee/lb-annotation";var J=Object.defineProperty,K=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,O=(o,e,t)=>e in o?J(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,f=(o,e)=>{for(var t in e||(e={}))W.call(e,t)&&O(o,t,e[t]);if(C)for(var t of C(e))X.call(e,t)&&O(o,t,e[t]);return o},R=(o,e)=>K(o,Q(e));const Y=o=>{var e;const{mappingData:t,size:l,config:b,checkMode:D,afterImgOnLoad:h}=o,s=(e=t==null?void 0:t.url)!=null?e:"",{pointCloudBoxList:c,setPointCloudResult:x}=N($),{update2DViewRect:y}=T(),p=d.useRef(null),n=w(null),m=B(y),_=w(null),[I,V]=U(!0),v=r=>{var a;const i=(a=m.current)==null?void 0:a.call(m,r);_.current=i,x(i)},j=()=>{var r;let a=[];c.forEach(i=>{const{rects:S=[],id:P,attribute:E,trackID:L}=i,g=S.find(z=>z.imageName===(t==null?void 0:t.path)),k=P+"_"+(t==null?void 0:t.path);g&&(a=[...a,R(f({},g),{boxID:P,id:k,attribute:E,order:L})])}),(r=n.current)==null||r.setResult(a)};return u(()=>{if(p.current){const r=new G({container:p.current,size:l,config:R(f({},b),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:D});return n.current=r,n.current.init(),n.current.on("updateDragResult",v),()=>{var a,i;(a=n.current)==null||a.unbind("updateDragResult",v),(i=n.current)==null||i.destroy()}}},[]),u(()=>{n.current&&s&&H.load(s).then(r=>{n.current.setImgNode(r),h(r),V(!1)})},[s]),u(()=>{var r;(r=n.current)==null||r.setSize(l)},[l]),u(()=>{c!==_.current&&j()},[c,s]),d.createElement(M,{spinning:I},d.createElement("div",{ref:p,style:f({position:"relative"},l)}))};var Z=F(q,null,null,{context:A})(Y);export{Z as default};
@@ -1 +1 @@
1
- import{getClassName as L}from"../../utils/dom.js";import u,{useRef as y,useState as R,useContext as _,useCallback as O,useEffect as N}from"react";import w from"../AnnotationView/index.js";import A from"../../hooks/useSize.js";import{useSingleBox as q}from"./hooks/useSingleBox.js";import{useHighlight as F}from"./hooks/useHighlight.js";import G from"./components/HighlightVisible/index.js";import{PointCloudContext as J}from"./PointCloudContext.js";import K from"../pointCloud2DRectOperationView/index.js";var M=(t,l,e)=>new Promise((m,a)=>{var d=o=>{try{i(e.next(o))}catch(n){a(n)}},r=o=>{try{i(e.throw(o))}catch(n){a(n)}},i=o=>o.done?m(o.value):Promise.resolve(o.value).then(d,r);i((e=e.apply(t,l)).next())});const Q=({view2dData:t,setSelectedID:l,currentData:e,showEnlarge:m,checkMode:a=!1,measureVisible:d})=>{var r;const i=y(null),o=y(),{selectedBox:n}=q(),p=A(i),{url:h,calib:g,path:j}=t,{toggle2dVisible:P,isHighlightVisible:S}=F({currentData:e}),[k,x]=R(!1),{cuboidBoxIn2DView:z,cacheImageNodeSize:B}=_(J),I=!t,b=c=>{f(),B({path:j,imgNode:c})},f=O(()=>{var c,C;const v=(c=o.current)==null?void 0:c.toolInstance;if(l(""),!n||!v)return;const s=t.annotations.find(H=>H.annotation.id===n.info.id);let V="";s&&((C=s==null?void 0:s.annotation.pointList)==null?void 0:C.length)>0&&(v.focusPositionByPointList(s==null?void 0:s.annotation.pointList),V=n.info.id,l(V))},[n,o.current,t.annotations]);N(()=>{f()},[f]);const E=()=>M(void 0,null,function*(){x(!0),yield P(h,g),x(!1)});return u.createElement("div",{className:L("point-cloud-2d-image"),ref:i},z?u.createElement(w,{src:(r=t==null?void 0:t.url)!=null?r:"",annotations:t.annotations,size:p,ref:o,globalStyle:{display:I?"none":"block"},afterImgOnLoad:b,zoomInfo:{min:.01,max:1e3,ratio:.4},measureVisible:d}):u.createElement(K,{mappingData:t,size:p,checkMode:a,afterImgOnLoad:b}),g&&u.createElement(G,{visible:S(h),onClick:E,loading:k,style:{position:"absolute",right:16,top:16,zIndex:m?-1:101}}))};export{Q as default};
1
+ import{getClassName as H}from"../../utils/dom.js";import u,{useRef as y,useState as L,useContext as R,useCallback as O,useEffect as N}from"react";import w from"../AnnotationView/index.js";import A from"../../hooks/useSize.js";import{useSingleBox as q}from"./hooks/useSingleBox.js";import{useHighlight as F}from"./hooks/useHighlight.js";import G from"./components/HighlightVisible/index.js";import{PointCloudContext as J}from"./PointCloudContext.js";import K from"../pointCloud2DRectOperationView/index.js";var M=(t,s,e)=>new Promise((d,a)=>{var m=o=>{try{i(e.next(o))}catch(n){a(n)}},r=o=>{try{i(e.throw(o))}catch(n){a(n)}},i=o=>o.done?d(o.value):Promise.resolve(o.value).then(m,r);i((e=e.apply(t,s)).next())});const Q=({view2dData:t,setSelectedID:s,currentData:e,showEnlarge:d,checkMode:a=!1,measureVisible:m})=>{var r;const i=y(null),o=y(),{selectedBox:n}=q(),p=A(i),{url:h,calib:g,path:j}=t,{toggle2dVisible:P,isHighlightVisible:S}=F({currentData:e}),[k,x]=L(!1),{cuboidBoxIn2DView:_,cacheImageNodeSize:z}=R(J),B=!t,b=c=>{f(),z({path:j,imgNode:c})},f=O(()=>{var c,C;const v=(c=o.current)==null?void 0:c.toolInstance;if(s(""),!n||!v)return;const l=t.annotations.find(E=>E.annotation.id===n.info.id);let V="";l&&((C=l==null?void 0:l.annotation.pointList)==null?void 0:C.length)>0&&(v.focusPositionByPointList(l==null?void 0:l.annotation.pointList),V=n.info.id,s(V))},[n,o.current,t.annotations]);N(()=>{f()},[f]);const I=()=>M(void 0,null,function*(){x(!0),yield P(h,g),x(!1)});return u.createElement("div",{className:H("point-cloud-2d-image"),ref:i},_?u.createElement(w,{src:(r=t==null?void 0:t.url)!=null?r:"",annotations:t.annotations,size:p,ref:o,globalStyle:{display:B?"none":"block"},afterImgOnLoad:b,zoomInfo:{min:.01,max:1e3,ratio:.4},measureVisible:m}):u.createElement(K,{mappingData:t,size:p,checkMode:a,afterImgOnLoad:b}),g&&u.createElement(G,{visible:S(h),onClick:I,loading:k,style:{position:"absolute",right:16,top:16,zIndex:d?-1:101}}))};export{Q as default};
@@ -1 +1 @@
1
- import{getClassName as J}from"../../utils/dom.js";import i,{useState as L,useContext as ie,useEffect as Q}from"react";import{PointCloudContainer as le}from"./PointCloudLayout.js";import{PointCloudContext as re}from"./PointCloudContext.js";import{connect as se}from"react-redux";import{cKeyCode as ae,pointCloudLidar2image as ue,pointListLidar2Img as ce}from"@labelbee/lb-annotation";import{LabelBeeContext as de}from"../../store/ctx.js";import{a2MapStateToProps as me}from"../../store/annotation/map.js";import{toolStyleConverter as U}from"@labelbee/lb-utils";import pe from"./PointCloud2DSingleView.js";import W from"./components/TitleButton/index.js";import{LeftOutlined as fe}from"@ant-design/icons";import ge from"classnames";import ve from"../../assets/annotation/common/icon_esc.svg.js";import be from"../../assets/annotation/common/icon_left_squareOutlined.svg.js";import ye from"../../assets/annotation/common/icon_right_squareOutlined.svg.js";import{isNumber as Ee}from"lodash";var he=Object.defineProperty,we=Object.defineProperties,_e=Object.getOwnPropertyDescriptors,X=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?he(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,p=(e,n)=>{for(var t in n||(n={}))Ce.call(n,t)&&Y(e,t,n[t]);if(X)for(var t of X(n))Pe.call(n,t)&&Y(e,t,n[t]);return e},f=(e,n)=>we(e,_e(n));const I=ae.default,Le=({showEnlarge:e,isEnlargeTopView:n,data:t,setIsEnlarge:y,setCurIndex:g,curIndex:E=0,index:x,annotations2d:h})=>n?i.createElement(W,{title:t==null?void 0:t.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?i.createElement("div",{style:{display:"flex",alignItems:"center"}},i.createElement(fe,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{y(!1),g(void 0)}}),i.createElement("span",null,t==null?void 0:t.calName),i.createElement("span",{style:{marginLeft:"8px"}},E+1,"/",h==null?void 0:h.length)):i.createElement(W,{title:t==null?void 0:t.calName,onClick:()=>{y(!0),g(x)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),xe=({currentData:e,config:n,thumbnailWidth:t,isEnlargeTopView:y,highlightAttribute:g,loadPCDFileLoading:E,checkMode:x,measureVisible:h})=>{var O;const[d,Z]=L([]),{topViewInstance:B,displayPointCloudList:j,polygonList:S,imageSizes:N,selectedIDs:V}=ie(re),[F,D]=L(""),[w,k]=L(!1),[a,_]=L(void 0);Q(()=>{var l;if(!E&&B&&(e==null?void 0:e.mappingImgList)&&((l=e==null?void 0:e.mappingImgList)==null?void 0:l.length)>0){const r={fill:"transparent",color:"green"};let s=[];e==null||e.mappingImgList.forEach(o=>{var v,T,K;const $=j.reduce((m,c)=>{var b,u;const C=c.id===F||g===c.attribute,{transferViewData:H,viewRangePointList:P}=(b=ue(c,o.calib,{createRange:C}))!=null?b:{};if(!H||!P)return[];const M=(u=U.getColorFromConfig({attribute:c.attribute},f(p({},n),{attributeConfigurable:!0}),{}))==null?void 0:u.stroke,ne=ee({viewDataPointList:H,pointCloudBox:c,defaultViewStyle:r,stroke:M}),G=[...m,...ne];return(P==null?void 0:P.length)>0&&G.unshift({type:"polygon",annotation:f(p({id:F,pointList:P},r),{stroke:M,fill:"rgba(255, 255, 255, 0.6)"})}),G},[]),q=N[(v=o==null?void 0:o.path)!=null?v:""];q&&Ee((T=o==null?void 0:o.calib)==null?void 0:T.groundHeight)&&S.forEach(m=>{const c=m.pointList.map(u=>{var C;return f(p({},u),{z:(C=o==null?void 0:o.calib)==null?void 0:C.groundHeight})}),b=ce(c,o==null?void 0:o.calib,q);if(b){const u=U.getColorFromConfig({attribute:m.attribute},f(p({},n),{attributeConfigurable:!0}),{});$.push({type:"polygon",annotation:f(p({id:m.id,pointList:b},r),{stroke:u==null?void 0:u.stroke,fill:V.includes(m.id)?u==null?void 0:u.fill:"rgba(255, 255, 255, 0.6)"})})}}),s.push({annotations:$,url:o==null?void 0:o.url,calName:(K=o==null?void 0:o.calib)==null?void 0:K.calName,calib:o==null?void 0:o.calib,path:o==null?void 0:o.path})}),Z(s)}},[j,e==null?void 0:e.mappingImgList,F,g,E,S,N,V]),Q(()=>(window.addEventListener("keydown",R),()=>{window.removeEventListener("keydown",R)}),[a]);const R=l=>{const{keyCode:r}=l;switch(r){case I.Esc:w&&k(!1);break;case I.Left:A();break;case I.Right:z();break}},A=()=>{a===void 0||!w||Number(a)>0&&_(a-1)},z=()=>{a===void 0||!w||Number(a)<(d==null?void 0:d.length)-1&&_(a+1)},ee=({viewDataPointList:l,pointCloudBox:r,defaultViewStyle:s,stroke:o})=>l?l.map(v=>({type:v.type,annotation:f(p({id:r.id,pointList:v.pointList},s),{stroke:o})})):[],te=!e||!(e==null?void 0:e.mappingImgList)||!(((O=e==null?void 0:e.mappingImgList)==null?void 0:O.length)>0),oe=i.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},i.createElement("img",{src:be,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>A()}),i.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),i.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),i.createElement("img",{src:ye,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>z()}),i.createElement("img",{src:ve,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{k(!1),_(void 0)}}),i.createElement("span",null,"\u952E\u9000\u51FA"));return(d==null?void 0:d.length)>0?i.createElement(i.Fragment,null,d.map((l,r)=>{const s=w&&r===a;return i.createElement(le,{className:ge({[J("point-cloud-2d-container")]:!0,[J("point-cloud-container","zoom")]:s}),title:i.createElement(Le,{showEnlarge:s,isEnlargeTopView:y,data:l,setIsEnlarge:k,setCurIndex:_,curIndex:a,index:r,annotations2d:d}),titleOnSurface:!s,style:{display:te?"none":"flex",width:s?"100%":t},key:r,toolbar:oe},(l==null?void 0:l.annotations)&&(l==null?void 0:l.url)&&i.createElement(pe,{currentData:e,view2dData:l,setSelectedID:D,showEnlarge:s,checkMode:x,measureVisible:h}))})):null};var Fe=se(me,null,null,{context:de})(xe);export{Fe as default};
1
+ import{getClassName as J}from"../../utils/dom.js";import i,{useState as L,useContext as ie,useEffect as Q}from"react";import{PointCloudContainer as le}from"./PointCloudLayout.js";import{PointCloudContext as re}from"./PointCloudContext.js";import{connect as se}from"react-redux";import{cKeyCode as ae,pointCloudLidar2image as ue,pointListLidar2Img as ce}from"@labelbee/lb-annotation";import{LabelBeeContext as de}from"../../store/ctx.js";import{a2MapStateToProps as me}from"../../store/annotation/map.js";import{toolStyleConverter as U}from"@labelbee/lb-utils";import fe from"./PointCloud2DSingleView.js";import W from"./components/TitleButton/index.js";import{LeftOutlined as pe}from"@ant-design/icons";import ge from"classnames";import ve from"../../assets/annotation/common/icon_esc.svg.js";import be from"../../assets/annotation/common/icon_left_squareOutlined.svg.js";import ye from"../../assets/annotation/common/icon_right_squareOutlined.svg.js";import{isNumber as Ee}from"lodash";var _e=Object.defineProperty,he=Object.defineProperties,we=Object.getOwnPropertyDescriptors,X=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,Y=(e,n,t)=>n in e?_e(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,f=(e,n)=>{for(var t in n||(n={}))Ce.call(n,t)&&Y(e,t,n[t]);if(X)for(var t of X(n))Pe.call(n,t)&&Y(e,t,n[t]);return e},p=(e,n)=>he(e,we(n));const I=ae.default,Le=({showEnlarge:e,isEnlargeTopView:n,data:t,setIsEnlarge:y,setCurIndex:g,curIndex:E=0,index:x,annotations2d:_})=>n?i.createElement(W,{title:t==null?void 0:t.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?i.createElement("div",{style:{display:"flex",alignItems:"center"}},i.createElement(pe,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{y(!1),g(void 0)}}),i.createElement("span",null,t==null?void 0:t.calName),i.createElement("span",{style:{marginLeft:"8px"}},E+1,"/",_==null?void 0:_.length)):i.createElement(W,{title:t==null?void 0:t.calName,onClick:()=>{y(!0),g(x)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),xe=({currentData:e,config:n,thumbnailWidth:t,isEnlargeTopView:y,highlightAttribute:g,loadPCDFileLoading:E,checkMode:x,measureVisible:_})=>{var O;const[d,Z]=L([]),{topViewInstance:B,displayPointCloudList:j,polygonList:S,imageSizes:N,selectedIDs:V}=ie(re),[F,D]=L(""),[h,k]=L(!1),[a,w]=L(void 0);Q(()=>{var l;if(!E&&B&&(e==null?void 0:e.mappingImgList)&&((l=e==null?void 0:e.mappingImgList)==null?void 0:l.length)>0){const r={fill:"transparent",color:"green"};let s=[];e==null||e.mappingImgList.forEach(o=>{var v,T,K;const $=j.reduce((m,c)=>{var b,u;const C=c.id===F||g===c.attribute,{transferViewData:H,viewRangePointList:P}=(b=ue(c,o.calib,{createRange:C}))!=null?b:{};if(!H||!P)return[];const M=(u=U.getColorFromConfig({attribute:c.attribute},p(f({},n),{attributeConfigurable:!0}),{}))==null?void 0:u.stroke,ne=ee({viewDataPointList:H,pointCloudBox:c,defaultViewStyle:r,stroke:M}),G=[...m,...ne];return(P==null?void 0:P.length)>0&&G.unshift({type:"polygon",annotation:p(f({id:F,pointList:P},r),{stroke:M,fill:"rgba(255, 255, 255, 0.6)"})}),G},[]),q=N[(v=o==null?void 0:o.path)!=null?v:""];q&&Ee((T=o==null?void 0:o.calib)==null?void 0:T.groundHeight)&&S.forEach(m=>{const c=m.pointList.map(u=>{var C;return p(f({},u),{z:(C=o==null?void 0:o.calib)==null?void 0:C.groundHeight})}),b=ce(c,o==null?void 0:o.calib,q);if(b){const u=U.getColorFromConfig({attribute:m.attribute},p(f({},n),{attributeConfigurable:!0}),{});$.push({type:"polygon",annotation:p(f({id:m.id,pointList:b},r),{stroke:u==null?void 0:u.stroke,fill:V.includes(m.id)?u==null?void 0:u.fill:"rgba(255, 255, 255, 0.6)"})})}}),s.push({annotations:$,url:o==null?void 0:o.url,calName:(K=o==null?void 0:o.calib)==null?void 0:K.calName,calib:o==null?void 0:o.calib,path:o==null?void 0:o.path})}),Z(s)}},[j,e==null?void 0:e.mappingImgList,F,g,E,S,N,V]),Q(()=>(window.addEventListener("keydown",R),()=>{window.removeEventListener("keydown",R)}),[a]);const R=l=>{const{keyCode:r}=l;switch(r){case I.Esc:h&&k(!1);break;case I.Left:A();break;case I.Right:z();break}},A=()=>{a===void 0||!h||Number(a)>0&&w(a-1)},z=()=>{a===void 0||!h||Number(a)<(d==null?void 0:d.length)-1&&w(a+1)},ee=({viewDataPointList:l,pointCloudBox:r,defaultViewStyle:s,stroke:o})=>l?l.map(v=>({type:v.type,annotation:p(f({id:r.id,pointList:v.pointList},s),{stroke:o})})):[],te=!e||!(e==null?void 0:e.mappingImgList)||!(((O=e==null?void 0:e.mappingImgList)==null?void 0:O.length)>0),oe=i.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},i.createElement("img",{src:be,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>A()}),i.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),i.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),i.createElement("img",{src:ye,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>z()}),i.createElement("img",{src:ve,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{k(!1),w(void 0)}}),i.createElement("span",null,"\u952E\u9000\u51FA"));return(d==null?void 0:d.length)>0?i.createElement(i.Fragment,null,d.map((l,r)=>{const s=h&&r===a;return i.createElement(le,{className:ge({[J("point-cloud-2d-container")]:!0,[J("point-cloud-container","zoom")]:s}),title:i.createElement(Le,{showEnlarge:s,isEnlargeTopView:y,data:l,setIsEnlarge:k,setCurIndex:w,curIndex:a,index:r,annotations2d:d}),titleOnSurface:!s,style:{display:te?"none":"flex",width:s?"100%":t},key:r,toolbar:oe},(l==null?void 0:l.annotations)&&(l==null?void 0:l.url)&&i.createElement(fe,{currentData:e,view2dData:l,setSelectedID:D,showEnlarge:s,checkMode:x,measureVisible:_}))})):null};var Fe=se(me,null,null,{context:de})(xe);export{Fe as default};
@@ -1 +1 @@
1
- import{getClassName as m}from"../../utils/dom.js";import{cKeyCode as K,PointCloud as M}from"@labelbee/lb-annotation";import{PointCloudUtils as B,toolStyleConverter as Z,EPerspectiveView as E}from"@labelbee/lb-utils";import j from"classnames";import e,{useContext as b,useState as O,useRef as H,useEffect as u,useMemo as U}from"react";import{PointCloudContainer as q}from"./PointCloudLayout.js";import{PointCloudContext as G}from"./PointCloudContext.js";import{a2MapStateToProps as J}from"../../store/annotation/map.js";import{connect as Q}from"react-redux";import{jsonParser as W}from"../../utils/index.js";import{useSingleBox as X}from"./hooks/useSingleBox.js";import{useSphere as Y}from"./hooks/useSphere.js";import{Switch as $,Tooltip as ee}from"antd";import te from"../../hooks/useSize.js";import{usePointCloudViews as oe}from"./hooks/usePointCloudViews.js";import{useTranslation as L}from"react-i18next";import{LabelBeeContext as ne}from"../../store/ctx.js";import ie from"./components/PointCloudSizeSlider/index.js";import re from"./components/TitleButton/index.js";import{LeftOutlined as ae}from"@ant-design/icons";var le=Object.defineProperty,se=Object.defineProperties,ce=Object.getOwnPropertyDescriptors,z=Object.getOwnPropertySymbols,me=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,D=(n,r,a)=>r in n?le(n,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[r]=a,N=(n,r)=>{for(var a in r||(r={}))me.call(r,a)&&D(n,a,r[a]);if(z)for(var a of z(r))ue.call(r,a)&&D(n,a,r[a]);return n},de=(n,r)=>se(n,ce(r));const pe=K.default,we="LABELBEE-POINTCLOUD",P=e.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),d=({perspectiveView:n})=>{const{isActive:r,setTarget3DView:a}=b(P),o=p=>j({[m("point-cloud-3d-view",p)]:!0,active:r});return e.createElement("span",{onClick:()=>{a(E[n])},className:o(n.toLocaleLowerCase())})},k=({isEnlarge:n})=>{const{reset3DView:r,followTopView:a}=b(P),{t:o}=L(),p=e.createElement(e.Fragment,null,e.createElement(d,{perspectiveView:"Top"}),e.createElement(d,{perspectiveView:"Front"}),e.createElement(d,{perspectiveView:"Left"}),e.createElement(d,{perspectiveView:"Back"}),e.createElement(d,{perspectiveView:"Right"}),e.createElement(d,{perspectiveView:"LFT"}),e.createElement(d,{perspectiveView:"RBT"})),V=e.createElement(e.Fragment,null,e.createElement(ee,{title:o("CameraFollowTopView")},e.createElement("span",{onClick:()=>{a()},className:m("point-cloud-3d-view","followTop")})),e.createElement("span",{onClick:()=>{r()},className:m("point-cloud-3d-view","reset")}));return n?e.createElement("div",{className:m("point-cloud-3d-sidebarZoom")},V,p):e.createElement("div",{className:m("point-cloud-3d-sidebar")},p,V)},ve=({currentData:n,config:r,highlightAttribute:a})=>{const o=b(G),[p,V]=O(!0),[v,h]=O(!1),f=H(null),{initPointCloud3d:S}=oe(),C=te(f),{t:_}=L();u(()=>{!o.mainViewInstance||S==null||S(C)},[C]);const{selectedBox:w}=X(),{selectedSphere:g}=Y(),x=t=>{var i,l;const s=w==null?void 0:w.info;if(s){const c=N({},s.center);c.x=c.x-.01,c.z=1e3;const I=t===E.Top;(i=o.mainViewInstance)==null||i.updateCameraByBox(s,t,I?c:void 0)}g&&((l=o.mainViewInstance)==null||l.updateCameraBySphere(g,t))},R=()=>{var t;(t=o.mainViewInstance)==null||t.resetCamera()},F=()=>{var t,i;const l=(t=o.topViewInstance)==null?void 0:t.pointCloudInstance.camera;l&&((i=o.mainViewInstance)==null||i.applyCameraTarget(l))};u(()=>{if(f.current&&(n==null?void 0:n.url)){let t=o.mainViewInstance;!t&&C.width&&(t=new M({container:f.current,isOrthographicCamera:!0,orthographicParams:B.getDefaultOrthographicParams(C),config:r}),o.setMainViewInstance(t))}},[C,n]),u(()=>{var t;if(f.current&&(n==null?void 0:n.url)&&n.result&&o.mainViewInstance){let i=o.mainViewInstance;const l=B.getBoxParamsFromResultList(n.result);l.forEach(s=>{var c;const I=(c=Z.getColorFromConfig({attribute:s.attribute},de(N({},r),{attributeConfigurable:!0}),{}))==null?void 0:c.hex;i==null||i.addBoxToSense(s,I)}),i.render(),o.setPointCloudResult(l),o.setPointCloudValid((t=W(n.result))==null?void 0:t.valid)}},[n,o.mainViewInstance]),u(()=>{var t,i,l,s;if(w){x(E.Top);const c=(l=(i=(t=o.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:i.camera.zoom)!=null?l:1;(s=o.mainViewInstance)==null||s.updateCameraZoom(c)}},[w]),u(()=>{var t,i,l,s;if(g){x(E.Top);const c=(l=(i=(t=o.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:i.camera.zoom)!=null?l:1;(s=o.mainViewInstance)==null||s.updateCameraZoom(c)}},[g]),u(()=>(window.addEventListener("keydown",T),()=>{window.removeEventListener("keydown",T)}),[]);const T=t=>{if(t.keyCode===pe.Esc){h(!1);return}},y=U(()=>({reset3DView:R,setTarget3DView:x,isActive:!!w,followTopView:F}),[w,o.mainViewInstance]);u(()=>{var t,i,l;const s=o.pointCloudBoxList.filter(c=>c.attribute===a);(s==null?void 0:s.length)>0&&((t=o.mainViewInstance)==null||t.clearHighlightBoxes(),(i=o.mainViewInstance)==null||i.highlightBoxes(s)),s.length===0&&((l=o.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[a,o.mainViewInstance]);const A=e.createElement(e.Fragment,null,e.createElement(ie,{onChange:t=>{var i;(i=o.mainViewInstance)==null||i.updatePointSize({customSize:t})}}),e.createElement("span",{style:{marginRight:8}},_("ShowArrows")),e.createElement($,{size:"small",checked:p,onChange:t=>{var i;V(t),(i=o.mainViewInstance)==null||i.setShowDirection(t)}}),v&&e.createElement(P.Provider,{value:y},e.createElement(k,{isEnlarge:v})));return e.createElement(q,{className:j({[m("point-cloud-3d-container")]:!0,[m("point-cloud-container","zoom")]:v}),title:v?e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement(ae,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{h(!1)}}),_("3DView")):e.createElement(re,{title:_("3DView"),onClick:()=>{h(!0)}}),toolbar:A},e.createElement("div",{className:m("point-cloud-3d-content")},!v&&e.createElement(P.Provider,{value:y},e.createElement(k,null)),e.createElement("div",{className:m("point-cloud-3d-view"),id:we,ref:f})))};var fe=Q(J,null,null,{context:ne})(ve);export{fe as default};
1
+ import{getClassName as m}from"../../utils/dom.js";import{cKeyCode as K,PointCloud as M}from"@labelbee/lb-annotation";import{PointCloudUtils as B,toolStyleConverter as Z,EPerspectiveView as E}from"@labelbee/lb-utils";import j from"classnames";import e,{useContext as b,useState as O,useRef as H,useEffect as u,useMemo as U}from"react";import{PointCloudContainer as q}from"./PointCloudLayout.js";import{PointCloudContext as G}from"./PointCloudContext.js";import{a2MapStateToProps as J}from"../../store/annotation/map.js";import{connect as Q}from"react-redux";import{jsonParser as W}from"../../utils/index.js";import{useSingleBox as X}from"./hooks/useSingleBox.js";import{useSphere as Y}from"./hooks/useSphere.js";import{Switch as $,Tooltip as ee}from"antd";import te from"../../hooks/useSize.js";import{usePointCloudViews as oe}from"./hooks/usePointCloudViews.js";import{useTranslation as L}from"react-i18next";import{LabelBeeContext as ne}from"../../store/ctx.js";import ie from"./components/PointCloudSizeSlider/index.js";import re from"./components/TitleButton/index.js";import{LeftOutlined as ae}from"@ant-design/icons";var le=Object.defineProperty,se=Object.defineProperties,ce=Object.getOwnPropertyDescriptors,z=Object.getOwnPropertySymbols,me=Object.prototype.hasOwnProperty,ue=Object.prototype.propertyIsEnumerable,D=(n,r,a)=>r in n?le(n,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[r]=a,N=(n,r)=>{for(var a in r||(r={}))me.call(r,a)&&D(n,a,r[a]);if(z)for(var a of z(r))ue.call(r,a)&&D(n,a,r[a]);return n},de=(n,r)=>se(n,ce(r));const pe=K.default,we="LABELBEE-POINTCLOUD",P=e.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),d=({perspectiveView:n})=>{const{isActive:r,setTarget3DView:a}=b(P),o=p=>j({[m("point-cloud-3d-view",p)]:!0,active:r});return e.createElement("span",{onClick:()=>{a(E[n])},className:o(n.toLocaleLowerCase())})},k=({isEnlarge:n})=>{const{reset3DView:r,followTopView:a}=b(P),{t:o}=L(),p=e.createElement(e.Fragment,null,e.createElement(d,{perspectiveView:"Top"}),e.createElement(d,{perspectiveView:"Front"}),e.createElement(d,{perspectiveView:"Left"}),e.createElement(d,{perspectiveView:"Back"}),e.createElement(d,{perspectiveView:"Right"}),e.createElement(d,{perspectiveView:"LFT"}),e.createElement(d,{perspectiveView:"RBT"})),V=e.createElement(e.Fragment,null,e.createElement(ee,{title:o("CameraFollowTopView")},e.createElement("span",{onClick:()=>{a()},className:m("point-cloud-3d-view","followTop")})),e.createElement("span",{onClick:()=>{r()},className:m("point-cloud-3d-view","reset")}));return n?e.createElement("div",{className:m("point-cloud-3d-sidebarZoom")},V,p):e.createElement("div",{className:m("point-cloud-3d-sidebar")},p,V)},ve=({currentData:n,config:r,highlightAttribute:a})=>{const o=b(G),[p,V]=O(!0),[v,_]=O(!1),f=H(null),{initPointCloud3d:S}=oe(),C=te(f),{t:h}=L();u(()=>{!o.mainViewInstance||S==null||S(C)},[C]);const{selectedBox:w}=X(),{selectedSphere:g}=Y(),x=t=>{var i,l;const s=w==null?void 0:w.info;if(s){const c=N({},s.center);c.x=c.x-.01,c.z=1e3;const I=t===E.Top;(i=o.mainViewInstance)==null||i.updateCameraByBox(s,t,I?c:void 0)}g&&((l=o.mainViewInstance)==null||l.updateCameraBySphere(g,t))},R=()=>{var t;(t=o.mainViewInstance)==null||t.resetCamera()},F=()=>{var t,i;const l=(t=o.topViewInstance)==null?void 0:t.pointCloudInstance.camera;l&&((i=o.mainViewInstance)==null||i.applyCameraTarget(l))};u(()=>{if(f.current&&(n==null?void 0:n.url)){let t=o.mainViewInstance;!t&&C.width&&(t=new M({container:f.current,isOrthographicCamera:!0,orthographicParams:B.getDefaultOrthographicParams(C),config:r}),o.setMainViewInstance(t))}},[C,n]),u(()=>{var t;if(f.current&&(n==null?void 0:n.url)&&n.result&&o.mainViewInstance){let i=o.mainViewInstance;const l=B.getBoxParamsFromResultList(n.result);l.forEach(s=>{var c;const I=(c=Z.getColorFromConfig({attribute:s.attribute},de(N({},r),{attributeConfigurable:!0}),{}))==null?void 0:c.hex;i==null||i.addBoxToSense(s,I)}),i.render(),o.setPointCloudResult(l),o.setPointCloudValid((t=W(n.result))==null?void 0:t.valid)}},[n,o.mainViewInstance]),u(()=>{var t,i,l,s;if(w){x(E.Top);const c=(l=(i=(t=o.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:i.camera.zoom)!=null?l:1;(s=o.mainViewInstance)==null||s.updateCameraZoom(c)}},[w]),u(()=>{var t,i,l,s;if(g){x(E.Top);const c=(l=(i=(t=o.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:i.camera.zoom)!=null?l:1;(s=o.mainViewInstance)==null||s.updateCameraZoom(c)}},[g]),u(()=>(window.addEventListener("keydown",T),()=>{window.removeEventListener("keydown",T)}),[]);const T=t=>{if(t.keyCode===pe.Esc){_(!1);return}},y=U(()=>({reset3DView:R,setTarget3DView:x,isActive:!!w,followTopView:F}),[w,o.mainViewInstance]);u(()=>{var t,i,l;const s=o.pointCloudBoxList.filter(c=>c.attribute===a);(s==null?void 0:s.length)>0&&((t=o.mainViewInstance)==null||t.clearHighlightBoxes(),(i=o.mainViewInstance)==null||i.highlightBoxes(s)),s.length===0&&((l=o.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[a,o.mainViewInstance]);const A=e.createElement(e.Fragment,null,e.createElement(ie,{onChange:t=>{var i;(i=o.mainViewInstance)==null||i.updatePointSize({customSize:t})}}),e.createElement("span",{style:{marginRight:8}},h("ShowArrows")),e.createElement($,{size:"small",checked:p,onChange:t=>{var i;V(t),(i=o.mainViewInstance)==null||i.setShowDirection(t)}}),v&&e.createElement(P.Provider,{value:y},e.createElement(k,{isEnlarge:v})));return e.createElement(q,{className:j({[m("point-cloud-3d-container")]:!0,[m("point-cloud-container","zoom")]:v}),title:v?e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement(ae,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{_(!1)}}),h("3DView")):e.createElement(re,{title:h("3DView"),onClick:()=>{_(!0)}}),toolbar:A},e.createElement("div",{className:m("point-cloud-3d-content")},!v&&e.createElement(P.Provider,{value:y},e.createElement(k,null)),e.createElement("div",{className:m("point-cloud-3d-view"),id:we,ref:f})))};var fe=Q(J,null,null,{context:ne})(ve);export{fe as default};
@@ -1 +1 @@
1
- import{EPointCloudPattern as O}from"@labelbee/lb-utils";import $,{useState as n,useRef as wt,useMemo as tt,useEffect as At}from"react";import{ActionsHistory as et,EToolName as R}from"@labelbee/lb-annotation";import{useDispatch as Dt}from"../../store/ctx.js";import{ChangeSave as Vt}from"../../store/annotation/actionCreators.js";var _t=Object.defineProperty,xt=Object.defineProperties,Bt=Object.getOwnPropertyDescriptors,ot=Object.getOwnPropertySymbols,Ot=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable,nt=(l,e,i)=>e in l?_t(l,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):l[e]=i,Ht=(l,e)=>{for(var i in e||(e={}))Ot.call(e,i)&&nt(l,i,e[i]);if(ot)for(var i of ot(e))Rt.call(e,i)&&nt(l,i,e[i]);return l},jt=(l,e)=>xt(l,Bt(e)),zt=(l,e,i)=>new Promise((h,C)=>{var I=P=>{try{v(i.next(P))}catch(a){C(a)}},w=P=>{try{v(i.throw(P))}catch(a){C(a)}},v=P=>P.done?h(P.value):Promise.resolve(P.value).then(I,w);v((i=i.apply(l,e)).next())});const it=$.createContext({pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new et,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:R.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:O.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:l=>{},imageSizes:{},cacheImageNodeSize:()=>{}}),Et=({children:l})=>{const[e,i]=n([]),[h,C]=n([]),[I,w]=n([]),[v,P]=n([]),[a,A]=n([]),[H,st]=n(!0),[j,lt]=n(!0),[z,rt]=n(1),[r,E]=n(),[G,N]=n(),[F,M]=n(),[s,T]=n(),[Z,at]=n(""),[D,ct]=n(R.Rect),dt=wt(new et).current,[c,V]=n([]),[k,ut]=n(""),[_,pt]=n(O.Detection),[m,q]=n(void 0),[x,Pt]=n([]),[B,ft]=n([]),[J,gt]=n({}),vt=Dt(),ht=f=>{const{imgNode:u,path:p}=f;p&&u&&gt(g=>jt(Ht({},g),{[p]:{width:u.width,height:u.height}}))},K=tt(()=>a.length===1?a[0]:"",[a]),Q=tt(()=>{const f=e.find(t=>t.id===K),u=t=>{const o=e.concat(t);return i(o),o},p=t=>{const o=h.concat(t);return C(o),o},g=t=>{st(t!==!1)},d=t=>{t===void 0&&A([]),typeof t=="string"&&A([t]),Array.isArray(t)&&A(Array.from(new Set(t)))},bt=t=>{a.includes(t)?d(a.filter(o=>o!==t)):d([...a,t])},Ct=()=>{if(D===R.Rect){const t=e.map(o=>o.id);d(t),r==null||r.pointCloud2dOperation.setSelectedIDs(t)}},It=t=>{d(e.filter(o=>o.attribute===t).map(o=>o.id))},U=e.filter(t=>!c.includes(t.attribute)),W=h.filter(t=>!c.includes(t.attribute)),X=v.filter(t=>t.attribute&&!c.includes(t.attribute)),St=t=>{if(c.includes(t))V(c.filter(o=>o!==t));else{const o=c.concat(t);V(o)}},yt=(t=U,o=I,S=W,L=X,y=x)=>{var b;s==null||s.clearAllBox(),s==null||s.clearAllSphere(),r==null||r.updatePolygonList(t,o),r==null||r.updatePointList(S),r==null||r.updateLineList(L),s==null||s.generateBoxes(t),s==null||s.generateSpheres(S),(b=m==null?void 0:m.store)==null||b.updateCurrentSegment(y),Y(t)},Lt=()=>{E(void 0),N(void 0),M(void 0),T(void 0)},Y=(t,o)=>zt(void 0,null,function*(){var S;if(!s)return;const L=s.pointCloudObject;if(!!L)try{const y=yield s.getHighlightIndexByMappingImgList({mappingImgList:o!=null?o:B,points:L.geometry.attributes.position.array}),b=yield s==null?void 0:s.highlightOriginPointCloud(t,y);return b&&((S=r==null?void 0:r.pointCloudInstance)==null||S.updateColor(b)),b}catch(y){console.error(y)}});return{selectedID:K,pointCloudBoxList:e,pointCloudSphereList:h,displayPointCloudList:U,displaySphereList:W,displayLineList:X,selectedIDs:a,setPointCloudResult:i,setSelectedIDs:d,addPointCloudBox:u,addPointCloudSphere:p,setPointCloudSphereList:C,valid:H,selectedPointCloudBox:f,setPointCloudValid:g,addSelectedID:bt,selectedAllBoxes:Ct,topViewInstance:r,setTopViewInstance:E,sideViewInstance:G,setSideViewInstance:N,backViewInstance:F,setBackViewInstance:M,mainViewInstance:s,setMainViewInstance:T,polygonList:I,setPolygonList:w,lineList:v,setLineList:P,zoom:z,setZoom:rt,history:dt,toggleAttributesVisible:St,hideAttributes:c,setHideAttributes:V,reRender:yt,attrPanelLayout:k,setAttrPanelLayout:ut,syncAllViewPointCloudColor:Y,defaultAttribute:Z,setDefaultAttribute:at,pointCloudPattern:D,setPointCloudPattern:ct,selectSpecAttr:It,globalPattern:_,setGlobalPattern:t=>{_!==t&&(vt(Vt),pt(t),t===O.Detection&&q(void 0))},ptSegmentInstance:m,setPtSegmentInstance:q,segmentation:x,setSegmentation:Pt,clearAllDetectionInstance:Lt,highlight2DDataList:B,setHighlight2DDataList:ft,cuboidBoxIn2DView:j,setCuboidBoxIn2DView:lt,imageSizes:J,cacheImageNodeSize:ht}},[H,a,e,h,I,v,r,G,F,s,z,c,k,Z,D,_,m,x,B,j,J]),mt=()=>{const f=e.filter(d=>c.includes(d.attribute)),{setSelectedIDs:u,reRender:p}=Q,g=f.map(d=>d.id);g.length>0&&u(a.filter(d=>!g.includes(d))),p()};return At(()=>{var f,u,p,g;mt(),(u=(f=r==null?void 0:r.toolInstance)==null?void 0:f.setHiddenAttributes)==null||u.call(f,c),(g=(p=m==null?void 0:m.store)==null?void 0:p.setHiddenAttributes)==null||g.call(p,c)},[c]),$.createElement(it.Provider,{value:Q},l)};export{it as PointCloudContext,Et as PointCloudProvider};
1
+ import{EPointCloudPattern as z}from"@labelbee/lb-utils";import nt,{useState as n,useRef as Vt,useMemo as it,useEffect as E}from"react";import{ActionsHistory as st,EToolName as G}from"@labelbee/lb-annotation";import{useDispatch as Bt}from"../../store/ctx.js";import{ChangeSave as Ot}from"../../store/annotation/actionCreators.js";import Ht from"../../store/annotatedBox/index.js";var Rt=Object.defineProperty,jt=Object.defineProperties,zt=Object.getOwnPropertyDescriptors,lt=Object.getOwnPropertySymbols,Et=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable,rt=(a,e,i)=>e in a?Rt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):a[e]=i,Nt=(a,e)=>{for(var i in e||(e={}))Et.call(e,i)&&rt(a,i,e[i]);if(lt)for(var i of lt(e))Gt.call(e,i)&&rt(a,i,e[i]);return a},Ft=(a,e)=>jt(a,zt(e)),Mt=(a,e,i)=>new Promise((m,C)=>{var S=v=>{try{f(i.next(v))}catch(s){C(s)}},_=v=>{try{f(i.throw(v))}catch(s){C(s)}},f=v=>v.done?m(v.value):Promise.resolve(v.value).then(S,_);f((i=i.apply(a,e)).next())});const at=nt.createContext({pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],highlightIDs:[],setHighlightIDs:()=>{},valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},addHighlightID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new st,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:G.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:z.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:a=>{},imageSizes:{},cacheImageNodeSize:()=>{}}),Tt=({children:a})=>{const[e,i]=n([]),[m,C]=n([]),[S,_]=n([]),[f,v]=n([]),[s,x]=n([]),[y,V]=n([]),[N,dt]=n(!0),[F,ct]=n(!0),[M,ut]=n(1),[d,T]=n(),[Z,k]=n(),[q,J]=n(),[l,K]=n(),[Q,pt]=n(""),[B,gt]=n(G.Rect),ht=Vt(new st).current,[p,O]=n([]),[U,vt]=n(""),[H,Pt]=n(z.Detection),[b,W]=n(void 0),[R,ft]=n([]),[j,mt]=n([]),g=Ht(),[X,bt]=n({}),It=Bt(),Ct=r=>{const{imgNode:c,path:u}=r;u&&c&&bt(P=>Ft(Nt({},P),{[u]:{width:c.width,height:c.height}}))},Y=it(()=>s.length===1?s[0]:"",[s]),w=it(()=>{const r=e.find(t=>t.id===Y),c=t=>{const o=e.concat(t);return i(o),o},u=t=>{const o=m.concat(t);return C(o),o},P=t=>{dt(t!==!1)},h=t=>{t===void 0&&x([]),typeof t=="string"&&x([t]),Array.isArray(t)&&x(Array.from(new Set(t)))},yt=t=>{s.includes(t)?h(s.filter(o=>o!==t)):h([...s,t])},Lt=t=>{y.includes(t)?V([]):V([t])},Dt=()=>{if(B===G.Rect){const t=e.map(o=>o.id);h(t),d==null||d.pointCloud2dOperation.setSelectedIDs(t)}},wt=t=>{h(e.filter(o=>o.attribute===t).map(o=>o.id))},$=e.filter(t=>!p.includes(t.attribute)),tt=m.filter(t=>!p.includes(t.attribute)),et=f.filter(t=>t.attribute&&!p.includes(t.attribute)),At=t=>{if(p.includes(t))O(p.filter(o=>o!==t));else{const o=p.concat(t);O(o)}},_t=(t=$,o=S,L=tt,A=et,D=R)=>{var I;l==null||l.clearAllBox(),l==null||l.clearAllSphere(),d==null||d.updatePolygonList(t,o),d==null||d.updatePointList(L),d==null||d.updateLineList(A),l==null||l.generateBoxes(t),l==null||l.generateSpheres(L),(I=b==null?void 0:b.store)==null||I.updateCurrentSegment(D),ot(t)},xt=()=>{T(void 0),k(void 0),J(void 0),K(void 0)},ot=(t,o)=>Mt(void 0,null,function*(){var L;if(!l)return;const A=l.pointCloudObject;if(!!A)try{const D=yield l.getHighlightIndexByMappingImgList({mappingImgList:o!=null?o:j,points:A.geometry.attributes.position.array}),I=yield l==null?void 0:l.highlightOriginPointCloud(t,D);return I&&((L=d==null?void 0:d.pointCloudInstance)==null||L.updateColor(I)),I}catch(D){console.error(D)}});return{selectedID:Y,pointCloudBoxList:e,pointCloudSphereList:m,displayPointCloudList:$,displaySphereList:tt,displayLineList:et,selectedIDs:s,setPointCloudResult:i,setSelectedIDs:h,addPointCloudBox:c,addPointCloudSphere:u,setPointCloudSphereList:C,valid:N,selectedPointCloudBox:r,setPointCloudValid:P,addSelectedID:yt,addHighlightID:Lt,selectedAllBoxes:Dt,topViewInstance:d,setTopViewInstance:T,sideViewInstance:Z,setSideViewInstance:k,backViewInstance:q,setBackViewInstance:J,mainViewInstance:l,setMainViewInstance:K,polygonList:S,setPolygonList:_,lineList:f,setLineList:v,zoom:M,setZoom:ut,history:ht,toggleAttributesVisible:At,hideAttributes:p,setHideAttributes:O,reRender:_t,attrPanelLayout:U,setAttrPanelLayout:vt,syncAllViewPointCloudColor:ot,defaultAttribute:Q,setDefaultAttribute:pt,pointCloudPattern:B,setPointCloudPattern:gt,selectSpecAttr:wt,globalPattern:H,setGlobalPattern:t=>{H!==t&&(It(Ot),Pt(t),t===z.Detection&&W(void 0))},ptSegmentInstance:b,setPtSegmentInstance:W,segmentation:R,setSegmentation:ft,clearAllDetectionInstance:xt,highlight2DDataList:j,setHighlight2DDataList:mt,cuboidBoxIn2DView:F,setCuboidBoxIn2DView:ct,imageSizes:X,cacheImageNodeSize:Ct,highlightIDs:y,setHighlightIDs:V}},[N,s,e,m,S,f,d,Z,q,l,M,p,U,Q,B,H,b,R,j,F,X,y]);E(()=>{var r,c,u;(r=g==null?void 0:g.setPointCloudBoxList)==null||r.call(g,e),(c=g==null?void 0:g.setHighlightIDs)==null||c.call(g,y),(u=g==null?void 0:g.setSelectedIDs)==null||u.call(g,s)},[e,s,y]),E(()=>{var r;(r=g==null?void 0:g.setPtCtx)==null||r.call(g,w)},[w]);const St=()=>{const r=e.filter(h=>p.includes(h.attribute)),{setSelectedIDs:c,reRender:u}=w,P=r.map(h=>h.id);P.length>0&&c(s.filter(h=>!P.includes(h))),u()};return E(()=>{var r,c,u,P;St(),(c=(r=d==null?void 0:d.toolInstance)==null?void 0:r.setHiddenAttributes)==null||c.call(r,p),(P=(u=b==null?void 0:b.store)==null?void 0:u.setHiddenAttributes)==null||P.call(u,p)},[p]),nt.createElement(at.Provider,{value:w},a)};export{at as PointCloudContext,Tt as PointCloudProvider};
@@ -1 +1 @@
1
- import{PointCloudUtils as v,EPerspectiveView as k}from"@labelbee/lb-utils";import r,{useState as D,useEffect as N}from"react";import{PointCloudContext as m}from"./PointCloudContext.js";import{UnitUtils as V}from"@labelbee/lb-annotation";import{useSingleBox as $}from"./hooks/useSingleBox.js";import{useTranslation as x}from"react-i18next";var H=Object.defineProperty,U=Object.defineProperties,R=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,S=(o,e,t)=>e in o?H(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,B=(o,e)=>{for(var t in e||(e={}))T.call(e,t)&&S(o,t,e[t]);if(I)for(var t of I(e))K.call(e,t)&&S(o,t,e[t]);return o},F=(o,e)=>U(o,R(e));const a=2,A={color:"white",backgroundColor:"rgba(153, 153, 153, 0.3)",padding:"8px 10px",zIndex:20,fontSize:12},W=({perspectiveView:o})=>{const{pointCloudBoxList:e,selectedID:t}=r.useContext(m),c=e.find(u=>u.id===t),l=x(),{t:s}=l;if(t&&c){const{length:u,width:b,height:i}=v.transferBox2Kitti(c),f=o===k.Back?[{label:s("Width"),value:b},{label:s("Height"),value:i}]:[{label:s("Length"),value:u},{label:s("Height"),value:i}];return r.createElement("div",{style:F(B({position:"absolute"},A),{bottom:"4%",left:"50%",transform:"translate(-50%, 0)"})},f.map((d,n)=>r.createElement("span",{key:n,style:{marginRight:n===0?16:0}},`${d.label}: ${d.value.toFixed(a)}`)))}return null},M=({checkMode:o,config:e,style:t})=>{const c=r.useContext(m),{selectedBox:l}=$(),[s,u]=D([]),b=x(),{t:i,i18n:f}=b,d=t;return N(()=>{var n,g;if(!l)return;const{length:h,width:_,height:y,rotation_y:L}=v.transferBox2Kitti(l.info),{x:P,y:C,z:w}=l.info.center;let p=[{label:"x",value:P==null?void 0:P.toFixed(a)},{label:"y",value:C==null?void 0:C.toFixed(a)},{label:"z",value:w==null?void 0:w.toFixed(a)},{label:i("Length"),value:h==null?void 0:h.toFixed(a)},{label:i("Width"),value:_==null?void 0:_.toFixed(a)},{label:i("Height"),value:y==null?void 0:y.toFixed(a)},{label:i("Rotation_y"),value:(n=V.rad2deg(L))==null?void 0:n.toFixed(a)}];(g=c.mainViewInstance)==null||g.filterPointsByBox(l.info).then(j=>{var E,O;if(!j){u(p);return}p.push({label:i("PointCount"),value:`${(O=(E=l.info)==null?void 0:E.count)!=null?O:0}`}),o===!0&&l.info.subAttribute&&e&&v.getSubAttributeName(l.info.subAttribute,e).forEach(z=>p.push(z)),u(p)})},[l,f.language]),l?r.createElement("div",{style:t||F(B({position:"absolute"},A),{right:8,bottom:8})},s.map(n=>d?r.createElement("div",{key:n.label,style:{margin:"0px 4px"}},`${n.label}: ${n.value}`):r.createElement("div",{key:n.label},r.createElement("span",{style:{width:"38px",display:"inline-block",textAlign:"end"}},n.label),": ",r.createElement("span",null,n.value)))):null},X=()=>{const o=r.useContext(m),{t:e}=x();return o.valid===!1?r.createElement("div",{style:{position:"absolute",backgroundColor:"rgb(242, 101, 73)",color:"white",opacity:.7,left:0,top:0,fontSize:30,padding:"8px 16px",zIndex:20,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},e("Invalid")):null};export{M as BoxInfos,X as PointCloudValidity,W as SizeInfoForView};
1
+ import{PointCloudUtils as v,EPerspectiveView as k}from"@labelbee/lb-utils";import r,{useState as D,useEffect as N}from"react";import{PointCloudContext as m}from"./PointCloudContext.js";import{UnitUtils as V}from"@labelbee/lb-annotation";import{useSingleBox as $}from"./hooks/useSingleBox.js";import{useTranslation as x}from"react-i18next";var H=Object.defineProperty,U=Object.defineProperties,R=Object.getOwnPropertyDescriptors,I=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,S=(o,e,t)=>e in o?H(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,B=(o,e)=>{for(var t in e||(e={}))T.call(e,t)&&S(o,t,e[t]);if(I)for(var t of I(e))K.call(e,t)&&S(o,t,e[t]);return o},F=(o,e)=>U(o,R(e));const a=2,A={color:"white",backgroundColor:"rgba(153, 153, 153, 0.3)",padding:"8px 10px",zIndex:20,fontSize:12},W=({perspectiveView:o})=>{const{pointCloudBoxList:e,selectedID:t}=r.useContext(m),d=e.find(u=>u.id===t),l=x(),{t:s}=l;if(t&&d){const{length:u,width:f,height:i}=v.transferBox2Kitti(d),b=o===k.Back?[{label:s("Width"),value:f},{label:s("Height"),value:i}]:[{label:s("Length"),value:u},{label:s("Height"),value:i}];return r.createElement("div",{style:F(B({position:"absolute"},A),{bottom:"4%",left:"50%",transform:"translate(-50%, 0)"})},b.map((c,n)=>r.createElement("span",{key:n,style:{marginRight:n===0?16:0}},`${c.label}: ${c.value.toFixed(a)}`)))}return null},M=({checkMode:o,config:e,style:t})=>{const d=r.useContext(m),{selectedBox:l}=$(),[s,u]=D([]),f=x(),{t:i,i18n:b}=f,c=t;return N(()=>{var n,g;if(!l)return;const{length:h,width:_,height:y,rotation_y:L}=v.transferBox2Kitti(l.info),{x:P,y:C,z:w}=l.info.center;let p=[{label:"x",value:P==null?void 0:P.toFixed(a)},{label:"y",value:C==null?void 0:C.toFixed(a)},{label:"z",value:w==null?void 0:w.toFixed(a)},{label:i("Length"),value:h==null?void 0:h.toFixed(a)},{label:i("Width"),value:_==null?void 0:_.toFixed(a)},{label:i("Height"),value:y==null?void 0:y.toFixed(a)},{label:i("Rotation_y"),value:(n=V.rad2deg(L))==null?void 0:n.toFixed(a)}];(g=d.mainViewInstance)==null||g.filterPointsByBox(l.info).then(j=>{var E,O;if(!j){u(p);return}p.push({label:i("PointCount"),value:`${(O=(E=l.info)==null?void 0:E.count)!=null?O:0}`}),o===!0&&l.info.subAttribute&&e&&v.getSubAttributeName(l.info.subAttribute,e).forEach(z=>p.push(z)),u(p)})},[l,b.language]),l?r.createElement("div",{style:t||F(B({position:"absolute"},A),{right:8,bottom:8})},s.map(n=>c?r.createElement("div",{key:n.label,style:{margin:"0px 4px"}},`${n.label}: ${n.value}`):r.createElement("div",{key:n.label},r.createElement("span",{style:{width:"38px",display:"inline-block",textAlign:"end"}},n.label),": ",r.createElement("span",null,n.value)))):null},X=()=>{const o=r.useContext(m),{t:e}=x();return o.valid===!1?r.createElement("div",{style:{position:"absolute",backgroundColor:"rgb(242, 101, 73)",color:"white",opacity:.7,left:0,top:0,fontSize:30,padding:"8px 16px",zIndex:20,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},e("Invalid")):null};export{M as BoxInfos,X as PointCloudValidity,W as SizeInfoForView};
@@ -1 +1 @@
1
- import f from"../../hooks/useSize.js";import{a2MapStateToProps as C}from"../../store/annotation/map.js";import{LabelBeeContext as b}from"../../store/ctx.js";import{getClassName as g}from"../../utils/dom.js";import{PointCloud as h}from"@labelbee/lb-annotation";import P,{useRef as v,useContext as S,useEffect as u}from"react";import{connect as x}from"react-redux";import{PointCloudContext as j}from"./PointCloudContext.js";import{PointCloudUtils as m}from"@labelbee/lb-utils";const w=({currentData:O,config:o,checkMode:c})=>{var n,a;const r=v(null),{setPtSegmentInstance:p,setDefaultAttribute:d,ptSegmentInstance:e}=S(j),t=f(r),i=(a=(n=o==null?void 0:o.attributeList)==null?void 0:n[0])==null?void 0:a.value;return u(()=>{var l;if(!(t==null?void 0:t.width)||!r.current||e)return;const s=new h({container:r.current,isOrthographicCamera:!0,isSegment:!0,orthographicParams:m.getDefaultOrthographicParams(t),config:o,checkMode:c});(l=s.store)==null||l.setAttribute(i),d(i),p(s)},[t]),u(()=>{e&&(e.initRenderer(),e.initOrthographicCamera(m.getDefaultOrthographicParams(t)),e.render())},[t]),P.createElement("div",{className:g("point-cloud-wrapper"),ref:r})};var D=x(C,null,null,{context:b})(w);export{D as default};
1
+ import f from"../../hooks/useSize.js";import{a2MapStateToProps as C}from"../../store/annotation/map.js";import{LabelBeeContext as b}from"../../store/ctx.js";import{getClassName as g}from"../../utils/dom.js";import{PointCloud as h}from"@labelbee/lb-annotation";import P,{useRef as v,useContext as S,useEffect as u}from"react";import{connect as x}from"react-redux";import{PointCloudContext as j}from"./PointCloudContext.js";import{PointCloudUtils as m}from"@labelbee/lb-utils";const _=({currentData:D,config:o,checkMode:c})=>{var n,a;const r=v(null),{setPtSegmentInstance:d,setDefaultAttribute:p,ptSegmentInstance:e}=S(j),t=f(r),i=(a=(n=o==null?void 0:o.attributeList)==null?void 0:n[0])==null?void 0:a.value;return u(()=>{var l;if(!(t==null?void 0:t.width)||!r.current||e)return;const s=new h({container:r.current,isOrthographicCamera:!0,isSegment:!0,orthographicParams:m.getDefaultOrthographicParams(t),config:o,checkMode:c});(l=s.store)==null||l.setAttribute(i),p(i),d(s)},[t]),u(()=>{e&&(e.initRenderer(),e.initOrthographicCamera(m.getDefaultOrthographicParams(t)),e.render())},[t]),P.createElement("div",{className:g("point-cloud-wrapper"),ref:r})};var w=x(C,null,null,{context:b})(_);export{w as default};
@@ -1 +1 @@
1
- import{a2MapStateToProps as L}from"../../store/annotation/map.js";import{LabelBeeContext as z}from"../../store/ctx.js";import d,{useContext as R,useRef as m,useState as w,useEffect as g,useCallback as V,useMemo as B}from"react";import A from"../AnnotationView/index.js";import{connect as W}from"react-redux";import{PointCloudContext as T}from"./PointCloudContext.js";import G from"./components/TitleButton/index.js";import{Spin as H}from"antd";import N from"../../_virtual/highlightSegmentWorker.js";import{pointMappingLidar2image as Y}from"@labelbee/lb-annotation";import{debounce as $}from"lodash";var q=Object.defineProperty,J=Object.defineProperties,K=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,D=(t,o,n)=>o in t?q(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,X=(t,o)=>{for(var n in o||(o={}))Q.call(o,n)&&D(t,n,o[n]);if(x)for(var n of x(o))U.call(o,n)&&D(t,n,o[n]);return t},Z=(t,o)=>J(t,K(o));const ee=({path:t,url:o,calib:n,pcdUrl:c,highlightAttribute:a})=>{const{ptSegmentInstance:e,cacheImageNodeSize:O,imageSizes:E}=R(T),F=m(null),f=m(0),v=m({}),u=m(),[h,P]=w([]),[I,C]=w(!1),b=m(void 0);g(()=>()=>{f.current=0,v.current={},u.current=void 0},[c]);const _=V(()=>{var r,l,i;if(f.current=f.current+1,f.current===2){const s=(r=e==null?void 0:e.store)==null?void 0:r.originPoints;if(!s||!u.current){console.error("cacheMappingPCD2Img Error",{path:t,points:s,filterSize:u.current});return}v.current=(i=(l=Y(s,n,u.current))==null?void 0:l.pcdMapping)!=null?i:{}}},[e]),S=B(()=>$((l,i)=>{var s,y;if(l&&u.current){b.current&&((y=(s=b.current)==null?void 0:s.terminate)==null||y.call(s));const k=v.current,p=new N;p.current=p,C(!0),p.postMessage({cacheMap:k,indexes:l,defaultRGBA:i}),p.onmessage=M=>{P(M.data.annotations),p.terminate(),C(!1),p.current=void 0}}},100),[]);g(()=>{if(!(e==null?void 0:e.store))return;const r=e.store.getHighlightAttribute(a!=null?a:""),l=e==null?void 0:e.getColorFromConfig(a!=null?a:"");S(r.flat(),l.stroke)},[a,e]),g(()=>{if(e){const r=({newAttribute:l})=>{const i=e==null?void 0:e.getColorFromConfig(l);i&&P(h.map(s=>Z(X({},s),{defaultRGBA:i.stroke})))};return e.on("updateDefaultAttribute",r),()=>{e.unbind("updateDefaultAttribute",r)}}},[e,h]),g(()=>{if(e){const r=l=>{if(l.cacheSegData){const{cacheSegData:i}=l;if(i==null?void 0:i.indexes){const s=e.getColorFromConfig(i.attribute);S(i==null?void 0:i.indexes,s.stroke)}}else P([])};return e.on("syncPointCloudStatus",r),e.on("loadPCDFileEnd",_),()=>{e.unbind("syncPointCloudStatus",r),e.unbind("loadPCDFileEnd",_)}}},[e,c,E]);const j=r=>{O({path:t,imgNode:r}),u.current={width:r.width,height:r.height},_()};return d.createElement("div",{key:t,style:{position:"relative"},ref:F},d.createElement(G,{title:n.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF",position:"absolute",top:10,left:10,zIndex:1}}),d.createElement(H,{spinning:I,delay:1e3},d.createElement(A,{size:{width:300,height:200},key:t,src:o,annotations:h,afterImgOnLoad:j})))},te=({currentData:t,highlightAttribute:o})=>{var n;const c=(n=t.mappingImgList)!=null?n:[];return(c==null?void 0:c.length)>0?d.createElement("div",{style:{position:"absolute",height:"100%",overflowY:"scroll",zIndex:100,width:300}},c==null?void 0:c.map((a,e)=>a.calib&&d.createElement(ee,{key:a.path+e,path:a.path,url:a.url,calib:a.calib,pcdUrl:t.url,highlightAttribute:o}))):null};var oe=W(L,null,null,{context:z})(te);export{oe as default};
1
+ import{a2MapStateToProps as L}from"../../store/annotation/map.js";import{LabelBeeContext as z}from"../../store/ctx.js";import d,{useContext as R,useRef as f,useState as w,useEffect as g,useCallback as V,useMemo as B}from"react";import A from"../AnnotationView/index.js";import{connect as W}from"react-redux";import{PointCloudContext as T}from"./PointCloudContext.js";import G from"./components/TitleButton/index.js";import{Spin as H}from"antd";import N from"../../_virtual/highlightSegmentWorker.js";import{pointMappingLidar2image as Y}from"@labelbee/lb-annotation";import{debounce as $}from"lodash";var q=Object.defineProperty,J=Object.defineProperties,K=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,D=(t,o,n)=>o in t?q(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,X=(t,o)=>{for(var n in o||(o={}))Q.call(o,n)&&D(t,n,o[n]);if(x)for(var n of x(o))U.call(o,n)&&D(t,n,o[n]);return t},Z=(t,o)=>J(t,K(o));const ee=({path:t,url:o,calib:n,pcdUrl:c,highlightAttribute:a})=>{const{ptSegmentInstance:e,cacheImageNodeSize:O,imageSizes:E}=R(T),F=f(null),m=f(0),v=f({}),u=f(),[h,P]=w([]),[I,C]=w(!1),b=f(void 0);g(()=>()=>{m.current=0,v.current={},u.current=void 0},[c]);const _=V(()=>{var r,l,i;if(m.current=m.current+1,m.current===2){const s=(r=e==null?void 0:e.store)==null?void 0:r.originPoints;if(!s||!u.current){console.error("cacheMappingPCD2Img Error",{path:t,points:s,filterSize:u.current});return}v.current=(i=(l=Y(s,n,u.current))==null?void 0:l.pcdMapping)!=null?i:{}}},[e]),S=B(()=>$((l,i)=>{var s,y;if(l&&u.current){b.current&&((y=(s=b.current)==null?void 0:s.terminate)==null||y.call(s));const k=v.current,p=new N;p.current=p,C(!0),p.postMessage({cacheMap:k,indexes:l,defaultRGBA:i}),p.onmessage=M=>{P(M.data.annotations),p.terminate(),C(!1),p.current=void 0}}},100),[]);g(()=>{if(!(e==null?void 0:e.store))return;const r=e.store.getHighlightAttribute(a!=null?a:""),l=e==null?void 0:e.getColorFromConfig(a!=null?a:"");S(r.flat(),l.stroke)},[a,e]),g(()=>{if(e){const r=({newAttribute:l})=>{const i=e==null?void 0:e.getColorFromConfig(l);i&&P(h.map(s=>Z(X({},s),{defaultRGBA:i.stroke})))};return e.on("updateDefaultAttribute",r),()=>{e.unbind("updateDefaultAttribute",r)}}},[e,h]),g(()=>{if(e){const r=l=>{if(l.cacheSegData){const{cacheSegData:i}=l;if(i==null?void 0:i.indexes){const s=e.getColorFromConfig(i.attribute);S(i==null?void 0:i.indexes,s.stroke)}}else P([])};return e.on("syncPointCloudStatus",r),e.on("loadPCDFileEnd",_),()=>{e.unbind("syncPointCloudStatus",r),e.unbind("loadPCDFileEnd",_)}}},[e,c,E]);const j=r=>{O({path:t,imgNode:r}),u.current={width:r.width,height:r.height},_()};return d.createElement("div",{key:t,style:{position:"relative"},ref:F},d.createElement(G,{title:n.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF",position:"absolute",top:10,left:10,zIndex:1}}),d.createElement(H,{spinning:I,delay:1e3},d.createElement(A,{size:{width:300,height:200},key:t,src:o,annotations:h,afterImgOnLoad:j})))},te=({currentData:t,highlightAttribute:o})=>{var n;const c=(n=t.mappingImgList)!=null?n:[];return(c==null?void 0:c.length)>0?d.createElement("div",{style:{position:"absolute",height:"100%",overflowY:"scroll",zIndex:100,width:300}},c==null?void 0:c.map((a,e)=>a.calib&&d.createElement(ee,{key:a.path+e,path:a.path,url:a.url,calib:a.calib,pcdUrl:t.url,highlightAttribute:o}))):null};var oe=W(L,null,null,{context:z})(te);export{oe as default};
@@ -1 +1 @@
1
- import e,{useContext as D,useState as M,useEffect as j}from"react";import{getClassName as o}from"../../utils/dom.js";import x from"../../assets/annotation/pointCloudTool/finish.svg.js";import R from"../../assets/annotation/pointCloudTool/cancel.svg.js";import{PointCloudContext as I}from"./PointCloudContext.js";import{EPointCloudSegmentStatus as a,PointCloudUtils as T,EPointCloudSegmentFocusMode as d}from"@labelbee/lb-utils";import{useTranslation as y}from"react-i18next";const U=({infoList:c})=>{const{t:r}=y();return c?e.createElement("div",{className:o("point-cloud-status","info")},c.map(s=>e.createElement("div",{key:s.key},e.createElement("span",null,r(s.key),"\uFF1A "),e.createElement("span",null,s.value)))):null},H=c=>{var r,s,S,f,b,E,C;const{config:h}=c,{t:m}=y(),{ptSegmentInstance:t,setDefaultAttribute:F}=D(I),[u,v]=M({segmentStatus:a.Ready});j(()=>{if(t){const n=l=>{v(l),l.cacheSegData&&F(l.cacheSegData.attribute)},i=({segmentData:l,currentSegmentStatus:A})=>{if(A===a.Ready){if(!l){v({segmentStatus:a.Ready});return}v({segmentStatus:a.Hover,cacheSegData:l})}};return t==null||t.on("syncPointCloudStatus",n),t==null||t.on("hoverSegmentInstance",i),()=>{t==null||t.unbind("syncPointCloudStatus",n),t==null||t.unbind("hoverSegmentInstance",i)}}},[t]);const g=u.segmentStatus;if(g===a.Ready)return null;const N=g===a.Check,_=g===a.Edit;let p=null;const P=((S=(s=(r=u.cacheSegData)==null?void 0:r.points)==null?void 0:s.length)!=null?S:0)/3,k=[{key:"SelectedPoints",value:P},{key:"Attribute",value:(b=(f=h.attributeList.find(n=>{var i;return n.value===((i=u.cacheSegData)==null?void 0:i.attribute)}))==null?void 0:f.key)!=null?b:""}];return Object.keys(((E=u.cacheSegData)==null?void 0:E.subAttribute)||{}).length>0&&k.push({key:"SubAttribute",value:T.getSubAttributeName(((C=u.cacheSegData)==null?void 0:C.subAttribute)||{},h).map(n=>e.createElement("div",{key:n.label},n.label," - ",n.value))}),N&&(p=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{t==null||t.emit("updateCheck2Edit")}},m("EnterEditMode"),"(Enter)"))),_&&(p=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("addStash2Store"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===d.Focus&&(t==null||t.emit("setSegmentFocusMode",d.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:x}),m("Finish")),e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("clearStash"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===d.Focus&&(t==null||t.emit("setSegmentFocusMode",d.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:R}),m("Cancel")))),e.createElement(e.Fragment,null,p,e.createElement(U,{infoList:k}))};export{H as default};
1
+ import e,{useContext as D,useState as M,useEffect as j}from"react";import{getClassName as o}from"../../utils/dom.js";import x from"../../assets/annotation/pointCloudTool/finish.svg.js";import R from"../../assets/annotation/pointCloudTool/cancel.svg.js";import{PointCloudContext as I}from"./PointCloudContext.js";import{EPointCloudSegmentStatus as a,PointCloudUtils as T,EPointCloudSegmentFocusMode as d}from"@labelbee/lb-utils";import{useTranslation as y}from"react-i18next";const U=({infoList:c})=>{const{t:r}=y();return c?e.createElement("div",{className:o("point-cloud-status","info")},c.map(s=>e.createElement("div",{key:s.key},e.createElement("span",null,r(s.key),"\uFF1A "),e.createElement("span",null,s.value)))):null},H=c=>{var r,s,S,f,b,E,C;const{config:h}=c,{t:m}=y(),{ptSegmentInstance:t,setDefaultAttribute:_}=D(I),[u,v]=M({segmentStatus:a.Ready});j(()=>{if(t){const n=l=>{v(l),l.cacheSegData&&_(l.cacheSegData.attribute)},i=({segmentData:l,currentSegmentStatus:A})=>{if(A===a.Ready){if(!l){v({segmentStatus:a.Ready});return}v({segmentStatus:a.Hover,cacheSegData:l})}};return t==null||t.on("syncPointCloudStatus",n),t==null||t.on("hoverSegmentInstance",i),()=>{t==null||t.unbind("syncPointCloudStatus",n),t==null||t.unbind("hoverSegmentInstance",i)}}},[t]);const g=u.segmentStatus;if(g===a.Ready)return null;const F=g===a.Check,N=g===a.Edit;let p=null;const P=((S=(s=(r=u.cacheSegData)==null?void 0:r.points)==null?void 0:s.length)!=null?S:0)/3,k=[{key:"SelectedPoints",value:P},{key:"Attribute",value:(b=(f=h.attributeList.find(n=>{var i;return n.value===((i=u.cacheSegData)==null?void 0:i.attribute)}))==null?void 0:f.key)!=null?b:""}];return Object.keys(((E=u.cacheSegData)==null?void 0:E.subAttribute)||{}).length>0&&k.push({key:"SubAttribute",value:T.getSubAttributeName(((C=u.cacheSegData)==null?void 0:C.subAttribute)||{},h).map(n=>e.createElement("div",{key:n.label},n.label," - ",n.value))}),F&&(p=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{t==null||t.emit("updateCheck2Edit")}},m("EnterEditMode"),"(Enter)"))),N&&(p=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("addStash2Store"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===d.Focus&&(t==null||t.emit("setSegmentFocusMode",d.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:x}),m("Finish")),e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("clearStash"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===d.Focus&&(t==null||t.emit("setSegmentFocusMode",d.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:R}),m("Cancel")))),e.createElement(e.Fragment,null,p,e.createElement(U,{infoList:k}))};export{H as default};
@@ -1 +1 @@
1
- import{getClassName as m}from"../../utils/dom.js";import{Switch as D,message as g,Tooltip as w}from"antd";import R from"../../assets/annotation/pointCloudTool/coverMode.svg.js";import $ from"../../assets/annotation/pointCloudTool/unCoverMode.svg.js";import o,{useContext as q,useState as l,useEffect as z}from"react";import{FocusModeSvg as B,HidePointCloudSegmentSvg as G}from"../../assets/annotation/pointCloudTool/svg.js";import{PointCloudContext as J}from"./PointCloudContext.js";import{EPointCloudSegmentMode as r,EPointCloudSegmentCoverMode as d,EPointCloudSegmentFocusMode as n,EPointCloudSegmentStatus as K}from"@labelbee/lb-utils";import{useTranslation as L}from"react-i18next";const O=()=>{var S,M,F,f,p,P,h,E;const{t:s}=L(),{ptSegmentInstance:e}=q(J),[I,T]=l((M=(S=e==null?void 0:e.store)==null?void 0:S.segmentMode)!=null?M:r.Add),[a,j]=l((f=(F=e==null?void 0:e.store)==null?void 0:F.segmentCoverMode)!=null?f:d.Cover),[u,N]=l((P=(p=e==null?void 0:e.store)==null?void 0:p.segmentFocusMode)!=null?P:n.Unfocus),[i,U]=l((E=(h=e==null?void 0:e.store)==null?void 0:h.hideSegment)!=null?E:!1),[b,y]=l({segmentStatus:K.Ready});z(()=>{if(!e)return;const c=t=>{T(t)},H=t=>{j(t)},_=t=>{N(t)},x=t=>{U(t)},k=t=>{y(t)};return e.on("setSegmentMode",c),e.on("setSegmentCoverMode",H),e.on("setSegmentFocusMode",_),e.on("switchHideSegment",x),e.on("syncPointCloudStatus",k),()=>{e.unbind("setSegmentMode",c),e.unbind("setSegmentCoverMode",H),e.unbind("setSegmentFocusMode",_),e.unbind("switchHideSegment",x),e.unbind("syncPointCloudStatus",k)}},[e]);const A=I===r.Add,C=i===!0||!(b==null?void 0:b.cacheSegData),v=u===n.Focus;return o.createElement("div",{className:m("point-cloud-toolbar")},o.createElement(D,{checkedChildren:"+",unCheckedChildren:"-",checked:A,onChange:c=>{e==null||e.emit("setSegmentMode",c?r.Add:r.Remove)}}),o.createElement("div",{className:m("point-cloud-toolbox"),onClick:()=>{e==null||e.emit("setSegmentCoverMode",a===d.Cover?d.Uncover:d.Cover),g.info({content:s(a===d.Cover?"PointCloudUncoverMode":"PointCloudCoverMode"),icon:()=>null})}},o.createElement("img",{src:a===d.Cover?R:$})),o.createElement(w,{title:C?s(i===!0?"PointCloudHideFocusInvalid_hide":"PointCloudHideFocusInvalid_none"):""},o.createElement("div",{className:m("point-cloud-toolbox"),onClick:()=>{C||(e==null||e.emit("setSegmentFocusMode",u===n.Focus?n.Unfocus:n.Focus),g.success(s(u===n.Focus?"PointCloudUnfocusMode":"PointCloudFocusMode")))}},o.createElement(B,{color:C?"#CCC":u===n.Focus?"#1664FF":"#FFF"}))),o.createElement(w,{title:v?s("PointCloudHideSegmentInvalid"):""},o.createElement("div",{className:m("point-cloud-toolbox"),onClick:()=>{v||(e==null||e.emit("switchHideSegment",!i),g.success(s(i===!0?"PointCloudShowSegment":"PointCloudHideSegment")))}},o.createElement(G,{color:v?"#CCC":i?"#1664FF":"#FFF"}))))};export{O as default};
1
+ import{getClassName as m}from"../../utils/dom.js";import{Switch as D,message as g,Tooltip as w}from"antd";import R from"../../assets/annotation/pointCloudTool/coverMode.svg.js";import $ from"../../assets/annotation/pointCloudTool/unCoverMode.svg.js";import o,{useContext as q,useState as i,useEffect as z}from"react";import{FocusModeSvg as B,HidePointCloudSegmentSvg as G}from"../../assets/annotation/pointCloudTool/svg.js";import{PointCloudContext as J}from"./PointCloudContext.js";import{EPointCloudSegmentMode as r,EPointCloudSegmentCoverMode as d,EPointCloudSegmentFocusMode as n,EPointCloudSegmentStatus as K}from"@labelbee/lb-utils";import{useTranslation as L}from"react-i18next";const O=()=>{var S,M,F,f,p,P,h,E;const{t:s}=L(),{ptSegmentInstance:e}=q(J),[I,T]=i((M=(S=e==null?void 0:e.store)==null?void 0:S.segmentMode)!=null?M:r.Add),[a,j]=i((f=(F=e==null?void 0:e.store)==null?void 0:F.segmentCoverMode)!=null?f:d.Cover),[u,N]=i((P=(p=e==null?void 0:e.store)==null?void 0:p.segmentFocusMode)!=null?P:n.Unfocus),[l,U]=i((E=(h=e==null?void 0:e.store)==null?void 0:h.hideSegment)!=null?E:!1),[b,y]=i({segmentStatus:K.Ready});z(()=>{if(!e)return;const c=t=>{T(t)},_=t=>{j(t)},H=t=>{N(t)},x=t=>{U(t)},k=t=>{y(t)};return e.on("setSegmentMode",c),e.on("setSegmentCoverMode",_),e.on("setSegmentFocusMode",H),e.on("switchHideSegment",x),e.on("syncPointCloudStatus",k),()=>{e.unbind("setSegmentMode",c),e.unbind("setSegmentCoverMode",_),e.unbind("setSegmentFocusMode",H),e.unbind("switchHideSegment",x),e.unbind("syncPointCloudStatus",k)}},[e]);const A=I===r.Add,C=l===!0||!(b==null?void 0:b.cacheSegData),v=u===n.Focus;return o.createElement("div",{className:m("point-cloud-toolbar")},o.createElement(D,{checkedChildren:"+",unCheckedChildren:"-",checked:A,onChange:c=>{e==null||e.emit("setSegmentMode",c?r.Add:r.Remove)}}),o.createElement("div",{className:m("point-cloud-toolbox"),onClick:()=>{e==null||e.emit("setSegmentCoverMode",a===d.Cover?d.Uncover:d.Cover),g.info({content:s(a===d.Cover?"PointCloudUncoverMode":"PointCloudCoverMode"),icon:()=>null})}},o.createElement("img",{src:a===d.Cover?R:$})),o.createElement(w,{title:C?s(l===!0?"PointCloudHideFocusInvalid_hide":"PointCloudHideFocusInvalid_none"):""},o.createElement("div",{className:m("point-cloud-toolbox"),onClick:()=>{C||(e==null||e.emit("setSegmentFocusMode",u===n.Focus?n.Unfocus:n.Focus),g.success(s(u===n.Focus?"PointCloudUnfocusMode":"PointCloudFocusMode")))}},o.createElement(B,{color:C?"#CCC":u===n.Focus?"#1664FF":"#FFF"}))),o.createElement(w,{title:v?s("PointCloudHideSegmentInvalid"):""},o.createElement("div",{className:m("point-cloud-toolbox"),onClick:()=>{v||(e==null||e.emit("switchHideSegment",!l),g.success(s(l===!0?"PointCloudShowSegment":"PointCloudHideSegment")))}},o.createElement(G,{color:v?"#CCC":l?"#1664FF":"#FFF"}))))};export{O as default};
@@ -1 +1 @@
1
- import{getClassName as I}from"../../utils/dom.js";import{FooterDivider as z}from"../../views/MainView/toolFooter/index.js";import{ZoomController as ae}from"../../views/MainView/toolFooter/ZoomController/index.js";import{LeftOutlined as ce,UpSquareOutlined as de,DownSquareOutlined as pe}from"@ant-design/icons";import{cKeyCode as ue,PointCloudAnnotation as me,cTool as fe,cAnnotation as ve}from"@labelbee/lb-annotation";import{PointCloudUtils as H}from"@labelbee/lb-utils";import i,{useState as W,useRef as we,useLayoutEffect as Ce,useEffect as h}from"react";import{PointCloudContext as F}from"./PointCloudContext.js";import{useRotate as Pe}from"./hooks/useRotate.js";import{useSingleBox as K}from"./hooks/useSingleBox.js";import{PointCloudContainer as ge}from"./PointCloudLayout.js";import{BoxInfos as X,PointCloudValidity as ye}from"./PointCloudInfos.js";import{usePolygon as xe}from"./hooks/usePolygon.js";import{useSphere as Y}from"./hooks/useSphere.js";import{useZoom as q}from"./hooks/useZoom.js";import{Slider as Ie}from"antd";import{a2MapStateToProps as he}from"../../store/annotation/map.js";import{connect as Ve}from"react-redux";import{usePointCloudViews as Se}from"./hooks/usePointCloudViews.js";import _e from"../../hooks/useSize.js";import{useTranslation as Ee}from"react-i18next";import{LabelBeeContext as Le}from"../../store/ctx.js";import{jsonParser as Oe}from"../../utils/index.js";import be from"../../utils/ToolUtils.js";import je from"lodash";import Te from"./components/PointCloudSizeSlider/index.js";import{useHistory as ke}from"./hooks/useHistory.js";import Ae from"./components/TitleButton/index.js";var Ne=Object.defineProperty,Be=Object.defineProperties,De=Object.getOwnPropertyDescriptors,M=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,$=(o,s,l)=>s in o?Ne(o,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):o[s]=l,D=(o,s)=>{for(var l in s||(s={}))Re.call(s,l)&&$(o,l,s[l]);if(M)for(var l of M(s))Ue.call(s,l)&&$(o,l,s[l]);return o},R=(o,s)=>Be(o,De(s));const{EPolygonPattern:Ze,EToolName:G}=fe,{ESortDirection:J}=ve,ze=ue.default,Q=(o,s,l=1)=>{const{width:w,height:u}=s,P={x:o.x+w*l/2,y:o.y+u*l/2},g={x:s.width/2,y:s.height/2};return{offsetX:(g.x-P.x)/l,offsetY:-(g.y-P.y)/l}},He=({currentData:o})=>{var s,l;const{zoom:w,zoomIn:u,zoomOut:P,initialPosition:g}=q(),{selectNextBox:E,selectPrevBox:L}=K(),{switchToNextSphere:V}=Y(),{updateRotate:y}=Pe({currentData:o}),x=i.useContext(F),{topViewInstance:O}=x,S=(l=(s=x==null?void 0:x.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:l.getCurrentToolName(),m=2,e=()=>{y(-m)},a=()=>{y(m)},f=()=>{y(180)};return i.createElement(i.Fragment,null,i.createElement(Te,{onChange:b=>{var _;(_=O==null?void 0:O.pointCloudInstance)==null||_.updatePointSize({customSize:b})}}),i.createElement("span",{onClick:a,className:I("point-cloud","rotate-reserve")}),i.createElement("span",{onClick:e,className:I("point-cloud","rotate")}),i.createElement("span",{onClick:f,className:I("point-cloud","rotate-180")}),i.createElement(z,null),i.createElement(de,{onClick:()=>{if(S===G.Point){V(J.descend);return}L(!0)},className:I("point-cloud","prev")}),i.createElement(pe,{onClick:()=>{if(S===G.Point){V(J.ascend);return}E(!0)},className:I("point-cloud","next")}),i.createElement(z,null),i.createElement(ae,{initialPosition:g,zoomIn:u,zoomOut:P,zoom:w}))},We=({setZAxisLimit:o,zAxisLimit:s,checkMode:l})=>l?null:i.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},i.createElement(Ie,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:w=>{o(w)}})),Fe=({currentData:o,imgList:s,stepInfo:l,drawLayerSlot:w,checkMode:u,intelligentFit:P,setIsEnlargeTopView:g,isEnlargeTopView:E,onExitZoom:L,highlightAttribute:V})=>{var y,x;const[O,S]=W({zoom:1,currentPos:{x:0,y:0}}),m=we(null),e=i.useContext(F),a=_e(m),f=Oe(l.config),{setZoom:b,syncTopviewToolZoom:_}=q(),{hideAttributes:ee}=e,{addPolygon:te,deletePolygon:oe}=xe(),{deletePointCloudSphere:ne}=Y(),{deletePointCloudBox:ie,changeValidByID:se}=K(),[j,le]=W(10),{t:U}=Ee(),C=Se(),{pushHistoryWithList:re}=ke();Ce(()=>{if(!e.topViewInstance&&m.current&&(o==null?void 0:o.url)&&(o==null?void 0:o.result)){const n={width:m.current.clientWidth,height:m.current.clientHeight},c=new me({container:m.current,size:n,pcdPath:o.url,config:R(D({},f),{pointCloudPattern:e.pointCloudPattern}),checkMode:u,toolName:be.getPointCloudToolList(),proxyMode:u});e.setTopViewInstance(c)}},[o]),h(()=>{if(!a||!e.topViewInstance||!e.sideViewInstance)return;const{toolInstance:n}=e.topViewInstance;n.singleOn("dataUpdated",(t,r)=>{const p=je.cloneDeep(t).map(d=>R(D({},d),{pointList:H.pointListTransferCanvas2World(d.pointList,a)}));e.setSelectedIDs(r),e.setLineList(p),re({lineList:p})}),n.singleOn("pointCreated",(t,r)=>{C.topViewAddSphere({newPoint:t,size:a,trackConfigurable:f.trackConfigurable,zoom:r})}),n.singleOn("pointDeleted",t=>{ne(t)}),n.singleOn("pointSelected",t=>{e.setSelectedIDs([t])}),n.singleOn("updatePointByDrag",(t,r)=>{var p;(p=C.topViewUpdatePoint)==null||p.call(C,t,a)}),n.singleOn("polygonCreated",(t,r)=>{if(n.pattern===Ze.Normal||!(o==null?void 0:o.url)){const p=R(D({},t),{pointList:t.pointList.map(d=>H.transferCanvas2World(d,a))});te(p),e.setSelectedIDs(ee.includes(t.attribute)?"":t.id);return}C.topViewAddBox({polygon:t,size:a,imgList:s,trackConfigurable:f.trackConfigurable,zoom:r,intelligentFit:P})}),n.singleOn("deletedObject",({id:t})=>{ie(t),oe(t)}),n.singleOn("deleteSelectedIDs",()=>{e.setSelectedIDs([])}),n.singleOn("addSelectedIDs",t=>{e.addSelectedID(t)}),n.singleOn("setSelectedIDs",t=>{e.setSelectedIDs(t)}),n.singleOn("updatePolygonByDrag",t=>{var r;(r=C.topViewUpdateBox)==null||r.call(C,t,a)});const c=t=>{var r;const p=se(t);p&&e.syncAllViewPointCloudColor(p),e.polygonList.find(d=>d.id===t)&&((r=e.topViewInstance)==null||r.toolInstance.setPolygonValidAndRender(t,!0))};return n.on("validUpdate",c),()=>{n.unbind("validUpdate",c)}},[e,a,o,C,e.polygonList,e.lineList,(y=e.topViewInstance)==null?void 0:y.toolInstance]),h(()=>{var n,c;if(!(a==null?void 0:a.width)||!e.topViewInstance)return;const t=(c=(n=f==null?void 0:f.attributeList)==null?void 0:n[0])==null?void 0:c.value;t&&e.topViewInstance.toolInstance.setDefaultAttribute(t),e.topViewInstance.initSize(a),e.topViewInstance.updatePolygonList(e.displayPointCloudList,e.polygonList),e.topViewInstance.updatePointList(e.displaySphereList),e.topViewInstance.updateLineList(e.displayLineList);const{topViewInstance:{pointCloudInstance:r,toolInstance:p}}=e;p.singleOn("renderZoom",(d,v)=>{const{offsetX:T,offsetY:k}=Q(v,a,d);if(r.camera.zoom=d,v){const{x:A,y:N,z:B}=r.initCameraPosition;r.camera.position.set(A+k,N-T,B)}r.camera.updateProjectionMatrix(),r.render(),b(d),_(v,d,a),S({zoom:d,currentPos:v})}),p.singleOn("dragMove",({currentPos:d,zoom:v})=>{const{offsetX:T,offsetY:k}=Q(d,a,v);r.camera.zoom=v;const{x:A,y:N,z:B}=r.initCameraPosition;r.camera.position.set(A+k,N-T,B),r.render(),_(d,v,a),S({zoom:v,currentPos:d})})},[a,e.topViewInstance,(x=e.topViewInstance)==null?void 0:x.toolInstance]),h(()=>{var n,c;(c=(n=e.topViewInstance)==null?void 0:n.pointCloudInstance)==null||c.applyZAxisPoints(j)},[j]),h(()=>{C.topViewSelectedChanged({})},[e.selectedIDs]),h(()=>(window.addEventListener("keydown",Z),()=>{window.removeEventListener("keydown",Z)}),[]);const Z=n=>{const{keyCode:c}=n;c===ze.Esc&&L()};return h(()=>{var n,c,t;(t=(c=(n=e.topViewInstance)==null?void 0:n.pointCloud2dOperation)==null?void 0:c.setHighlightAttribute)==null||t.call(c,V)},[e.topViewInstance,V]),i.createElement(ge,{className:I("point-cloud-container","top-view"),title:E?i.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},i.createElement(ce,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{L()}}),i.createElement("span",null,U("TopView")),i.createElement(X,{checkMode:u,config:f,style:{display:"flex",position:"initial",margin:"0px 20px"}})):i.createElement(Ae,{title:U("TopView"),onClick:()=>{g(!0)}}),toolbar:i.createElement(He,{currentData:o})},i.createElement("div",{style:{position:"relative",flex:1}},i.createElement("div",{style:{width:"100%",height:"100%"},ref:m},w==null?void 0:w(O)),!E&&i.createElement(X,{checkMode:u,config:f}),i.createElement(We,{checkMode:u,zAxisLimit:j,setZAxisLimit:le}),i.createElement(ye,null)))};var Ke=Ve(he,null,null,{context:Le})(Fe);export{Ke as default};
1
+ import{getClassName as x}from"../../utils/dom.js";import{FooterDivider as z}from"../../views/MainView/toolFooter/index.js";import{ZoomController as ae}from"../../views/MainView/toolFooter/ZoomController/index.js";import{LeftOutlined as ce,UpSquareOutlined as de,DownSquareOutlined as pe}from"@ant-design/icons";import{cKeyCode as ue,PointCloudAnnotation as me,cTool as fe,cAnnotation as ve}from"@labelbee/lb-annotation";import{PointCloudUtils as H}from"@labelbee/lb-utils";import i,{useState as W,useRef as we,useLayoutEffect as Ce,useEffect as h}from"react";import{PointCloudContext as F}from"./PointCloudContext.js";import{useRotate as Pe}from"./hooks/useRotate.js";import{useSingleBox as K}from"./hooks/useSingleBox.js";import{PointCloudContainer as ge}from"./PointCloudLayout.js";import{BoxInfos as X,PointCloudValidity as ye}from"./PointCloudInfos.js";import{usePolygon as Ie}from"./hooks/usePolygon.js";import{useSphere as Y}from"./hooks/useSphere.js";import{useZoom as q}from"./hooks/useZoom.js";import{Slider as xe}from"antd";import{a2MapStateToProps as he}from"../../store/annotation/map.js";import{connect as Ve}from"react-redux";import{usePointCloudViews as _e}from"./hooks/usePointCloudViews.js";import Se from"../../hooks/useSize.js";import{useTranslation as Ee}from"react-i18next";import{LabelBeeContext as Le}from"../../store/ctx.js";import{jsonParser as Oe}from"../../utils/index.js";import be from"../../utils/ToolUtils.js";import je from"lodash";import Te from"./components/PointCloudSizeSlider/index.js";import{useHistory as ke}from"./hooks/useHistory.js";import Ae from"./components/TitleButton/index.js";var De=Object.defineProperty,Ne=Object.defineProperties,Be=Object.getOwnPropertyDescriptors,M=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,$=(n,s,r)=>s in n?De(n,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[s]=r,B=(n,s)=>{for(var r in s||(s={}))Re.call(s,r)&&$(n,r,s[r]);if(M)for(var r of M(s))Ue.call(s,r)&&$(n,r,s[r]);return n},R=(n,s)=>Ne(n,Be(s));const{EPolygonPattern:Ze,EToolName:G}=fe,{ESortDirection:J}=ve,ze=ue.default,Q=(n,s,r=1)=>{const{width:w,height:u}=s,P={x:n.x+w*r/2,y:n.y+u*r/2},g={x:s.width/2,y:s.height/2};return{offsetX:(g.x-P.x)/r,offsetY:-(g.y-P.y)/r}},He=({currentData:n})=>{var s,r;const{zoom:w,zoomIn:u,zoomOut:P,initialPosition:g}=q(),{selectNextBox:E,selectPrevBox:L}=K(),{switchToNextSphere:V}=Y(),{updateRotate:y}=Pe({currentData:n}),I=i.useContext(F),{topViewInstance:O}=I,_=(r=(s=I==null?void 0:I.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:r.getCurrentToolName(),m=2,e=()=>{y(-m)},c=()=>{y(m)},f=()=>{y(180)};return i.createElement(i.Fragment,null,i.createElement(Te,{onChange:b=>{var S;(S=O==null?void 0:O.pointCloudInstance)==null||S.updatePointSize({customSize:b})}}),i.createElement("span",{onClick:c,className:x("point-cloud","rotate-reserve")}),i.createElement("span",{onClick:e,className:x("point-cloud","rotate")}),i.createElement("span",{onClick:f,className:x("point-cloud","rotate-180")}),i.createElement(z,null),i.createElement(de,{onClick:()=>{if(_===G.Point){V(J.descend);return}L(!0)},className:x("point-cloud","prev")}),i.createElement(pe,{onClick:()=>{if(_===G.Point){V(J.ascend);return}E(!0)},className:x("point-cloud","next")}),i.createElement(z,null),i.createElement(ae,{initialPosition:g,zoomIn:u,zoomOut:P,zoom:w}))},We=({setZAxisLimit:n,zAxisLimit:s,checkMode:r})=>r?null:i.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},i.createElement(xe,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:w=>{n(w)}})),Fe=({currentData:n,imgList:s,stepInfo:r,drawLayerSlot:w,checkMode:u,intelligentFit:P,setIsEnlargeTopView:g,isEnlargeTopView:E,onExitZoom:L,highlightAttribute:V})=>{var y,I;const[O,_]=W({zoom:1,currentPos:{x:0,y:0}}),m=we(null),e=i.useContext(F),c=Se(m),f=Oe(r.config),{setZoom:b,syncTopviewToolZoom:S}=q(),{hideAttributes:ee}=e,{addPolygon:te,deletePolygon:oe}=Ie(),{deletePointCloudSphere:ne}=Y(),{deletePointCloudBox:ie,changeValidByID:le}=K(),[j,se]=W(10),{t:U}=Ee(),C=_e(),{pushHistoryWithList:re}=ke();Ce(()=>{if(!e.topViewInstance&&m.current&&(n==null?void 0:n.url)&&(n==null?void 0:n.result)){const o={width:m.current.clientWidth,height:m.current.clientHeight},a=new me({container:m.current,size:o,pcdPath:n.url,config:R(B({},f),{pointCloudPattern:e.pointCloudPattern}),checkMode:u,toolName:be.getPointCloudToolList(),proxyMode:u});e.setTopViewInstance(a)}},[n]),h(()=>{if(!c||!e.topViewInstance||!e.sideViewInstance)return;const{toolInstance:o}=e.topViewInstance;o.singleOn("dataUpdated",(t,l)=>{const p=je.cloneDeep(t).map(d=>R(B({},d),{pointList:H.pointListTransferCanvas2World(d.pointList,c)}));e.setSelectedIDs(l),e.setLineList(p),re({lineList:p})}),o.singleOn("pointCreated",(t,l)=>{C.topViewAddSphere({newPoint:t,size:c,trackConfigurable:f.trackConfigurable,zoom:l})}),o.singleOn("pointDeleted",t=>{ne(t)}),o.singleOn("pointSelected",t=>{e.setSelectedIDs([t])}),o.singleOn("updatePointByDrag",(t,l)=>{var p;(p=C.topViewUpdatePoint)==null||p.call(C,t,c)}),o.singleOn("polygonCreated",(t,l)=>{if(o.pattern===Ze.Normal||!(n==null?void 0:n.url)){const p=R(B({},t),{pointList:t.pointList.map(d=>H.transferCanvas2World(d,c))});te(p),e.setSelectedIDs(ee.includes(t.attribute)?"":t.id);return}C.topViewAddBox({polygon:t,size:c,imgList:s,trackConfigurable:f.trackConfigurable,zoom:l,intelligentFit:P})}),o.singleOn("deletedObject",({id:t})=>{ie(t),oe(t)}),o.singleOn("deleteSelectedIDs",()=>{e.setSelectedIDs([])}),o.singleOn("addSelectedIDs",t=>{e.addSelectedID(t)}),o.singleOn("setSelectedIDs",t=>{e.setSelectedIDs(t)}),o.singleOn("updatePolygonByDrag",t=>{var l;(l=C.topViewUpdateBox)==null||l.call(C,t,c)});const a=t=>{var l;const p=le(t);p&&e.syncAllViewPointCloudColor(p),e.polygonList.find(d=>d.id===t)&&((l=e.topViewInstance)==null||l.toolInstance.setPolygonValidAndRender(t,!0))};return o.on("validUpdate",a),()=>{o.unbind("validUpdate",a)}},[e,c,n,C,e.polygonList,e.lineList,(y=e.topViewInstance)==null?void 0:y.toolInstance]),h(()=>{var o,a;if(!(c==null?void 0:c.width)||!e.topViewInstance)return;const t=(a=(o=f==null?void 0:f.attributeList)==null?void 0:o[0])==null?void 0:a.value;t&&e.topViewInstance.toolInstance.setDefaultAttribute(t),e.topViewInstance.initSize(c),e.topViewInstance.updatePolygonList(e.displayPointCloudList,e.polygonList),e.topViewInstance.updatePointList(e.displaySphereList),e.topViewInstance.updateLineList(e.displayLineList);const{topViewInstance:{pointCloudInstance:l,toolInstance:p}}=e;p.singleOn("renderZoom",(d,v)=>{const{offsetX:T,offsetY:k}=Q(v,c,d);if(l.camera.zoom=d,v){const{x:A,y:D,z:N}=l.initCameraPosition;l.camera.position.set(A+k,D-T,N)}l.camera.updateProjectionMatrix(),l.render(),b(d),S(v,d,c),_({zoom:d,currentPos:v})}),p.singleOn("dragMove",({currentPos:d,zoom:v})=>{const{offsetX:T,offsetY:k}=Q(d,c,v);l.camera.zoom=v;const{x:A,y:D,z:N}=l.initCameraPosition;l.camera.position.set(A+k,D-T,N),l.render(),S(d,v,c),_({zoom:v,currentPos:d})})},[c,e.topViewInstance,(I=e.topViewInstance)==null?void 0:I.toolInstance]),h(()=>{var o,a;(a=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null||a.applyZAxisPoints(j)},[j]),h(()=>{var o,a,t,l;C.topViewSelectedChanged({}),(l=(t=(a=(o=e.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:a.selection)==null?void 0:t.hardSetSelectedIDs)==null||l.call(t,e.selectedIDs)},[e.selectedIDs]),h(()=>(window.addEventListener("keydown",Z),()=>{window.removeEventListener("keydown",Z)}),[]);const Z=o=>{const{keyCode:a}=o;a===ze.Esc&&L()};return h(()=>{var o,a,t;(t=(a=(o=e.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:a.setHighlightAttribute)==null||t.call(a,V)},[e.topViewInstance,V]),i.createElement(ge,{className:x("point-cloud-container","top-view"),title:E?i.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},i.createElement(ce,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{L()}}),i.createElement("span",null,U("TopView")),i.createElement(X,{checkMode:u,config:f,style:{display:"flex",position:"initial",margin:"0px 20px"}})):i.createElement(Ae,{title:U("TopView"),onClick:()=>{g(!0)}}),toolbar:i.createElement(He,{currentData:n})},i.createElement("div",{style:{position:"relative",flex:1}},i.createElement("div",{style:{width:"100%",height:"100%"},ref:m},w==null?void 0:w(O)),!E&&i.createElement(X,{checkMode:u,config:f}),i.createElement(We,{checkMode:u,zAxisLimit:j,setZAxisLimit:se}),i.createElement(ye,null)))};var Ke=Ve(he,null,null,{context:Le})(Fe);export{Ke as default};
@@ -1 +1 @@
1
- import c from"react";import{EyeFilled as p,EyeInvisibleFilled as d,LoadingOutlined as f}from"@ant-design/icons";import{getClassName as u}from"../../../../utils/dom.js";var m=Object.defineProperty,l=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,_=Object.prototype.propertyIsEnumerable,n=(t,e,r)=>e in t?m(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,s=(t,e)=>{for(var r in e||(e={}))g.call(e,r)&&n(t,r,e[r]);if(l)for(var r of l(e))_.call(e,r)&&n(t,r,e[r]);return t};const y=({visible:t,style:e,onClick:r,loading:o})=>{const i={background:"rgba(0, 0, 0, 0.74)",color:"white",borderRadius:2,padding:6,fontSize:16};let a=t?p:d;return o&&(a=f,Object.assign(i,{borderRadius:100})),c.createElement(a,{className:u("point-cloud-highlight-view"),style:s(s({},i),e),onClick:o?()=>{}:r})};export{y as default};
1
+ import c from"react";import{EyeFilled as d,EyeInvisibleFilled as p,LoadingOutlined as f}from"@ant-design/icons";import{getClassName as u}from"../../../../utils/dom.js";var m=Object.defineProperty,l=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,g=Object.prototype.propertyIsEnumerable,n=(t,e,r)=>e in t?m(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,s=(t,e)=>{for(var r in e||(e={}))_.call(e,r)&&n(t,r,e[r]);if(l)for(var r of l(e))g.call(e,r)&&n(t,r,e[r]);return t};const y=({visible:t,style:e,onClick:r,loading:o})=>{const i={background:"rgba(0, 0, 0, 0.74)",color:"white",borderRadius:2,padding:6,fontSize:16};let a=t?d:p;return o&&(a=f,Object.assign(i,{borderRadius:100})),c.createElement(a,{className:u("point-cloud-highlight-view"),style:s(s({},i),e),onClick:o?()=>{}:r})};export{y as default};
@@ -1 +1 @@
1
- import e from"react";import{getClassName as t}from"../../../../utils/dom.js";import{Slider as a}from"antd";const r=({onChange:n})=>e.createElement("span",{className:t("point-cloud-container","slider-container")},e.createElement("span",{className:t("point-cloud-container","slider-container","circle")}),e.createElement("span",{className:t("point-cloud-container","slider-container","slider")},e.createElement(a,{onChange:n,min:1,max:8})),e.createElement("span",{className:t("point-cloud-container","slider-container","circle"),style:{width:"10px",height:"10px"}}));export{r as default};
1
+ import e from"react";import{getClassName as t}from"../../../../utils/dom.js";import{Slider as n}from"antd";const r=({onChange:a})=>e.createElement("span",{className:t("point-cloud-container","slider-container")},e.createElement("span",{className:t("point-cloud-container","slider-container","circle")}),e.createElement("span",{className:t("point-cloud-container","slider-container","slider")},e.createElement(n,{onChange:a,min:1,max:8})),e.createElement("span",{className:t("point-cloud-container","slider-container","circle"),style:{width:"10px",height:"10px"}}));export{r as default};
@@ -1 +1 @@
1
- import n from"react";import{ExpandAltOutlined as a}from"@ant-design/icons";import{getClassName as o}from"../../../../utils/dom.js";const m=({title:e,onClick:t,style:r})=>!t&&!e?null:n.createElement("span",{className:o("point-cloud-container","title-button"),style:r},e,t&&n.createElement(a,{onClick:t,style:{marginLeft:4}}));export{m as default};
1
+ import a from"react";import{ExpandAltOutlined as r}from"@ant-design/icons";import{getClassName as o}from"../../../../utils/dom.js";const l=({title:e,onClick:t,style:n})=>!t&&!e?null:a.createElement("span",{className:o("point-cloud-container","title-button"),style:n},e,t&&a.createElement(r,{onClick:t,style:{marginLeft:4}}));export{l as default};
@@ -1 +1 @@
1
- import{ESubmitType as L}from"../../../../constant/index.js";import{ToSubmitFileData as z,BatchUpdateResultByTrackID as R}from"../../../../store/annotation/actionCreators.js";import{LabelBeeContext as T,useDispatch as M}from"../../../../store/ctx.js";import{Form as u,Modal as q,InputNumber as F,Select as g,Popover as N,message as V}from"antd";import e,{useState as H,useEffect as K,useCallback as Q}from"react";import{useTranslation as W}from"react-i18next";import{QuestionCircleOutlined as $}from"@ant-design/icons";import{PointCloudUtils as _}from"@labelbee/lb-utils";import{connect as G}from"react-redux";import{useSingleBox as J}from"../../hooks/useSingleBox.js";import{MathUtils as X}from"@labelbee/lb-annotation";var Y=Object.defineProperty,Z=Object.defineProperties,ee=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,w=(r,n,a)=>n in r?Y(r,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[n]=a,v=(r,n)=>{for(var a in n||(n={}))te.call(n,a)&&w(r,a,n[a]);if(B)for(var a of B(n))re.call(n,a)&&w(r,a,n[a]);return r},ne=(r,n)=>Z(r,ee(n));const ae={labelCol:{span:8},wrapperCol:{span:16}},O=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],le=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],h=2,k=({text:r})=>e.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},r),ie=({id:r,visible:n,onCancel:a,config:m,imgList:y,imgIndex:A})=>{const P=M(),{selectedBox:i}=J(),[p,E]=H(),[d]=u.useForm(),{t:o}=W();K(()=>{n===!1?(d.resetFields(),E(void 0)):b()},[n]);const C=t=>{var s;if(!r)return;if(!p){V.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}P(z(L.SyncImgList));const l={attribute:t.attribute};if(m.secondaryAttributeConfigurable){const c={};(s=m.inputList)==null||s.forEach(f=>{const x=t[f.value];x!==void 0&&Object.assign(c,{[f.value]:x})}),Object.keys(c).length>0&&Object.assign(l,{subAttribute:c})}p&&Object.assign(l,p),P(R(r,l,[t.prevPage-1,t.nextPage-1])),a()},b=Q(()=>{var t;const{prevPage:s,nextPage:l}=d.getFieldsValue(["prevPage","nextPage"]),c=y.filter((x,U)=>X.isInRange(U,[s-1,l-1]));if(!((c==null?void 0:c.length)>0)||!(i==null?void 0:i.info)||((t=i==null?void 0:i.info)==null?void 0:t.trackID)===void 0){E(void 0);return}const f=_.getMaxSizeFromBox({trackID:i.info.trackID,imgList:c});E(f)},[y,i,A]),D=()=>d.submit(),j=()=>{if(!p||!(i==null?void 0:i.info))return;const t={marginRight:16},{length:s,width:l,height:c}=_.transferBox2Kitti(v(v({},i==null?void 0:i.info),p));return e.createElement("div",null,e.createElement("span",{style:t},o("Length"),": ",s.toFixed(h)),e.createElement("span",{style:t},o("Width"),": ",l.toFixed(h)),e.createElement("span",{style:t},o("Height"),": ",c.toFixed(h)),e.createElement(N,{placement:"rightBottom",content:"\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8"},e.createElement($,null)))},S={width:"200px"},I={marginBottom:"24px",display:"flex",alignItems:"center"};return e.createElement(q,{title:o("UnifyParams"),visible:n,onCancel:a,onOk:D,wrapClassName:"labelbee-custom-modal"},e.createElement(u,ne(v({},ae),{form:d,onFinish:C}),e.createElement(u.Item,{name:"id",label:o("UnifyTrackID")},r),e.createElement(u.Item,{label:o("UnifyAttributeRange"),required:!0},e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"prevPage",noStyle:!0,initialValue:1},e.createElement(F,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),e.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"nextPage",noStyle:!0,initialValue:y.length},e.createElement(F,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),e.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},o("Page"))),e.createElement(u.Item,{name:"UnifySize",label:o("UnifySize")},j()),e.createElement(u.Item,{label:o("UnifyTag"),required:!0},e.createElement("div",{style:I},e.createElement(k,{text:o("Attribute")}),e.createElement(u.Item,{name:"attribute",noStyle:!0,rules:le},e.createElement(g,{style:S},m.attributeList.map(t=>e.createElement(g.Option,{key:t.value,value:t.value},t.key))))),m.secondaryAttributeConfigurable&&m.inputList.map(t=>{var s;return e.createElement("div",{key:t.value,style:I},e.createElement(k,{text:t.key}),e.createElement(u.Item,{name:t.value,noStyle:!0,required:!1},e.createElement(g,{style:S},(s=t.subSelected)==null?void 0:s.map(l=>e.createElement(g.Option,{key:l.value,value:l.value},l.key)))))}))))},oe=r=>({imgIndex:r.annotation.imgIndex});var ue=G(oe,null,null,{context:T})(ie);export{ue as default};
1
+ import{ESubmitType as L}from"../../../../constant/index.js";import{ToSubmitFileData as z,BatchUpdateResultByTrackID as R}from"../../../../store/annotation/actionCreators.js";import{LabelBeeContext as T,useDispatch as M}from"../../../../store/ctx.js";import{Form as u,Modal as q,InputNumber as _,Select as g,Popover as N,message as V}from"antd";import e,{useState as H,useEffect as K,useCallback as Q}from"react";import{useTranslation as W}from"react-i18next";import{QuestionCircleOutlined as $}from"@ant-design/icons";import{PointCloudUtils as F}from"@labelbee/lb-utils";import{connect as G}from"react-redux";import{useSingleBox as J}from"../../hooks/useSingleBox.js";import{MathUtils as X}from"@labelbee/lb-annotation";var Y=Object.defineProperty,Z=Object.defineProperties,ee=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,w=(r,n,a)=>n in r?Y(r,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[n]=a,v=(r,n)=>{for(var a in n||(n={}))te.call(n,a)&&w(r,a,n[a]);if(B)for(var a of B(n))re.call(n,a)&&w(r,a,n[a]);return r},ne=(r,n)=>Z(r,ee(n));const ae={labelCol:{span:8},wrapperCol:{span:16}},O=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],le=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],h=2,k=({text:r})=>e.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},r),ie=({id:r,visible:n,onCancel:a,config:m,imgList:y,imgIndex:A})=>{const P=M(),{selectedBox:i}=J(),[p,E]=H(),[d]=u.useForm(),{t:o}=W();K(()=>{n===!1?(d.resetFields(),E(void 0)):b()},[n]);const C=t=>{var s;if(!r)return;if(!p){V.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}P(z(L.SyncImgList));const l={attribute:t.attribute};if(m.secondaryAttributeConfigurable){const c={};(s=m.inputList)==null||s.forEach(f=>{const x=t[f.value];x!==void 0&&Object.assign(c,{[f.value]:x})}),Object.keys(c).length>0&&Object.assign(l,{subAttribute:c})}p&&Object.assign(l,p),P(R(r,l,[t.prevPage-1,t.nextPage-1])),a()},b=Q(()=>{var t;const{prevPage:s,nextPage:l}=d.getFieldsValue(["prevPage","nextPage"]),c=y.filter((x,U)=>X.isInRange(U,[s-1,l-1]));if(!((c==null?void 0:c.length)>0)||!(i==null?void 0:i.info)||((t=i==null?void 0:i.info)==null?void 0:t.trackID)===void 0){E(void 0);return}const f=F.getMaxSizeFromBox({trackID:i.info.trackID,imgList:c});E(f)},[y,i,A]),D=()=>d.submit(),j=()=>{if(!p||!(i==null?void 0:i.info))return;const t={marginRight:16},{length:s,width:l,height:c}=F.transferBox2Kitti(v(v({},i==null?void 0:i.info),p));return e.createElement("div",null,e.createElement("span",{style:t},o("Length"),": ",s.toFixed(h)),e.createElement("span",{style:t},o("Width"),": ",l.toFixed(h)),e.createElement("span",{style:t},o("Height"),": ",c.toFixed(h)),e.createElement(N,{placement:"rightBottom",content:"\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8"},e.createElement($,null)))},S={width:"200px"},I={marginBottom:"24px",display:"flex",alignItems:"center"};return e.createElement(q,{title:o("UnifyParams"),visible:n,onCancel:a,onOk:D,wrapClassName:"labelbee-custom-modal"},e.createElement(u,ne(v({},ae),{form:d,onFinish:C}),e.createElement(u.Item,{name:"id",label:o("UnifyTrackID")},r),e.createElement(u.Item,{label:o("UnifyAttributeRange"),required:!0},e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"prevPage",noStyle:!0,initialValue:1},e.createElement(_,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),e.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"nextPage",noStyle:!0,initialValue:y.length},e.createElement(_,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),e.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},o("Page"))),e.createElement(u.Item,{name:"UnifySize",label:o("UnifySize")},j()),e.createElement(u.Item,{label:o("UnifyTag"),required:!0},e.createElement("div",{style:I},e.createElement(k,{text:o("Attribute")}),e.createElement(u.Item,{name:"attribute",noStyle:!0,rules:le},e.createElement(g,{style:S},m.attributeList.map(t=>e.createElement(g.Option,{key:t.value,value:t.value},t.key))))),m.secondaryAttributeConfigurable&&m.inputList.map(t=>{var s;return e.createElement("div",{key:t.value,style:I},e.createElement(k,{text:t.key}),e.createElement(u.Item,{name:t.value,noStyle:!0,required:!1},e.createElement(g,{style:S},(s=t.subSelected)==null?void 0:s.map(l=>e.createElement(g.Option,{key:l.value,value:l.value},l.key)))))}))))},oe=r=>({imgIndex:r.annotation.imgIndex});var ue=G(oe,null,null,{context:T})(ie);export{ue as default};
@@ -1 +1 @@
1
- import g from"classnames";import s,{useState as p,useEffect as v}from"react";import C from"../../PointCloudBackView.js";import P from"../../PointCloudSideView.js";import{getClassName as c}from"../../../../utils/dom.js";import{useTranslation as h}from"react-i18next";const D=y=>{const{t:E}=h(),{selectAndEnlarge:a,checkMode:l}=y,d=360,m=400,f=window.innerWidth-d,w=window.innerHeight-m,[o,n]=p({x:f,y:w}),[i,u]=p({x:0,y:0});v(()=>(window.addEventListener("resize",x),()=>{window.removeEventListener("resize",x),n({x:f,y:w}),u({x:0,y:0})}),[]);const x=()=>{const t=window.innerWidth-d,e=window.innerHeight-m;n({x:t,y:e})};return s.createElement("div",{className:g({[c("point-cloud-container","left-bottom")]:!0,[c("point-cloud-container","left-bottom-float")]:!0}),style:{top:o.y,left:o.x,width:360,height:400,zIndex:a?1003:-1}},s.createElement("div",{className:c("point-cloud-container","left-bottom-floatHeader"),draggable:"true",onDragStart:t=>{a&&u({x:t.clientX-o.x,y:t.clientY-o.y})},onDrag:t=>{const e=t.clientX-i.x,r=t.clientY-i.y;n({x:e,y:r})},onDragEnd:t=>{const e=t.clientX-i.x,r=t.clientY-i.y;n({x:e,y:r})}},E("DragAndDrop")),s.createElement(C,{checkMode:l}),s.createElement(P,{checkMode:l}))};export{D as default};
1
+ import g from"classnames";import s,{useState as p,useEffect as v}from"react";import C from"../../PointCloudBackView.js";import P from"../../PointCloudSideView.js";import{getClassName as c}from"../../../../utils/dom.js";import{useTranslation as h}from"react-i18next";const D=y=>{const{t:E}=h(),{selectAndEnlarge:a,checkMode:l}=y,d=360,m=400,f=window.innerWidth-d,u=window.innerHeight-m,[o,n]=p({x:f,y:u}),[i,w]=p({x:0,y:0});v(()=>(window.addEventListener("resize",x),()=>{window.removeEventListener("resize",x),n({x:f,y:u}),w({x:0,y:0})}),[]);const x=()=>{const t=window.innerWidth-d,e=window.innerHeight-m;n({x:t,y:e})};return s.createElement("div",{className:g({[c("point-cloud-container","left-bottom")]:!0,[c("point-cloud-container","left-bottom-float")]:!0}),style:{top:o.y,left:o.x,width:360,height:400,zIndex:a?1003:-1}},s.createElement("div",{className:c("point-cloud-container","left-bottom-floatHeader"),draggable:"true",onDragStart:t=>{a&&w({x:t.clientX-o.x,y:t.clientY-o.y})},onDrag:t=>{const e=t.clientX-i.x,r=t.clientY-i.y;n({x:e,y:r})},onDragEnd:t=>{const e=t.clientX-i.x,r=t.clientY-i.y;n({x:e,y:r})}},E("DragAndDrop")),s.createElement(C,{checkMode:l}),s.createElement(P,{checkMode:l}))};export{D as default};
@@ -1 +1 @@
1
- import{getClassName as n}from"../../utils/dom.js";import t,{useContext as I,useState as T,useEffect as p}from"react";import y from"./PointCloud3DView.js";import k from"./PointCloudBackView.js";import B from"./PointCloudTopView.js";import F from"./PointCloudSideView.js";import R from"./PointCloud2DView.js";import _ from"./PointCloudListener.js";import M from"./PointCloudSegmentListener.js";import G from"./PointCloudSegment.js";import O from"./PointCloudSegmentStatus.js";import Z from"./PointCloudSegmentToolbar.js";import U from"./PointCloudSegment2DView.js";import{connect as W}from"react-redux";import{LabelBeeContext as $,useDispatch as q}from"../../store/ctx.js";import{AnnotatedAttributesPanelFixedLeft as z,AnnotatedAttributesPanelFixedRight as H}from"../../views/MainView/toolFooter/AnnotatedAttributes/index.js";import{PointCloudContext as J}from"./PointCloudContext.js";import{PointCloudUtils as K,EPointCloudPattern as Q}from"@labelbee/lb-utils";import{useCustomToolInstance as X}from"../../hooks/annotation.js";import{jsonParser as Y}from"../../utils/index.js";import{a2MapStateToProps as tt}from"../../store/annotation/map.js";import g from"classnames";import et from"./components/sideAndBackOverView/index.js";import{SetLoadPCDFileLoading as ot}from"../../store/annotation/actionCreators.js";const nt=E=>{const{currentData:a,imgList:L,drawLayerSlot:c,checkMode:i,intelligentFit:S,imgIndex:w,config:x,measureVisible:b}=E,e=I(J),{globalPattern:d,setGlobalPattern:j,selectedIDs:C}=e,v=q(),[l,P]=T(!1),V=(C==null?void 0:C.length)>0&&l,h=Y(a.result),{toolInstanceRef:r,clearToolInstance:D}=X({basicInfo:h});if(p(()=>{r.current.setPointCloudGlobalPattern=o=>{o!==d&&(j(o),e.clearAllDetectionInstance(),D())}},[d]),p(()=>{var o;if(ot(v,!0),a){const{boxParamsList:s,polygonList:m,lineList:u,sphereParamsList:A,segmentation:N}=K.parsePointCloudCurrentResult((o=a==null?void 0:a.result)!=null?o:"");e.setPointCloudResult(s),e.setPolygonList(m),e.setLineList(u),e.setPointCloudSphereList(A),e.setSegmentation(N)}},[w]),p(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var o,s,m,u;return{resultPolygon:(o=e.polygonList)!=null?o:[],resultLine:(s=e.lineList)!=null?s:[],resultPoint:(m=e.pointCloudSphereList)!=null?m:[],segmentation:(u=e.segmentation)!=null?u:[]}}},[e.pointCloudBoxList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),L.length===0)return null;if(d===Q.Segmentation)return t.createElement(t.Fragment,null,t.createElement(M,{checkMode:i,toolInstanceRef:r}),t.createElement(Z,null),t.createElement("div",{className:n("point-cloud-layout")},t.createElement(G,{checkMode:i}),t.createElement(U,null)),t.createElement(O,{config:x}),c==null?void 0:c({direct:!0}));let f=t.createElement("div",{className:n("point-cloud-container","left-bottom")},t.createElement(k,{checkMode:i}),t.createElement(F,{checkMode:i}));return l&&(f=t.createElement(et,{selectAndEnlarge:V,checkMode:i})),t.createElement(t.Fragment,null,t.createElement(_,{checkMode:i,toolInstanceRef:r}),t.createElement("div",{className:n("point-cloud-layout"),onContextMenu:o=>o.preventDefault()},t.createElement("div",{className:n("point-cloud-wrapper")},t.createElement(z,null),t.createElement("div",{className:n("point-cloud-content")},t.createElement("div",{className:n("point-cloud-container","left")},t.createElement(y,null),f),t.createElement("div",{className:g({[n("point-cloud-container","right")]:!0,[n("point-cloud-container","rightZoom")]:l})},t.createElement(B,{drawLayerSlot:c,checkMode:i,intelligentFit:S,setIsEnlargeTopView:P,onExitZoom:()=>{P(!1)},isEnlargeTopView:l}),t.createElement("div",{className:g({[n("point-cloud-container","right-bottom")]:!l,[n("point-cloud-container","right-bottom-floatLeft")]:l})},t.createElement(R,{isEnlargeTopView:l,thumbnailWidth:l?300:455,checkMode:i,measureVisible:b})))),t.createElement(H,null))))};var it=W(tt,null,null,{context:$})(nt);export{it as default};
1
+ import{getClassName as n}from"../../utils/dom.js";import t,{useContext as I,useState as T,useEffect as p}from"react";import y from"./PointCloud3DView.js";import k from"./PointCloudBackView.js";import B from"./PointCloudTopView.js";import F from"./PointCloudSideView.js";import _ from"./PointCloud2DView.js";import R from"./PointCloudListener.js";import M from"./PointCloudSegmentListener.js";import G from"./PointCloudSegment.js";import O from"./PointCloudSegmentStatus.js";import Z from"./PointCloudSegmentToolbar.js";import U from"./PointCloudSegment2DView.js";import{connect as W}from"react-redux";import{LabelBeeContext as $,useDispatch as q}from"../../store/ctx.js";import{AnnotatedAttributesPanelFixedLeft as z,AnnotatedAttributesPanelFixedRight as H}from"../../views/MainView/toolFooter/AnnotatedAttributes/index.js";import{PointCloudContext as J}from"./PointCloudContext.js";import{PointCloudUtils as K,EPointCloudPattern as Q}from"@labelbee/lb-utils";import{useCustomToolInstance as X}from"../../hooks/annotation.js";import{jsonParser as Y}from"../../utils/index.js";import{a2MapStateToProps as tt}from"../../store/annotation/map.js";import g from"classnames";import et from"./components/sideAndBackOverView/index.js";import{SetLoadPCDFileLoading as ot}from"../../store/annotation/actionCreators.js";const nt=E=>{const{currentData:a,imgList:L,drawLayerSlot:c,checkMode:i,intelligentFit:S,imgIndex:w,config:x,measureVisible:b}=E,e=I(J),{globalPattern:d,setGlobalPattern:j,selectedIDs:C}=e,v=q(),[l,P]=T(!1),V=(C==null?void 0:C.length)>0&&l,h=Y(a.result),{toolInstanceRef:r,clearToolInstance:D}=X({basicInfo:h});if(p(()=>{r.current.setPointCloudGlobalPattern=o=>{o!==d&&(j(o),e.clearAllDetectionInstance(),D())}},[d]),p(()=>{var o;if(ot(v,!0),a){const{boxParamsList:s,polygonList:m,lineList:u,sphereParamsList:A,segmentation:N}=K.parsePointCloudCurrentResult((o=a==null?void 0:a.result)!=null?o:"");e.setPointCloudResult(s),e.setPolygonList(m),e.setLineList(u),e.setPointCloudSphereList(A),e.setSegmentation(N)}},[w]),p(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var o,s,m,u;return{resultPolygon:(o=e.polygonList)!=null?o:[],resultLine:(s=e.lineList)!=null?s:[],resultPoint:(m=e.pointCloudSphereList)!=null?m:[],segmentation:(u=e.segmentation)!=null?u:[]}}},[e.pointCloudBoxList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),L.length===0)return null;if(d===Q.Segmentation)return t.createElement(t.Fragment,null,t.createElement(M,{checkMode:i,toolInstanceRef:r}),t.createElement(Z,null),t.createElement("div",{className:n("point-cloud-layout")},t.createElement(G,{checkMode:i}),t.createElement(U,null)),t.createElement(O,{config:x}),c==null?void 0:c({direct:!0}));let f=t.createElement("div",{className:n("point-cloud-container","left-bottom")},t.createElement(k,{checkMode:i}),t.createElement(F,{checkMode:i}));return l&&(f=t.createElement(et,{selectAndEnlarge:V,checkMode:i})),t.createElement(t.Fragment,null,t.createElement(R,{checkMode:i,toolInstanceRef:r}),t.createElement("div",{className:n("point-cloud-layout"),onContextMenu:o=>o.preventDefault()},t.createElement("div",{className:n("point-cloud-wrapper")},t.createElement(z,null),t.createElement("div",{className:n("point-cloud-content")},t.createElement("div",{className:n("point-cloud-container","left")},t.createElement(y,null),f),t.createElement("div",{className:g({[n("point-cloud-container","right")]:!0,[n("point-cloud-container","rightZoom")]:l})},t.createElement(B,{drawLayerSlot:c,checkMode:i,intelligentFit:S,setIsEnlargeTopView:P,onExitZoom:()=>{P(!1)},isEnlargeTopView:l}),t.createElement("div",{className:g({[n("point-cloud-container","right-bottom")]:!l,[n("point-cloud-container","right-bottom-floatLeft")]:l})},t.createElement(_,{isEnlargeTopView:l,thumbnailWidth:l?300:455,checkMode:i,measureVisible:b})))),t.createElement(H,null))))};var it=W(tt,null,null,{context:$})(nt);export{it as default};
@@ -1 +1 @@
1
- import{Button as v,message as c}from"antd";import p from"react";import{useTranslation as y}from"react-i18next";import{connect as S}from"react-redux";import k from"../../../assets/predictTracking/icon.svg.js";import{useSingleBox as B}from"../../pointCloudView/hooks/useSingleBox.js";import{ChangeSave as C,GetBoxesByID as I,SetPointCloudLoading as D,SetPredictResult as T,SetPredictResultVisible as R}from"../../../store/annotation/actionCreators.js";import{LabelBeeContext as b,useDispatch as j}from"../../../store/ctx.js";import{predict as V}from"../previewResult/util.js";import{useStatus as w}from"../../pointCloudView/hooks/useStatus.js";var E=(o,n,e)=>new Promise((d,l)=>{var u=t=>{try{s(e.next(t))}catch(i){l(i)}},r=t=>{try{s(e.throw(t))}catch(i){l(i)}},s=t=>t.done?d(t.value):Promise.resolve(t.value).then(u,r);s((e=e.apply(o,n)).next())});const L=o=>{const n=j(),{t:e}=y(),{isPointCloudSegmentationPattern:d}=w(),{loading:l,predictionResultVisible:u}=o,{selectedBox:r}=B(),s=()=>E(void 0,null,function*(){if(l||u)return;const t=r==null?void 0:r.info.trackID;if(!t){c.error(e("BeforePredictStarting"));return}yield n(C);const i=r==null?void 0:r.info.id,a=yield n(I(t,i));if(a.length<2){c.error(e("MarkOnlyOne"));return}const x=a.findIndex(h=>h.id===i),m=a[x-1],f=a[x],g=f.index-m.index;if(g<2){c.error(e("HaveNoNeed"));return}if(g>8){c.error(e("ThePredictedPointCloud"));return}c.success(e("PredictingDataFrom",{startPage:m.index+1,endPage:f.index+1,selectedBoxTrackID:t})),D(n,!0);const P=V(m,f);T(n,P),R(n,!0)});return d?null:p.createElement(v,{type:"link",onClick:s,style:{display:"flex",flexDirection:"column",height:"auto",alignItems:"center"}},p.createElement("img",{src:k,style:{alignSelf:"center"}}),p.createElement("span",{style:{color:"#797979"}},e("ComplementaryTracking")))},N=o=>({loading:o.annotation.loading,predictionResultVisible:o.annotation.predictionResultVisible});var O=S(N,null,null,{context:b})(L);export{O as default};
1
+ import{Button as v,message as c}from"antd";import p from"react";import{useTranslation as y}from"react-i18next";import{connect as S}from"react-redux";import k from"../../../assets/predictTracking/icon.svg.js";import{useSingleBox as B}from"../../pointCloudView/hooks/useSingleBox.js";import{ChangeSave as C,GetBoxesByID as I,SetPointCloudLoading as D,SetPredictResult as T,SetPredictResultVisible as R}from"../../../store/annotation/actionCreators.js";import{LabelBeeContext as b,useDispatch as j}from"../../../store/ctx.js";import{predict as V}from"../previewResult/util.js";import{useStatus as w}from"../../pointCloudView/hooks/useStatus.js";var _=(o,n,e)=>new Promise((d,l)=>{var u=t=>{try{s(e.next(t))}catch(i){l(i)}},r=t=>{try{s(e.throw(t))}catch(i){l(i)}},s=t=>t.done?d(t.value):Promise.resolve(t.value).then(u,r);s((e=e.apply(o,n)).next())});const E=o=>{const n=j(),{t:e}=y(),{isPointCloudSegmentationPattern:d}=w(),{loading:l,predictionResultVisible:u}=o,{selectedBox:r}=B(),s=()=>_(void 0,null,function*(){if(l||u)return;const t=r==null?void 0:r.info.trackID;if(!t){c.error(e("BeforePredictStarting"));return}yield n(C);const i=r==null?void 0:r.info.id,a=yield n(I(t,i));if(a.length<2){c.error(e("MarkOnlyOne"));return}const x=a.findIndex(h=>h.id===i),m=a[x-1],f=a[x],g=f.index-m.index;if(g<2){c.error(e("HaveNoNeed"));return}if(g>8){c.error(e("ThePredictedPointCloud"));return}c.success(e("PredictingDataFrom",{startPage:m.index+1,endPage:f.index+1,selectedBoxTrackID:t})),D(n,!0);const P=V(m,f);T(n,P),R(n,!0)});return d?null:p.createElement(v,{type:"link",onClick:s,style:{display:"flex",flexDirection:"column",height:"auto",alignItems:"center"}},p.createElement("img",{src:k,style:{alignSelf:"center"}}),p.createElement("span",{style:{color:"#797979"}},e("ComplementaryTracking")))},L=o=>({loading:o.annotation.loading,predictionResultVisible:o.annotation.predictionResultVisible});var N=S(L,null,null,{context:b})(E);export{N as default};
@@ -1 +1 @@
1
- import w from"classnames";import n,{useState as j,useRef as S,useEffect as F}from"react";import{useTranslation as _}from"react-i18next";import{connect as L}from"react-redux";import{PointCloudContext as B}from"../../pointCloudView/PointCloudContext.js";import{SetPredictResultVisible as D,SetPredictResult as T,SetPointCloudLoading as v,BatchUpdateImgListResultByPredictResult as I}from"../../../store/annotation/actionCreators.js";import{LabelBeeContext as U,useDispatch as E}from"../../../store/ctx.js";import{getClassName as o}from"../../../utils/dom.js";import{PointCloud as $}from"@labelbee/lb-annotation";import{PointCloudUtils as z,toolStyleConverter as A}from"@labelbee/lb-utils";import{views as G,sleep as Z,getViewsDataUrl as q}from"./util.js";var H=Object.defineProperty,J=Object.defineProperties,K=Object.getOwnPropertyDescriptors,k=Object.getOwnPropertySymbols,M=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,N=(i,e,t)=>e in i?H(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,W=(i,e)=>{for(var t in e||(e={}))M.call(e,t)&&N(i,t,e[t]);if(k)for(var t of k(e))Q.call(e,t)&&N(i,t,e[t]);return i},X=(i,e)=>J(i,K(e)),O=(i,e,t)=>new Promise((d,r)=>{var s=a=>{try{c(t.next(a))}catch(u){r(u)}},l=a=>{try{c(t.throw(a))}catch(u){r(u)}},c=a=>a.done?d(a.value):Promise.resolve(a.value).then(s,l);c((t=t.apply(i,e)).next())});const Y=i=>{const{predictionResult:e,predictionResultVisible:t,imgList:d}=i,[r,s]=j([]),l=E(),{t:c}=_(),a=()=>{D(l,!1),T(l,[]),s([])},u=()=>O(void 0,null,function*(){v(l,!0),yield l(I()),v(l,!1),a()});return t?n.createElement(n.Fragment,null,r.length>0&&n.createElement("div",{className:o("point-cloud-predict-tracking-container")},n.createElement("div",{className:o("point-cloud-predict-tracking-container","bar")},n.createElement("div",{className:o("point-cloud-predict-tracking-container","title")},n.createElement("div",null,c("ComplementaryTrackingPrediction"),r.length>0?`\uFF08${r.length}\uFF09`:""),n.createElement("div",{className:o("point-cloud-predict-tracking-container","option")},n.createElement("div",{className:w([o("point-cloud-predict-tracking-container","cancelOption"),o("point-cloud-predict-tracking-container","button")]),onClick:a},c("Cancel")),n.createElement("div",{className:w([o("point-cloud-predict-tracking-container","okOption"),o("point-cloud-predict-tracking-container","button")]),onClick:u},c("Apply")))),n.createElement("div",{className:o("point-cloud-predict-tracking-container","content")},n.createElement(ee,{list:r})))),e.length>0&&n.createElement(te,{result:e,imgList:d,setList:s})):null},ee=i=>{const{list:e}=i,{t}=_(),d=[t("TopView"),t("SideView"),t("BackView")];return n.createElement(n.Fragment,null,n.createElement("div",{className:o("point-cloud-predict-tracking-container","left")},d.map(r=>n.createElement("div",{className:o("point-cloud-predict-tracking-container","title"),key:r},r))),n.createElement("div",{className:o("point-cloud-predict-tracking-container","right")},e.map(r=>n.createElement("div",{className:o("point-cloud-predict-tracking-container","item"),key:r.id},G.map(s=>{const l=r[s];return n.createElement("div",{className:o("point-cloud-predict-tracking-container","view"),key:`${r.id}-${s}`},n.createElement("img",{src:l}))})))))},te=i=>{const e=n.useContext(B),t=E(),{result:d,imgList:r,setList:s}=i,l=S(null),c={width:600,height:600};return F(()=>{(()=>O(void 0,null,function*(){var u,P,h,y,C,b;const f=(u=e.mainViewInstance)==null?void 0:u.config;if(f&&l.current){const R=z.getDefaultOrthographicParams(c),p=new $({container:l.current,isOrthographicCamera:!0,orthographicParams:R,config:f});p.setShowDirection(!1);for(const m of d){const{index:g}=m,x=r[g].url?r[g].url:(C=(y=(h=(P=r[g])==null?void 0:P.webPointCloudFile)==null?void 0:h.lidar)==null?void 0:y.url)!=null?C:"";yield p.loadPCDFileByBox(x,m,{width:2,height:2,depth:2}),yield p.updateCameraZoom(e.zoom);const V=(b=A.getColorFromConfig({attribute:m.attribute},X(W({},f),{attributeConfigurable:!0}),{}))==null?void 0:b.fill;p.generateBox(m,V),yield Z(500),yield q(p,m,e.zoom),yield p.removeObjectByName(m.id,"box"),yield p.clearPointCloudAndRender()}s(d),v(t,!1)}}))()},[]),n.createElement("div",{style:c,ref:l,className:"generate-view"})},ne=i=>({predictionResult:i.annotation.predictionResult,predictionResultVisible:i.annotation.predictionResultVisible,imgList:i.annotation.imgList});var ie=L(ne,null,null,{context:U})(Y);export{ie as default};
1
+ import b from"classnames";import n,{useState as j,useRef as S,useEffect as F}from"react";import{useTranslation as w}from"react-i18next";import{connect as L}from"react-redux";import{PointCloudContext as B}from"../../pointCloudView/PointCloudContext.js";import{SetPredictResultVisible as D,SetPredictResult as T,SetPointCloudLoading as v,BatchUpdateImgListResultByPredictResult as I}from"../../../store/annotation/actionCreators.js";import{LabelBeeContext as U,useDispatch as E}from"../../../store/ctx.js";import{getClassName as o}from"../../../utils/dom.js";import{PointCloud as $}from"@labelbee/lb-annotation";import{PointCloudUtils as z,toolStyleConverter as A}from"@labelbee/lb-utils";import{views as G,sleep as Z,getViewsDataUrl as q}from"./util.js";var H=Object.defineProperty,J=Object.defineProperties,K=Object.getOwnPropertyDescriptors,k=Object.getOwnPropertySymbols,M=Object.prototype.hasOwnProperty,Q=Object.prototype.propertyIsEnumerable,N=(i,e,t)=>e in i?H(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,W=(i,e)=>{for(var t in e||(e={}))M.call(e,t)&&N(i,t,e[t]);if(k)for(var t of k(e))Q.call(e,t)&&N(i,t,e[t]);return i},X=(i,e)=>J(i,K(e)),O=(i,e,t)=>new Promise((d,r)=>{var s=a=>{try{c(t.next(a))}catch(u){r(u)}},l=a=>{try{c(t.throw(a))}catch(u){r(u)}},c=a=>a.done?d(a.value):Promise.resolve(a.value).then(s,l);c((t=t.apply(i,e)).next())});const Y=i=>{const{predictionResult:e,predictionResultVisible:t,imgList:d}=i,[r,s]=j([]),l=E(),{t:c}=w(),a=()=>{D(l,!1),T(l,[]),s([])},u=()=>O(void 0,null,function*(){v(l,!0),yield l(I()),v(l,!1),a()});return t?n.createElement(n.Fragment,null,r.length>0&&n.createElement("div",{className:o("point-cloud-predict-tracking-container")},n.createElement("div",{className:o("point-cloud-predict-tracking-container","bar")},n.createElement("div",{className:o("point-cloud-predict-tracking-container","title")},n.createElement("div",null,c("ComplementaryTrackingPrediction"),r.length>0?`\uFF08${r.length}\uFF09`:""),n.createElement("div",{className:o("point-cloud-predict-tracking-container","option")},n.createElement("div",{className:b([o("point-cloud-predict-tracking-container","cancelOption"),o("point-cloud-predict-tracking-container","button")]),onClick:a},c("Cancel")),n.createElement("div",{className:b([o("point-cloud-predict-tracking-container","okOption"),o("point-cloud-predict-tracking-container","button")]),onClick:u},c("Apply")))),n.createElement("div",{className:o("point-cloud-predict-tracking-container","content")},n.createElement(ee,{list:r})))),e.length>0&&n.createElement(te,{result:e,imgList:d,setList:s})):null},ee=i=>{const{list:e}=i,{t}=w(),d=[t("TopView"),t("SideView"),t("BackView")];return n.createElement(n.Fragment,null,n.createElement("div",{className:o("point-cloud-predict-tracking-container","left")},d.map(r=>n.createElement("div",{className:o("point-cloud-predict-tracking-container","title"),key:r},r))),n.createElement("div",{className:o("point-cloud-predict-tracking-container","right")},e.map(r=>n.createElement("div",{className:o("point-cloud-predict-tracking-container","item"),key:r.id},G.map(s=>{const l=r[s];return n.createElement("div",{className:o("point-cloud-predict-tracking-container","view"),key:`${r.id}-${s}`},n.createElement("img",{src:l}))})))))},te=i=>{const e=n.useContext(B),t=E(),{result:d,imgList:r,setList:s}=i,l=S(null),c={width:600,height:600};return F(()=>{(()=>O(void 0,null,function*(){var u,P,h,y,_,C;const f=(u=e.mainViewInstance)==null?void 0:u.config;if(f&&l.current){const R=z.getDefaultOrthographicParams(c),p=new $({container:l.current,isOrthographicCamera:!0,orthographicParams:R,config:f});p.setShowDirection(!1);for(const m of d){const{index:g}=m,x=r[g].url?r[g].url:(_=(y=(h=(P=r[g])==null?void 0:P.webPointCloudFile)==null?void 0:h.lidar)==null?void 0:y.url)!=null?_:"";yield p.loadPCDFileByBox(x,m,{width:2,height:2,depth:2}),yield p.updateCameraZoom(e.zoom);const V=(C=A.getColorFromConfig({attribute:m.attribute},X(W({},f),{attributeConfigurable:!0}),{}))==null?void 0:C.fill;p.generateBox(m,V),yield Z(500),yield q(p,m,e.zoom),yield p.removeObjectByName(m.id,"box"),yield p.clearPointCloudAndRender()}s(d),v(t,!1)}}))()},[]),n.createElement("div",{style:c,ref:l,className:"generate-view"})},ne=i=>({predictionResult:i.annotation.predictionResult,predictionResultVisible:i.annotation.predictionResultVisible,imgList:i.annotation.imgList});var ie=L(ne,null,null,{context:U})(Y);export{ie as default};
@@ -0,0 +1 @@
1
+ import i from"react";import n from"../../index.js";var p=Object.defineProperty,s=Object.defineProperties,_=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,l=(e,r,t)=>r in e?p(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,u=(e,r)=>{for(var t in r||(r={}))f.call(r,t)&&l(e,t,r[t]);if(o)for(var t of o(r))v.call(r,t)&&l(e,t,r[t]);return e},c=(e,r)=>s(e,_(r)),O=e=>{var r;const t=((r=e==null?void 0:e.inputList)==null?void 0:r.filter(a=>a==null?void 0:a.isOverall))||[];return i.createElement(n,c(u({},e),{inputList:t}))};export{O as default};
@@ -0,0 +1 @@
1
+ import n from"react";import l from"../../index.js";var p=Object.defineProperty,s=Object.defineProperties,_=Object.getOwnPropertyDescriptors,o=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,i=(e,r,t)=>r in e?p(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,v=(e,r)=>{for(var t in r||(r={}))f.call(r,t)&&i(e,t,r[t]);if(o)for(var t of o(r))u.call(r,t)&&i(e,t,r[t]);return e},c=(e,r)=>s(e,_(r)),d=e=>{var r;const t=((r=e==null?void 0:e.inputList)==null?void 0:r.filter(a=>!(a==null?void 0:a.isOverall)))||[];return n.createElement(l,c(v({},e),{inputList:t}))};export{d as default};
@@ -0,0 +1 @@
1
+ import l from"react";import{Row as h,Col as k,Radio as y,Tag as x}from"antd";import a from"./index.module.scss.js";import E from"../longText/index.js";import b from"classnames";const{CheckableTag:N}=x,L=({tagItem:m,selectedTags:c,handleChange:o,disabeledAll:v})=>{var r;const i=v,{isMulti:s,subSelected:u=[],value:d}=m,n=d;return s?l.createElement(l.Fragment,null,u.map(e=>{var t,p;return l.createElement(N,{key:e==null?void 0:e.value,checked:(t=c[n])==null?void 0:t.includes(e==null?void 0:e.value),onChange:f=>{i||o({key:n,tag:e==null?void 0:e.value,checked:f})},className:b({[`${a.disabled}`]:i,[`${a.active}`]:i&&((p=c[n])==null?void 0:p.includes(e==null?void 0:e.value))})},l.createElement("span",{className:a.tagItem},l.createElement(E,{text:e==null?void 0:e.key,openByText:!0})))})):l.createElement(y.Group,{onChange:e=>{o({key:n,tag:e.target.value,checked:e.target.checked,isRadio:!0})},value:(r=c[n])==null?void 0:r[0]},u.map(e=>l.createElement(y,{value:e==null?void 0:e.value,key:e==null?void 0:e.value,disabled:i},l.createElement("span",{className:a.tagItem},l.createElement(E,{text:e==null?void 0:e.key,openByText:!0})))))},T=m=>{const{selectedTags:c,updateValue:o,disabeledAll:v,inputList:r=[]}=m,i=s=>{const{key:u,checked:d,tag:n,isRadio:e}=s;let t=c[u]||[];if(e&&(t=[]),d){if(t==null?void 0:t.includes(n))return;t.push(n)}else!d&&(t==null?void 0:t.includes(n))&&(t=t.filter(f=>f!==n));o({key:u,value:t})};return(r==null?void 0:r.length)>0?l.createElement("div",{className:a.tagList},r.map((s,u)=>l.createElement(h,{key:u,className:a.content},l.createElement(k,{span:4,className:a.left},s==null?void 0:s.key),l.createElement(k,{span:20,className:a.right},l.createElement(L,{selectedTags:c,handleChange:i,tagItem:s,disabeledAll:v}))))):null};export{T as default};
@@ -0,0 +1 @@
1
+ var e={tagList:"index-module_tagList__cvWor",content:"index-module_content__Jy4jf",left:"index-module_left__r1ebR",right:"index-module_right__RHSL5",tagItem:"index-module_tagItem__hicyz",disabled:"index-module_disabled__lpoBn",active:"index-module_active__8fZjL"};export{e as default};
@@ -1 +1 @@
1
- import m from"react";import{connect as I}from"react-redux";import{LabelBeeContext as w,useDispatch as S}from"../../store/ctx.js";import{ANNOTATION_ACTIONS as f}from"../../store/Actions.js";import{PageJump as T,PageBackward as O,PageForward as P}from"../../store/annotation/actionCreators.js";import{TagToolInstanceAdaptor as V}from"./videoTagTool/TagToolInstanceAdaptor.js";import{cTool as b}from"@labelbee/lb-annotation";import A from"./videoClipTool/index.js";import E from"../../utils/StepUtils.js";import{jsonParser as L}from"../../utils/index.js";import{VideoTextTool as N}from"./videoTextTool/index.js";var C=Object.defineProperty,h=Object.defineProperties,B=Object.getOwnPropertyDescriptors,j=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,y=(e,o,t)=>o in e?C(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,g=(e,o)=>{for(var t in o||(o={}))D.call(o,t)&&y(e,t,o[t]);if(j)for(var t of j(o))J.call(o,t)&&y(e,t,o[t]);return e},_=(e,o)=>h(e,B(o));const{EVideoToolName:v}=b,U=e=>{const{stepInfo:o,skipBeforePageTurning:t}=e,a=o==null?void 0:o.tool,r=S(),i=n=>{r({type:f.SET_TOOL,payload:{instance:n}})},l=()=>{r({type:f.SET_TOOL,payload:{instance:void 0}})},p=()=>{r({type:f.SET_LOADING,payload:{loading:!1}})},s=()=>{if(t){t(()=>r(O()));return}r(O())},c=()=>{if(t){t(()=>r(P()));return}r(P())};return a===v.VideoClipTool?m.createElement(A,_(g({},e),{pageBackward:s,pageForward:c,pageJump:n=>r(T(~~n-1)),onMounted:i,onUnmounted:l,onVideoLoaded:p})):a===v.VideoTextTool?m.createElement(N,_(g({},e),{pageBackward:s,pageForward:c,pageJump:n=>r(T(~~n-1)),onMounted:i,onUnmounted:l,onVideoLoaded:p})):a===v.VideoTagTool?m.createElement(V,_(g({},e),{pageBackward:s,pageForward:c,pageJump:n=>r(T(~~n-1)),onMounted:i,onUnmounted:l,onVideoLoaded:p})):null},k=e=>{var o,t,a,r,i;const{annotation:{imgList:l,imgIndex:p,step:s,stepList:c,loading:n,skipBeforePageTurning:x}}=e,u=E.getCurrentStepInfo((o=e.annotation)==null?void 0:o.step,(t=e.annotation)==null?void 0:t.stepList),d=(a=l[p])!=null?a:{};return{imgIndex:p,imgList:l,stepInfo:u,config:L(u==null?void 0:u.config),step:s,stepList:c,path:(i=(r=d==null?void 0:d.path)!=null?r:d==null?void 0:d.url)!=null?i:"",loading:n,skipBeforePageTurning:x}};var F=I(k,null,null,{context:w})(U);export{F as default};
1
+ import m from"react";import{connect as I}from"react-redux";import{LabelBeeContext as w,useDispatch as S}from"../../store/ctx.js";import{ANNOTATION_ACTIONS as f}from"../../store/Actions.js";import{PageJump as T,PageBackward as O,PageForward as P}from"../../store/annotation/actionCreators.js";import{TagToolInstanceAdaptor as V}from"./videoTagTool/TagToolInstanceAdaptor.js";import{cTool as b}from"@labelbee/lb-annotation";import A from"./videoClipTool/index.js";import E from"../../utils/StepUtils.js";import{jsonParser as L}from"../../utils/index.js";import{VideoTextTool as N}from"./videoTextTool/index.js";var C=Object.defineProperty,h=Object.defineProperties,B=Object.getOwnPropertyDescriptors,j=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable,y=(e,o,t)=>o in e?C(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,g=(e,o)=>{for(var t in o||(o={}))D.call(o,t)&&y(e,t,o[t]);if(j)for(var t of j(o))J.call(o,t)&&y(e,t,o[t]);return e},_=(e,o)=>h(e,B(o));const{EVideoToolName:v}=b,U=e=>{const{stepInfo:o,skipBeforePageTurning:t}=e,a=o==null?void 0:o.tool,r=S(),i=n=>{r({type:f.SET_TOOL,payload:{instance:n}})},l=()=>{r({type:f.SET_TOOL,payload:{instance:void 0}})},p=()=>{r({type:f.SET_LOADING,payload:{loading:!1}})},s=()=>{if(t){t(()=>r(O()));return}r(O())},d=()=>{if(t){t(()=>r(P()));return}r(P())};return a===v.VideoClipTool?m.createElement(A,_(g({},e),{pageBackward:s,pageForward:d,pageJump:n=>r(T(~~n-1)),onMounted:i,onUnmounted:l,onVideoLoaded:p})):a===v.VideoTextTool?m.createElement(N,_(g({},e),{pageBackward:s,pageForward:d,pageJump:n=>r(T(~~n-1)),onMounted:i,onUnmounted:l,onVideoLoaded:p})):a===v.VideoTagTool?m.createElement(V,_(g({},e),{pageBackward:s,pageForward:d,pageJump:n=>r(T(~~n-1)),onMounted:i,onUnmounted:l,onVideoLoaded:p})):null},k=e=>{var o,t,a,r,i;const{annotation:{imgList:l,imgIndex:p,step:s,stepList:d,loading:n,skipBeforePageTurning:x}}=e,u=E.getCurrentStepInfo((o=e.annotation)==null?void 0:o.step,(t=e.annotation)==null?void 0:t.stepList),c=(a=l[p])!=null?a:{};return{imgIndex:p,imgList:l,stepInfo:u,config:L(u==null?void 0:u.config),step:s,stepList:d,path:(i=(r=c==null?void 0:c.path)!=null?r:c==null?void 0:c.url)!=null?i:"",loading:n,skipBeforePageTurning:x}};var F=I(k,null,null,{context:w})(U);export{F as default};
@@ -1 +1 @@
1
- import{timeFormat as E}from"../../../../../utils/audio.js";import{classnames as d}from"../../../../../utils/index.js";import{CloseCircleFilled as y,EnvironmentFilled as S,ScissorOutlined as I}from"@ant-design/icons";import t,{useState as L,useEffect as g}from"react";import{EClipStatus as N,TIME_SLICE_TYPE as j,ETimeSliceType as v}from"../../constant.js";import A from"../timeSliceRange/index.js";import k from"../ToolTipForClip.js";import{getDisplayContent as b}from"../videoTrack/index.js";import l from"./index.module.scss.js";import{decimalReserved as F}from"../../../../videoPlayer/utils.js";import{LabelBeeContext as $}from"../../../../../store/ctx.js";import{connect as D}from"react-redux";import{useTranslation as C}from"react-i18next";const R=({type:e})=>e===v.Time?t.createElement(S,null):t.createElement(I,{rotate:270}),V=()=>{const{t:e}=C();return t.createElement("div",{className:l.noContent},t.createElement("div",null,e("NoClippedData")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"X"),e("ClipSlice")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"E"),e("TimeStamp")))},h=({children:e})=>{const n=e.length===0;return t.createElement("div",{className:d({[l.empty]:n,[l.timeSliceListContent]:!0})},n?t.createElement(V,null):e)},O=({timeSliceProps:e,index:n,exportContext:r})=>{const{selectedID:o,attributeList:a,onSelectedTimeSlice:s,removeTimeSlice:c}=r;return t.createElement("div",{key:n,className:d({[l.timeSliceItem]:!0,[l.timeSliceItemActivated]:e.id===o}),onClick:()=>{s(e)}},t.createElement(k,{slot:t.createElement("div",{className:l.timeSliceItemContent},t.createElement("div",{className:l.textOverflow},`${n+1}\u3001\u3010${j[e.type]}\u3011 ${b(e,a)}`),t.createElement("div",{className:d({[l.textOverflow]:!0})},t.createElement(R,{type:e.type}),t.createElement("span",{style:{marginLeft:10}},`${E(e.start,"ss:SS")} ${e.end&&e.type===v.Period?"~ "+E(e.end,"ss:SS")+", "+F(e.end-e.start,2)+"s":""}`))),item:e,attributeList:a}),t.createElement(y,{className:l.timeSliceItemDeleteIcon,onClick:u=>{u.stopPropagation(),c(e)}}))},_=e=>{const{toolInstance:n}=e,{selectedID:r,result:o,videoPlayer:a,clipStatus:s,updateSelectedSliceTimeProperty:c}=(n==null?void 0:n.exportContext)||{},[u,f]=L(0),{t:x}=C();g(()=>(n&&n.singleOn("changeClipSidebar",i=>{f(m=>m+1)}),()=>{var i;(i=n==null?void 0:n.unbindAll)==null||i.call(n,"changeClipSidebar")}),[n]);const T=o==null?void 0:o.find(i=>i.id===r),p=o==null?void 0:o.filter(i=>i.end!==null);return(n==null?void 0:n.exportContext)?t.createElement("div",null,t.createElement("div",{className:l.timeSliceListHeader},x("AnnotatedList")),t.createElement(h,null,p==null?void 0:p.map((i,m)=>t.createElement(O,{timeSliceProps:i,index:m,key:i.id,exportContext:(n==null?void 0:n.exportContext)||{}}))),t.createElement(A,{selectedTimeSlice:T,videoPlayer:a,updateTimeForSelected:c,disabled:s===N.Clipping})):null},w=({annotation:e})=>{const{toolInstance:n}=e;return{toolInstance:n}};var B=D(w,null,null,{context:$})(_);export{B as default};
1
+ import{timeFormat as E}from"../../../../../utils/audio.js";import{classnames as d}from"../../../../../utils/index.js";import{CloseCircleFilled as y,EnvironmentFilled as S,ScissorOutlined as I}from"@ant-design/icons";import t,{useState as L,useEffect as g}from"react";import{EClipStatus as N,TIME_SLICE_TYPE as j,ETimeSliceType as v}from"../../constant.js";import A from"../timeSliceRange/index.js";import k from"../ToolTipForClip.js";import{getDisplayContent as b}from"../videoTrack/index.js";import l from"./index.module.scss.js";import{decimalReserved as F}from"../../../../videoPlayer/utils.js";import{LabelBeeContext as _}from"../../../../../store/ctx.js";import{connect as $}from"react-redux";import{useTranslation as C}from"react-i18next";const D=({type:e})=>e===v.Time?t.createElement(S,null):t.createElement(I,{rotate:270}),R=()=>{const{t:e}=C();return t.createElement("div",{className:l.noContent},t.createElement("div",null,e("NoClippedData")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"X"),e("ClipSlice")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"E"),e("TimeStamp")))},V=({children:e})=>{const n=e.length===0;return t.createElement("div",{className:d({[l.empty]:n,[l.timeSliceListContent]:!0})},n?t.createElement(R,null):e)},h=({timeSliceProps:e,index:n,exportContext:r})=>{const{selectedID:o,attributeList:a,onSelectedTimeSlice:s,removeTimeSlice:c}=r;return t.createElement("div",{key:n,className:d({[l.timeSliceItem]:!0,[l.timeSliceItemActivated]:e.id===o}),onClick:()=>{s(e)}},t.createElement(k,{slot:t.createElement("div",{className:l.timeSliceItemContent},t.createElement("div",{className:l.textOverflow},`${n+1}\u3001\u3010${j[e.type]}\u3011 ${b(e,a)}`),t.createElement("div",{className:d({[l.textOverflow]:!0})},t.createElement(D,{type:e.type}),t.createElement("span",{style:{marginLeft:10}},`${E(e.start,"ss:SS")} ${e.end&&e.type===v.Period?"~ "+E(e.end,"ss:SS")+", "+F(e.end-e.start,2)+"s":""}`))),item:e,attributeList:a}),t.createElement(y,{className:l.timeSliceItemDeleteIcon,onClick:u=>{u.stopPropagation(),c(e)}}))},O=e=>{const{toolInstance:n}=e,{selectedID:r,result:o,videoPlayer:a,clipStatus:s,updateSelectedSliceTimeProperty:c}=(n==null?void 0:n.exportContext)||{},[u,f]=L(0),{t:x}=C();g(()=>(n&&n.singleOn("changeClipSidebar",i=>{f(m=>m+1)}),()=>{var i;(i=n==null?void 0:n.unbindAll)==null||i.call(n,"changeClipSidebar")}),[n]);const T=o==null?void 0:o.find(i=>i.id===r),p=o==null?void 0:o.filter(i=>i.end!==null);return(n==null?void 0:n.exportContext)?t.createElement("div",null,t.createElement("div",{className:l.timeSliceListHeader},x("AnnotatedList")),t.createElement(V,null,p==null?void 0:p.map((i,m)=>t.createElement(h,{timeSliceProps:i,index:m,key:i.id,exportContext:(n==null?void 0:n.exportContext)||{}}))),t.createElement(A,{selectedTimeSlice:T,videoPlayer:a,updateTimeForSelected:c,disabled:s===N.Clipping})):null},w=({annotation:e})=>{const{toolInstance:n}=e;return{toolInstance:n}};var B=$(w,null,null,{context:_})(O);export{B as default};
@@ -1 +1 @@
1
- import{Resizable as D}from"re-resizable";import i,{useState as N}from"react";import W from"../ToolTipForClip.js";import{getDisplayContent as I}from"../videoTrack/index.js";import u from"./index.module.scss.js";import{decimalReserved as L}from"../../../../videoPlayer/utils.js";var k=Object.defineProperty,F=Object.defineProperties,H=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,n=(e,t)=>{for(var r in t||(t={}))A.call(t,r)&&w(e,r,t[r]);if(_)for(var r of _(t))G.call(t,r)&&w(e,r,t[r]);return e},g=(e,t)=>F(e,H(t));const y=45,K=e=>{var t;const{track:r,currentTime:s,attributeList:l,readonly:O,onClipping:b,onTrackResizeStart:c}=e,{start:d,end:P}=r,R=P||s,[S,f]=N({width:0,height:0}),z=(o,E,j,h)=>{var v;const C=(h.width-S.width)/((v=j.parentNode)==null?void 0:v.clientWidth);f(h),e.onResize(E,C)},T=()=>{f({width:0,height:0}),c==null||c()},m=n({transform:"none",overflow:"hidden",textOverflow:"ellipsis",fontSize:12},e.style),x={top:!1,right:!0,left:!0,bottom:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},p=i.createElement("div",{style:{margin:"10px 5px"}},i.createElement("div",{className:u.textOverflow},`${L(Math.max(R-d,1),0)}s`),i.createElement("div",{className:u.textOverflow},I(r,l)));let a;if(b||O||!e.isSelected){const o=g(n({},m),{height:y});e.isSelected&&s-d<0&&(o.width=100,o.backgroundColor="transparent"),a=i.createElement("div",{style:o},p)}else a=i.createElement(D,{size:{width:(t=e.style.width)!=null?t:0,height:y},minWidth:1,onResize:z,onResizeStart:T,enable:x,style:m},p);return i.createElement(W,{slot:a,item:g(n({},r),{end:r.end===null?s:r.end}),attributeList:l})};export{K as default};
1
+ import{Resizable as D}from"re-resizable";import i,{useState as N}from"react";import W from"../ToolTipForClip.js";import{getDisplayContent as I}from"../videoTrack/index.js";import u from"./index.module.scss.js";import{decimalReserved as L}from"../../../../videoPlayer/utils.js";var k=Object.defineProperty,F=Object.defineProperties,H=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l=(e,t)=>{for(var r in t||(t={}))A.call(t,r)&&w(e,r,t[r]);if(_)for(var r of _(t))G.call(t,r)&&w(e,r,t[r]);return e},g=(e,t)=>F(e,H(t));const y=45,K=e=>{var t;const{track:r,currentTime:s,attributeList:n,readonly:O,onClipping:b,onTrackResizeStart:c}=e,{start:d,end:P}=r,R=P||s,[S,f]=N({width:0,height:0}),z=(o,E,j,h)=>{var v;const C=(h.width-S.width)/((v=j.parentNode)==null?void 0:v.clientWidth);f(h),e.onResize(E,C)},T=()=>{f({width:0,height:0}),c==null||c()},m=l({transform:"none",overflow:"hidden",textOverflow:"ellipsis",fontSize:12},e.style),x={top:!1,right:!0,left:!0,bottom:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},p=i.createElement("div",{style:{margin:"10px 5px"}},i.createElement("div",{className:u.textOverflow},`${L(Math.max(R-d,1),0)}s`),i.createElement("div",{className:u.textOverflow},I(r,n)));let a;if(b||O||!e.isSelected){const o=g(l({},m),{height:y});e.isSelected&&s-d<0&&(o.width=100,o.backgroundColor="transparent"),a=i.createElement("div",{style:o},p)}else a=i.createElement(D,{size:{width:(t=e.style.width)!=null?t:0,height:y},minWidth:1,onResize:z,onResizeStart:T,enable:x,style:m},p);return i.createElement(W,{slot:a,item:g(l({},r),{end:r.end===null?s:r.end}),attributeList:n})};export{K as default};
@@ -1 +1 @@
1
- import{classnames as h}from"../../../../../utils/index.js";import{Input as I,message as T}from"antd";import j from"lodash";import e,{useState as O,useEffect as y}from"react";import{ETimeSliceType as A,PER_SLICE_CHANGE as g}from"../../constant.js";import a from"./index.module.scss.js";import{precisionMinus as G,precisionAdd as M,timeFormat as l}from"../../../../../utils/audio.js";import{decimalReserved as _}from"../../../../videoPlayer/utils.js";import{useTranslation as v}from"react-i18next";const p=({initialVal:t,timeType:E="",videoPlayer:r,min:F,max:m,updateTime:i,disabled:c})=>{const[f,d]=O(""),{t:B}=v(),C=()=>{S(f).then(u=>{i(u)}).catch(u=>{T.error(u),x()})},R=u=>{const[s,o]=u.split(":");return~~s*60+parseFloat(o)},D=(u,s=!1)=>{if(F!==void 0&&u<F){const n=l(F,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`}if(m!==void 0&&u>m){const n=l(m,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}const o=r==null?void 0:r.duration;if(r&&o&&u>o){const n=l(o,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}},S=u=>new Promise((s,o)=>{if(u.match(/^\d+\:\d\d\.\d\d$/)){const n=R(u),N=D(n);if(N){o(N);return}s(n)}else o(new Error("\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u65F6\u95F4\u683C\u5F0F\u5E94\u4E3Axx:xx.xx"))}),x=()=>{j.isNumber(t)&&d(l(t,"ss.SS"))},$=()=>{if(!c&&r){const u=_(r==null?void 0:r.currentTime,2),s=D(u,!0);if(s){T.error(s);return}i(u)}};return y(()=>{x()},[t]),e.createElement("div",{className:a.inputWrapper},e.createElement(I,{placeholder:"00:00.00",value:f,onChange:u=>d(u.target.value),onBlur:C,onPressEnter:C,disabled:c}),e.createElement("span",{className:h({[a.getCurr]:!0,[a.disabled]:c!=null?c:!1}),onClick:$},B(E==="start"?"GetStartTime":"GetEndTime")))},w=({selectedTimeSlice:t,videoPlayer:E,updateTimeForSelected:r,disabled:F})=>{if(!t)return null;const{t:m}=v();return(t==null?void 0:t.type)===A.Period?e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("ClipTime")),e.createElement("div",{className:a.inputContainer},e.createElement(p,{initialVal:t.start,timeType:"start",videoPlayer:E,max:G(t.end,g),updateTime:i=>{r(i,"start")},disabled:F}),e.createElement("span",{className:a.spliter}),e.createElement(p,{initialVal:t.end,timeType:"end",videoPlayer:E,min:M(t.start,g),updateTime:i=>{r(i,"end")},disabled:F}))):e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("StampTime")),e.createElement(p,{initialVal:t.start,videoPlayer:E,updateTime:i=>{r(i,"start")}}))};export{w as default};
1
+ import{classnames as h}from"../../../../../utils/index.js";import{Input as I,message as T}from"antd";import _ from"lodash";import e,{useState as j,useEffect as O}from"react";import{ETimeSliceType as y,PER_SLICE_CHANGE as g}from"../../constant.js";import a from"./index.module.scss.js";import{precisionMinus as A,precisionAdd as G,timeFormat as l}from"../../../../../utils/audio.js";import{decimalReserved as M}from"../../../../videoPlayer/utils.js";import{useTranslation as v}from"react-i18next";const p=({initialVal:t,timeType:E="",videoPlayer:r,min:F,max:m,updateTime:i,disabled:c})=>{const[f,d]=j(""),{t:B}=v(),C=()=>{S(f).then(u=>{i(u)}).catch(u=>{T.error(u),x()})},R=u=>{const[s,o]=u.split(":");return~~s*60+parseFloat(o)},D=(u,s=!1)=>{if(F!==void 0&&u<F){const n=l(F,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`}if(m!==void 0&&u>m){const n=l(m,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}const o=r==null?void 0:r.duration;if(r&&o&&u>o){const n=l(o,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}},S=u=>new Promise((s,o)=>{if(u.match(/^\d+\:\d\d\.\d\d$/)){const n=R(u),N=D(n);if(N){o(N);return}s(n)}else o(new Error("\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u65F6\u95F4\u683C\u5F0F\u5E94\u4E3Axx:xx.xx"))}),x=()=>{_.isNumber(t)&&d(l(t,"ss.SS"))},$=()=>{if(!c&&r){const u=M(r==null?void 0:r.currentTime,2),s=D(u,!0);if(s){T.error(s);return}i(u)}};return O(()=>{x()},[t]),e.createElement("div",{className:a.inputWrapper},e.createElement(I,{placeholder:"00:00.00",value:f,onChange:u=>d(u.target.value),onBlur:C,onPressEnter:C,disabled:c}),e.createElement("span",{className:h({[a.getCurr]:!0,[a.disabled]:c!=null?c:!1}),onClick:$},B(E==="start"?"GetStartTime":"GetEndTime")))},w=({selectedTimeSlice:t,videoPlayer:E,updateTimeForSelected:r,disabled:F})=>{if(!t)return null;const{t:m}=v();return(t==null?void 0:t.type)===y.Period?e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("ClipTime")),e.createElement("div",{className:a.inputContainer},e.createElement(p,{initialVal:t.start,timeType:"start",videoPlayer:E,max:A(t.end,g),updateTime:i=>{r(i,"start")},disabled:F}),e.createElement("span",{className:a.spliter}),e.createElement(p,{initialVal:t.end,timeType:"end",videoPlayer:E,min:G(t.start,g),updateTime:i=>{r(i,"end")},disabled:F}))):e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("StampTime")),e.createElement(p,{initialVal:t.start,videoPlayer:E,updateTime:i=>{r(i,"start")}}))};export{w as default};
@@ -1 +1 @@
1
- import e from"react";import t from"./index.module.scss.js";import a from"../../../../../assets/annotation/video/icon_videoCut.svg.js";import n from"../../../../../assets/annotation/video/icon_timePoint.svg.js";const i=({toggleClipStatus:o,addTime:s})=>e.createElement("div",{className:t.clipToolbar},e.createElement("span",{className:t.buttonWrapper},e.createElement("img",{src:a,className:t.cutButton,onClick:()=>{o==null||o()}}),"\u622A\u53D6"),e.createElement("span",{className:t.buttonWrapper},e.createElement("img",{src:n,className:t.localButton,onClick:s}),"\u6807\u65F6\u95F4\u70B9"));export{i as default};
1
+ import e from"react";import t from"./index.module.scss.js";import s from"../../../../../assets/annotation/video/icon_videoCut.svg.js";import n from"../../../../../assets/annotation/video/icon_timePoint.svg.js";const i=({toggleClipStatus:o,addTime:a})=>e.createElement("div",{className:t.clipToolbar},e.createElement("span",{className:t.buttonWrapper},e.createElement("img",{src:s,className:t.cutButton,onClick:()=>{o==null||o()}}),"\u622A\u53D6"),e.createElement("span",{className:t.buttonWrapper},e.createElement("img",{src:n,className:t.localButton,onClick:a}),"\u6807\u65F6\u95F4\u70B9"));export{i as default};