@labelbee/lb-components 1.9.0-alpha.5 → 1.9.0-alpha.6

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 (241) hide show
  1. package/dist/components/pointCloudView/index.js +1 -1
  2. package/dist/store/annotation/reducer.js +1 -1
  3. package/dist/types/components/AnnotationView/index.d.ts +1 -1
  4. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +1 -1
  5. package/dist/types/components/videoPlayer/types.d.ts +1 -1
  6. package/dist/types/store/annotation/types.d.ts +3 -3
  7. package/dist/types/store/imgAttribute/types.d.ts +1 -1
  8. package/dist/types/store/index.d.ts +1 -1
  9. package/dist/types/store/toolStyle/types.d.ts +1 -1
  10. package/dist/types/utils/dom.d.ts +2 -2
  11. package/dist/types/views/MainView/toolFooter/FooterPopover.d.ts +1 -1
  12. package/dist/types/views/MainView/toolFooter/index.d.ts +1 -1
  13. package/es/components/pointCloudView/index.js +1 -1
  14. package/es/store/annotation/reducer.js +1 -1
  15. package/package.json +2 -2
  16. package/es/App.js.map +0 -1
  17. package/es/assets/annotation/common/icon_adapt.svg.js.map +0 -1
  18. package/es/assets/annotation/common/icon_adapt_black.svg.js.map +0 -1
  19. package/es/assets/annotation/common/icon_back.svg.js.map +0 -1
  20. package/es/assets/annotation/common/icon_backA.svg.js.map +0 -1
  21. package/es/assets/annotation/common/icon_clear.svg.js.map +0 -1
  22. package/es/assets/annotation/common/icon_clearSmall.svg.js.map +0 -1
  23. package/es/assets/annotation/common/icon_clearSmall_a.svg.js.map +0 -1
  24. package/es/assets/annotation/common/icon_clear_a.svg.js.map +0 -1
  25. package/es/assets/annotation/common/icon_invalid.svg.js.map +0 -1
  26. package/es/assets/annotation/common/icon_invalid_a.svg.js.map +0 -1
  27. package/es/assets/annotation/common/icon_next.svg.js.map +0 -1
  28. package/es/assets/annotation/common/icon_nextA.svg.js.map +0 -1
  29. package/es/assets/annotation/common/icon_r.svg.js.map +0 -1
  30. package/es/assets/annotation/common/icon_rA.svg.js.map +0 -1
  31. package/es/assets/annotation/common/icon_save.svg.js.map +0 -1
  32. package/es/assets/annotation/common/icon_saveA.svg.js.map +0 -1
  33. package/es/assets/annotation/image/brightness.svg.js.map +0 -1
  34. package/es/assets/annotation/image/contrast.svg.js.map +0 -1
  35. package/es/assets/annotation/image/icon_yuantu.svg.js.map +0 -1
  36. package/es/assets/annotation/image/saturation.svg.js.map +0 -1
  37. package/es/assets/annotation/lineTool/icon_line.svg.js.map +0 -1
  38. package/es/assets/annotation/lineTool/icon_line_a.svg.js.map +0 -1
  39. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +0 -1
  40. package/es/assets/annotation/pointCloudTool/copy.svg.js.map +0 -1
  41. package/es/assets/annotation/pointCloudTool/nextBox.svg.js.map +0 -1
  42. package/es/assets/annotation/pointCloudTool/nodata.svg.js.map +0 -1
  43. package/es/assets/annotation/pointCloudTool/patse.svg.js.map +0 -1
  44. package/es/assets/annotation/pointCloudTool/prevBox.svg.js.map +0 -1
  45. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +0 -1
  46. package/es/assets/annotation/pointCloudTool/selectAll.svg.js.map +0 -1
  47. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +0 -1
  48. package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js.map +0 -1
  49. package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js.map +0 -1
  50. package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js.map +0 -1
  51. package/es/assets/annotation/pointTool/icon_point.svg.js.map +0 -1
  52. package/es/assets/annotation/pointTool/icon_point_a.svg.js.map +0 -1
  53. package/es/assets/annotation/polygonTool/icon_polygon.svg.js.map +0 -1
  54. package/es/assets/annotation/polygonTool/icon_polygon_a.svg.js.map +0 -1
  55. package/es/assets/annotation/rectTool/icon_rect.svg.js.map +0 -1
  56. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js +0 -1
  57. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js.map +0 -1
  58. package/es/assets/annotation/rectTool/icon_rect_a.svg.js.map +0 -1
  59. package/es/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js.map +0 -1
  60. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +0 -1
  61. package/es/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js.map +0 -1
  62. package/es/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js.map +0 -1
  63. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +0 -1
  64. package/es/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js.map +0 -1
  65. package/es/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js.map +0 -1
  66. package/es/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js.map +0 -1
  67. package/es/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js.map +0 -1
  68. package/es/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js.map +0 -1
  69. package/es/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js.map +0 -1
  70. package/es/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js.map +0 -1
  71. package/es/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js.map +0 -1
  72. package/es/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js.map +0 -1
  73. package/es/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js.map +0 -1
  74. package/es/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js.map +0 -1
  75. package/es/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js.map +0 -1
  76. package/es/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js.map +0 -1
  77. package/es/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js.map +0 -1
  78. package/es/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js.map +0 -1
  79. package/es/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js.map +0 -1
  80. package/es/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js.map +0 -1
  81. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js.map +0 -1
  82. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js.map +0 -1
  83. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js.map +0 -1
  84. package/es/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js.map +0 -1
  85. package/es/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js.map +0 -1
  86. package/es/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js.map +0 -1
  87. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +0 -1
  88. package/es/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js.map +0 -1
  89. package/es/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js.map +0 -1
  90. package/es/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js.map +0 -1
  91. package/es/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js.map +0 -1
  92. package/es/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js.map +0 -1
  93. package/es/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js.map +0 -1
  94. package/es/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js.map +0 -1
  95. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +0 -1
  96. package/es/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js.map +0 -1
  97. package/es/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js.map +0 -1
  98. package/es/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js.map +0 -1
  99. package/es/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js.map +0 -1
  100. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +0 -1
  101. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +0 -1
  102. package/es/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js.map +0 -1
  103. package/es/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js.map +0 -1
  104. package/es/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js.map +0 -1
  105. package/es/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js.map +0 -1
  106. package/es/assets/annotation/toolHotKeyIcon/setValid.svg.js.map +0 -1
  107. package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +0 -1
  108. package/es/assets/attributeIcon/eraser.svg.js.map +0 -1
  109. package/es/assets/attributeIcon/eraser_a.svg.js.map +0 -1
  110. package/es/assets/attributeIcon/pen.svg.js.map +0 -1
  111. package/es/assets/attributeIcon/pen_a.svg.js.map +0 -1
  112. package/es/assets/attributeIcon/zoomUp.svg.js.map +0 -1
  113. package/es/assets/toolStyle/icon_border.svg.js.map +0 -1
  114. package/es/assets/toolStyle/icon_borderColor.svg.js.map +0 -1
  115. package/es/assets/toolStyle/icon_opacityFill.svg.js.map +0 -1
  116. package/es/assets/toolStyle/icon_opacityStroke.svg.js.map +0 -1
  117. package/es/components/AnnotationView/index.js.map +0 -1
  118. package/es/components/AnnotationView/pointCloudAnnotationView.js.map +0 -1
  119. package/es/components/ImageError/index.js +0 -1
  120. package/es/components/ImageError/index.js.map +0 -1
  121. package/es/components/annotationStepPopover/index.js.map +0 -1
  122. package/es/components/attributeList/index.js.map +0 -1
  123. package/es/components/checkboxList/index.js.map +0 -1
  124. package/es/components/colorTag/index.js.map +0 -1
  125. package/es/components/customAntd/IconWithText/index.js.map +0 -1
  126. package/es/components/customResizeHook/index.js.map +0 -1
  127. package/es/components/fileException/FileError.js.map +0 -1
  128. package/es/components/fileException/FileInvalid.js.map +0 -1
  129. package/es/components/fileException/index.js.map +0 -1
  130. package/es/components/pointCloudView/PointCloud2DView.js.map +0 -1
  131. package/es/components/pointCloudView/PointCloud3DView.js.map +0 -1
  132. package/es/components/pointCloudView/PointCloudBackView.js.map +0 -1
  133. package/es/components/pointCloudView/PointCloudContext.js.map +0 -1
  134. package/es/components/pointCloudView/PointCloudInfos.js.map +0 -1
  135. package/es/components/pointCloudView/PointCloudLayout.js.map +0 -1
  136. package/es/components/pointCloudView/PointCloudListener.js.map +0 -1
  137. package/es/components/pointCloudView/PointCloudSideView.js.map +0 -1
  138. package/es/components/pointCloudView/PointCloudTopView.js.map +0 -1
  139. package/es/components/pointCloudView/components/EmptyPage/index.js.map +0 -1
  140. package/es/components/pointCloudView/components/UnifyParamsModal/index.js.map +0 -1
  141. package/es/components/pointCloudView/hooks/useAttribute.js.map +0 -1
  142. package/es/components/pointCloudView/hooks/useBoxes.js.map +0 -1
  143. package/es/components/pointCloudView/hooks/useConfig.js.map +0 -1
  144. package/es/components/pointCloudView/hooks/useHistory.js.map +0 -1
  145. package/es/components/pointCloudView/hooks/usePointCloudBoxes.js +0 -119
  146. package/es/components/pointCloudView/hooks/usePointCloudBoxes.js.map +0 -1
  147. package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +0 -1
  148. package/es/components/pointCloudView/hooks/usePolygon.js.map +0 -1
  149. package/es/components/pointCloudView/hooks/useRotate.js.map +0 -1
  150. package/es/components/pointCloudView/hooks/useSingleBox.js.map +0 -1
  151. package/es/components/pointCloudView/hooks/useStatus.js.map +0 -1
  152. package/es/components/pointCloudView/hooks/useZoom.js.map +0 -1
  153. package/es/components/pointCloudView/index.js.map +0 -1
  154. package/es/components/pointCloudView/useSingleBox.js +0 -44
  155. package/es/components/pointCloudView/useSingleBox.js.map +0 -1
  156. package/es/components/videoAnnotate/index.js.map +0 -1
  157. package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +0 -1
  158. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +0 -1
  159. package/es/components/videoPlayer/VideoTagLayer.js.map +0 -1
  160. package/es/components/videoPlayer/components/controller/index.js.map +0 -1
  161. package/es/components/videoPlayer/index.js.map +0 -1
  162. package/es/components/videoPlayer/utils.js.map +0 -1
  163. package/es/configureStore.js.map +0 -1
  164. package/es/constant/index.js.map +0 -1
  165. package/es/constant/styleString.js.map +0 -1
  166. package/es/data/Style.js.map +0 -1
  167. package/es/data/enums/AnnotationSize.js.map +0 -1
  168. package/es/data/enums/ToolType.js.map +0 -1
  169. package/es/hooks/annotation.js.map +0 -1
  170. package/es/hooks/useRafState.js.map +0 -1
  171. package/es/hooks/useRefCache.js.map +0 -1
  172. package/es/hooks/useSafeSate.js.map +0 -1
  173. package/es/hooks/useSize.js.map +0 -1
  174. package/es/hooks/useUnmountedRef.js.map +0 -1
  175. package/es/index.js.map +0 -1
  176. package/es/store/Actions.js.map +0 -1
  177. package/es/store/annotation/actionCreators.js.map +0 -1
  178. package/es/store/annotation/map.js.map +0 -1
  179. package/es/store/annotation/reducer.js.map +0 -1
  180. package/es/store/annotation/selectors.js.map +0 -1
  181. package/es/store/ctx.js.map +0 -1
  182. package/es/store/imgAttribute/actionCreators.js.map +0 -1
  183. package/es/store/imgAttribute/reducer.js.map +0 -1
  184. package/es/store/index.js.map +0 -1
  185. package/es/store/toolStyle/actionCreators.js.map +0 -1
  186. package/es/store/toolStyle/reducer.js.map +0 -1
  187. package/es/utils/AnnotationDataUtils.js.map +0 -1
  188. package/es/utils/ConfigUtils.js.map +0 -1
  189. package/es/utils/PageOperator.js.map +0 -1
  190. package/es/utils/StepUtils.js.map +0 -1
  191. package/es/utils/TextUtils.js.map +0 -1
  192. package/es/utils/ToolStyleUtils.js.map +0 -1
  193. package/es/utils/ToolUtils.js.map +0 -1
  194. package/es/utils/data.js.map +0 -1
  195. package/es/utils/dom.js.map +0 -1
  196. package/es/utils/index.js.map +0 -1
  197. package/es/views/MainView/annotationOperation/index.js.map +0 -1
  198. package/es/views/MainView/annotationTips/index.js.map +0 -1
  199. package/es/views/MainView/index.js.map +0 -1
  200. package/es/views/MainView/sidebar/AnnotationText/index.js.map +0 -1
  201. package/es/views/MainView/sidebar/ClearIcon/index.js.map +0 -1
  202. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +0 -1
  203. package/es/views/MainView/sidebar/GeneralOperation/OperationList.js +0 -77
  204. package/es/views/MainView/sidebar/GeneralOperation/OperationList.js.map +0 -1
  205. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +0 -1
  206. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +0 -1
  207. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +0 -1
  208. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js.map +0 -1
  209. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +0 -1
  210. package/es/views/MainView/sidebar/ScribbleSidebar/index.js.map +0 -1
  211. package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +0 -1
  212. package/es/views/MainView/sidebar/TagSidebar/index.js.map +0 -1
  213. package/es/views/MainView/sidebar/TextAreaFormat/index.js.map +0 -1
  214. package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +0 -1
  215. package/es/views/MainView/sidebar/ToolIcons.js.map +0 -1
  216. package/es/views/MainView/sidebar/ToolStyle/index.js.map +0 -1
  217. package/es/views/MainView/sidebar/index.js.map +0 -1
  218. package/es/views/MainView/toolFooter/AnnotatedAttributes/index.js.map +0 -1
  219. package/es/views/MainView/toolFooter/FooterPopover.js.map +0 -1
  220. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +0 -1
  221. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +0 -1
  222. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +0 -1
  223. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +0 -1
  224. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +0 -1
  225. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +0 -1
  226. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +0 -1
  227. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js.map +0 -1
  228. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +0 -1
  229. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +0 -1
  230. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +0 -1
  231. package/es/views/MainView/toolFooter/FooterTips/index.js.map +0 -1
  232. package/es/views/MainView/toolFooter/HiddenTips/index.js.map +0 -1
  233. package/es/views/MainView/toolFooter/PageNumber/index.js.map +0 -1
  234. package/es/views/MainView/toolFooter/Pagination.js.map +0 -1
  235. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +0 -1
  236. package/es/views/MainView/toolFooter/ZoomController/index.js.map +0 -1
  237. package/es/views/MainView/toolFooter/index.js.map +0 -1
  238. package/es/views/MainView/toolHeader/ExportData/index.js.map +0 -1
  239. package/es/views/MainView/toolHeader/StepSwitch/index.js.map +0 -1
  240. package/es/views/MainView/toolHeader/headerOption/index.js.map +0 -1
  241. package/es/views/MainView/toolHeader/index.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.tsx"],"sourcesContent":["import DrawPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_line_kj.svg';\nimport DrawInvalidPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg';\nimport SelectedPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg';\nimport ChangePolygonAttribute from '@/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg';\nimport DeletePolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg';\nimport MouseLeftSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport MouseRightSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\n\nimport IconLineContKj from '@/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg';\nimport IconPolygonInsertKj from '@/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg';\nimport IconUnGripKj from '@/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg';\nimport IconPointSpecialKj from '@/assets/annotation/toolHotKeyIcon/icon_pointSpecial_kj.svg';\nimport IconSegment from '@/assets/annotation/toolHotKeyIcon/icon_segment.svg';\nimport IconPolygonMerge from '@/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg';\nimport IconAI from '@/assets/annotation/toolHotKeyIcon/icon_AI.svg';\nimport IconSwapOutlined from '@/assets/annotation/toolHotKeyIcon/icon_swap_outlined.svg';\n\nimport {\n backward,\n dargWithRightClick,\n forward,\n // fullScreen,\n restore,\n revoke,\n rotate,\n setValid,\n scale,\n tabChangeSelected,\n tabReverseChangeSelected,\n // attributeClickLock,\n // attributeLock,\n // copyBackwardResult,\n // hidden,\n // changeSpecialLine,\n // saveResult,\n dargWithLeftClick,\n} from '../common';\n\nexport const polygon = {\n name: 'AnnotatePolygon',\n icon: DrawPolygonSvg,\n shortCut: [MouseLeftSvg],\n};\n\nexport const invalidPolygon = {\n name: 'AnnotateInvalidPolygon',\n icon: DrawInvalidPolygonSvg,\n shortCut: ['Ctrl', MouseLeftSvg],\n};\n\nexport const selectedPolygon = {\n name: 'SelectPolygon',\n icon: SelectedPolygonSvg,\n shortCut: [MouseRightSvg],\n noticeInfo: 'RightClick',\n};\n\nexport const changePolygonAttribute = {\n name: 'TogglePolygonEffectiveness',\n icon: ChangePolygonAttribute,\n shortCut: ['F'],\n};\n\nexport const deletePolygon = {\n name: 'DeletePolygon',\n icon: DeletePolygonSvg,\n shortCut: ['Del'],\n};\n\nexport const keepLine = {\n name: 'ContinueToLabel',\n icon: IconLineContKj,\n shortCut: ['Space'],\n};\n\nexport const insertPolygonPoint = {\n name: 'InsertPoint',\n icon: IconPolygonInsertKj,\n noticeInfo: 'SelectAndDoubleClick',\n shortCut: [MouseLeftSvg],\n};\n\nexport const deletePolygonPoint = {\n name: 'DeletePoint',\n icon: DeletePolygonSvg,\n noticeInfo: 'SelectAndDoubleClick',\n shortCut: [MouseRightSvg],\n};\n\nexport const changeSpecialPoint = {\n name: 'TogglePointParticularity',\n icon: IconPointSpecialKj,\n noticeInfo: '',\n shortCut: ['Shift', MouseLeftSvg],\n};\n\nexport const suspendAbsorption = {\n name: 'StopAdsorption',\n icon: IconUnGripKj,\n noticeInfo: 'Press',\n shortCut: ['Alt'],\n};\n\nexport const splitPolygon = {\n name: 'CropOverlapArea',\n icon: IconSegment,\n noticeInfo: '',\n shortCut: ['ALT', 'X'],\n};\n\nexport const combinePolygon = {\n name: 'CombineOverlapArea',\n icon: IconPolygonMerge,\n noticeInfo: '',\n shortCut: ['Alt', 'Z'],\n};\n\nexport const segmentByAlgorithm = {\n name: 'SegmentationRecognition',\n icon: IconAI,\n noticeInfo: '',\n shortCut: ['Q'],\n};\n\nexport const changeRenderPattern = {\n name: 'SwitchPattern',\n icon: IconSwapOutlined,\n noticeInfo: '',\n shortCut: ['U'],\n};\n\nconst pointToolShortCutTable = [\n // saveResult,\n polygon,\n invalidPolygon,\n selectedPolygon,\n changePolygonAttribute,\n deletePolygon,\n keepLine,\n insertPolygonPoint,\n deletePolygonPoint,\n // changeSpecialPoint,\n // changeSpecialLine,\n suspendAbsorption,\n // hidden,\n // segmentByAlgorithm,\n // attributeLock,\n // attributeClickLock,\n revoke,\n restore,\n rotate,\n scale,\n // fullScreen,\n backward,\n forward,\n setValid,\n // copyBackwardResult,\n dargWithRightClick,\n dargWithLeftClick,\n tabChangeSelected,\n tabReverseChangeSelected,\n // changeRenderPattern,\n combinePolygon,\n splitPolygon,\n];\nexport default pointToolShortCutTable;\n"],"names":["DrawPolygonSvg","MouseLeftSvg","DrawInvalidPolygonSvg","SelectedPolygonSvg","MouseRightSvg","ChangePolygonAttribute","DeletePolygonSvg","IconLineContKj","IconPolygonInsertKj","IconUnGripKj","IconSegment","IconPolygonMerge"],"mappings":";;;;;;;;;;;;;;AAsCO,MAAM,OAAU,GAAA;AAAA,EACrB,IAAM,EAAA,iBAAA;AAAA,EACN,IAAM,EAAAA,GAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,cAAiB,GAAA;AAAA,EAC5B,IAAM,EAAA,wBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAAD,KAAA,CAAA;AAAA,EAAA;AAGd,MAAM,eAAkB,GAAA;AAAA,EAC7B,IAAM,EAAA,eAAA;AAAA,EACN,IAAM,EAAAE,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EACX,UAAY,EAAA,YAAA;AAAA,EAAA;AAGP,MAAM,sBAAyB,GAAA;AAAA,EACpC,IAAM,EAAA,4BAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,aAAgB,GAAA;AAAA,EAC3B,IAAM,EAAA,eAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,iBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,OAAA,CAAA;AAAA,EAAA;AAGN,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,sBAAA;AAAA,EACZ,UAAU,CAACP,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAK,KAAA;AAAA,EACN,UAAY,EAAA,sBAAA;AAAA,EACZ,UAAU,CAACF,KAAA,CAAA;AAAA,EAAA;AAUN,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,gBAAA;AAAA,EACN,IAAM,EAAAK,KAAA;AAAA,EACN,UAAY,EAAA,OAAA;AAAA,EACZ,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,YAAe,GAAA;AAAA,EAC1B,IAAM,EAAA,iBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,EAAA;AAAA,EACZ,QAAA,EAAU,CAAC,KAAO,EAAA,GAAA,CAAA;AAAA,EAAA;AAGb,MAAM,cAAiB,GAAA;AAAA,EAC5B,IAAM,EAAA,oBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,EAAA;AAAA,EACZ,QAAA,EAAU,CAAC,KAAO,EAAA,GAAA,CAAA;AAAA,EAAA;AAiBpB,MAAM,sBAAyB,GAAA;AAAA,EAE7B,OAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EAGA,iBAAA;AAAA,EAKA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EAEA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EAEA,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,wBAAA;AAAA,EAEA,cAAA;AAAA,EACA,YAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.tsx"],"sourcesContent":["import DrawRectSvg from '@/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg';\nimport DrawInvalidRectSvg from '@/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg';\nimport MouseLeftSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport SelectedRectSvg from '@/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg';\nimport MouseRightSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\nimport ChangeValidSvg from '@/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg';\nimport DeleteRectSvg from '@/assets/annotation/toolHotKeyIcon/icon_del_kj.svg';\nimport {\n backward,\n dargWithRightClick,\n forward,\n // fullScreen,\n restore,\n revoke,\n rotate,\n scale,\n tabChangeSelected,\n tabReverseChangeSelected,\n} from '../common';\n\nexport const drawRect = {\n name: 'AnnotateRect',\n icon: DrawRectSvg,\n shortCut: [MouseLeftSvg, MouseLeftSvg],\n};\n\nexport const drawInvalidRect = {\n name: 'AnnotateInvalidRect',\n icon: DrawInvalidRectSvg,\n shortCut: [MouseLeftSvg, 'Ctrl', MouseLeftSvg],\n};\n\nexport const selectRect = {\n name: 'SelectRect',\n icon: SelectedRectSvg,\n shortCut: [MouseRightSvg],\n noticeInfo: 'RightClick',\n};\n\nexport const changeValid = {\n name: 'ToggleRectEffectiveness',\n icon: ChangeValidSvg,\n shortCut: ['F'],\n};\n\nexport const changeValidByClick = {\n name: 'ToggleRectEffectiveness',\n icon: ChangeValidSvg,\n shortCut: ['Ctrl', MouseLeftSvg],\n};\n\nexport const deleteRect = {\n name: 'DeleteRect',\n icon: DeleteRectSvg,\n shortCut: [MouseRightSvg],\n noticeInfo: 'SelectAndDoubleClick',\n};\n\nconst rectToolShortcutTable = [\n drawRect,\n drawInvalidRect,\n selectRect,\n changeValid,\n changeValidByClick,\n deleteRect,\n revoke,\n restore,\n rotate,\n scale,\n // fullScreen,\n backward,\n forward,\n // setValid,\n // copyBackwardResult,\n dargWithRightClick,\n // dargWithLeftClick,\n tabChangeSelected,\n tabReverseChangeSelected,\n];\nexport default rectToolShortcutTable;\n"],"names":["DrawRectSvg","MouseLeftSvg","DrawInvalidRectSvg","SelectedRectSvg","MouseRightSvg","ChangeValidSvg","DeleteRectSvg"],"mappings":";;;;;;;;;AAoBO,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,cAAA;AAAA,EACN,IAAM,EAAAA,GAAA;AAAA,EACN,QAAA,EAAU,CAACC,KAAc,EAAAA,KAAA,CAAA;AAAA,EAAA;AAGpB,MAAM,eAAkB,GAAA;AAAA,EAC7B,IAAM,EAAA,qBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAACD,KAAA,EAAc,MAAQ,EAAAA,KAAA,CAAA;AAAA,EAAA;AAG5B,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,YAAA;AAAA,EACN,IAAM,EAAAE,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EACX,UAAY,EAAA,YAAA;AAAA,EAAA;AAGP,MAAM,WAAc,GAAA;AAAA,EACzB,IAAM,EAAA,yBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,yBAAA;AAAA,EACN,IAAM,EAAAA,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAAJ,KAAA,CAAA;AAAA,EAAA;AAGd,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,YAAA;AAAA,EACN,IAAM,EAAAK,KAAA;AAAA,EACN,UAAU,CAACF,KAAA,CAAA;AAAA,EACX,UAAY,EAAA,sBAAA;AAAA,EAAA;AAGd,MAAM,qBAAwB,GAAA;AAAA,EAC5B,QAAA;AAAA,EACA,eAAA;AAAA,EACA,UAAA;AAAA,EACA,WAAA;AAAA,EACA,kBAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EAEA,QAAA;AAAA,EACA,OAAA;AAAA,EAGA,kBAAA;AAAA,EAEA,iBAAA;AAAA,EACA,wBAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.tsx"],"sourcesContent":["import {\n backward,\n dargWithRightClick,\n forward,\n // fullScreen,\n restore,\n revoke,\n rotate,\n setValid,\n scale,\n // attributeClickLock,\n // attributeLock,\n // copyBackwardResult,\n // hidden,\n // changeSpecialLine,\n saveResult,\n // dargWithLeftClick,\n} from '../common';\n\nconst scribbleShortCutTable = [\n scale,\n saveResult,\n restore,\n revoke,\n rotate,\n backward,\n forward,\n dargWithRightClick,\n setValid,\n // copyBackwardResult,\n];\n\nexport default scribbleShortCutTable;\n"],"names":[],"mappings":";;AAmBA,MAAM,qBAAwB,GAAA;AAAA,EAC5B,KAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,kBAAA;AAAA,EACA,QAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.ts"],"sourcesContent":["import iconTagKj from '@/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg'\n\nimport {\n backward,\n dargWithLeftClick,\n dargWithRightClick,\n forward,\n // fullScreen,\n rotate,\n // saveResult,\n scale,\n // setValid,\n} from '../common';\n\nexport const tagInSingleImg: any = {\n name: 'Tagging',\n icon: iconTagKj,\n shortCut: [1, 9],\n};\n\n// 单图\nconst tagToolSingleShortCutTable = [\n // saveResult,\n tagInSingleImg,\n rotate,\n // fullScreen,\n scale,\n // setValid,\n backward,\n forward,\n dargWithRightClick,\n dargWithLeftClick,\n];\nexport default tagToolSingleShortCutTable;\n\n"],"names":["iconTagKj"],"mappings":";;;AAcO,MAAM,cAAsB,GAAA;AAAA,EACjC,IAAM,EAAA,SAAA;AAAA,EACN,IAAM,EAAAA,GAAA;AAAA,EACN,QAAA,EAAU,CAAC,CAAG,EAAA,CAAA,CAAA;AAAA,EAAA;AAIhB,MAAM,0BAA6B,GAAA;AAAA,EAEjC,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,KAAA;AAAA,EAEA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,kBAAA;AAAA,EACA,iBAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.ts"],"sourcesContent":["import {\n backward,\n dargWithLeftClick,\n dargWithRightClick,\n forward,\n fullScreen,\n rotate,\n saveResult,\n scale,\n setValid,\n} from '../common';\n\nconst textToolShortCutTable = [\n saveResult,\n scale,\n rotate,\n fullScreen,\n setValid,\n backward,\n forward,\n dargWithRightClick,\n dargWithLeftClick,\n];\n\nexport default textToolShortCutTable;\n"],"names":[],"mappings":";;AAYA,MAAM,qBAAwB,GAAA;AAAA,EAC5B,UAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,kBAAA;AAAA,EACA,iBAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n rewind,\n backward,\n forward,\n forwardForward,\n fullScreen,\n playPause,\n speed,\n saveResult,\n} from '../common';\nimport { tagInSingleImg } from '../tag';\nimport { IShortcut } from '@/types/tool';\n\nconst videoForward = _.cloneDeep(forward);\nconst videoBackward = _.cloneDeep(backward);\n\nvideoForward.name = 'NextFile';\nvideoBackward.name = 'PreviousFile';\n\nconst videoTagToolShortCurTable: IShortcut[] = [\n saveResult,\n tagInSingleImg,\n playPause,\n speed,\n rewind,\n forwardForward,\n fullScreen,\n videoBackward,\n videoForward,\n];\n\nexport default videoTagToolShortCurTable;\n"],"names":[],"mappings":";;;;AAcA,MAAM,YAAA,GAAe,EAAE,SAAU,CAAA,OAAA,CAAA,CAAA;AACjC,MAAM,aAAA,GAAgB,EAAE,SAAU,CAAA,QAAA,CAAA,CAAA;AAElC,YAAA,CAAa,IAAO,GAAA,UAAA,CAAA;AACpB,aAAA,CAAc,IAAO,GAAA,cAAA,CAAA;AAErB,MAAM,yBAAyC,GAAA;AAAA,EAC7C,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolFooter/FooterTips/index.tsx"],"sourcesContent":["import React from 'react';\nimport ToolHotKey from './ToolHotKey';\nimport StepUtils from '@/utils/StepUtils';\nimport { useSelector } from '@/store/ctx';\n\nconst FooterTips: React.FC = () => {\n // @ts-ignore\n const stepInfo = useSelector((state) =>\n // @ts-ignore\n StepUtils.getCurrentStepInfo(state?.annotation?.step, state.annotation?.stepList),\n );\n\n return <ToolHotKey toolName={stepInfo?.tool} />;\n};\n\nexport default FooterTips;\n"],"names":[],"mappings":";;;;;AAKA,MAAM,aAAuB,MAAM;AAEjC,EAAM,MAAA,QAAA,GAAW,WAAY,CAAA,CAAC,KAAO,KAAA;AAPvC,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AASI,IAAA,OAAA,SAAA,CAAU,mBAAmB,CAAO,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,UAAA,KAAP,mBAAmB,IAAM,EAAA,CAAA,EAAA,GAAA,KAAA,CAAM,eAAN,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAG1E,EAAA,2CAAQ,UAAD,EAAA;AAAA,IAAY,UAAU,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,IAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolFooter/HiddenTips/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { AppState } from '@/store';\nimport { connect } from 'react-redux';\nimport { ToolInstance } from '@/store/annotation/types';\nimport { Divider } from 'antd/es';\nimport { useTranslation } from 'react-i18next';\nimport { LabelBeeContext } from '@/store/ctx';\n\ninterface IProps {\n toolInstance: ToolInstance;\n}\n\nconst HiddenTips = (props: IProps) => {\n const { toolInstance } = props;\n const [_, forceRender] = useState(0);\n const { t } = useTranslation();\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('hiddenChange', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n if (!toolInstance) {\n return null;\n }\n\n const isHidden = toolInstance.isHidden;\n\n if (isHidden) {\n return (\n <span>\n {t('HideDrawnAnnotation')}\n <Divider type='vertical' style={{ background: 'rgba(153, 153, 153, 1)', height: '16px' }} />\n </span>\n );\n }\n\n return null;\n};\n\nconst mapStateToProps = (state: AppState) => {\n return {\n toolInstance: state.annotation?.toolInstance,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(HiddenTips);\n"],"names":[],"mappings":";;;;;;AAYA,MAAM,UAAA,GAAa,CAAC,KAAkB,KAAA;AACpC,EAAA,MAAM,CAAE,YAAiB,CAAA,GAAA,KAAA,CAAA;AACzB,EAAM,MAAA,CAAC,CAAG,EAAA,WAAA,CAAA,GAAe,QAAS,CAAA,CAAA,CAAA,CAAA;AAClC,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAChB,MAAa,YAAA,CAAA,QAAA,CAAS,gBAAgB,MAAM;AAC1C,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAG1B,CAAC,YAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,IAAI,CAAC,YAAc,EAAA;AACjB,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA;AAGT,EAAA,MAAM,WAAW,YAAa,CAAA,QAAA,CAAA;AAE9B,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,2CACG,MAAD,EAAA,IAAA,EACG,CAAE,CAAA,qBAAA,CAAA,sCACF,OAAD,EAAA;AAAA,MAAS,IAAK,EAAA,UAAA;AAAA,MAAW,KAAO,EAAA,CAAE,UAAY,EAAA,wBAAA,EAA0B,MAAQ,EAAA,MAAA,CAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKtF,EAAO,OAAA,IAAA,CAAA;AAAA,CAAA,CAAA;AAGT,MAAM,eAAA,GAAkB,CAAC,KAAoB,KAAA;AA3C7C,EAAA,IAAA,EAAA,CAAA;AA4CE,EAAO,OAAA;AAAA,IACL,YAAA,EAAc,CAAM,EAAA,GAAA,KAAA,CAAA,UAAA,KAAN,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAIpC,mBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,UAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolFooter/PageNumber/index.tsx"],"sourcesContent":["import React, { useContext, useEffect, useState } from 'react';\nimport { AppState } from '@/store';\nimport { connect } from 'react-redux';\nimport { GraphToolInstance } from '@/store/annotation/types';\nimport { Divider } from 'antd/es';\nimport { useTranslation } from 'react-i18next';\nimport { LabelBeeContext } from '@/store/ctx';\nimport { PointCloudContext } from '@/components/pointCloudView/PointCloudContext';\n\ninterface IProps {\n toolInstance: GraphToolInstance;\n}\n\nconst PageNumber = (props: IProps) => {\n const { toolInstance } = props;\n const [_, forceRender] = useState(0);\n const { pointCloudBoxList } = useContext(PointCloudContext);\n const { t } = useTranslation();\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('updatePageNumber', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n if (!toolInstance) {\n return null;\n }\n\n const count = toolInstance?.currentPageResult?.length ?? pointCloudBoxList.length;\n\n if (count >= 0) {\n return (\n <span>\n {`${t('ItemsOfThisPage')}: ${count}`}\n <Divider type='vertical' style={{ background: 'rgba(153, 153, 153, 1)', height: '16px' }} />\n </span>\n );\n }\n\n return null;\n};\n\nconst mapStateToProps = (state: AppState) => {\n return {\n toolInstance: state.annotation?.toolInstance,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(PageNumber);\n"],"names":[],"mappings":";;;;;;;AAaA,MAAM,UAAA,GAAa,CAAC,KAAkB,KAAA;AAbtC,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAcE,EAAA,MAAM,CAAE,YAAiB,CAAA,GAAA,KAAA,CAAA;AACzB,EAAM,MAAA,CAAC,CAAG,EAAA,WAAA,CAAA,GAAe,QAAS,CAAA,CAAA,CAAA,CAAA;AAClC,EAAM,MAAA,CAAE,qBAAsB,UAAW,CAAA,iBAAA,CAAA,CAAA;AACzC,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AACd,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAChB,MAAa,YAAA,CAAA,QAAA,CAAS,oBAAoB,MAAM;AAC9C,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAG1B,CAAC,YAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,IAAI,CAAC,YAAc,EAAA;AACjB,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA;AAGT,EAAA,MAAM,QAAQ,CAAc,EAAA,GAAA,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,iBAAA,KAAd,IAAiC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAjC,YAA2C,iBAAkB,CAAA,MAAA,CAAA;AAE3E,EAAA,IAAI,SAAS,CAAG,EAAA;AACd,IACE,uBAAA,KAAA,CAAA,aAAA,CAAC,QAAD,IACG,EAAA,CAAA,EAAG,EAAE,iBAAuB,CAAA,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA,sCAC5B,OAAD,EAAA;AAAA,MAAS,IAAK,EAAA,UAAA;AAAA,MAAW,KAAO,EAAA,CAAE,UAAY,EAAA,wBAAA,EAA0B,MAAQ,EAAA,MAAA,CAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKtF,EAAO,OAAA,IAAA,CAAA;AAAA,CAAA,CAAA;AAGT,MAAM,eAAA,GAAkB,CAAC,KAAoB,KAAA;AA5C7C,EAAA,IAAA,EAAA,CAAA;AA6CE,EAAO,OAAA;AAAA,IACL,YAAA,EAAc,CAAM,EAAA,GAAA,KAAA,CAAA,UAAA,KAAN,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAIpC,mBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,UAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../../src/views/MainView/toolFooter/Pagination.tsx"],"sourcesContent":["import { getClassName } from '@/utils/dom';\nimport {\n LeftOutlined,\n RightOutlined,\n StepForwardFilled,\n StepBackwardFilled,\n} from '@ant-design/icons';\nimport { Input } from 'antd';\nimport React, { useEffect, useRef, useState } from 'react';\n\ninterface IPageIconProps {\n isVideo?: boolean;\n iconProps: {\n onClick: () => void;\n className: string;\n };\n}\n\ninterface IPaginationProps {\n // current file page\n imgIndex: number;\n // number of total files\n totalPage: number;\n // redirect to target page\n pageJump: (page: string) => void;\n // to next page\n pageForward: () => void;\n // to prev page\n pageBackward: () => void;\n // footer classname\n footerCls: string;\n // whether file is video\n isVideo?: boolean;\n}\n\ninterface IPageProps {\n jumpSkip: Function;\n imgIndex: number;\n}\n\n/**\n * page input for changing current page or file index\n * @param props\n * @returns\n */\nexport const PageInput = (props: IPageProps) => {\n const { jumpSkip, imgIndex } = props;\n const [newIndex, setIndex] = useState(imgIndex);\n const inputEl = useRef(null);\n\n useEffect(() => {\n setIndex(imgIndex + 1);\n }, [imgIndex]);\n\n const newHandleJump = (e: any) => {\n const reg = /^\\d*$/;\n if (reg.test(e.target.value)) {\n setIndex(e.target.value);\n }\n };\n\n const newJumpSkip = (e: any) => {\n if (e.keyCode === 13) {\n jumpSkip(e.target.value);\n }\n };\n\n return (\n <Input\n className={getClassName('page-input')}\n ref={inputEl}\n onChange={newHandleJump}\n value={newIndex}\n onKeyDown={newJumpSkip}\n />\n );\n};\n\n/**\n * Next page icon\n * @param props\n * @returns\n */\nconst NextPage: React.FC<IPageIconProps> = (props) =>\n props.isVideo ? (\n <StepForwardFilled {...props.iconProps} />\n ) : (\n <RightOutlined {...props.iconProps} />\n );\n\n/**\n * Prev page icon\n * @param props\n * @returns\n */\nconst PrevPage: React.FC<IPageIconProps> = (props) =>\n props.isVideo ? (\n <StepBackwardFilled {...props.iconProps} />\n ) : (\n <LeftOutlined {...props.iconProps} />\n );\n\nexport const Pagination: React.FC<IPaginationProps> = ({\n pageBackward,\n imgIndex,\n pageJump,\n totalPage,\n pageForward,\n isVideo,\n footerCls,\n}) => {\n return (\n <div className={`${footerCls}__pagination`}>\n <PrevPage\n isVideo={isVideo}\n iconProps={{\n className: `${footerCls}__highlight`,\n onClick: pageBackward,\n }}\n />\n <PageInput imgIndex={imgIndex} jumpSkip={pageJump} />/\n <span className={`${footerCls}__pageAll`}>{totalPage}</span>\n <NextPage\n isVideo={isVideo}\n iconProps={{\n className: `${footerCls}__highlight`,\n onClick: pageForward,\n }}\n />\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/views/MainView/toolFooter/ZoomController/ZoomLevel/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { AppState } from '@/store';\nimport { ToolInstance } from '@/store/annotation/types';\nimport { connect } from 'react-redux';\nimport useSafeState from '@/hooks/useSafeSate';\nimport { LabelBeeContext } from '@/store/ctx';\n\ninterface IProps {\n toolInstance: ToolInstance;\n zoom?: number;\n}\n\nconst ZoomLevel: React.FC<IProps> = ({ toolInstance, zoom: basicZoom }) => {\n const [, forceRender] = useSafeState<number>(0);\n useEffect(() => {\n const renderZoom = () => {\n forceRender((s) => s + 1);\n };\n\n if (toolInstance) {\n // 这里会有内存泄漏的问题 useSafeState 用这个解决下\n toolInstance.on('renderZoom', renderZoom);\n }\n return () => {\n if (toolInstance) {\n toolInstance.unbind('renderZoom', renderZoom);\n }\n };\n }, [toolInstance]);\n\n const zoom = basicZoom ?? toolInstance?.zoom ?? 1;\n\n return <span className='zoomValue'>{(zoom * 100).toFixed(1)}%</span>;\n};\n\nconst mapStateToProps = (state: AppState) => ({\n toolInstance: state.annotation.toolInstance,\n});\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(ZoomLevel);\n"],"names":[],"mappings":";;;;;AAYA,MAAM,SAA8B,GAAA,CAAC,CAAE,YAAA,EAAc,MAAM,SAAgB,CAAA,KAAA;AAZ3E,EAAA,IAAA,EAAA,CAAA;AAaE,EAAM,MAAA,GAAG,WAAA,CAAA,GAAe,YAAqB,CAAA,CAAA,CAAA,CAAA;AAC7C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,aAAa,MAAM;AACvB,MAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAGzB,IAAA,IAAI,YAAc,EAAA;AAEhB,MAAA,YAAA,CAAa,GAAG,YAAc,EAAA,UAAA,CAAA,CAAA;AAAA,KAAA;AAEhC,IAAA,OAAO,MAAM;AACX,MAAA,IAAI,YAAc,EAAA;AAChB,QAAA,YAAA,CAAa,OAAO,YAAc,EAAA,UAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAGrC,CAAC,YAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,MAAM,IAAO,GAAA,CAAA,EAAA,GAAA,SAAA,IAAA,IAAA,GAAA,SAAA,GAAa,YAAc,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,IAAA,KAA3B,IAAmC,GAAA,EAAA,GAAA,CAAA,CAAA;AAEhD,EAAA,2CAAQ,MAAD,EAAA;AAAA,IAAM,SAAU,EAAA,WAAA;AAAA,GAAc,EAAA,CAAA,IAAA,GAAO,GAAK,EAAA,OAAA,CAAQ,CAAG,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAG9D,MAAM,eAAA,GAAkB,CAAC,KAAqB,MAAA;AAAA,EAC5C,YAAA,EAAc,MAAM,UAAW,CAAA,YAAA;AAAA,CAAA,CAAA,CAAA;AAGjC,kBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,SAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolFooter/ZoomController/index.tsx"],"sourcesContent":["import React from 'react';\nimport adaptIcon from '@/assets/annotation/common/icon_adapt.svg';\nimport adaptIconBlack from '@/assets/annotation/common/icon_adapt_black.svg';\nimport { MinusOutlined, PlusOutlined } from '@ant-design/icons';\nimport { AppState } from '@/store';\nimport { ToolInstance } from '@/store/annotation/types';\nimport { connect } from 'react-redux';\nimport ZoomLevel from './ZoomLevel';\nimport { footerCls, FooterTheme } from '../index';\nimport { LabelBeeContext } from '@/store/ctx';\n\ninterface IZoomControllerProps {\n mode?: FooterTheme;\n initialPosition?: () => void;\n zoomIn?: () => void;\n zoomOut?: () => void;\n zoom?: number; // Allow to show zoom directly\n}\n\nexport const ZoomController: React.FC<IZoomControllerProps> = ({\n mode,\n initialPosition,\n zoomOut,\n zoomIn,\n zoom,\n}) => {\n const defaultIcon = mode === 'light' ? adaptIcon : adaptIconBlack;\n return (\n <div>\n <span className={`${footerCls}__zoomController`}>\n <MinusOutlined\n className={`${footerCls}__highlight`}\n onClick={() => {\n zoomOut?.();\n }}\n />\n <span\n className={`${footerCls}__zoomText`}\n onClick={() => {\n initialPosition?.();\n }}\n >\n <img src={defaultIcon} className='adaptIcon' />\n <ZoomLevel zoom={zoom} />\n </span>\n <PlusOutlined\n className={`${footerCls}__highlight`}\n onClick={() => {\n zoomIn?.();\n }}\n />\n </span>\n </div>\n );\n};\n\nconst ZoomControllerWithToolInstance: React.FC<{\n toolInstance: ToolInstance;\n mode: FooterTheme;\n}> = ({ toolInstance }) => {\n const initialPosition = () => {\n toolInstance.initImgPos();\n };\n\n const zoomOut = () => {\n toolInstance.zoomChanged(false);\n };\n\n const zoomIn = () => {\n toolInstance.zoomChanged(true);\n };\n\n return <ZoomController initialPosition={initialPosition} zoomIn={zoomIn} zoomOut={zoomOut} />;\n};\n\nexport default connect(\n (state: AppState) => ({\n toolInstance: state.annotation.toolInstance,\n }),\n null,\n null,\n { context: LabelBeeContext },\n)(ZoomControllerWithToolInstance);\n"],"names":["adaptIcon","adaptIconBlack"],"mappings":";;;;;;;;;AAmBO,MAAM,iBAAiD,CAAC;AAAA,EAC7D,IAAA;AAAA,EACA,eAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA;AAAA,CACI,KAAA;AACJ,EAAM,MAAA,WAAA,GAAc,IAAS,KAAA,OAAA,GAAUA,GAAY,GAAAC,KAAA,CAAA;AACnD,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,MAAD,EAAA;AAAA,IAAM,WAAW,CAAG,EAAA,SAAA,CAAA,gBAAA,CAAA;AAAA,GAAA,sCACjB,aAAD,EAAA;AAAA,IACE,WAAW,CAAG,EAAA,SAAA,CAAA,WAAA,CAAA;AAAA,IACd,SAAS,MAAM;AACb,MAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,sCAGH,MAAD,EAAA;AAAA,IACE,WAAW,CAAG,EAAA,SAAA,CAAA,UAAA,CAAA;AAAA,IACd,SAAS,MAAM;AACb,MAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,sCAGD,KAAD,EAAA;AAAA,IAAK,GAAK,EAAA,WAAA;AAAA,IAAa,SAAU,EAAA,WAAA;AAAA,GAAA,CAAA,sCAChC,SAAD,EAAA;AAAA,IAAW,IAAA;AAAA,GAAA,CAAA,CAAA,sCAEZ,YAAD,EAAA;AAAA,IACE,WAAW,CAAG,EAAA,SAAA,CAAA,WAAA,CAAA;AAAA,IACd,SAAS,MAAM;AACb,MAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAQZ,MAAM,8BAAA,GAGD,CAAC,CAAE,YAAmB,CAAA,KAAA;AACzB,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAa,YAAA,CAAA,UAAA,EAAA,CAAA;AAAA,GAAA,CAAA;AAGf,EAAA,MAAM,UAAU,MAAM;AACpB,IAAA,YAAA,CAAa,WAAY,CAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAG3B,EAAA,MAAM,SAAS,MAAM;AACnB,IAAA,YAAA,CAAa,WAAY,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAG3B,EAAA,2CAAQ,cAAD,EAAA;AAAA,IAAgB,eAAA;AAAA,IAAkC,MAAA;AAAA,IAAgB,OAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAG3E,uBAAe,OAAA,CACb,CAAC,KAAqB,MAAA;AAAA,EACpB,YAAA,EAAc,MAAM,UAAW,CAAA,YAAA;AAAA,CAAA,CAAA,EAEjC,IACA,EAAA,IAAA,EACA,CAAE,OAAA,EAAS,eACX,CAAA,CAAA,CAAA,8BAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/toolFooter/index.tsx"],"sourcesContent":["import { prefix } from '@/constant';\nimport { AppState } from '@/store';\nimport { PageBackward, PageForward, PageJump } from '@/store/annotation/actionCreators';\nimport { getTotalPage } from '@/store/annotation/reducer';\nimport { RenderFooter } from '@/types/main';\nimport { IStepInfo } from '@/types/step';\nimport { Divider } from 'antd/es';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { useDispatch, LabelBeeContext } from '@/store/ctx';\nimport FooterTips from './FooterTips';\nimport HiddenTips from './HiddenTips';\nimport PageNumber from './PageNumber';\nimport ZoomController from './ZoomController';\nimport { Pagination } from './Pagination';\nimport { AnnotatedAttributesIcon } from './AnnotatedAttributes';\nimport { cTool } from '@labelbee/lb-annotation';\nimport { shortCutTable, ToolHotKeyCom } from './FooterTips/ToolHotKey';\n\nconst { EPointCloudName } = cTool;\n\nexport type FooterTheme = 'light' | 'dark';\ninterface IProps {\n totalPage: number;\n imgIndex: number;\n style?: { [key: string]: any };\n stepList: IStepInfo[];\n step: number;\n basicResultList: any[];\n basicIndex: number;\n mode?: FooterTheme; // 后面通过 context 的形式进行编写\n footer?: RenderFooter;\n\n skipBeforePageTurning?: (pageTurning: Function) => void;\n}\n\nexport const footerCls = `${prefix}-footer`;\n\nexport const FooterDivider = () => (\n <Divider type='vertical' style={{ background: 'rgba(153, 153, 153, 1)', height: '16px' }} />\n);\n\n/**\n * default footer renderer\n * @param param0\n * @returns\n */\nconst renderFooter: RenderFooter = ({\n footerTips,\n hiddenTips,\n pageNumber,\n pagination,\n zoomController,\n curItems,\n footerDivider,\n annotateAttrList,\n}) => {\n return (\n <>\n {footerTips}\n {annotateAttrList}\n <div style={{ flex: 1 }} />\n {hiddenTips}\n {pageNumber}\n {pagination}\n {curItems}\n {footerDivider}\n {zoomController}\n </>\n );\n};\n\nconst ToolFooter: React.FC<IProps> = (props: IProps) => {\n const {\n stepList,\n step,\n basicResultList,\n basicIndex,\n mode = 'light',\n footer = renderFooter,\n skipBeforePageTurning,\n } = props;\n\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const stepInfo = stepList[step - 1] ?? {};\n const hasSourceStep = !!stepInfo.dataSourceStep;\n\n const pageBackward = () => {\n if (skipBeforePageTurning) {\n skipBeforePageTurning(() => dispatch(PageBackward()));\n return;\n }\n\n dispatch(PageBackward());\n };\n\n const pageForward = () => {\n if (skipBeforePageTurning) {\n skipBeforePageTurning(() => dispatch(PageForward()));\n return;\n }\n dispatch(PageForward());\n };\n\n const toPageNumber = (page: string) => {\n const imgIndex = ~~page - 1;\n if (skipBeforePageTurning) {\n skipBeforePageTurning(() => dispatch(PageJump(imgIndex)));\n return;\n }\n dispatch(PageJump(imgIndex));\n };\n\n const pagination = (\n <Pagination\n imgIndex={props.imgIndex}\n totalPage={props.totalPage}\n pageJump={toPageNumber}\n pageBackward={pageBackward}\n pageForward={pageForward}\n footerCls={footerCls}\n />\n );\n\n const curItems =\n hasSourceStep && basicResultList.length > 0 ? (\n <span>{t('curItems', { current: basicIndex + 1, total: basicResultList.length })}</span>\n ) : null;\n\n if (typeof footer === 'function') {\n if (footer === renderFooter && stepInfo.tool === EPointCloudName.PointCloud) {\n return (\n <div className={`${footerCls}`} style={props.style}>\n <FooterTips />\n <AnnotatedAttributesIcon />\n <div style={{ flex: 1 }} />\n {pagination}\n </div>\n );\n }\n\n return (\n <div className={`${footerCls}`} style={props.style}>\n {footer({\n footerTips: <FooterTips />,\n hiddenTips: <HiddenTips />,\n pageNumber: <PageNumber />,\n annotateAttrList: <AnnotatedAttributesIcon />,\n pagination,\n zoomController: <ZoomController mode={mode} />,\n curItems,\n footerDivider: <FooterDivider />,\n shortCutTable,\n ToolHotKeyCom,\n })}\n </div>\n );\n }\n\n return footer;\n};\n\nconst mapStateToProps = (state: AppState) => ({\n totalPage: getTotalPage(state.annotation),\n imgIndex: state.annotation.imgIndex,\n stepList: state.annotation.stepList,\n step: state.annotation.step,\n basicIndex: state.annotation.basicIndex,\n basicResultList: state.annotation.basicResultList,\n skipBeforePageTurning: state.annotation.skipBeforePageTurning,\n});\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(ToolFooter);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolHeader/ExportData/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from 'antd/es';\nimport { AppState } from '@/store';\nimport { ToolInstance } from '@/store/annotation/types';\nimport { connect } from 'react-redux';\nimport { IFileItem, OnSubmit } from '@/types/data';\nimport { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { ESubmitType } from '@/constant';\nimport { Dispatch } from 'redux';\nimport { useTranslation } from 'react-i18next';\nimport { LabelBeeContext } from '@/store/ctx';\n\ninterface IProps {\n toolInstance: ToolInstance;\n imgList: IFileItem[];\n onSubmit?: OnSubmit;\n exportData?: (imgList: IFileItem[]) => void;\n dispatch: Dispatch;\n}\n\nconst ExportData: React.FC<IProps> = ({ imgList, dispatch, onSubmit, exportData }) => {\n const { t } = useTranslation();\n\n if (!exportData) {\n return null;\n }\n\n const exportDataFuc = () => {\n dispatch({\n type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA,\n payload: {\n submitType: ESubmitType.Export,\n },\n });\n\n if (exportData) {\n exportData(imgList);\n }\n };\n\n return (\n <Button style={{ marginLeft: 20 }} onClick={exportDataFuc}>\n {t('Export')}\n </Button>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n toolInstance: state.annotation.toolInstance,\n imgList: state.annotation.imgList,\n onSubmit: state.annotation.onSubmit,\n});\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(ExportData);\n"],"names":[],"mappings":";;;;;;;;AAoBA,MAAM,aAA+B,CAAC,CAAE,OAAS,EAAA,QAAA,EAAU,UAAU,UAAiB,CAAA,KAAA;AACpF,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA;AAGT,EAAA,MAAM,gBAAgB,MAAM;AAC1B,IAAS,QAAA,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,gBAAA;AAAA,MACzB,OAAS,EAAA;AAAA,QACP,YAAY,WAAY,CAAA,MAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAI5B,IAAA,IAAI,UAAY,EAAA;AACd,MAAW,UAAA,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAIf,EAAA,2CACG,MAAD,EAAA;AAAA,IAAQ,KAAA,EAAO,CAAE,UAAY,EAAA,EAAA,CAAA;AAAA,IAAM,OAAS,EAAA,aAAA;AAAA,GAAA,EACzC,CAAE,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAKT,MAAM,eAAA,GAAkB,CAAC,KAAqB,MAAA;AAAA,EAC5C,YAAA,EAAc,MAAM,UAAW,CAAA,YAAA;AAAA,EAC/B,OAAA,EAAS,MAAM,UAAW,CAAA,OAAA;AAAA,EAC1B,QAAA,EAAU,MAAM,UAAW,CAAA,QAAA;AAAA,CAAA,CAAA,CAAA;AAG7B,mBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,UAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolHeader/StepSwitch/index.tsx"],"sourcesContent":["/**\n * 用于多步骤中的切换\n */\n\nimport { Dropdown } from 'antd/es';\nimport { CaretDownOutlined, OrderedListOutlined } from '@ant-design/icons';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { useDispatch, LabelBeeContext } from '@/store/ctx';\n\nimport { AppState } from '@/store';\nimport IconWithText from '@/components/customAntd/IconWithText';\nimport { prefix } from '@/constant';\nimport AnnotationStepPopover from '@/components/annotationStepPopover';\nimport { IStepInfo } from '@/types/step';\nimport { UpdateProcessingStep } from '@/store/annotation/actionCreators';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n stepProgress: number;\n stepList: IStepInfo[];\n step: number;\n}\n\nconst StepSwitch: React.FC<IProps> = ({ stepProgress, step, stepList }) => {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const updateStep = (toStep: number) => {\n dispatch(UpdateProcessingStep(toStep));\n };\n\n return (\n <span className={`${prefix}`}>\n <Dropdown\n overlay={\n <AnnotationStepPopover stepList={stepList} updateStep={updateStep} currentStep={step} />\n }\n >\n <IconWithText\n text={t('Steps')}\n Icon={OrderedListOutlined}\n iconChildren={<CaretDownOutlined style={{ fontSize: 8 }} />}\n />\n </Dropdown>\n </span>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n stepList: state.annotation.stepList,\n step: state.annotation.step,\n});\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(StepSwitch);\n"],"names":[],"mappings":";;;;;;;;;;;AAwBA,MAAM,UAA+B,GAAA,CAAC,CAAE,YAAA,EAAc,MAAM,QAAe,CAAA,KAAA;AACzE,EAAA,MAAM,QAAW,GAAA,WAAA,EAAA,CAAA;AACjB,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AACd,EAAM,MAAA,UAAA,GAAa,CAAC,MAAmB,KAAA;AACrC,IAAA,QAAA,CAAS,oBAAqB,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAGhC,EAAA,2CACG,MAAD,EAAA;AAAA,IAAM,WAAW,CAAG,EAAA,MAAA,CAAA,CAAA;AAAA,GAAA,sCACjB,QAAD,EAAA;AAAA,IACE,OAAA,sCACG,qBAAD,EAAA;AAAA,MAAuB,QAAA;AAAA,MAAoB,UAAA;AAAA,MAAwB,WAAa,EAAA,IAAA;AAAA,KAAA,CAAA;AAAA,GAAA,sCAGjF,YAAD,EAAA;AAAA,IACE,MAAM,CAAE,CAAA,OAAA,CAAA;AAAA,IACR,IAAM,EAAA,mBAAA;AAAA,IACN,YAAA,sCAAe,iBAAD,EAAA;AAAA,MAAmB,KAAA,EAAO,CAAE,QAAU,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAO9D,MAAM,eAAA,GAAkB,CAAC,KAAqB,MAAA;AAAA,EAC5C,QAAA,EAAU,MAAM,UAAW,CAAA,QAAA;AAAA,EAC3B,IAAA,EAAM,MAAM,UAAW,CAAA,IAAA;AAAA,CAAA,CAAA,CAAA;AAGzB,mBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,UAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolHeader/headerOption/index.tsx"],"sourcesContent":["import React, { useState, useCallback } from 'react';\nimport { useDispatch, useSelector } from '@/store/ctx';\nimport { AppState } from '@/store';\nimport rotateSvg from '@/assets/annotation/common/icon_r.svg';\nimport restoreSvg from '@/assets/annotation/common/icon_next.svg';\nimport revocationSvg from '@/assets/annotation/common/icon_back.svg';\nimport rotateHighlightSvg from '@/assets/annotation/common/icon_rA.svg';\nimport restoreHighlightSvg from '@/assets/annotation/common/icon_nextA.svg';\nimport revocationHighlightSvg from '@/assets/annotation/common/icon_backA.svg';\nimport saveSvg from '@/assets/annotation/common/icon_save.svg';\nimport saveLightSvg from '@/assets/annotation/common/icon_saveA.svg';\nimport { prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport { ChangeSave } from '@/store/annotation/actionCreators';\nimport { IStepInfo } from '@/types/step';\nimport { useTranslation } from 'react-i18next';\nimport { cTool } from '@labelbee/lb-annotation';\nconst { EVideoToolName, EPointCloudName } = cTool;\n\ninterface IProps {\n isBegin?: boolean;\n stepInfo: IStepInfo;\n}\n\nenum EColor {\n Hover = '#666fff',\n Normal = '#cccccc',\n}\n\nconst HeaderOption: React.FC<IProps> = (props) => {\n const [toolHover, setToolHover] = useState('');\n const { stepInfo } = props;\n const dispatch = useDispatch();\n const {\n annotation: { toolInstance, onSave },\n } = useSelector((state: AppState) => ({\n annotation: state.annotation,\n imgAttribute: state.imgAttribute,\n }));\n const { t } = useTranslation();\n\n const isTagTool = [EToolName.Tag, EVideoToolName.VideoTagTool].includes(stepInfo?.tool as any);\n const isVideo = [EVideoToolName.VideoTagTool].includes(stepInfo?.tool as any);\n const isPointCloud = [EPointCloudName.PointCloud].includes(stepInfo?.tool as any);\n\n const isBegin = props.isBegin || isTagTool;\n\n const updateRotate = () => {\n /**\n * 1. 非第一步无法旋转\n * 2. 单步骤不存在 dataSourceStep\n */\n if (stepInfo.dataSourceStep !== 0 && stepInfo.dataSourceStep !== undefined) {\n return;\n }\n\n toolInstance?.updateRotate();\n };\n\n const revocation = useCallback(() => {\n toolInstance?.undo();\n }, [toolInstance]);\n\n const restore = useCallback(() => {\n toolInstance?.redo();\n }, [toolInstance]);\n\n let commonOptionList: any = [\n {\n toolName: 'save',\n title: 'Save',\n show: !!onSave,\n commonSvg: saveSvg,\n selectedSvg: saveLightSvg,\n click: () => {\n dispatch(ChangeSave);\n },\n style: {\n fontSize: '12px',\n color: !isBegin && toolHover === 'save' ? EColor.Hover : EColor.Normal,\n },\n },\n {\n toolName: 'revocation',\n title: 'Undo',\n show: true,\n commonSvg: revocationSvg,\n selectedSvg: revocationHighlightSvg,\n click: () => {\n if (isTagTool) {\n return;\n }\n\n revocation();\n },\n style: {\n opacity: isBegin === true ? 0.4 : 1,\n fontSize: '12px',\n color: !isBegin && toolHover === 'revocation' ? EColor.Hover : EColor.Normal,\n },\n },\n {\n toolName: 'restore',\n title: 'Redo',\n show: true,\n commonSvg: restoreSvg,\n selectedSvg: restoreHighlightSvg,\n click: () => {\n if (isTagTool) {\n return;\n }\n\n restore();\n },\n style: {\n opacity: isBegin === true ? 0.4 : 1,\n fontSize: '12px',\n color: !isBegin && toolHover === 'restore' ? EColor.Hover : EColor.Normal,\n },\n },\n {\n toolName: 'rotate',\n title: 'Rotate',\n show: true,\n selectedSvg: rotateHighlightSvg,\n commonSvg: rotateSvg,\n click: () => {\n if (isVideo) {\n // VideoTool don't need to rotate\n return;\n }\n\n updateRotate();\n },\n style: {\n opacity: isVideo === true ? 0.4 : 1,\n fontSize: '12px',\n color: !isBegin && toolHover === 'rotate' ? EColor.Hover : EColor.Normal,\n },\n },\n ];\n\n // PointCloudTool temporarily removes \"restore\" & \"redo\"\n if (isPointCloud) {\n commonOptionList = commonOptionList.slice(0, 3);\n }\n\n return (\n <div className={`${prefix}-header__hotKey`}>\n {commonOptionList.map((info: any) => {\n return (\n info.show && (\n <div\n key={info.toolName}\n className='item'\n onMouseEnter={() => setToolHover(info.toolName)}\n onMouseLeave={() => setToolHover('')}\n >\n <a className='item' onClick={info.click}>\n <img\n className='singleTool'\n src={toolHover === info.toolName ? info.selectedSvg : info.commonSvg}\n style={info.style}\n />\n <div style={info.style}>{t(info.title)}</div>\n </a>\n </div>\n )\n );\n })}\n </div>\n );\n};\n\nexport default HeaderOption;\n"],"names":["saveSvg","saveLightSvg","revocationSvg","revocationHighlightSvg","restoreSvg","restoreHighlightSvg","rotateHighlightSvg","rotateSvg"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/toolHeader/index.tsx"],"sourcesContent":["import { ESubmitType, prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport useSize from '@/hooks/useSize';\nimport { AppState } from '@/store';\nimport { loadImgList, ToNextStep, ToSubmitFileData } from '@/store/annotation/actionCreators';\nimport { IFileItem } from '@/types/data';\nimport { Header } from '@/types/main';\nimport { IStepInfo } from '@/types/step';\nimport { LeftOutlined } from '@ant-design/icons';\nimport { AnnotationEngine } from '@labelbee/lb-annotation';\nimport { i18n } from '@labelbee/lb-utils';\nimport { Button, Tooltip } from 'antd/es';\nimport classNames from 'classnames';\nimport { last } from 'lodash';\nimport React, { useReducer, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\nimport { useDispatch, LabelBeeContext } from '@/store/ctx';\nimport { store } from '@/index';\nimport ExportData from './ExportData';\nimport HeaderOption from './headerOption';\nimport StepSwitch from './StepSwitch';\n\ninterface INextStep {\n stepProgress: number;\n stepList: IStepInfo[];\n step: number; // 当前步骤\n imgList: IFileItem[];\n}\n\nconst NextButton: React.FC<{ disabled: boolean; imgList: IFileItem[] }> = ({\n disabled,\n imgList,\n}) => {\n const { t } = useTranslation();\n\n const toNext = () => {\n const { dispatch, getState } = store;\n // 点击下一步跳转到第一页 第一页没有图片的话则需要先加载图片\n if (imgList[0]) {\n dispatch(ToNextStep(0) as any);\n } else {\n loadImgList(dispatch, getState, 0).then((isSuccess) => {\n if (isSuccess) {\n dispatch(ToNextStep(0) as any);\n }\n });\n }\n };\n\n return (\n <Button\n type='primary'\n style={{\n marginLeft: 10,\n }}\n onClick={toNext}\n disabled={disabled}\n >\n {t('NextStep')}\n </Button>\n );\n};\n\nconst NextStep: React.FC<INextStep> = ({ step, stepProgress, stepList, imgList }) => {\n const { t } = useTranslation();\n // 最后一步不显示下一步按钮\n const lastStep = last(stepList)?.step;\n\n if (stepList.length < 2 || step === lastStep) {\n return null;\n }\n\n const disabled = stepProgress < 1;\n\n if (disabled) {\n return (\n <Tooltip title={t('StepNotFinishedNotify')}>\n <span>\n <NextButton disabled={disabled} imgList={imgList} />\n </span>\n </Tooltip>\n );\n }\n\n return <NextButton disabled={disabled} imgList={imgList} />;\n};\n\ninterface IToolHeaderProps {\n goBack?: (imgList?: IFileItem[]) => void;\n exportData?: (data: any[]) => void;\n header?: Header;\n headerName?: string;\n imgList: IFileItem[];\n annotationEngine: AnnotationEngine;\n stepProgress: number;\n toolName: EToolName;\n stepInfo: IStepInfo;\n stepList: IStepInfo[];\n step: number;\n}\n\nconst ToolHeader: React.FC<IToolHeaderProps> = ({\n goBack,\n exportData,\n header,\n headerName,\n imgList,\n stepProgress,\n stepInfo,\n stepList,\n step,\n annotationEngine,\n}) => {\n const dispatch = useDispatch();\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n const ref = useRef(null);\n\n const size = useSize(ref);\n\n // render 数据展示\n const currentOption = <ExportData exportData={exportData} />;\n\n const closeAnnotation = () => {\n dispatch(ToSubmitFileData(ESubmitType.Quit));\n\n if (goBack) {\n goBack(imgList);\n }\n };\n\n const changeLanguage = (lang: 'en' | 'cn') => {\n i18n.changeLanguage(lang);\n annotationEngine?.setLang(lang);\n forceUpdate();\n };\n\n const curLang = i18n.language;\n\n const width = size?.width ?? window.innerWidth;\n\n const backNode = <LeftOutlined className={`${prefix}-header__icon`} onClick={closeAnnotation} />;\n\n const headerNameNode = headerName ? (\n <span className={`${prefix}-header__name`}>{headerName}</span>\n ) : (\n ''\n );\n\n const stepListNode = stepList.length > 1 && (\n <>\n <StepSwitch stepProgress={stepProgress} />\n <NextStep step={step} stepProgress={stepProgress} stepList={stepList} imgList={imgList} />\n </>\n );\n\n const headerOptionNode = <HeaderOption stepInfo={stepInfo} />;\n\n const langNode = (\n <div className={`${prefix}-header__lang`}>\n <span\n className={`${prefix}-langCN ${curLang === 'cn' ? 'active' : ''}`}\n onClick={() => changeLanguage('cn')}\n >\n 中文\n </span>\n {` / `}\n <span\n className={`${prefix}-langEN ${curLang === 'en' ? 'active' : ''}`}\n onClick={() => changeLanguage('en')}\n >\n En\n </span>\n </div>\n );\n\n if (header) {\n if (typeof header === 'function') {\n return (\n <div className={classNames(`${prefix}-header`)} ref={ref}>\n <div className={`${prefix}-header__title`}>\n {header({\n backNode,\n headerNameNode,\n stepListNode,\n headerOptionNode,\n langNode,\n })}\n </div>\n </div>\n );\n } else {\n return header;\n }\n }\n\n return (\n <div className={classNames(`${prefix}-header`)} ref={ref}>\n <div className={`${prefix}-header__title`}>\n {backNode}\n {headerNameNode}\n {stepListNode}\n {currentOption}\n <div\n id='operationNode'\n className={`${prefix}-header__operationNode`}\n style={{ left: width / 2 - 174 / 2 }}\n >\n {headerOptionNode}\n </div>\n <div className={`${prefix}-header__titlePlacement`} />\n {langNode}\n </div>\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n imgList: state.annotation.imgList,\n annotationEngine: state.annotation.annotationEngine,\n stepProgress: state.annotation.stepProgress,\n toolName: state.annotation.stepList[state.annotation.step - 1]?.tool,\n stepList: state.annotation.stepList,\n stepInfo: state.annotation.stepList[state.annotation.step - 1],\n step: state.annotation.step,\n});\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(ToolHeader);\n"],"names":[],"mappings":"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"}