@labelbee/lb-components 1.6.0-alpha.0 → 1.6.0-alpha.10

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 (328) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/assets/annotation/lineTool/icon_line.svg.js +1 -0
  3. package/dist/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +1 -0
  4. package/dist/assets/annotation/pointCloudTool/copy.svg.js +1 -0
  5. package/dist/assets/annotation/pointCloudTool/nextBox.svg.js +1 -0
  6. package/dist/assets/annotation/pointCloudTool/nodata.svg.js +1 -0
  7. package/dist/assets/annotation/pointCloudTool/patse.svg.js +1 -0
  8. package/dist/assets/annotation/pointCloudTool/prevBox.svg.js +1 -0
  9. package/dist/assets/annotation/pointCloudTool/rotate180_black.svg.js +1 -0
  10. package/dist/assets/annotation/pointCloudTool/selectAll.svg.js +1 -0
  11. package/dist/assets/annotation/pointCloudTool/selectMultiple.svg.js +1 -0
  12. package/dist/assets/annotation/pointTool/icon_point.svg.js +1 -0
  13. package/dist/assets/annotation/polygonTool/icon_polygon.svg.js +1 -0
  14. package/dist/assets/annotation/rectTool/icon_rect.svg.js +1 -0
  15. package/dist/assets/annotation/rectTool/{icon_rectPattern.svg.js → icon_rect_a.svg.js} +0 -0
  16. package/dist/assets/attributeIcon/eraser.svg.js +1 -0
  17. package/dist/assets/attributeIcon/eraser_a.svg.js +1 -0
  18. package/dist/assets/attributeIcon/pen.svg.js +1 -0
  19. package/dist/assets/attributeIcon/pen_a.svg.js +1 -0
  20. package/dist/assets/{cssIcon/annotation/icon_clearSmall.svg → icons/25541b4d.svg} +0 -0
  21. package/dist/assets/icons/25ef334b.svg +8 -0
  22. package/dist/assets/icons/7eadb9c4.svg +5 -0
  23. package/dist/assets/icons/9d70807.svg +5 -0
  24. package/dist/assets/icons/c5b4262e.png +0 -0
  25. package/dist/assets/{cssIcon/slide_btn.svg → icons/cc550fff.svg} +0 -0
  26. package/dist/assets/{cssIcon/annotation/icon_clearSmall_a.svg → icons/dc9b6bfc.svg} +0 -0
  27. package/dist/assets/icons/e4f0b7fe.png +0 -0
  28. package/dist/components/AnnotationView/index.js +1 -1
  29. package/dist/components/AnnotationView/pointCloudAnnotationView.js +1 -0
  30. package/dist/components/attributeList/index.js +1 -1
  31. package/dist/components/customResizeHook/index.js +1 -1
  32. package/dist/components/pointCloudView/PointCloud2DView.js +1 -0
  33. package/dist/components/pointCloudView/PointCloud3DView.js +1 -0
  34. package/dist/components/pointCloudView/PointCloudBackView.js +1 -0
  35. package/dist/components/pointCloudView/PointCloudContext.js +1 -0
  36. package/dist/components/pointCloudView/PointCloudInfos.js +1 -0
  37. package/dist/components/pointCloudView/PointCloudLayout.js +1 -0
  38. package/dist/components/pointCloudView/PointCloudListener.js +1 -0
  39. package/dist/components/pointCloudView/PointCloudSideView.js +1 -0
  40. package/dist/components/pointCloudView/PointCloudTopView.js +1 -0
  41. package/dist/components/pointCloudView/components/EmptyPage/index.js +1 -0
  42. package/dist/components/pointCloudView/hooks/useBoxes.js +1 -0
  43. package/dist/components/pointCloudView/hooks/usePointCloudViews.js +1 -0
  44. package/dist/components/pointCloudView/hooks/usePolygon.js +1 -0
  45. package/dist/components/pointCloudView/hooks/useRotate.js +1 -0
  46. package/dist/components/pointCloudView/hooks/useSingleBox.js +1 -0
  47. package/dist/components/pointCloudView/hooks/useStatus.js +1 -0
  48. package/dist/components/pointCloudView/hooks/useZoom.js +1 -0
  49. package/dist/components/pointCloudView/index.js +1 -0
  50. package/dist/components/videoAnnotate/index.js +1 -1
  51. package/dist/data/enums/ToolType.js +1 -1
  52. package/dist/hooks/annotation.js +1 -0
  53. package/dist/hooks/useSize.js +1 -1
  54. package/dist/index.css +314 -44
  55. package/dist/index.js +1 -1
  56. package/dist/store/Actions.js +1 -1
  57. package/dist/store/annotation/actionCreators.js +1 -1
  58. package/dist/store/annotation/map.js +1 -0
  59. package/dist/store/annotation/reducer.js +1 -1
  60. package/dist/store/ctx.js +1 -0
  61. package/dist/types/App.d.ts +10 -2
  62. package/dist/types/components/AnnotationView/index.d.ts +6 -5
  63. package/dist/types/components/AnnotationView/pointCloudAnnotationView.d.ts +10 -0
  64. package/dist/types/components/attributeList/index.d.ts +1 -0
  65. package/dist/types/components/pointCloudView/PointCloud2DView.d.ts +6 -0
  66. package/dist/types/components/pointCloudView/PointCloud3DView.d.ts +6 -0
  67. package/dist/types/components/pointCloudView/PointCloudBackView.d.ts +3 -0
  68. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +33 -0
  69. package/dist/types/components/pointCloudView/PointCloudInfos.d.ts +19 -0
  70. package/dist/types/components/pointCloudView/PointCloudLayout.d.ts +7 -0
  71. package/dist/types/components/pointCloudView/PointCloudListener.d.ts +6 -0
  72. package/dist/types/components/pointCloudView/PointCloudSideView.d.ts +6 -0
  73. package/dist/types/components/pointCloudView/PointCloudTopView.d.ts +6 -0
  74. package/dist/types/components/pointCloudView/components/EmptyPage/index.d.ts +2 -0
  75. package/dist/types/components/pointCloudView/hooks/useBoxes.d.ts +10 -0
  76. package/dist/types/components/pointCloudView/hooks/usePointCloudViews.d.ts +63 -0
  77. package/dist/types/components/pointCloudView/hooks/usePolygon.d.ts +9 -0
  78. package/dist/types/components/pointCloudView/hooks/useRotate.d.ts +8 -0
  79. package/dist/types/components/pointCloudView/hooks/useSingleBox.d.ts +13 -0
  80. package/dist/types/components/pointCloudView/hooks/useStatus.d.ts +11 -0
  81. package/dist/types/components/pointCloudView/hooks/useZoom.d.ts +7 -0
  82. package/dist/types/components/pointCloudView/index.d.ts +15 -0
  83. package/dist/types/components/videoPlayer/TagToolInstanceAdaptor.d.ts +1 -1
  84. package/dist/types/components/videoPlayer/index.d.ts +1 -1
  85. package/dist/types/data/enums/ToolType.d.ts +14 -8
  86. package/dist/types/hooks/annotation.d.ts +32 -0
  87. package/dist/types/hooks/useSize.d.ts +2 -2
  88. package/dist/types/index.d.ts +3 -1
  89. package/dist/types/store/Actions.d.ts +3 -0
  90. package/dist/types/store/annotation/actionCreators.d.ts +15 -5
  91. package/dist/types/store/annotation/map.d.ts +13 -0
  92. package/dist/types/store/annotation/reducer.d.ts +1 -1
  93. package/dist/types/store/annotation/types.d.ts +2 -0
  94. package/dist/types/store/ctx.d.ts +4 -0
  95. package/dist/types/utils/PageOperator.d.ts +1 -1
  96. package/dist/types/utils/StepUtils.d.ts +7 -0
  97. package/dist/types/utils/ToolUtils.d.ts +10 -0
  98. package/dist/types/utils/data.d.ts +1 -1
  99. package/dist/types/utils/dom.d.ts +1 -1
  100. package/dist/types/utils/index.d.ts +1 -1
  101. package/dist/types/views/MainView/annotationOperation/index.d.ts +3 -0
  102. package/dist/types/views/MainView/sidebar/GeneralOperation/ActionsConfirm.d.ts +12 -0
  103. package/dist/types/views/MainView/sidebar/GeneralOperation/index.d.ts +5 -1
  104. package/dist/types/views/MainView/sidebar/GeneralOperation/useOperationList.d.ts +12 -0
  105. package/dist/types/views/MainView/sidebar/PointCloudToolSidebar/index.d.ts +11 -0
  106. package/dist/types/views/MainView/sidebar/ScribbleSidebar/index.d.ts +6 -0
  107. package/dist/types/views/MainView/sidebar/ToolIcons.d.ts +11 -0
  108. package/dist/types/views/MainView/sidebar/ToolStyle/index.d.ts +1 -1
  109. package/dist/types/views/MainView/sidebar/index.d.ts +1 -0
  110. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.d.ts +3 -0
  111. package/dist/types/views/MainView/toolFooter/Pagination.d.ts +12 -2
  112. package/dist/types/views/MainView/toolFooter/ZoomController/ZoomLevel/index.d.ts +1 -0
  113. package/dist/types/views/MainView/toolFooter/ZoomController/index.d.ts +15 -4
  114. package/dist/types/views/MainView/toolFooter/index.d.ts +7 -9
  115. package/dist/types/views/MainView/toolHeader/ExportData/index.d.ts +1 -1
  116. package/dist/utils/StepUtils.js +1 -1
  117. package/dist/utils/ToolUtils.js +1 -0
  118. package/dist/utils/data.js +1 -1
  119. package/dist/utils/dom.js +1 -1
  120. package/dist/utils/index.js +1 -1
  121. package/dist/views/MainView/annotationOperation/index.js +1 -1
  122. package/dist/views/MainView/annotationTips/index.js +1 -1
  123. package/dist/views/MainView/index.js +1 -1
  124. package/dist/views/MainView/sidebar/AnnotationText/index.js +1 -1
  125. package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -0
  126. package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  127. package/dist/views/MainView/sidebar/GeneralOperation/useOperationList.js +1 -0
  128. package/dist/views/MainView/sidebar/ImgAttributeInfo/index.js +1 -1
  129. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -0
  130. package/dist/views/MainView/sidebar/ScribbleSidebar/index.js +1 -0
  131. package/dist/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  132. package/dist/views/MainView/sidebar/TagSidebar/index.js +1 -1
  133. package/dist/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
  134. package/dist/views/MainView/sidebar/ToolIcons.js +1 -0
  135. package/dist/views/MainView/sidebar/ToolStyle/index.js +1 -1
  136. package/dist/views/MainView/sidebar/index.js +1 -1
  137. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  138. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -0
  139. package/dist/views/MainView/toolFooter/FooterTips/index.js +1 -1
  140. package/dist/views/MainView/toolFooter/HiddenTips/index.js +1 -1
  141. package/dist/views/MainView/toolFooter/PageNumber/index.js +1 -1
  142. package/dist/views/MainView/toolFooter/Pagination.js +1 -1
  143. package/dist/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +1 -1
  144. package/dist/views/MainView/toolFooter/ZoomController/index.js +1 -1
  145. package/dist/views/MainView/toolFooter/index.js +1 -1
  146. package/dist/views/MainView/toolHeader/ExportData/index.js +1 -1
  147. package/dist/views/MainView/toolHeader/StepSwitch/index.js +1 -1
  148. package/dist/views/MainView/toolHeader/headerOption/index.js +1 -1
  149. package/dist/views/MainView/toolHeader/index.js +1 -1
  150. package/es/App.js +1 -1
  151. package/es/App.js.map +1 -1
  152. package/es/assets/annotation/lineTool/icon_line.svg.js +1 -0
  153. package/es/assets/annotation/lineTool/icon_line.svg.js.map +1 -0
  154. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +1 -0
  155. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +1 -0
  156. package/es/assets/annotation/pointCloudTool/copy.svg.js +1 -0
  157. package/es/assets/annotation/pointCloudTool/copy.svg.js.map +1 -0
  158. package/es/assets/annotation/pointCloudTool/nextBox.svg.js +1 -0
  159. package/es/assets/annotation/pointCloudTool/nextBox.svg.js.map +1 -0
  160. package/es/assets/annotation/pointCloudTool/nodata.svg.js +1 -0
  161. package/es/assets/annotation/pointCloudTool/nodata.svg.js.map +1 -0
  162. package/es/assets/annotation/pointCloudTool/patse.svg.js +1 -0
  163. package/es/assets/annotation/pointCloudTool/patse.svg.js.map +1 -0
  164. package/es/assets/annotation/pointCloudTool/prevBox.svg.js +1 -0
  165. package/es/assets/annotation/pointCloudTool/prevBox.svg.js.map +1 -0
  166. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js +1 -0
  167. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +1 -0
  168. package/es/assets/annotation/pointCloudTool/selectAll.svg.js +1 -0
  169. package/es/assets/annotation/pointCloudTool/selectAll.svg.js.map +1 -0
  170. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js +1 -0
  171. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +1 -0
  172. package/es/assets/annotation/pointTool/icon_point.svg.js +1 -0
  173. package/es/assets/annotation/pointTool/icon_point.svg.js.map +1 -0
  174. package/es/assets/annotation/polygonTool/icon_polygon.svg.js +1 -0
  175. package/es/assets/annotation/polygonTool/icon_polygon.svg.js.map +1 -0
  176. package/es/assets/annotation/rectTool/icon_rect.svg.js +1 -0
  177. package/es/assets/annotation/rectTool/icon_rect.svg.js.map +1 -0
  178. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js +4 -1
  179. package/es/assets/annotation/rectTool/icon_rect_a.svg.js +1 -0
  180. package/es/assets/annotation/rectTool/icon_rect_a.svg.js.map +1 -0
  181. package/es/assets/attributeIcon/eraser.svg.js +1 -0
  182. package/es/assets/attributeIcon/eraser.svg.js.map +1 -0
  183. package/es/assets/attributeIcon/eraser_a.svg.js +1 -0
  184. package/es/assets/attributeIcon/eraser_a.svg.js.map +1 -0
  185. package/es/assets/attributeIcon/pen.svg.js +1 -0
  186. package/es/assets/attributeIcon/pen.svg.js.map +1 -0
  187. package/es/assets/attributeIcon/pen_a.svg.js +1 -0
  188. package/es/assets/attributeIcon/pen_a.svg.js.map +1 -0
  189. package/es/components/AnnotationView/index.js +1 -1
  190. package/es/components/AnnotationView/index.js.map +1 -1
  191. package/es/components/AnnotationView/pointCloudAnnotationView.js +1 -0
  192. package/es/components/AnnotationView/pointCloudAnnotationView.js.map +1 -0
  193. package/es/components/attributeList/index.js +1 -1
  194. package/es/components/attributeList/index.js.map +1 -1
  195. package/es/components/customResizeHook/index.js +1 -1
  196. package/es/components/customResizeHook/index.js.map +1 -1
  197. package/es/components/pointCloudView/PointCloud2DView.js +1 -0
  198. package/es/components/pointCloudView/PointCloud2DView.js.map +1 -0
  199. package/es/components/pointCloudView/PointCloud3DView.js +1 -1
  200. package/es/components/pointCloudView/PointCloud3DView.js.map +1 -0
  201. package/es/components/pointCloudView/PointCloudBackView.js +1 -0
  202. package/es/components/pointCloudView/PointCloudBackView.js.map +1 -0
  203. package/es/components/pointCloudView/PointCloudContext.js +1 -0
  204. package/es/components/pointCloudView/PointCloudContext.js.map +1 -0
  205. package/es/components/pointCloudView/PointCloudInfos.js +1 -0
  206. package/es/components/pointCloudView/PointCloudInfos.js.map +1 -0
  207. package/es/components/pointCloudView/PointCloudLayout.js +1 -1
  208. package/es/components/pointCloudView/PointCloudLayout.js.map +1 -0
  209. package/es/components/pointCloudView/PointCloudListener.js +1 -0
  210. package/es/components/pointCloudView/PointCloudListener.js.map +1 -0
  211. package/es/components/pointCloudView/PointCloudSideView.js +1 -0
  212. package/es/components/pointCloudView/PointCloudSideView.js.map +1 -0
  213. package/es/components/pointCloudView/PointCloudTopView.js +1 -1
  214. package/es/components/pointCloudView/PointCloudTopView.js.map +1 -0
  215. package/es/components/pointCloudView/components/EmptyPage/index.js +1 -0
  216. package/es/components/pointCloudView/components/EmptyPage/index.js.map +1 -0
  217. package/es/components/pointCloudView/data.js +4 -0
  218. package/es/components/pointCloudView/data.js.map +1 -0
  219. package/es/components/pointCloudView/hooks/useBoxes.js +1 -0
  220. package/es/components/pointCloudView/hooks/useBoxes.js.map +1 -0
  221. package/es/components/pointCloudView/hooks/useConfig.js +19 -0
  222. package/es/components/pointCloudView/hooks/useConfig.js.map +1 -0
  223. package/es/components/pointCloudView/hooks/usePointCloudViews.js +1 -0
  224. package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -0
  225. package/es/components/pointCloudView/hooks/usePolygon.js +1 -0
  226. package/es/components/pointCloudView/hooks/usePolygon.js.map +1 -0
  227. package/es/components/pointCloudView/hooks/useRotate.js +1 -0
  228. package/es/components/pointCloudView/hooks/useRotate.js.map +1 -0
  229. package/es/components/pointCloudView/hooks/useSingleBox.js +1 -0
  230. package/es/components/pointCloudView/hooks/useSingleBox.js.map +1 -0
  231. package/es/components/pointCloudView/hooks/useStatus.js +1 -0
  232. package/es/components/pointCloudView/hooks/useStatus.js.map +1 -0
  233. package/es/components/pointCloudView/hooks/useZoom.js +1 -0
  234. package/es/components/pointCloudView/hooks/useZoom.js.map +1 -0
  235. package/es/components/pointCloudView/index.js +1 -1
  236. package/es/components/pointCloudView/index.js.map +1 -0
  237. package/es/components/videoAnnotate/index.js +1 -1
  238. package/es/components/videoAnnotate/index.js.map +1 -1
  239. package/es/data/enums/ToolType.js +1 -1
  240. package/es/data/enums/ToolType.js.map +1 -1
  241. package/es/hooks/annotation.js +1 -0
  242. package/es/hooks/annotation.js.map +1 -0
  243. package/es/hooks/useConfig.js +18 -0
  244. package/es/hooks/useConfig.js.map +1 -0
  245. package/es/hooks/useSize.js +1 -1
  246. package/es/hooks/useSize.js.map +1 -1
  247. package/es/index.css +1404 -0
  248. package/es/index.js +1 -1
  249. package/es/index.js.map +1 -1
  250. package/es/store/Actions.js +1 -1
  251. package/es/store/Actions.js.map +1 -1
  252. package/es/store/annotation/actionCreators.js +1 -1
  253. package/es/store/annotation/actionCreators.js.map +1 -1
  254. package/es/store/annotation/map.js +1 -0
  255. package/es/store/annotation/map.js.map +1 -0
  256. package/es/store/annotation/reducer.js +1 -1
  257. package/es/store/annotation/reducer.js.map +1 -1
  258. package/es/store/ctx.js +1 -0
  259. package/es/store/ctx.js.map +1 -0
  260. package/es/utils/StepUtils.js +1 -1
  261. package/es/utils/StepUtils.js.map +1 -1
  262. package/es/utils/ToolUtils.js.map +1 -0
  263. package/es/utils/data.js +1 -1
  264. package/es/utils/data.js.map +1 -1
  265. package/es/utils/dom.js +1 -1
  266. package/es/utils/dom.js.map +1 -1
  267. package/es/utils/index.js +1 -1
  268. package/es/utils/index.js.map +1 -1
  269. package/es/views/MainView/annotationOperation/index.js +1 -1
  270. package/es/views/MainView/annotationOperation/index.js.map +1 -1
  271. package/es/views/MainView/annotationTips/index.js +1 -1
  272. package/es/views/MainView/annotationTips/index.js.map +1 -1
  273. package/es/views/MainView/index.js +1 -1
  274. package/es/views/MainView/index.js.map +1 -1
  275. package/es/views/MainView/sidebar/AnnotationText/index.js +1 -1
  276. package/es/views/MainView/sidebar/AnnotationText/index.js.map +1 -1
  277. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -0
  278. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +1 -0
  279. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  280. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
  281. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js +1 -0
  282. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +1 -0
  283. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js +1 -1
  284. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -1
  285. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -0
  286. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -0
  287. package/es/views/MainView/sidebar/ScribbleSidebar/index.js +1 -0
  288. package/es/views/MainView/sidebar/ScribbleSidebar/index.js.map +1 -0
  289. package/es/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  290. package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -1
  291. package/es/views/MainView/sidebar/TagSidebar/index.js +1 -1
  292. package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -1
  293. package/es/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
  294. package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -1
  295. package/es/views/MainView/sidebar/ToolIcons.js +1 -0
  296. package/es/views/MainView/sidebar/ToolIcons.js.map +1 -0
  297. package/es/views/MainView/sidebar/ToolStyle/index.js +1 -1
  298. package/es/views/MainView/sidebar/ToolStyle/index.js.map +1 -1
  299. package/es/views/MainView/sidebar/index.js +1 -1
  300. package/es/views/MainView/sidebar/index.js.map +1 -1
  301. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  302. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
  303. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -0
  304. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +1 -0
  305. package/es/views/MainView/toolFooter/FooterTips/index.js +1 -1
  306. package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -1
  307. package/es/views/MainView/toolFooter/HiddenTips/index.js +1 -1
  308. package/es/views/MainView/toolFooter/HiddenTips/index.js.map +1 -1
  309. package/es/views/MainView/toolFooter/PageNumber/index.js +1 -1
  310. package/es/views/MainView/toolFooter/PageNumber/index.js.map +1 -1
  311. package/es/views/MainView/toolFooter/Pagination.js +1 -1
  312. package/es/views/MainView/toolFooter/Pagination.js.map +1 -1
  313. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +1 -1
  314. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -1
  315. package/es/views/MainView/toolFooter/ZoomController/index.js +1 -1
  316. package/es/views/MainView/toolFooter/ZoomController/index.js.map +1 -1
  317. package/es/views/MainView/toolFooter/index.js +1 -1
  318. package/es/views/MainView/toolFooter/index.js.map +1 -1
  319. package/es/views/MainView/toolHeader/ExportData/index.js +1 -1
  320. package/es/views/MainView/toolHeader/ExportData/index.js.map +1 -1
  321. package/es/views/MainView/toolHeader/StepSwitch/index.js +1 -1
  322. package/es/views/MainView/toolHeader/StepSwitch/index.js.map +1 -1
  323. package/es/views/MainView/toolHeader/headerOption/index.js +1 -1
  324. package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -1
  325. package/es/views/MainView/toolHeader/index.js +1 -1
  326. package/es/views/MainView/toolHeader/index.js.map +1 -1
  327. package/package.json +9 -8
  328. package/dist/index.css.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../../src/views/MainView/toolFooter/Pagination.tsx"],"sourcesContent":["import {\n LeftOutlined,\n RightOutlined,\n StepForwardFilled,\n StepBackwardFilled,\n} from '@ant-design/icons';\nimport React from 'react';\nimport { PageInput } from './index';\n\ninterface IPageIconProps {\n isVideo?: boolean;\n iconProps: {\n onClick: () => void;\n className: string;\n };\n}\n\ninterface IPagination {\n // 当前文件的页码\n imgIndex: number;\n // 文件总数\n totalPage: number;\n // 跳到对应的页码\n pageJump: (page: string) => void;\n // 向后翻页\n pageForward: () => void;\n // 向前翻页\n pageBackward: () => void;\n footerCls: string;\n // 文件是否为视频\n isVideo?: boolean;\n}\n\nconst Forward: React.FC<IPageIconProps> = (props) =>\n props.isVideo ? (\n <StepForwardFilled {...props.iconProps} />\n ) : (\n <RightOutlined {...props.iconProps} />\n );\nconst Back: React.FC<IPageIconProps> = (props) =>\n props.isVideo ? (\n <StepBackwardFilled {...props.iconProps} />\n ) : (\n <LeftOutlined {...props.iconProps} />\n );\n\nexport const Pagination: React.FC<IPagination> = ({\n pageBackward,\n imgIndex,\n pageJump,\n totalPage,\n pageForward,\n isVideo,\n footerCls,\n}) => {\n return (\n <div className={`${footerCls}__pagination`}>\n <Back\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 <Forward\n isVideo={isVideo}\n iconProps={{\n className: `${footerCls}__highlight`,\n onClick: pageForward,\n }}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,OAAoC,GAAA,CAAC,KACzC,KAAA,KAAA,CAAM,OACJ,mBAAA,KAAA,CAAA,aAAA,CAAC,iBAAD,EAAA,cAAA,CAAA,EAAA,EAAuB,KAAM,CAAA,SAAA,CAAA,CAAA,mBAE5B,KAAA,CAAA,aAAA,CAAA,aAAA,EAAD,mBAAmB,KAAM,CAAA,SAAA,CAAA,CAAA,CAAA;AAE7B,MAAM,IAAiC,GAAA,CAAC,KACtC,KAAA,KAAA,CAAM,OACJ,mBAAA,KAAA,CAAA,aAAA,CAAC,kBAAD,EAAA,cAAA,CAAA,EAAA,EAAwB,KAAM,CAAA,SAAA,CAAA,CAAA,mBAE7B,KAAA,CAAA,aAAA,CAAA,YAAA,EAAD,mBAAkB,KAAM,CAAA,SAAA,CAAA,CAAA,CAAA;AAGrB,MAAM,aAAoC,CAAC;AAAA,EAChD,YAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,CACI,KAAA;AACJ,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,WAAW,CAAG,EAAA,SAAA,CAAA,YAAA,CAAA;AAAA,GAAA,sCAChB,IAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,SAAW,EAAA;AAAA,MACT,WAAW,CAAG,EAAA,SAAA,CAAA,WAAA,CAAA;AAAA,MACd,OAAS,EAAA,YAAA;AAAA,KAAA;AAAA,GAAA,CAAA,sCAGZ,SAAD,EAAA;AAAA,IAAW,QAAA;AAAA,IAAoB,QAAU,EAAA,QAAA;AAAA,GAAY,CAAA,EAAA,GAAA,sCACpD,MAAD,EAAA;AAAA,IAAM,WAAW,CAAG,EAAA,SAAA,CAAA,SAAA,CAAA;AAAA,GAAuB,EAAA,SAAA,CAAA,sCAC1C,OAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,SAAW,EAAA;AAAA,MACT,WAAW,CAAG,EAAA,SAAA,CAAA,WAAA,CAAA;AAAA,MACd,OAAS,EAAA,WAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
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 +1 @@
1
- import m,{useEffect as n}from"react";import{connect as s}from"react-redux";import c from"../../../../../hooks/useSafeSate.js";const f=({toolInstance:e})=>{var o;const[,t]=c(0);n(()=>{e&&e.on("renderZoom",()=>{t(a=>a+1)})},[e]);const r=(o=e==null?void 0:e.zoom)!=null?o:1;return m.createElement("span",{className:"zoomValue"},(r*100).toFixed(1),"%")},u=e=>({toolInstance:e.annotation.toolInstance});var l=s(u)(f);export{l as default};
1
+ import u,{useEffect as l}from"react";import{connect as f}from"react-redux";import s from"../../../../../hooks/useSafeSate.js";import{LabelBeeContext as c}from"../../../../../store/ctx.js";const d=({toolInstance:e,zoom:o})=>{var r;const[,n]=s(0);l(()=>{const t=()=>{n(a=>a+1)};return e&&e.on("renderZoom",t),()=>{e&&e.unbind("renderZoom",t)}},[e]);const m=(r=o!=null?o:e==null?void 0:e.zoom)!=null?r:1;return u.createElement("span",{className:"zoomValue"},(m*100).toFixed(1),"%")},i=e=>({toolInstance:e.annotation.toolInstance});var p=f(i,null,null,{context:c})(d);export{p as default};
@@ -1 +1 @@
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';\n\ninterface IProps {\n toolInstance: ToolInstance;\n}\n\nconst ZoomLevel: React.FC<IProps> = ({ toolInstance }) => {\n const [, forceRender] = useSafeState<number>(0);\n useEffect(() => {\n if (toolInstance) {\n // 这里会有内存泄漏的问题 useSafeState 用这个解决下\n toolInstance.on('renderZoom', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n const zoom = 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)(ZoomLevel);\n"],"names":[],"mappings":";;;;AAUA,MAAM,SAAA,GAA8B,CAAC,CAAE,YAAmB,CAAA,KAAA;AAV1D,EAAA,IAAA,EAAA,CAAA;AAWE,EAAM,MAAA,GAAG,WAAA,CAAA,GAAe,YAAqB,CAAA,CAAA,CAAA,CAAA;AAC7C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAEhB,MAAa,YAAA,CAAA,EAAA,CAAG,cAAc,MAAM;AAClC,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,EAAM,MAAA,IAAA,GAAO,CAAc,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,IAAA,KAAd,IAAsB,GAAA,EAAA,GAAA,CAAA,CAAA;AAEnC,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,CAAA,CAAA,SAAA,CAAA;;;;"}
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 +1 @@
1
- import o from"react";import l from"../../../../assets/annotation/common/icon_adapt.svg.js";import i from"../../../../assets/annotation/common/icon_adapt_black.svg.js";import{MinusOutlined as r,PlusOutlined as s}from"@ant-design/icons";import{connect as c}from"react-redux";import p from"./ZoomLevel/index.js";import{footerCls as t}from"../index.js";const d=({toolInstance:e,mode:a})=>{const m=()=>{e.initImgPos()};let n=l;return a==="light"&&(n=i),o.createElement("div",null,o.createElement("span",{className:`${t}__zoomController`},o.createElement(r,{className:`${t}__highlight`,onClick:()=>{e.zoomChanged(!1)}}),o.createElement("span",{className:`${t}__zoomText`,onClick:m},o.createElement("img",{src:n,className:"adaptIcon"}),o.createElement(p,null)),o.createElement(s,{className:`${t}__highlight`,onClick:()=>{e.zoomChanged(!0)}})))},g=e=>({toolInstance:e.annotation.toolInstance});var f=c(g)(d);export{f as default};
1
+ import o from"react";import c from"../../../../assets/annotation/common/icon_adapt.svg.js";import i from"../../../../assets/annotation/common/icon_adapt_black.svg.js";import{MinusOutlined as d,PlusOutlined as u}from"@ant-design/icons";import{connect as g}from"react-redux";import p from"./ZoomLevel/index.js";import{footerCls as a}from"../index.js";import{LabelBeeContext as f}from"../../../../store/ctx.js";const m=({mode:e,initialPosition:t,zoomOut:n,zoomIn:l,zoom:r})=>{const s=e==="light"?c:i;return o.createElement("div",null,o.createElement("span",{className:`${a}__zoomController`},o.createElement(d,{className:`${a}__highlight`,onClick:()=>{n==null||n()}}),o.createElement("span",{className:`${a}__zoomText`,onClick:()=>{t==null||t()}},o.createElement("img",{src:s,className:"adaptIcon"}),o.createElement(p,{zoom:r})),o.createElement(u,{className:`${a}__highlight`,onClick:()=>{l==null||l()}})))},C=({toolInstance:e})=>{const t=()=>{e.initImgPos()},n=()=>{e.zoomChanged(!1)},l=()=>{e.zoomChanged(!0)};return o.createElement(m,{initialPosition:t,zoomIn:l,zoomOut:n})};var _=g(e=>({toolInstance:e.annotation.toolInstance}),null,null,{context:f})(C);export{m as ZoomController,_ as default};
@@ -1 +1 @@
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 {\n MinusOutlined,\n PlusOutlined,\n} 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 } from '../index';\n\ninterface IProps {\n toolInstance: ToolInstance\n mode?: 'light' | 'dark'\n}\n\nconst ZoomController: React.FC<IProps> = ({ toolInstance, mode }) => {\n const initialPosition = () => {\n toolInstance.initImgPos();\n };\n\n let defaultIcon = adaptIcon;\n \n if (mode === 'light') {\n defaultIcon = adaptIconBlack;\n }\n\n return <div>\n <span className={`${footerCls}__zoomController`}>\n <MinusOutlined\n className={`${footerCls}__highlight`}\n onClick={() => {\n toolInstance.zoomChanged(false);\n }}\n />\n <span className={`${footerCls}__zoomText`} onClick={initialPosition}>\n <img src={defaultIcon} className='adaptIcon' />\n <ZoomLevel />\n </span>\n <PlusOutlined\n className={`${footerCls}__highlight`}\n onClick={() => {\n toolInstance.zoomChanged(true);\n }}\n />\n </span>\n </div>\n}\n\nconst mapStateToProps = (state: AppState) => ({\n toolInstance: state.annotation.toolInstance,\n});\n\nexport default connect(mapStateToProps)(ZoomController);\n"],"names":["adaptIcon","adaptIconBlack"],"mappings":";;;;;;;;AAkBA,MAAM,cAAmC,GAAA,CAAC,CAAE,YAAA,EAAc,IAAW,CAAA,KAAA;AACnE,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAa,YAAA,CAAA,UAAA,EAAA,CAAA;AAAA,GAAA,CAAA;AAGf,EAAA,IAAI,WAAc,GAAAA,GAAA,CAAA;AAElB,EAAA,IAAI,SAAS,OAAS,EAAA;AACpB,IAAc,WAAA,GAAAC,KAAA,CAAA;AAAA,GAAA;AAGhB,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,KAAA,EAAD,IACL,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,YAAA,CAAa,WAAY,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,sCAG5B,MAAD,EAAA;AAAA,IAAM,WAAW,CAAG,EAAA,SAAA,CAAA,UAAA,CAAA;AAAA,IAAuB,OAAS,EAAA,eAAA;AAAA,GAAA,sCACjD,KAAD,EAAA;AAAA,IAAK,GAAK,EAAA,WAAA;AAAA,IAAa,SAAU,EAAA,WAAA;AAAA,GAAA,CAAA,kBAChC,KAAA,CAAA,aAAA,CAAA,SAAA,EAAD,IAEF,CAAA,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,YAAD,EAAA;AAAA,IACE,WAAW,CAAG,EAAA,SAAA,CAAA,WAAA,CAAA;AAAA,IACd,SAAS,MAAM;AACb,MAAA,YAAA,CAAa,WAAY,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAOnC,MAAM,eAAA,GAAkB,CAAC,KAAqB,MAAA;AAAA,EAC5C,YAAA,EAAc,MAAM,UAAW,CAAA,YAAA;AAAA,CAAA,CAAA,CAAA;AAGjC,uBAAe,QAAQ,eAAiB,CAAA,CAAA,cAAA,CAAA;;;;"}
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 +1 @@
1
- import{prefix as w}from"../../../constant/index.js";import{PageBackward as F,PageForward as S,PageJump as C}from"../../../store/annotation/actionCreators.js";import{getTotalPage as k}from"../../../store/annotation/reducer.js";import{Input as L,Divider as N}from"antd/es";import t,{useState as D,useRef as R,useEffect as $}from"react";import{useTranslation as J}from"react-i18next";import{connect as H,useDispatch as B}from"react-redux";import Z from"./FooterTips/index.js";import z from"./HiddenTips/index.js";import K from"./PageNumber/index.js";import _ from"./ZoomController/index.js";import{Pagination as q}from"./Pagination.js";const A=e=>{const{jumpSkip:s,imgIndex:a}=e,[c,r]=D(a),l=R(null);$(()=>{r(a+1)},[a]);const m=n=>{/^\d*$/.test(n.target.value)&&r(n.target.value)},o=n=>{n.keyCode===13&&s(n.target.value)};return t.createElement(L,{className:"pageInput",ref:l,onChange:m,value:c,onKeyDown:o})},i=`${w}-footer`,G=()=>t.createElement(N,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}}),M=e=>{var s;const{stepList:a,step:c,basicResultList:r,basicIndex:l,mode:m,footer:o}=e,n=B(),{t:u}=J(),v=(s=a[c-1])!=null?s:{},P=()=>{n(F())},b=()=>{n(S())},T=h=>{const j=~~h-1;n(C(j))},y=!!v.dataSourceStep,d=t.createElement(Z,null),g=t.createElement(z,null),f=t.createElement(K,null),x=t.createElement(q,{imgIndex:e.imgIndex,totalPage:e.totalPage,pageJump:T,pageBackward:P,pageForward:b,footerCls:i}),I=t.createElement(_,{mode:m}),E=t.createElement("span",null,u("curItems",{current:l+1,total:r.length})),p=t.createElement(G,null);return o?typeof o=="function"?t.createElement("div",{className:`${i}`,style:e.style},o({footerTips:d,hiddenTips:g,pageNumber:f,pagination:x,zoomController:I,curItems:E,footerDivider:p})):o:t.createElement("div",{className:`${i}`,style:e.style},d,t.createElement("div",{style:{flex:1}}),g,f,x,y&&r.length>0&&t.createElement(t.Fragment,null,p,E),p,I)},O=e=>({totalPage:k(e.annotation),imgIndex:e.annotation.imgIndex,stepList:e.annotation.stepList,step:e.annotation.step,basicIndex:e.annotation.basicIndex,basicResultList:e.annotation.basicResultList});var Q=H(O)(M);export{A as PageInput,Q as default,i as footerCls};
1
+ import{prefix as C}from"../../../constant/index.js";import{PageBackward as g,PageForward as f,PageJump as L}from"../../../store/annotation/actionCreators.js";import{getTotalPage as N}from"../../../store/annotation/reducer.js";import{Divider as k}from"antd/es";import t from"react";import{useTranslation as B}from"react-i18next";import{connect as S}from"react-redux";import{LabelBeeContext as w,useDispatch as D}from"../../../store/ctx.js";import x from"./FooterTips/index.js";import R from"./HiddenTips/index.js";import $ from"./PageNumber/index.js";import H from"./ZoomController/index.js";import{Pagination as J}from"./Pagination.js";import{cTool as Z}from"@labelbee/lb-annotation";const{EPointCloudName:z}=Z,l=`${C}-footer`,P=()=>t.createElement(k,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}}),b=({footerTips:e,hiddenTips:n,pageNumber:s,pagination:m,zoomController:r,curItems:c,footerDivider:u})=>t.createElement(t.Fragment,null,e,t.createElement("div",{style:{flex:1}}),n,s,m,c,u,r),_=e=>{var n;const{stepList:s,step:m,basicResultList:r,basicIndex:c,mode:u="light",footer:a=b,skipBeforePageTurning:i}=e,o=D(),{t:E}=B(),d=(n=s[m-1])!=null?n:{},T=!!d.dataSourceStep,I=()=>{if(i){i(()=>o(g()));return}o(g())},v=()=>{if(i){i(()=>o(f()));return}o(f())},h=y=>{const F=~~y-1;o(L(F))},p=t.createElement(J,{imgIndex:e.imgIndex,totalPage:e.totalPage,pageJump:h,pageBackward:I,pageForward:v,footerCls:l}),j=T&&r.length>0?t.createElement("span",null,E("curItems",{current:c+1,total:r.length})):null;return typeof a=="function"?a===b&&d.tool===z.PointCloud?t.createElement("div",{className:`${l}`,style:e.style},t.createElement(x,null),t.createElement("div",{style:{flex:1}}),p):t.createElement("div",{className:`${l}`,style:e.style},a({footerTips:t.createElement(x,null),hiddenTips:t.createElement(R,null),pageNumber:t.createElement($,null),pagination:p,zoomController:t.createElement(H,{mode:u}),curItems:j,footerDivider:t.createElement(P,null)})):a},q=e=>({totalPage:N(e.annotation),imgIndex:e.annotation.imgIndex,stepList:e.annotation.stepList,step:e.annotation.step,basicIndex:e.annotation.basicIndex,basicResultList:e.annotation.basicResultList,skipBeforePageTurning:e.annotation.skipBeforePageTurning});var A=S(q,null,null,{context:w})(_);export{P as FooterDivider,A as default,l as footerCls};
@@ -1 +1 @@
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 { Footer } from '@/types/main';\nimport { IStepInfo } from '@/types/step';\nimport { Divider, Input } from 'antd/es';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { connect, useDispatch } from 'react-redux';\nimport FooterTips from './FooterTips';\nimport HiddenTips from './HiddenTips';\nimport PageNumber from './PageNumber';\nimport ZoomController from './ZoomController';\nimport { Pagination } from './Pagination';\n\ninterface IPageProps {\n jumpSkip: Function;\n imgIndex: number;\n}\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 // inputEl?.current?.blur();\n }\n };\n\n return (\n <Input\n className='pageInput'\n ref={inputEl}\n onChange={newHandleJump}\n value={newIndex}\n onKeyDown={newJumpSkip}\n />\n );\n};\n\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?: 'light' | 'dark'; // 后面通过 context 的形式进行编写\n footer?: Footer;\n}\n\nexport const footerCls = `${prefix}-footer`;\n\nconst FooterDivider = () => (\n <Divider type='vertical' style={{ background: 'rgba(153, 153, 153, 1)', height: '16px' }} />\n);\n\nconst ToolFooter: React.FC<IProps> = (props: IProps) => {\n const { stepList, step, basicResultList, basicIndex, mode, footer } = props;\n const dispatch = useDispatch();\n\n const { t } = useTranslation();\n\n const stepInfo = stepList[step - 1] ?? {};\n\n const pageBackward = () => {\n dispatch(PageBackward());\n };\n\n const pageForward = () => {\n dispatch(PageForward());\n };\n\n const pageJump = (page: string) => {\n const imgIndex = ~~page - 1;\n dispatch(PageJump(imgIndex));\n };\n\n const hasSourceStep = !!stepInfo.dataSourceStep;\n\n const footerTips = <FooterTips />;\n\n const hiddenTips = <HiddenTips />;\n\n const pageNumber = <PageNumber />;\n\n const pagination = (\n <Pagination\n imgIndex={props.imgIndex}\n totalPage={props.totalPage}\n pageJump={pageJump}\n pageBackward={pageBackward}\n pageForward={pageForward}\n footerCls={footerCls}\n />\n );\n\n const zoomController = <ZoomController mode={mode} />;\n\n const curItems = (\n <span>{t('curItems', { current: basicIndex + 1, total: basicResultList.length })}</span>\n );\n\n const footerDivider = <FooterDivider />;\n\n if (footer) {\n if (typeof footer === 'function') {\n return (\n <div className={`${footerCls}`} style={props.style}>\n {footer({\n footerTips,\n hiddenTips,\n pageNumber,\n pagination,\n zoomController,\n curItems,\n footerDivider,\n })}\n </div>\n );\n } else {\n return footer;\n }\n }\n\n return (\n <div className={`${footerCls}`} style={props.style}>\n {footerTips}\n <div style={{ flex: 1 }} />\n {hiddenTips}\n {pageNumber}\n {pagination}\n {hasSourceStep && basicResultList.length > 0 && (\n <>\n {footerDivider}\n {curItems}\n </>\n )}\n {footerDivider}\n {zoomController}\n </div>\n );\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});\n\nexport default connect(mapStateToProps)(ToolFooter);\n"],"names":[],"mappings":"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"}
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 { cTool } from '@labelbee/lb-annotation';\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}) => {\n return (\n <>\n {footerTips}\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 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 <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 pagination,\n zoomController: <ZoomController mode={mode} />,\n curItems,\n footerDivider: <FooterDivider />,\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 +1 @@
1
- import a from"react";import{Button as e}from"antd/es";import{connect as m}from"react-redux";import{ANNOTATION_ACTIONS as s}from"../../../../store/Actions.js";import{ESubmitType as c}from"../../../../constant/index.js";import{useTranslation as p}from"react-i18next";const u=({imgList:t,dispatch:n,onSubmit:T,exportData:o})=>{const{t:r}=p();if(!o)return null;const i=()=>{n({type:s.SUBMIT_FILE_DATA,payload:{submitType:c.Export}}),o&&o(t)};return a.createElement(e,{style:{marginLeft:20},onClick:i},r("Export"))},f=t=>({toolInstance:t.annotation.toolInstance,imgList:t.annotation.imgList,onSubmit:t.annotation.onSubmit});var l=m(f)(u);export{l as default};
1
+ import i from"react";import{Button as a}from"antd/es";import{connect as m}from"react-redux";import{ANNOTATION_ACTIONS as s}from"../../../../store/Actions.js";import{ESubmitType as c}from"../../../../constant/index.js";import{useTranslation as p}from"react-i18next";import{LabelBeeContext as l}from"../../../../store/ctx.js";const u=({imgList:t,dispatch:n,onSubmit:T,exportData:o})=>{const{t:r}=p();if(!o)return null;const e=()=>{n({type:s.SUBMIT_FILE_DATA,payload:{submitType:c.Export}}),o&&o(t)};return i.createElement(a,{style:{marginLeft:20},onClick:e},r("Export"))},f=t=>({toolInstance:t.annotation.toolInstance,imgList:t.annotation.imgList,onSubmit:t.annotation.onSubmit});var x=m(f,null,null,{context:l})(u);export{x as default};
@@ -1 +1 @@
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';\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)(ExportData);\n"],"names":[],"mappings":";;;;;;;AAmBA,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,CAAA,CAAA,UAAA,CAAA;;;;"}
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 +1 @@
1
- import{Dropdown as p}from"antd/es";import{OrderedListOutlined as c,CaretDownOutlined as m}from"@ant-design/icons";import t from"react";import{connect as d,useDispatch as l}from"react-redux";import f from"../../../../components/customAntd/IconWithText/index.js";import{prefix as S}from"../../../../constant/index.js";import u from"../../../../components/annotationStepPopover/index.js";import{UpdateProcessingStep as x}from"../../../../store/annotation/actionCreators.js";import{useTranslation as h}from"react-i18next";const E=({stepProgress:e,step:o,stepList:n})=>{const r=l(),{t:s}=h(),a=i=>{r(x(i))};return t.createElement("span",{className:`${S}`},t.createElement(p,{overlay:t.createElement(u,{stepList:n,updateStep:a,currentStep:o})},t.createElement(f,{text:s("Steps"),Icon:c,iconChildren:t.createElement(m,{style:{fontSize:8}})})))},P=e=>({stepList:e.annotation.stepList,step:e.annotation.step});var j=d(P)(E);export{j as default};
1
+ import{Dropdown as p}from"antd/es";import{OrderedListOutlined as c,CaretDownOutlined as m}from"@ant-design/icons";import t from"react";import{connect as l}from"react-redux";import{LabelBeeContext as d,useDispatch as f}from"../../../../store/ctx.js";import x from"../../../../components/customAntd/IconWithText/index.js";import{prefix as u}from"../../../../constant/index.js";import S from"../../../../components/annotationStepPopover/index.js";import{UpdateProcessingStep as h}from"../../../../store/annotation/actionCreators.js";import{useTranslation as j}from"react-i18next";const E=({stepProgress:e,step:o,stepList:n})=>{const r=f(),{t:s}=j(),a=i=>{r(h(i))};return t.createElement("span",{className:`${u}`},t.createElement(p,{overlay:t.createElement(S,{stepList:n,updateStep:a,currentStep:o})},t.createElement(x,{text:s("Steps"),Icon:c,iconChildren:t.createElement(m,{style:{fontSize:8}})})))},P=e=>({stepList:e.annotation.stepList,step:e.annotation.step});var v=l(P,null,null,{context:d})(E);export{v as default};
@@ -1 +1 @@
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, useDispatch } from 'react-redux';\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)(StepSwitch);\n"],"names":[],"mappings":";;;;;;;;;;AAsBA,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,CAAA,CAAA,UAAA,CAAA;;;;"}
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 +1 @@
1
- import i,{useState as y,useCallback as v}from"react";import{useDispatch as j,useSelector as x}from"react-redux";import h from"../../../../assets/annotation/common/icon_r.svg.js";import k from"../../../../assets/annotation/common/icon_next.svg.js";import _ from"../../../../assets/annotation/common/icon_back.svg.js";import b from"../../../../assets/annotation/common/icon_rA.svg.js";import E from"../../../../assets/annotation/common/icon_nextA.svg.js";import H from"../../../../assets/annotation/common/icon_backA.svg.js";import $ from"../../../../assets/annotation/common/icon_save.svg.js";import A from"../../../../assets/annotation/common/icon_saveA.svg.js";import{prefix as w}from"../../../../constant/index.js";import{EToolName as R}from"../../../../data/enums/ToolType.js";import{ChangeSave as z}from"../../../../store/annotation/actionCreators.js";import{useTranslation as C}from"react-i18next";import{cTool as V}from"@labelbee/lb-annotation";const{EVideoToolName:g}=V;var t;(function(s){s.Hover="#666fff",s.Normal="#cccccc"})(t||(t={}));const B=s=>{const[r,m]=y(""),{stepInfo:n}=s,u=j(),{annotation:{toolInstance:e,onSave:d}}=x(o=>({annotation:o.annotation,imgAttribute:o.imgAttribute})),{t:p}=C(),c=[R.Tag,g.VideoTagTool].includes(n==null?void 0:n.tool),l=[g.VideoTagTool].includes(n==null?void 0:n.tool),a=s.isBegin||c,S=()=>{n.dataSourceStep!==0&&n.dataSourceStep!==void 0||e==null||e.updateRotate()},f=v(()=>{e==null||e.undo()},[e]),N=v(()=>{e==null||e.redo()},[e]),T=[{toolName:"save",title:"Save",show:!!d,commonSvg:$,selectedSvg:A,click:()=>{u(z)},style:{fontSize:"12px",color:!a&&r==="save"?t.Hover:t.Normal}},{toolName:"revocation",title:"Undo",show:!0,commonSvg:_,selectedSvg:H,click:()=>{c||f()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&r==="revocation"?t.Hover:t.Normal}},{toolName:"restore",title:"Redo",show:!0,commonSvg:k,selectedSvg:E,click:()=>{c||N()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&r==="restore"?t.Hover:t.Normal}},{toolName:"rotate",title:"Rotate",show:!0,selectedSvg:b,commonSvg:h,click:()=>{l||S()},style:{opacity:l===!0?.4:1,fontSize:"12px",color:!a&&r==="rotate"?t.Hover:t.Normal}}];return i.createElement("div",{className:`${w}-header__hotKey`},T.map(o=>o.show&&i.createElement("div",{key:o.toolName,className:"item",onMouseEnter:()=>m(o.toolName),onMouseLeave:()=>m("")},i.createElement("a",{className:"item",onClick:o.click},i.createElement("img",{className:"singleTool",src:r===o.toolName?o.selectedSvg:o.commonSvg,style:o.style}),i.createElement("div",{style:o.style},p(o.title))))))};export{B as default};
1
+ import r,{useState as j,useCallback as u}from"react";import{useDispatch as x,useSelector as h}from"../../../../store/ctx.js";import k from"../../../../assets/annotation/common/icon_r.svg.js";import _ from"../../../../assets/annotation/common/icon_next.svg.js";import E from"../../../../assets/annotation/common/icon_back.svg.js";import b from"../../../../assets/annotation/common/icon_rA.svg.js";import H from"../../../../assets/annotation/common/icon_nextA.svg.js";import $ from"../../../../assets/annotation/common/icon_backA.svg.js";import C from"../../../../assets/annotation/common/icon_save.svg.js";import A from"../../../../assets/annotation/common/icon_saveA.svg.js";import{prefix as w}from"../../../../constant/index.js";import{EToolName as R}from"../../../../data/enums/ToolType.js";import{ChangeSave as z}from"../../../../store/annotation/actionCreators.js";import{useTranslation as V}from"react-i18next";import{cTool as P}from"@labelbee/lb-annotation";const{EVideoToolName:d,EPointCloudName:B}=P;var t;(function(a){a.Hover="#666fff",a.Normal="#cccccc"})(t||(t={}));const I=a=>{const[i,l]=j(""),{stepInfo:e}=a,g=x(),{annotation:{toolInstance:n,onSave:p}}=h(o=>({annotation:o.annotation,imgAttribute:o.imgAttribute})),{t:S}=V(),c=[R.Tag,d.VideoTagTool].includes(e==null?void 0:e.tool),v=[d.VideoTagTool].includes(e==null?void 0:e.tool),f=[B.PointCloud].includes(e==null?void 0:e.tool),s=a.isBegin||c,N=()=>{e.dataSourceStep!==0&&e.dataSourceStep!==void 0||n==null||n.updateRotate()},T=u(()=>{n==null||n.undo()},[n]),y=u(()=>{n==null||n.redo()},[n]);let m=[{toolName:"save",title:"Save",show:!!p,commonSvg:C,selectedSvg:A,click:()=>{g(z)},style:{fontSize:"12px",color:!s&&i==="save"?t.Hover:t.Normal}},{toolName:"revocation",title:"Undo",show:!0,commonSvg:E,selectedSvg:$,click:()=>{c||T()},style:{opacity:s===!0?.4:1,fontSize:"12px",color:!s&&i==="revocation"?t.Hover:t.Normal}},{toolName:"restore",title:"Redo",show:!0,commonSvg:_,selectedSvg:H,click:()=>{c||y()},style:{opacity:s===!0?.4:1,fontSize:"12px",color:!s&&i==="restore"?t.Hover:t.Normal}},{toolName:"rotate",title:"Rotate",show:!0,selectedSvg:b,commonSvg:k,click:()=>{v||N()},style:{opacity:v===!0?.4:1,fontSize:"12px",color:!s&&i==="rotate"?t.Hover:t.Normal}}];return f&&(m=m.slice(0,1)),r.createElement("div",{className:`${w}-header__hotKey`},m.map(o=>o.show&&r.createElement("div",{key:o.toolName,className:"item",onMouseEnter:()=>l(o.toolName),onMouseLeave:()=>l("")},r.createElement("a",{className:"item",onClick:o.click},r.createElement("img",{className:"singleTool",src:i===o.toolName?o.selectedSvg:o.commonSvg,style:o.style}),r.createElement("div",{style:o.style},S(o.title))))))};export{I as default};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolHeader/headerOption/index.tsx"],"sourcesContent":["import React, { useState, useCallback } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\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 } = 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\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 const 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 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
+ {"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, 1);\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 +1 @@
1
- import{prefix as n,ESubmitType as O}from"../../../constant/index.js";import z from"../../../hooks/useSize.js";import{ToSubmitFileData as F,ToNextStep as S,loadImgList as H}from"../../../store/annotation/actionCreators.js";import{LeftOutlined as P}from"@ant-design/icons";import{i18n as $}from"@labelbee/lb-utils";import{Tooltip as R,Button as I}from"antd/es";import L from"classnames";import{last as A}from"lodash";import e,{useReducer as B,useRef as Q}from"react";import{useTranslation as T}from"react-i18next";import{connect as U,useDispatch as W}from"react-redux";import{store as q}from"../../../index.js";import G from"./ExportData/index.js";import J from"./headerOption/index.js";import K from"./StepSwitch/index.js";const b=({disabled:t,imgList:r})=>{const{t:o}=T(),i=()=>{const{dispatch:a,getState:s}=q;r[0]?a(S(0)):H(a,s,0).then(c=>{c&&a(S(0))})};return e.createElement(I,{type:"primary",style:{marginLeft:10},onClick:i,disabled:t},o("NextStep"))},M=({step:t,stepProgress:r,stepList:o,imgList:i})=>{var a;const{t:s}=T(),c=(a=A(o))==null?void 0:a.step;if(o.length<2||t===c)return null;const l=r<1;return l?e.createElement(R,{title:s("StepNotFinishedNotify")},e.createElement("span",null,e.createElement(b,{disabled:l,imgList:i}))):e.createElement(b,{disabled:l,imgList:i})},V=({goBack:t,exportData:r,header:o,headerName:i,imgList:a,stepProgress:s,stepInfo:c,stepList:l,step:j,annotationEngine:d})=>{var u;const y=W(),[,w]=B(m=>m+1,0),p=Q(null),f=z(p),C=e.createElement(G,{exportData:r}),k=()=>{y(F(O.Quit)),t&&t(a)},N=m=>{$.changeLanguage(m),d==null||d.setLang(m),w()},E=$.language,D=(u=f==null?void 0:f.width)!=null?u:window.innerWidth,h=e.createElement(P,{className:`${n}-header__icon`,onClick:k}),g=i?e.createElement("span",{className:`${n}-header__name`},i):"",v=l.length>1&&e.createElement(e.Fragment,null,e.createElement(K,{stepProgress:s}),e.createElement(M,{step:j,stepProgress:s,stepList:l,imgList:a})),_=e.createElement(J,{stepInfo:c}),x=e.createElement("div",{className:`${n}-header__lang`},e.createElement("span",{className:`${n}-langCN ${E==="cn"?"active":""}`,onClick:()=>N("cn")},"\u4E2D\u6587")," / ",e.createElement("span",{className:`${n}-langEN ${E==="en"?"active":""}`,onClick:()=>N("en")},"En"));return o?typeof o=="function"?e.createElement("div",{className:L(`${n}-header`),ref:p},e.createElement("div",{className:`${n}-header__title`},o({backNode:h,headerNameNode:g,stepListNode:v,headerOptionNode:_,langNode:x}))):o:e.createElement("div",{className:L(`${n}-header`),ref:p},e.createElement("div",{className:`${n}-header__title`},h,g,v,C,e.createElement("div",{id:"operationNode",className:`${n}-header__operationNode`,style:{left:D/2-174/2}},_),e.createElement("div",{className:`${n}-header__titlePlacement`}),x))},X=t=>{var r;return{imgList:t.annotation.imgList,annotationEngine:t.annotation.annotationEngine,stepProgress:t.annotation.stepProgress,toolName:(r=t.annotation.stepList[t.annotation.step-1])==null?void 0:r.tool,stepList:t.annotation.stepList,stepInfo:t.annotation.stepList[t.annotation.step-1],step:t.annotation.step}};var Y=U(X)(V);export{Y as default};
1
+ import{prefix as n,ESubmitType as O}from"../../../constant/index.js";import z from"../../../hooks/useSize.js";import{ToSubmitFileData as F,ToNextStep as S,loadImgList as H}from"../../../store/annotation/actionCreators.js";import{LeftOutlined as P}from"@ant-design/icons";import{i18n as $}from"@labelbee/lb-utils";import{Tooltip as R,Button as B}from"antd/es";import L from"classnames";import{last as I}from"lodash";import e,{useReducer as A,useRef as Q}from"react";import{useTranslation as b}from"react-i18next";import{connect as U}from"react-redux";import{LabelBeeContext as W,useDispatch as q}from"../../../store/ctx.js";import{store as G}from"../../../index.js";import J from"./ExportData/index.js";import K from"./headerOption/index.js";import M from"./StepSwitch/index.js";const j=({disabled:t,imgList:r})=>{const{t:o}=b(),i=()=>{const{dispatch:a,getState:s}=G;r[0]?a(S(0)):H(a,s,0).then(c=>{c&&a(S(0))})};return e.createElement(B,{type:"primary",style:{marginLeft:10},onClick:i,disabled:t},o("NextStep"))},V=({step:t,stepProgress:r,stepList:o,imgList:i})=>{var a;const{t:s}=b(),c=(a=I(o))==null?void 0:a.step;if(o.length<2||t===c)return null;const l=r<1;return l?e.createElement(R,{title:s("StepNotFinishedNotify")},e.createElement("span",null,e.createElement(j,{disabled:l,imgList:i}))):e.createElement(j,{disabled:l,imgList:i})},X=({goBack:t,exportData:r,header:o,headerName:i,imgList:a,stepProgress:s,stepInfo:c,stepList:l,step:T,annotationEngine:d})=>{var u;const y=q(),[,C]=A(m=>m+1,0),p=Q(null),f=z(p),w=e.createElement(J,{exportData:r}),k=()=>{y(F(O.Quit)),t&&t(a)},N=m=>{$.changeLanguage(m),d==null||d.setLang(m),C()},E=$.language,D=(u=f==null?void 0:f.width)!=null?u:window.innerWidth,h=e.createElement(P,{className:`${n}-header__icon`,onClick:k}),g=i?e.createElement("span",{className:`${n}-header__name`},i):"",x=l.length>1&&e.createElement(e.Fragment,null,e.createElement(M,{stepProgress:s}),e.createElement(V,{step:T,stepProgress:s,stepList:l,imgList:a})),v=e.createElement(K,{stepInfo:c}),_=e.createElement("div",{className:`${n}-header__lang`},e.createElement("span",{className:`${n}-langCN ${E==="cn"?"active":""}`,onClick:()=>N("cn")},"\u4E2D\u6587")," / ",e.createElement("span",{className:`${n}-langEN ${E==="en"?"active":""}`,onClick:()=>N("en")},"En"));return o?typeof o=="function"?e.createElement("div",{className:L(`${n}-header`),ref:p},e.createElement("div",{className:`${n}-header__title`},o({backNode:h,headerNameNode:g,stepListNode:x,headerOptionNode:v,langNode:_}))):o:e.createElement("div",{className:L(`${n}-header`),ref:p},e.createElement("div",{className:`${n}-header__title`},h,g,x,w,e.createElement("div",{id:"operationNode",className:`${n}-header__operationNode`,style:{left:D/2-174/2}},v),e.createElement("div",{className:`${n}-header__titlePlacement`}),_))},Y=t=>{var r;return{imgList:t.annotation.imgList,annotationEngine:t.annotation.annotationEngine,stepProgress:t.annotation.stepProgress,toolName:(r=t.annotation.stepList[t.annotation.step-1])==null?void 0:r.tool,stepList:t.annotation.stepList,stepInfo:t.annotation.stepList[t.annotation.step-1],step:t.annotation.step}};var Z=U(Y,null,null,{context:W})(X);export{Z as default};
@@ -1 +1 @@
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, useDispatch } from 'react-redux';\nimport { store } from 'src';\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)(ToolHeader);\n"],"names":[],"mappings":"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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.6.0-alpha.0",
3
+ "version": "1.6.0-alpha.10",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",
@@ -13,9 +13,7 @@
13
13
  "scripts": {
14
14
  "dev": "npm run build && cross-env NODE_ENV=developemnt rollup -m -c rollup.config.js -w",
15
15
  "start": "npm run dev",
16
- "dev:style": "dart-sass --watch src/index.scss dist/index.css ",
17
- "build:style": "dart-sass src/index.scss dist/index.css && cp -R ./src/assets/cssIcon/. ./dist/assets/cssIcon && cp -R ./src/assets/cssIcon/. ./es/assets/cssIcon",
18
- "build": "rm -fr dist && cross-env NODE_ENV=production rollup -c rollup.config.js && npm run build:style && npm run build:type",
16
+ "build": "rm -fr dist && cross-env NODE_ENV=production rollup -c rollup.config.js && npm run build:type",
19
17
  "build:type": "tsc --emitDeclarationOnly",
20
18
  "commit": "git-cz",
21
19
  "lint": "eslint 'src/**/*.{ts,tsx,js,jsx}' && npm run build:type",
@@ -43,11 +41,12 @@
43
41
  },
44
42
  "dependencies": {
45
43
  "@ant-design/icons": "^4.6.2",
46
- "@labelbee/lb-annotation": "^1.9.0-alpha.0",
47
- "@labelbee/lb-utils": "^1.3.0-alpha.0",
44
+ "@labelbee/lb-annotation": "^1.9.0-alpha.10",
45
+ "@labelbee/lb-utils": "^1.3.0-alpha.10",
48
46
  "ahooks": "^3.4.0",
49
47
  "classnames": "^2.3.0",
50
48
  "lodash": "^4.17.21",
49
+ "postcss-url": "^10.1.3",
51
50
  "react-i18next": "^11.12.0",
52
51
  "react-redux": "^7.2.3",
53
52
  "redux": "^4.0.5",
@@ -76,7 +75,6 @@
76
75
  "commitizen": "^4.2.4",
77
76
  "cross-env": "^7.0.3",
78
77
  "cz-conventional-changelog": "^3.3.0",
79
- "dart-sass": "^1.25.0",
80
78
  "esbuild": "^0.11.0",
81
79
  "eslint": "7.20.0",
82
80
  "eslint-config-airbnb": "18.2.1",
@@ -86,9 +84,12 @@
86
84
  "eslint-plugin-react": "^7.22.0",
87
85
  "eslint-plugin-react-hooks": "^4.2.0",
88
86
  "husky": "^7.0.1",
87
+ "postcss": "^8.4.14",
89
88
  "prettier": "^2.3.2",
90
89
  "rollup": "^2.43.1",
91
90
  "rollup-plugin-esbuild": "^3.0.2",
91
+ "rollup-plugin-postcss": "^4.0.2",
92
+ "sass": "^1.53.0",
92
93
  "typescript": "^4.2.3"
93
94
  },
94
95
  "config": {
@@ -96,5 +97,5 @@
96
97
  "path": "node_modules/cz-conventional-changelog"
97
98
  }
98
99
  },
99
- "gitHead": "33739f5c4a8328adf5754bbe5d38fd56ca13fd84"
100
+ "gitHead": "e836c09b82d183dc60088ef8236061da299334ae"
100
101
  }
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/index.scss"],"names":[],"mappings":";AAMA;EACE;EACA;EACA;;AAEA;EAEE;EACA;EACA;EACA;EACA;EACA,YAlBW;;AAqBb;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAIA;EACE;;AAGF;EACE;;AAKN;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAEA;AAAA;EAEE;;AAEA;AAAA;EACE;;AAKN;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;;;AAMN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;AAON;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAII;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAKN;EACE;;AAGF;EACE;;AAGF;EACE;;AAMR;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;AAAA;EAEE;EAEA;EACA;EACA;EACA;;AAEA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EACE;EACA;EACA;;AAcF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EAEA;EACA;EACA;EACA;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;EACA;;AAIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAQF;AAAA;EACE;EACA;EACA;EACA;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAGF;AAAA;EACE;;AAKF;AAAA;EACE;;AAMJ;EACE;;AAkBF;AAAA;EACE;;;AAiBN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKJ;EACE;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAMA;EACE;;AAKN;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;AAAA;EAEE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAIJ;EACE;;AAmBJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;;AAQJ;EACE;EACA;;AAGE;EACE;EACA;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAMN;EACE;EACA;EACA;;AAGE;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EAIE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;;AAKN;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;;AAGE;EACE;;AAKN;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AAEA;EACE;;AAIJ;EACE;EAEA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EAEA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;;AAEA;EACE;;;AAMR;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AACA;EAGE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;;AACA;EACE;;AAGJ;EACE;;AAGF;EAGE;;AAGF;EACE;EACA;EACA;;AACA;EACE;;;AAKN","file":"index.css"}