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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/components/pointCloudView/index.js +1 -1
  2. package/dist/store/annotation/reducer.js +1 -1
  3. package/dist/types/components/AnnotationView/index.d.ts +1 -1
  4. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +1 -1
  5. package/dist/types/components/videoPlayer/types.d.ts +1 -1
  6. package/dist/types/store/annotation/types.d.ts +3 -3
  7. package/dist/types/store/imgAttribute/types.d.ts +1 -1
  8. package/dist/types/store/index.d.ts +1 -1
  9. package/dist/types/store/toolStyle/types.d.ts +1 -1
  10. package/dist/types/utils/dom.d.ts +2 -2
  11. package/dist/types/views/MainView/toolFooter/FooterPopover.d.ts +1 -1
  12. package/dist/types/views/MainView/toolFooter/index.d.ts +1 -1
  13. package/es/components/pointCloudView/index.js +1 -1
  14. package/es/store/annotation/reducer.js +1 -1
  15. package/package.json +2 -2
  16. package/es/App.js.map +0 -1
  17. package/es/assets/annotation/common/icon_adapt.svg.js.map +0 -1
  18. package/es/assets/annotation/common/icon_adapt_black.svg.js.map +0 -1
  19. package/es/assets/annotation/common/icon_back.svg.js.map +0 -1
  20. package/es/assets/annotation/common/icon_backA.svg.js.map +0 -1
  21. package/es/assets/annotation/common/icon_clear.svg.js.map +0 -1
  22. package/es/assets/annotation/common/icon_clearSmall.svg.js.map +0 -1
  23. package/es/assets/annotation/common/icon_clearSmall_a.svg.js.map +0 -1
  24. package/es/assets/annotation/common/icon_clear_a.svg.js.map +0 -1
  25. package/es/assets/annotation/common/icon_invalid.svg.js.map +0 -1
  26. package/es/assets/annotation/common/icon_invalid_a.svg.js.map +0 -1
  27. package/es/assets/annotation/common/icon_next.svg.js.map +0 -1
  28. package/es/assets/annotation/common/icon_nextA.svg.js.map +0 -1
  29. package/es/assets/annotation/common/icon_r.svg.js.map +0 -1
  30. package/es/assets/annotation/common/icon_rA.svg.js.map +0 -1
  31. package/es/assets/annotation/common/icon_save.svg.js.map +0 -1
  32. package/es/assets/annotation/common/icon_saveA.svg.js.map +0 -1
  33. package/es/assets/annotation/image/brightness.svg.js.map +0 -1
  34. package/es/assets/annotation/image/contrast.svg.js.map +0 -1
  35. package/es/assets/annotation/image/icon_yuantu.svg.js.map +0 -1
  36. package/es/assets/annotation/image/saturation.svg.js.map +0 -1
  37. package/es/assets/annotation/lineTool/icon_line.svg.js.map +0 -1
  38. package/es/assets/annotation/lineTool/icon_line_a.svg.js.map +0 -1
  39. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +0 -1
  40. package/es/assets/annotation/pointCloudTool/copy.svg.js.map +0 -1
  41. package/es/assets/annotation/pointCloudTool/nextBox.svg.js.map +0 -1
  42. package/es/assets/annotation/pointCloudTool/nodata.svg.js.map +0 -1
  43. package/es/assets/annotation/pointCloudTool/patse.svg.js.map +0 -1
  44. package/es/assets/annotation/pointCloudTool/prevBox.svg.js.map +0 -1
  45. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +0 -1
  46. package/es/assets/annotation/pointCloudTool/selectAll.svg.js.map +0 -1
  47. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +0 -1
  48. package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js.map +0 -1
  49. package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js.map +0 -1
  50. package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js.map +0 -1
  51. package/es/assets/annotation/pointTool/icon_point.svg.js.map +0 -1
  52. package/es/assets/annotation/pointTool/icon_point_a.svg.js.map +0 -1
  53. package/es/assets/annotation/polygonTool/icon_polygon.svg.js.map +0 -1
  54. package/es/assets/annotation/polygonTool/icon_polygon_a.svg.js.map +0 -1
  55. package/es/assets/annotation/rectTool/icon_rect.svg.js.map +0 -1
  56. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js +0 -1
  57. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js.map +0 -1
  58. package/es/assets/annotation/rectTool/icon_rect_a.svg.js.map +0 -1
  59. package/es/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js.map +0 -1
  60. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +0 -1
  61. package/es/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js.map +0 -1
  62. package/es/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js.map +0 -1
  63. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +0 -1
  64. package/es/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js.map +0 -1
  65. package/es/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js.map +0 -1
  66. package/es/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js.map +0 -1
  67. package/es/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js.map +0 -1
  68. package/es/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js.map +0 -1
  69. package/es/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js.map +0 -1
  70. package/es/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js.map +0 -1
  71. package/es/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js.map +0 -1
  72. package/es/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js.map +0 -1
  73. package/es/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js.map +0 -1
  74. package/es/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js.map +0 -1
  75. package/es/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js.map +0 -1
  76. package/es/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js.map +0 -1
  77. package/es/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js.map +0 -1
  78. package/es/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js.map +0 -1
  79. package/es/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js.map +0 -1
  80. package/es/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js.map +0 -1
  81. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js.map +0 -1
  82. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js.map +0 -1
  83. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js.map +0 -1
  84. package/es/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js.map +0 -1
  85. package/es/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js.map +0 -1
  86. package/es/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js.map +0 -1
  87. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +0 -1
  88. package/es/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js.map +0 -1
  89. package/es/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js.map +0 -1
  90. package/es/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js.map +0 -1
  91. package/es/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js.map +0 -1
  92. package/es/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js.map +0 -1
  93. package/es/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js.map +0 -1
  94. package/es/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js.map +0 -1
  95. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +0 -1
  96. package/es/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js.map +0 -1
  97. package/es/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js.map +0 -1
  98. package/es/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js.map +0 -1
  99. package/es/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js.map +0 -1
  100. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +0 -1
  101. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +0 -1
  102. package/es/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js.map +0 -1
  103. package/es/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js.map +0 -1
  104. package/es/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js.map +0 -1
  105. package/es/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js.map +0 -1
  106. package/es/assets/annotation/toolHotKeyIcon/setValid.svg.js.map +0 -1
  107. package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +0 -1
  108. package/es/assets/attributeIcon/eraser.svg.js.map +0 -1
  109. package/es/assets/attributeIcon/eraser_a.svg.js.map +0 -1
  110. package/es/assets/attributeIcon/pen.svg.js.map +0 -1
  111. package/es/assets/attributeIcon/pen_a.svg.js.map +0 -1
  112. package/es/assets/attributeIcon/zoomUp.svg.js.map +0 -1
  113. package/es/assets/toolStyle/icon_border.svg.js.map +0 -1
  114. package/es/assets/toolStyle/icon_borderColor.svg.js.map +0 -1
  115. package/es/assets/toolStyle/icon_opacityFill.svg.js.map +0 -1
  116. package/es/assets/toolStyle/icon_opacityStroke.svg.js.map +0 -1
  117. package/es/components/AnnotationView/index.js.map +0 -1
  118. package/es/components/AnnotationView/pointCloudAnnotationView.js.map +0 -1
  119. package/es/components/ImageError/index.js +0 -1
  120. package/es/components/ImageError/index.js.map +0 -1
  121. package/es/components/annotationStepPopover/index.js.map +0 -1
  122. package/es/components/attributeList/index.js.map +0 -1
  123. package/es/components/checkboxList/index.js.map +0 -1
  124. package/es/components/colorTag/index.js.map +0 -1
  125. package/es/components/customAntd/IconWithText/index.js.map +0 -1
  126. package/es/components/customResizeHook/index.js.map +0 -1
  127. package/es/components/fileException/FileError.js.map +0 -1
  128. package/es/components/fileException/FileInvalid.js.map +0 -1
  129. package/es/components/fileException/index.js.map +0 -1
  130. package/es/components/pointCloudView/PointCloud2DView.js.map +0 -1
  131. package/es/components/pointCloudView/PointCloud3DView.js.map +0 -1
  132. package/es/components/pointCloudView/PointCloudBackView.js.map +0 -1
  133. package/es/components/pointCloudView/PointCloudContext.js.map +0 -1
  134. package/es/components/pointCloudView/PointCloudInfos.js.map +0 -1
  135. package/es/components/pointCloudView/PointCloudLayout.js.map +0 -1
  136. package/es/components/pointCloudView/PointCloudListener.js.map +0 -1
  137. package/es/components/pointCloudView/PointCloudSideView.js.map +0 -1
  138. package/es/components/pointCloudView/PointCloudTopView.js.map +0 -1
  139. package/es/components/pointCloudView/components/EmptyPage/index.js.map +0 -1
  140. package/es/components/pointCloudView/components/UnifyParamsModal/index.js.map +0 -1
  141. package/es/components/pointCloudView/hooks/useAttribute.js.map +0 -1
  142. package/es/components/pointCloudView/hooks/useBoxes.js.map +0 -1
  143. package/es/components/pointCloudView/hooks/useConfig.js.map +0 -1
  144. package/es/components/pointCloudView/hooks/useHistory.js.map +0 -1
  145. package/es/components/pointCloudView/hooks/usePointCloudBoxes.js +0 -119
  146. package/es/components/pointCloudView/hooks/usePointCloudBoxes.js.map +0 -1
  147. package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +0 -1
  148. package/es/components/pointCloudView/hooks/usePolygon.js.map +0 -1
  149. package/es/components/pointCloudView/hooks/useRotate.js.map +0 -1
  150. package/es/components/pointCloudView/hooks/useSingleBox.js.map +0 -1
  151. package/es/components/pointCloudView/hooks/useStatus.js.map +0 -1
  152. package/es/components/pointCloudView/hooks/useZoom.js.map +0 -1
  153. package/es/components/pointCloudView/index.js.map +0 -1
  154. package/es/components/pointCloudView/useSingleBox.js +0 -44
  155. package/es/components/pointCloudView/useSingleBox.js.map +0 -1
  156. package/es/components/videoAnnotate/index.js.map +0 -1
  157. package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +0 -1
  158. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +0 -1
  159. package/es/components/videoPlayer/VideoTagLayer.js.map +0 -1
  160. package/es/components/videoPlayer/components/controller/index.js.map +0 -1
  161. package/es/components/videoPlayer/index.js.map +0 -1
  162. package/es/components/videoPlayer/utils.js.map +0 -1
  163. package/es/configureStore.js.map +0 -1
  164. package/es/constant/index.js.map +0 -1
  165. package/es/constant/styleString.js.map +0 -1
  166. package/es/data/Style.js.map +0 -1
  167. package/es/data/enums/AnnotationSize.js.map +0 -1
  168. package/es/data/enums/ToolType.js.map +0 -1
  169. package/es/hooks/annotation.js.map +0 -1
  170. package/es/hooks/useRafState.js.map +0 -1
  171. package/es/hooks/useRefCache.js.map +0 -1
  172. package/es/hooks/useSafeSate.js.map +0 -1
  173. package/es/hooks/useSize.js.map +0 -1
  174. package/es/hooks/useUnmountedRef.js.map +0 -1
  175. package/es/index.js.map +0 -1
  176. package/es/store/Actions.js.map +0 -1
  177. package/es/store/annotation/actionCreators.js.map +0 -1
  178. package/es/store/annotation/map.js.map +0 -1
  179. package/es/store/annotation/reducer.js.map +0 -1
  180. package/es/store/annotation/selectors.js.map +0 -1
  181. package/es/store/ctx.js.map +0 -1
  182. package/es/store/imgAttribute/actionCreators.js.map +0 -1
  183. package/es/store/imgAttribute/reducer.js.map +0 -1
  184. package/es/store/index.js.map +0 -1
  185. package/es/store/toolStyle/actionCreators.js.map +0 -1
  186. package/es/store/toolStyle/reducer.js.map +0 -1
  187. package/es/utils/AnnotationDataUtils.js.map +0 -1
  188. package/es/utils/ConfigUtils.js.map +0 -1
  189. package/es/utils/PageOperator.js.map +0 -1
  190. package/es/utils/StepUtils.js.map +0 -1
  191. package/es/utils/TextUtils.js.map +0 -1
  192. package/es/utils/ToolStyleUtils.js.map +0 -1
  193. package/es/utils/ToolUtils.js.map +0 -1
  194. package/es/utils/data.js.map +0 -1
  195. package/es/utils/dom.js.map +0 -1
  196. package/es/utils/index.js.map +0 -1
  197. package/es/views/MainView/annotationOperation/index.js.map +0 -1
  198. package/es/views/MainView/annotationTips/index.js.map +0 -1
  199. package/es/views/MainView/index.js.map +0 -1
  200. package/es/views/MainView/sidebar/AnnotationText/index.js.map +0 -1
  201. package/es/views/MainView/sidebar/ClearIcon/index.js.map +0 -1
  202. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +0 -1
  203. package/es/views/MainView/sidebar/GeneralOperation/OperationList.js +0 -77
  204. package/es/views/MainView/sidebar/GeneralOperation/OperationList.js.map +0 -1
  205. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +0 -1
  206. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +0 -1
  207. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +0 -1
  208. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js.map +0 -1
  209. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +0 -1
  210. package/es/views/MainView/sidebar/ScribbleSidebar/index.js.map +0 -1
  211. package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +0 -1
  212. package/es/views/MainView/sidebar/TagSidebar/index.js.map +0 -1
  213. package/es/views/MainView/sidebar/TextAreaFormat/index.js.map +0 -1
  214. package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +0 -1
  215. package/es/views/MainView/sidebar/ToolIcons.js.map +0 -1
  216. package/es/views/MainView/sidebar/ToolStyle/index.js.map +0 -1
  217. package/es/views/MainView/sidebar/index.js.map +0 -1
  218. package/es/views/MainView/toolFooter/AnnotatedAttributes/index.js.map +0 -1
  219. package/es/views/MainView/toolFooter/FooterPopover.js.map +0 -1
  220. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +0 -1
  221. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +0 -1
  222. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +0 -1
  223. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +0 -1
  224. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +0 -1
  225. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +0 -1
  226. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +0 -1
  227. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js.map +0 -1
  228. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +0 -1
  229. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +0 -1
  230. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +0 -1
  231. package/es/views/MainView/toolFooter/FooterTips/index.js.map +0 -1
  232. package/es/views/MainView/toolFooter/HiddenTips/index.js.map +0 -1
  233. package/es/views/MainView/toolFooter/PageNumber/index.js.map +0 -1
  234. package/es/views/MainView/toolFooter/Pagination.js.map +0 -1
  235. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +0 -1
  236. package/es/views/MainView/toolFooter/ZoomController/index.js.map +0 -1
  237. package/es/views/MainView/toolFooter/index.js.map +0 -1
  238. package/es/views/MainView/toolHeader/ExportData/index.js.map +0 -1
  239. package/es/views/MainView/toolHeader/StepSwitch/index.js.map +0 -1
  240. package/es/views/MainView/toolHeader/headerOption/index.js.map +0 -1
  241. package/es/views/MainView/toolHeader/index.js.map +0 -1
@@ -1,77 +0,0 @@
1
- import img from '../../../../assets/annotation/common/icon_clear.svg.js';
2
- import img$1 from '../../../../assets/annotation/common/icon_clear_a.svg.js';
3
- import img$2 from '../../../../assets/annotation/common/icon_invalid.svg.js';
4
- import img$3 from '../../../../assets/annotation/common/icon_invalid_a.svg.js';
5
- import { StopOutlined } from '@ant-design/icons';
6
- import { useTranslation } from 'react-i18next';
7
- import React from 'react';
8
- import { CopyBackWordResult } from '../../../../store/annotation/actionCreators.js';
9
- import { store } from '../../../../index.js';
10
-
11
- var __defProp = Object.defineProperty;
12
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
16
- var __spreadValues = (a, b) => {
17
- for (var prop in b || (b = {}))
18
- if (__hasOwnProp.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- if (__getOwnPropSymbols)
21
- for (var prop of __getOwnPropSymbols(b)) {
22
- if (__propIsEnum.call(b, prop))
23
- __defNormalProp(a, prop, b[prop]);
24
- }
25
- return a;
26
- };
27
- const useOperationList = (toolInstance) => {
28
- const {t} = useTranslation();
29
- const iconStyle = {
30
- height: "25px",
31
- lineHeight: "25px",
32
- display: "flex",
33
- justifyContent: "center",
34
- alignItems: "center"
35
- };
36
- const empty = [
37
- {
38
- name: t("ClearLabel"),
39
- key: "sureClear",
40
- imgSvg: img,
41
- hoverSvg: img$1,
42
- onClick: () => {
43
- toolInstance == null ? void 0 : toolInstance.clearResult();
44
- }
45
- }
46
- ];
47
- const setQuestion = {
48
- name: t(toolInstance.valid === true ? "SetAsInvalid" : "SetAsValid"),
49
- key: "sureQuestion",
50
- imgSvg: /* @__PURE__ */ React.createElement(StopOutlined, {
51
- style: iconStyle
52
- }),
53
- hoverSvg: /* @__PURE__ */ React.createElement(StopOutlined, {
54
- style: __spreadValues({color: "#666fff"}, iconStyle)
55
- }),
56
- onClick: () => {
57
- toolInstance.setValid(!toolInstance.valid);
58
- }
59
- };
60
- const copyThePrevious = {
61
- name: t("CopyThePrevious"),
62
- key: "sureCopy",
63
- imgSvg: img$2,
64
- hoverSvg: img$3,
65
- onClick: () => {
66
- store.dispatch(CopyBackWordResult());
67
- }
68
- };
69
- return {
70
- setQuestion,
71
- empty,
72
- copyThePrevious
73
- };
74
- };
75
-
76
- export { useOperationList as default };
77
- //# sourceMappingURL=OperationList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OperationList.js","sources":["../../../../../src/views/MainView/sidebar/GeneralOperation/OperationList.tsx"],"sourcesContent":["import { IOperationConfig } from './ActionsConfirm';\nimport clearResultSvg from '@/assets/annotation/common/icon_clear.svg';\nimport clearResultASvg from '@/assets/annotation/common/icon_clear_a.svg';\nimport copyBackStepSvg from '@/assets/annotation/common/icon_invalid.svg';\nimport copyBackStepASvg from '@/assets/annotation/common/icon_invalid_a.svg';\nimport { StopOutlined } from '@ant-design/icons';\nimport { useTranslation } from 'react-i18next';\nimport React from 'react';\nimport { CopyBackWordResult } from '@/store/annotation/actionCreators';\nimport { store } from '@/index';\n\nconst useOperationList = (toolInstance: any) => {\n const { t } = useTranslation();\n const iconStyle = {\n height: '25px',\n lineHeight: '25px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n };\n\n const empty: IOperationConfig[] = [\n {\n name: t('ClearLabel'),\n key: 'sureClear',\n imgSvg: clearResultSvg,\n hoverSvg: clearResultASvg,\n onClick: () => {\n toolInstance?.clearResult();\n },\n },\n ];\n\n const setQuestion = {\n name: t(toolInstance.valid === true ? 'SetAsInvalid' : 'SetAsValid'),\n key: 'sureQuestion',\n imgSvg: <StopOutlined style={iconStyle} />,\n hoverSvg: <StopOutlined style={{ color: '#666fff', ...iconStyle }} />,\n onClick: () => {\n toolInstance.setValid(!toolInstance.valid);\n },\n };\n\n const copyThePrevious = {\n name: t('CopyThePrevious'),\n key: 'sureCopy',\n imgSvg: copyBackStepSvg,\n hoverSvg: copyBackStepASvg,\n onClick: () => {\n store.dispatch(CopyBackWordResult());\n },\n };\n\n return {\n setQuestion,\n empty,\n copyThePrevious,\n };\n};\n\nexport default useOperationList;\n"],"names":["clearResultSvg","clearResultASvg","copyBackStepSvg","copyBackStepASvg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAWM,MAAA,gBAAA,GAAmB,CAAC,YAAsB,KAAA;AAC9C,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AACd,EAAA,MAAM,SAAY,GAAA;AAAA,IAChB,MAAQ,EAAA,MAAA;AAAA,IACR,UAAY,EAAA,MAAA;AAAA,IACZ,OAAS,EAAA,MAAA;AAAA,IACT,cAAgB,EAAA,QAAA;AAAA,IAChB,UAAY,EAAA,QAAA;AAAA,GAAA,CAAA;AAGd,EAAA,MAAM,KAA4B,GAAA;AAAA,IAChC;AAAA,MACE,MAAM,CAAE,CAAA,YAAA,CAAA;AAAA,MACR,GAAK,EAAA,WAAA;AAAA,MACL,MAAQ,EAAAA,GAAA;AAAA,MACR,QAAU,EAAAC,KAAA;AAAA,MACV,SAAS,MAAM;AACb,QAAc,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,WAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAKpB,EAAA,MAAM,WAAc,GAAA;AAAA,IAClB,IAAM,EAAA,CAAA,CAAE,YAAa,CAAA,KAAA,KAAU,OAAO,cAAiB,GAAA,YAAA,CAAA;AAAA,IACvD,GAAK,EAAA,cAAA;AAAA,IACL,MAAA,sCAAS,YAAD,EAAA;AAAA,MAAc,KAAO,EAAA,SAAA;AAAA,KAAA,CAAA;AAAA,IAC7B,QAAA,sCAAW,YAAD,EAAA;AAAA,MAAc,KAAA,EAAO,cAAE,CAAA,CAAA,KAAA,EAAO,SAAc,CAAA,EAAA,SAAA,CAAA;AAAA,KAAA,CAAA;AAAA,IACtD,SAAS,MAAM;AACb,MAAa,YAAA,CAAA,QAAA,CAAS,CAAC,YAAa,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAIxC,EAAA,MAAM,eAAkB,GAAA;AAAA,IACtB,MAAM,CAAE,CAAA,iBAAA,CAAA;AAAA,IACR,GAAK,EAAA,UAAA;AAAA,IACL,MAAQ,EAAAC,KAAA;AAAA,IACR,QAAU,EAAAC,KAAA;AAAA,IACV,SAAS,MAAM;AACb,MAAA,KAAA,CAAM,QAAS,CAAA,kBAAA,EAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAInB,EAAO,OAAA;AAAA,IACL,WAAA;AAAA,IACA,KAAA;AAAA,IACA,eAAA;AAAA,GAAA,CAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/GeneralOperation/index.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { AppState } from '@/store';\nimport { connect, ConnectedComponent } from 'react-redux';\nimport { ToolInstance } from '@/store/annotation/types';\nimport StepUtils from '@/utils/StepUtils';\nimport { IStepInfo } from '@/types/step';\nimport { jsonParser } from '@/utils';\nimport { AnnotationFileList, IFileItem } from '@/types/data';\nimport ActionsConfirm, { IOperationConfig } from './ActionsConfirm';\nimport useOperationList from './useOperationList';\nimport { LabelBeeContext } from '@/store/ctx';\nimport UnifyParamsSvg from '@/assets/annotation/pointCloudTool/unitAttribute.svg';\nimport UnifyParamsForbidSvg from '@/assets/annotation/pointCloudTool/unitAttributeForbid.svg';\nimport UnifyParamsHoverSvg from '@/assets/annotation/pointCloudTool/unitAttributeHover.svg';\nimport { useTranslation } from 'react-i18next';\nimport UnifyParamsModal from '../../../../components/pointCloudView/components/UnifyParamsModal';\nimport { useSingleBox } from '@/components/pointCloudView/hooks/useSingleBox';\nimport { composeResultByToolInstance } from '@/store/annotation/reducer';\n\nconst mapStateToProps = (state: AppState) => {\n const stepInfo = StepUtils.getCurrentStepInfo(state.annotation?.step, state.annotation?.stepList);\n\n return {\n toolInstance: state.annotation.toolInstance,\n stepInfo,\n imgList: state.annotation.imgList,\n imgIndex: state.annotation.imgIndex,\n stepList: state.annotation.stepList,\n };\n};\ninterface IProps {\n toolInstance: ToolInstance;\n stepInfo: IStepInfo;\n imgList: AnnotationFileList;\n imgIndex: number;\n stepList: IStepInfo[];\n}\n\nconst GeneralOperation: React.FC<IProps> = ({ toolInstance, stepInfo }) => {\n const operationList = useOperationList(toolInstance);\n const config = jsonParser(stepInfo?.config);\n const allOperation: IOperationConfig[] = [operationList.empty];\n\n if (stepInfo?.dataSourceStep === 0) {\n allOperation.push(operationList.setValidity);\n }\n\n if (config?.copyBackwardResult) {\n allOperation.push(operationList.copyPrevious);\n }\n\n return <ActionsConfirm allOperation={allOperation} />;\n};\n\nexport const PointCloudOperation: ConnectedComponent<\n React.FC<IProps>,\n Omit<\n IProps & {\n children?: React.ReactNode;\n },\n 'toolInstance' | 'stepInfo' | 'imgList' | 'imgIndex' | 'stepList'\n >\n> = connect(mapStateToProps, null, null, { context: LabelBeeContext })(\n ({ toolInstance, stepInfo, imgList, stepList, imgIndex }) => {\n const { t } = useTranslation();\n const { selectedBox } = useSingleBox();\n const operationList = useOperationList(toolInstance);\n const [isShowModal, setShowModal] = useState(false);\n const [composeImgList, setComposeImgList] = useState<IFileItem[]>([]);\n\n const config = jsonParser(stepInfo.config);\n\n let allOperation: IOperationConfig[] = [\n operationList.copyPrevious,\n operationList.empty,\n operationList.setValidity,\n ];\n\n if (config.trackConfigurable === true) {\n const forbidOperation = !selectedBox;\n const UnifyParams: IOperationConfig = {\n name: t('UnifyParams'),\n key: 'UnifyParams',\n imgSvg: forbidOperation ? UnifyParamsForbidSvg : UnifyParamsSvg,\n hoverSvg: UnifyParamsHoverSvg,\n onClick: () => {\n // TODO, The inner modal needs to use the newest ImgList\n setComposeImgList(composeResultByToolInstance({ toolInstance, imgList, imgIndex, stepList }))\n\n setShowModal(true);\n },\n forbidConfirm: true,\n forbidOperation: forbidOperation,\n };\n allOperation.unshift(UnifyParams);\n }\n\n const onCancel = useCallback(() => {\n setShowModal(false);\n }, []);\n\n const selectedBoxInfo = selectedBox?.info;\n\n return (\n <>\n <ActionsConfirm allOperation={allOperation} />\n <UnifyParamsModal\n id={selectedBoxInfo?.trackID}\n visible={isShowModal}\n onCancel={onCancel}\n config={config}\n imgList={composeImgList}\n />\n </>\n );\n },\n);\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(GeneralOperation);\n"],"names":["UnifyParamsForbidSvg","UnifyParamsSvg","UnifyParamsHoverSvg"],"mappings":";;;;;;;;;;;;;;;AAmBA,MAAM,eAAA,GAAkB,CAAC,KAAoB,KAAA;AAnB7C,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAoBE,EAAM,MAAA,QAAA,GAAW,UAAU,kBAAmB,CAAA,CAAA,EAAA,GAAA,KAAA,CAAM,eAAN,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAM,CAAM,EAAA,GAAA,KAAA,CAAA,UAAA,KAAN,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,CAAA;AAExF,EAAO,OAAA;AAAA,IACL,YAAA,EAAc,MAAM,UAAW,CAAA,YAAA;AAAA,IAC/B,QAAA;AAAA,IACA,OAAA,EAAS,MAAM,UAAW,CAAA,OAAA;AAAA,IAC1B,QAAA,EAAU,MAAM,UAAW,CAAA,QAAA;AAAA,IAC3B,QAAA,EAAU,MAAM,UAAW,CAAA,QAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAW/B,MAAM,gBAAqC,GAAA,CAAC,CAAE,YAAA,EAAc,QAAe,CAAA,KAAA;AACzE,EAAA,MAAM,gBAAgB,gBAAiB,CAAA,YAAA,CAAA,CAAA;AACvC,EAAM,MAAA,MAAA,GAAS,WAAW,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA;AACpC,EAAM,MAAA,YAAA,GAAmC,CAAC,aAAc,CAAA,KAAA,CAAA,CAAA;AAExD,EAAI,IAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,oBAAmB,CAAG,EAAA;AAClC,IAAA,YAAA,CAAa,KAAK,aAAc,CAAA,WAAA,CAAA,CAAA;AAAA,GAAA;AAGlC,EAAA,IAAI,iCAAQ,kBAAoB,EAAA;AAC9B,IAAA,YAAA,CAAa,KAAK,aAAc,CAAA,YAAA,CAAA,CAAA;AAAA,GAAA;AAGlC,EAAA,2CAAQ,cAAD,EAAA;AAAA,IAAgB,YAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAGlB,MAAM,mBAQT,GAAA,OAAA,CAAQ,eAAiB,EAAA,IAAA,EAAM,MAAM,CAAE,OAAA,EAAS,eAClD,CAAA,CAAA,CAAA,CAAC,CAAE,YAAA,EAAc,QAAU,EAAA,OAAA,EAAS,UAAU,QAAe,CAAA,KAAA;AAC3D,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AACd,EAAA,MAAM,CAAE,WAAgB,CAAA,GAAA,YAAA,EAAA,CAAA;AACxB,EAAA,MAAM,gBAAgB,gBAAiB,CAAA,YAAA,CAAA,CAAA;AACvC,EAAM,MAAA,CAAC,WAAa,EAAA,YAAA,CAAA,GAAgB,QAAS,CAAA,KAAA,CAAA,CAAA;AAC7C,EAAM,MAAA,CAAC,cAAgB,EAAA,iBAAA,CAAA,GAAqB,QAAsB,CAAA,EAAA,CAAA,CAAA;AAElE,EAAM,MAAA,MAAA,GAAS,WAAW,QAAS,CAAA,MAAA,CAAA,CAAA;AAEnC,EAAA,IAAI,YAAmC,GAAA;AAAA,IACrC,aAAc,CAAA,YAAA;AAAA,IACd,aAAc,CAAA,KAAA;AAAA,IACd,aAAc,CAAA,WAAA;AAAA,GAAA,CAAA;AAGhB,EAAI,IAAA,MAAA,CAAO,sBAAsB,IAAM,EAAA;AACrC,IAAA,MAAM,kBAAkB,CAAC,WAAA,CAAA;AACzB,IAAA,MAAM,WAAgC,GAAA;AAAA,MACpC,MAAM,CAAE,CAAA,aAAA,CAAA;AAAA,MACR,GAAK,EAAA,aAAA;AAAA,MACL,MAAA,EAAQ,kBAAkBA,GAAuB,GAAAC,KAAA;AAAA,MACjD,QAAU,EAAAC,KAAA;AAAA,MACV,SAAS,MAAM;AAEb,QAAA,iBAAA,CAAkB,2BAA4B,CAAA,CAAE,YAAc,EAAA,OAAA,EAAS,QAAU,EAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AAEjF,QAAa,YAAA,CAAA,IAAA,CAAA,CAAA;AAAA,OAAA;AAAA,MAEf,aAAe,EAAA,IAAA;AAAA,MACf,eAAA;AAAA,KAAA,CAAA;AAEF,IAAA,YAAA,CAAa,OAAQ,CAAA,WAAA,CAAA,CAAA;AAAA,GAAA;AAGvB,EAAM,MAAA,QAAA,GAAW,YAAY,MAAM;AACjC,IAAa,YAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACZ,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,MAAM,kBAAkB,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,IAAA,CAAA;AAErC,EACE,uBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,sCACG,cAAD,EAAA;AAAA,IAAgB,YAAA;AAAA,GAAA,CAAA,sCACf,gBAAD,EAAA;AAAA,IACE,IAAI,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,OAAA;AAAA,IACrB,OAAS,EAAA,WAAA;AAAA,IACT,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAS,EAAA,cAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EAAA;AAOnB,yBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,gBAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOperationList.js","sources":["../../../../../src/views/MainView/sidebar/GeneralOperation/useOperationList.tsx"],"sourcesContent":["import { IOperationConfig } from './ActionsConfirm';\nimport clearResultSvg from '@/assets/annotation/common/icon_clear.svg';\nimport clearResultASvg from '@/assets/annotation/common/icon_clear_a.svg';\nimport copyBackStepSvg from '@/assets/annotation/common/icon_invalid.svg';\nimport copyBackStepASvg from '@/assets/annotation/common/icon_invalid_a.svg';\nimport { StopOutlined } from '@ant-design/icons';\nimport { useTranslation } from 'react-i18next';\nimport React, { useMemo, useState } from 'react';\nimport { CopyBackWordResult } from '@/store/annotation/actionCreators';\nimport { store } from '@/index';\nimport { AppState } from '@/store';\nimport { useSelector } from '@/store/ctx';\n\n/**\n * Hooks for sidebar common operations' config\n * @param toolInstance\n * @returns\n */\nconst useOperationList = (toolInstance: any) => {\n const [updateNum, forceRender] = useState(0);\n const { t, i18n } = useTranslation();\n const { currentData } = useSelector((state: AppState) => {\n const { imgList, imgIndex } = state.annotation;\n\n return {\n currentData: imgList[imgIndex],\n };\n });\n\n const iconStyle = {\n height: '25px',\n lineHeight: '25px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n };\n\n /**\n * Empty current file result\n */\n const empty: IOperationConfig = {\n name: t('ClearLabel'),\n key: 'empty',\n imgSvg: clearResultSvg,\n hoverSvg: clearResultASvg,\n onClick: () => {\n toolInstance?.clearResult();\n },\n };\n\n /**\n * Set set validity for current file\n */\n const setValidity: IOperationConfig = {\n name: t(toolInstance?.valid === false ? 'SetAsValid' : 'SetAsInvalid'),\n key: 'setValidity',\n imgSvg: <StopOutlined style={iconStyle} />,\n hoverSvg: <StopOutlined style={{ color: '#666fff', ...iconStyle }} />,\n onClick: () => {\n toolInstance.setValid(!toolInstance.valid);\n setTimeout(() => {\n forceRender((v) => v + 1);\n });\n },\n };\n\n /**\n * Copy previous file result\n */\n const copyPrevious: IOperationConfig = {\n name: t('CopyThePrevious'),\n key: 'copyPrevious',\n imgSvg: copyBackStepSvg,\n hoverSvg: copyBackStepASvg,\n onClick: () => {\n store.dispatch(CopyBackWordResult());\n },\n };\n\n return useMemo(() => {\n return {\n empty,\n setValidity,\n copyPrevious,\n };\n }, [toolInstance, updateNum, currentData, i18n.language]);\n};\n\nexport default useOperationList;\n"],"names":["clearResultSvg","clearResultASvg","copyBackStepSvg","copyBackStepASvg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBM,MAAA,gBAAA,GAAmB,CAAC,YAAsB,KAAA;AAC9C,EAAM,MAAA,CAAC,SAAW,EAAA,WAAA,CAAA,GAAe,QAAS,CAAA,CAAA,CAAA,CAAA;AAC1C,EAAM,MAAA,CAAE,GAAG,IAAS,CAAA,GAAA,cAAA,EAAA,CAAA;AACpB,EAAA,MAAM,CAAE,WAAA,CAAA,GAAgB,WAAY,CAAA,CAAC,KAAoB,KAAA;AACvD,IAAM,MAAA,CAAE,OAAS,EAAA,QAAA,CAAA,GAAa,KAAM,CAAA,UAAA,CAAA;AAEpC,IAAO,OAAA;AAAA,MACL,aAAa,OAAQ,CAAA,QAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAIzB,EAAA,MAAM,SAAY,GAAA;AAAA,IAChB,MAAQ,EAAA,MAAA;AAAA,IACR,UAAY,EAAA,MAAA;AAAA,IACZ,OAAS,EAAA,MAAA;AAAA,IACT,cAAgB,EAAA,QAAA;AAAA,IAChB,UAAY,EAAA,QAAA;AAAA,GAAA,CAAA;AAMd,EAAA,MAAM,KAA0B,GAAA;AAAA,IAC9B,MAAM,CAAE,CAAA,YAAA,CAAA;AAAA,IACR,GAAK,EAAA,OAAA;AAAA,IACL,MAAQ,EAAAA,GAAA;AAAA,IACR,QAAU,EAAAC,KAAA;AAAA,IACV,SAAS,MAAM;AACb,MAAc,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,WAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAOlB,EAAA,MAAM,WAAgC,GAAA;AAAA,IACpC,IAAM,EAAA,CAAA,CAAE,CAAc,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,KAAA,MAAU,QAAQ,YAAe,GAAA,cAAA,CAAA;AAAA,IACvD,GAAK,EAAA,aAAA;AAAA,IACL,MAAA,sCAAS,YAAD,EAAA;AAAA,MAAc,KAAO,EAAA,SAAA;AAAA,KAAA,CAAA;AAAA,IAC7B,QAAA,sCAAW,YAAD,EAAA;AAAA,MAAc,KAAA,EAAO,cAAE,CAAA,CAAA,KAAA,EAAO,SAAc,CAAA,EAAA,SAAA,CAAA;AAAA,KAAA,CAAA;AAAA,IACtD,SAAS,MAAM;AACb,MAAa,YAAA,CAAA,QAAA,CAAS,CAAC,YAAa,CAAA,KAAA,CAAA,CAAA;AACpC,MAAA,UAAA,CAAW,MAAM;AACf,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAQ7B,EAAA,MAAM,YAAiC,GAAA;AAAA,IACrC,MAAM,CAAE,CAAA,iBAAA,CAAA;AAAA,IACR,GAAK,EAAA,cAAA;AAAA,IACL,MAAQ,EAAAC,KAAA;AAAA,IACR,QAAU,EAAAC,KAAA;AAAA,IACV,SAAS,MAAM;AACb,MAAA,KAAA,CAAM,QAAS,CAAA,kBAAA,EAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAInB,EAAA,OAAO,QAAQ,MAAM;AACnB,IAAO,OAAA;AAAA,MACL,KAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAED,CAAC,YAAA,EAAc,SAAW,EAAA,WAAA,EAAa,IAAK,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ImgAttributeInfo/index.tsx"],"sourcesContent":["import { Col, Row, Slider, Switch, Input } from 'antd/es';\nimport { connect } from 'react-redux';\nimport { throttle } from 'lodash';\nimport React, { useEffect } from 'react';\nimport { ImgAttributeState } from '@/store/imgAttribute/types';\nimport ImgAttribute from '@/store/imgAttribute/actionCreators';\nimport { store } from '@/index';\nimport { LabelBeeContext } from '@/store/ctx';\n\nimport saturationSvg from '@/assets/annotation/image/saturation.svg';\nimport contrastSvg from '@/assets/annotation/image/contrast.svg';\nimport brightnessSvg from '@/assets/annotation/image/brightness.svg';\nimport ZoomUpSvg from '@/assets/attributeIcon/zoomUp.svg';\nimport originalPic from '@/assets/annotation/image/icon_yuantu.svg';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n imgAttribute: ImgAttributeState;\n}\n\nconst ImgAttributeInfo = (props: IProps) => {\n const {\n imgAttribute: { contrast, saturation, brightness, zoomRatio, isOriginalSize },\n } = props;\n\n const { t } = useTranslation();\n\n const imgAttributeChange = throttle(\n (payload: Partial<ImgAttributeState>) => {\n store.dispatch(ImgAttribute.UpdateImgAttribute(payload as ImgAttributeState));\n },\n 60,\n { trailing: true },\n );\n\n const imgAttributeInfo = [\n {\n name: 'Saturation',\n min: -100,\n max: 500,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ saturation: v }),\n value: saturation,\n svg: saturationSvg,\n },\n {\n name: 'Contrast',\n min: -100,\n max: 300,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ contrast: v }),\n value: contrast,\n svg: contrastSvg,\n },\n {\n name: 'Exposure',\n min: -100,\n max: 400,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ brightness: v }),\n value: brightness,\n svg: brightnessSvg,\n },\n {\n name: 'ScreenRatio',\n min: 0.1,\n max: 10,\n step: 0.1,\n onChange: (v: number) => imgAttributeChange({ zoomRatio: v }),\n value: zoomRatio,\n svg: ZoomUpSvg,\n },\n ];\n\n useEffect(() => {\n return () => {\n store.dispatch(ImgAttribute.InitImgAttribute());\n };\n }, []);\n\n return (\n <div>\n {imgAttributeInfo.map((info: any, index: number) => (\n <div className='imgAttributeController' key={`option_${index}`}>\n <Row className='tools' style={{ padding: '0px 0' }}>\n <Col span={24}>\n <span className='singleTool'>\n <img width={12} height={12} src={info.svg} />\n <span className='toolName'>{t(info.name)}</span>\n </span>\n </Col>\n </Row>\n <Row>\n <Col span={20}>\n <Slider\n min={info.min}\n max={info.max}\n step={info.step}\n value={info.value}\n onChange={info.onChange}\n trackStyle={{ background: '#666fff' }}\n />\n </Col>\n <Col span={4}>\n <Input\n value={info.value}\n disabled\n style={{\n fontSize: 12,\n marginBottom: 23,\n padding: '0px 2px',\n textAlign: 'center',\n }}\n />\n </Col>\n </Row>\n </div>\n ))}\n <div className='imgAttributeController'>\n <Row className='tools' style={{ padding: '10px 0' }}>\n <Col span={18}>\n <span className='singleTool'>\n <img src={originalPic} width={16} style={{ marginTop: '-2px' }} />\n <span className='toolName'>{t('OriginalScale')}</span>\n </span>\n </Col>\n <Col>\n <Switch\n checked={isOriginalSize}\n onChange={(v: boolean) => imgAttributeChange({ isOriginalSize: v })}\n />\n </Col>\n </Row>\n </div>\n </div>\n );\n};\n\nfunction mapStateToProps({ imgAttribute }: any) {\n return { imgAttribute };\n}\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(ImgAttributeInfo);\n"],"names":["saturationSvg","contrastSvg","brightnessSvg","ZoomUpSvg","originalPic"],"mappings":";;;;;;;;;;;;;;AAoBA,MAAM,gBAAA,GAAmB,CAAC,KAAkB,KAAA;AAC1C,EAAM,MAAA;AAAA,IACJ,YAAc,EAAA,CAAE,QAAU,EAAA,UAAA,EAAY,YAAY,SAAW,EAAA,cAAA,CAAA;AAAA,GAC3D,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAM,MAAA,kBAAA,GAAqB,QACzB,CAAA,CAAC,OAAwC,KAAA;AACvC,IAAM,KAAA,CAAA,QAAA,CAAS,aAAa,kBAAmB,CAAA,OAAA,CAAA,CAAA,CAAA;AAAA,GAEjD,EAAA,EAAA,EACA,CAAE,QAAU,EAAA,IAAA,CAAA,CAAA,CAAA;AAGd,EAAA,MAAM,gBAAmB,GAAA;AAAA,IACvB;AAAA,MACE,IAAM,EAAA,YAAA;AAAA,MACN,GAAK,EAAA,CAAA,GAAA;AAAA,MACL,GAAK,EAAA,GAAA;AAAA,MACL,IAAM,EAAA,CAAA;AAAA,MACN,QAAU,EAAA,CAAC,CAAc,KAAA,kBAAA,CAAmB,CAAE,UAAY,EAAA,CAAA,CAAA,CAAA;AAAA,MAC1D,KAAO,EAAA,UAAA;AAAA,MACP,GAAK,EAAAA,KAAA;AAAA,KAAA;AAAA,IAEP;AAAA,MACE,IAAM,EAAA,UAAA;AAAA,MACN,GAAK,EAAA,CAAA,GAAA;AAAA,MACL,GAAK,EAAA,GAAA;AAAA,MACL,IAAM,EAAA,CAAA;AAAA,MACN,QAAU,EAAA,CAAC,CAAc,KAAA,kBAAA,CAAmB,CAAE,QAAU,EAAA,CAAA,CAAA,CAAA;AAAA,MACxD,KAAO,EAAA,QAAA;AAAA,MACP,GAAK,EAAAC,KAAA;AAAA,KAAA;AAAA,IAEP;AAAA,MACE,IAAM,EAAA,UAAA;AAAA,MACN,GAAK,EAAA,CAAA,GAAA;AAAA,MACL,GAAK,EAAA,GAAA;AAAA,MACL,IAAM,EAAA,CAAA;AAAA,MACN,QAAU,EAAA,CAAC,CAAc,KAAA,kBAAA,CAAmB,CAAE,UAAY,EAAA,CAAA,CAAA,CAAA;AAAA,MAC1D,KAAO,EAAA,UAAA;AAAA,MACP,GAAK,EAAAC,KAAA;AAAA,KAAA;AAAA,IAEP;AAAA,MACE,IAAM,EAAA,aAAA;AAAA,MACN,GAAK,EAAA,GAAA;AAAA,MACL,GAAK,EAAA,EAAA;AAAA,MACL,IAAM,EAAA,GAAA;AAAA,MACN,QAAU,EAAA,CAAC,CAAc,KAAA,kBAAA,CAAmB,CAAE,SAAW,EAAA,CAAA,CAAA,CAAA;AAAA,MACzD,KAAO,EAAA,SAAA;AAAA,MACP,GAAK,EAAAC,KAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAIT,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,CAAM,SAAS,YAAa,CAAA,gBAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAE7B,EAAA,EAAA,CAAA,CAAA;AAEH,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,OAAD,IACG,EAAA,gBAAA,CAAiB,IAAI,CAAC,IAAA,EAAW,KAChC,qBAAA,KAAA,CAAA,aAAA,CAAC,KAAD,EAAA;AAAA,IAAK,SAAU,EAAA,wBAAA;AAAA,IAAyB,KAAK,CAAU,OAAA,EAAA,KAAA,CAAA,CAAA;AAAA,GAAA,sCACpD,GAAD,EAAA;AAAA,IAAK,SAAU,EAAA,OAAA;AAAA,IAAQ,KAAA,EAAO,CAAE,OAAS,EAAA,OAAA,CAAA;AAAA,GAAA,sCACtC,GAAD,EAAA;AAAA,IAAK,IAAM,EAAA,EAAA;AAAA,GAAA,sCACR,MAAD,EAAA;AAAA,IAAM,SAAU,EAAA,YAAA;AAAA,GAAA,sCACb,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,EAAA;AAAA,IAAI,MAAQ,EAAA,EAAA;AAAA,IAAI,KAAK,IAAK,CAAA,GAAA;AAAA,GAAA,CAAA,sCACrC,MAAD,EAAA;AAAA,IAAM,SAAU,EAAA,UAAA;AAAA,GAAA,EAAY,EAAE,IAAK,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sCAIxC,GAAD,EAAA,IAAA,sCACG,GAAD,EAAA;AAAA,IAAK,IAAM,EAAA,EAAA;AAAA,GAAA,sCACR,MAAD,EAAA;AAAA,IACE,KAAK,IAAK,CAAA,GAAA;AAAA,IACV,KAAK,IAAK,CAAA,GAAA;AAAA,IACV,MAAM,IAAK,CAAA,IAAA;AAAA,IACX,OAAO,IAAK,CAAA,KAAA;AAAA,IACZ,UAAU,IAAK,CAAA,QAAA;AAAA,IACf,UAAA,EAAY,CAAE,UAAY,EAAA,SAAA,CAAA;AAAA,GAAA,CAAA,CAAA,sCAG7B,GAAD,EAAA;AAAA,IAAK,IAAM,EAAA,CAAA;AAAA,GAAA,sCACR,KAAD,EAAA;AAAA,IACE,OAAO,IAAK,CAAA,KAAA;AAAA,IACZ,QAAQ,EAAA,IAAA;AAAA,IACR,KAAO,EAAA;AAAA,MACL,QAAU,EAAA,EAAA;AAAA,MACV,YAAc,EAAA,EAAA;AAAA,MACd,OAAS,EAAA,SAAA;AAAA,MACT,SAAW,EAAA,QAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,sCAOtB,KAAD,EAAA;AAAA,IAAK,SAAU,EAAA,wBAAA;AAAA,GAAA,sCACZ,GAAD,EAAA;AAAA,IAAK,SAAU,EAAA,OAAA;AAAA,IAAQ,KAAA,EAAO,CAAE,OAAS,EAAA,QAAA,CAAA;AAAA,GAAA,sCACtC,GAAD,EAAA;AAAA,IAAK,IAAM,EAAA,EAAA;AAAA,GAAA,sCACR,MAAD,EAAA;AAAA,IAAM,SAAU,EAAA,YAAA;AAAA,GAAA,sCACb,KAAD,EAAA;AAAA,IAAK,GAAK,EAAAC,GAAA;AAAA,IAAa,KAAO,EAAA,EAAA;AAAA,IAAI,KAAA,EAAO,CAAE,SAAW,EAAA,MAAA,CAAA;AAAA,GAAA,CAAA,sCACrD,MAAD,EAAA;AAAA,IAAM,SAAU,EAAA,UAAA;AAAA,GAAA,EAAY,EAAE,eAGlC,CAAA,CAAA,CAAA,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,GAAD,EAAA,IAAA,sCACG,MAAD,EAAA;AAAA,IACE,OAAS,EAAA,cAAA;AAAA,IACT,QAAU,EAAA,CAAC,CAAe,KAAA,kBAAA,CAAmB,CAAE,cAAgB,EAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAS7E,SAAA,eAAA,CAAyB,CAAE,YAAqB,CAAA,EAAA;AAC9C,EAAA,OAAO,CAAE,YAAA,CAAA,CAAA;AAAA,CAAA;AAGX,yBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,gBAAA,CAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.tsx"],"sourcesContent":["import { AppState } from '@/store';\nimport { BatchUpdateTrackID } from '@/store/annotation/actionCreators';\nimport { composeResultByToolInstance } from '@/store/annotation/reducer';\nimport { ToolInstance } from '@/store/annotation/types';\nimport { LabelBeeContext, useDispatch } from '@/store/ctx';\nimport { AnnotationFileList } from '@/types/data';\nimport { IStepInfo } from '@/types/step';\nimport { Form, InputNumber, Modal } from 'antd';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { connect } from 'react-redux';\n\nconst layout = {\n labelCol: { span: 8 },\n wrapperCol: { span: 16 },\n};\n\n/**\n * 检查当前数字是否为有效数字\n * @param value\n * @param nonZero 是否包括 0\n * @returns\n */\nexport const isInvalidNumber = (value: any, nonZero = false) => {\n const intValue = Number(value);\n if (typeof value === 'undefined' || intValue < 0 || isNaN(intValue)) {\n return true;\n }\n if (nonZero === true && intValue === 0) {\n return true;\n }\n return false;\n};\n\ninterface IProps {\n id: number;\n toolInstance: ToolInstance;\n imgList: AnnotationFileList;\n imgIndex: number;\n stepList: IStepInfo[];\n}\n\nconst inputStyle = {\n width: '80px',\n};\n\nconst BatchUpdateModal = ({ id, stepList, imgList, imgIndex, toolInstance }: IProps) => {\n const dispatch = useDispatch();\n const [visible, setVisible] = useState(false);\n const [form] = Form.useForm();\n const { t } = useTranslation();\n\n const onFinish = (values: any) => {\n // New ImgList without UpdateData\n dispatch(\n BatchUpdateTrackID({\n id,\n newID: values.newID,\n rangeIndex: [values.prevPage - 1, values.nextPage - 1],\n // TODO: Not to submit result, just to compose result.\n imgList: composeResultByToolInstance({ toolInstance, imgList, imgIndex, stepList }),\n }),\n );\n setVisible(false);\n };\n\n const onCancel = () => setVisible(false);\n\n const onOk = () => form.submit();\n const defaultNumberRules = [{ required: true, message: t('PositiveIntegerCheck') }];\n\n return (\n <>\n <a style={{ color: '#666FFF' }} onClick={() => setVisible(true)}>\n {t('BatchUpdateText')}\n </a>\n <Modal\n title={t('BatchUpdateTrackID')}\n visible={visible}\n onCancel={onCancel}\n onOk={onOk}\n wrapClassName='labelbee-custom-modal'\n >\n <Form {...layout} form={form} onFinish={onFinish}>\n <Form.Item name='id' label={t('CurrentBoxTrackIDs')}>\n {id}\n </Form.Item>\n\n <Form.Item name='newID' label={t('TrackIDUnifyAs')} rules={defaultNumberRules}>\n <InputNumber precision={0} min={1} style={inputStyle} />\n </Form.Item>\n <Form.Item label={t('UnifyTrackIDRange')} required={true}>\n <Form.Item\n style={{ display: 'inline-block' }}\n rules={defaultNumberRules}\n name='prevPage'\n noStyle={true}\n >\n <InputNumber precision={0} min={1} style={inputStyle} />\n </Form.Item>\n <span\n style={{\n display: 'inline-block',\n width: '24px',\n textAlign: 'center',\n }}\n >\n -\n </span>\n <Form.Item\n style={{ display: 'inline-block' }}\n rules={defaultNumberRules}\n name='nextPage'\n noStyle={true}\n >\n <InputNumber precision={0} min={1} style={inputStyle} />\n </Form.Item>\n <span\n style={{\n display: 'inline-block',\n width: '40x',\n marginLeft: '10px',\n textAlign: 'center',\n }}\n >\n {t('Page')}\n </span>\n </Form.Item>\n </Form>\n </Modal>\n </>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n return {\n toolInstance: state.annotation.toolInstance,\n imgList: state.annotation.imgList,\n imgIndex: state.annotation.imgIndex,\n stepList: state.annotation.stepList,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(BatchUpdateModal);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/PointCloudToolSidebar/index.tsx"],"sourcesContent":["import React, { useContext, useState, useEffect } from 'react';\nimport { EditFilled } from '@ant-design/icons';\nimport { ToolIcons } from '../ToolIcons';\nimport { cTool } from '@labelbee/lb-annotation';\nimport { PointCloudContext } from '@/components/pointCloudView/PointCloudContext';\nimport { Select, Tag, message, Input, Divider } from 'antd';\nimport { AppState } from '@/store';\nimport StepUtils from '@/utils/StepUtils';\nimport { connect } from 'react-redux';\nimport { IStepInfo } from '@/types/step';\nimport { jsonParser } from '@/utils';\nimport { ICustomToolInstance } from '@/hooks/annotation';\nimport { useStatus } from '@/components/pointCloudView/hooks/useStatus';\nimport { useSingleBox } from '@/components/pointCloudView/hooks/useSingleBox';\nimport { useTranslation } from 'react-i18next';\nimport { LabelBeeContext } from '@/store/ctx';\nimport BatchUpdateModal from './components/batchUpdateModal';\nimport { IFileItem } from '@/types/data';\nimport { PointCloudUtils } from '@labelbee/lb-utils';\nimport AttributeList from '@/components/attributeList';\nimport { IInputList } from '@/types/main';\nimport { useAttribute } from '@/components/pointCloudView/hooks/useAttribute';\n\ninterface IProps {\n stepInfo: IStepInfo;\n toolInstance: ICustomToolInstance; // Created by useCustomToolInstance.\n imgList: IFileItem[];\n imgIndex: number;\n}\n\n// Temporarily hidden, this feature does not support the function for the time being.\nconst AnnotatedBox = ({ imgList, imgIndex }: { imgList: IFileItem[]; imgIndex: number }) => {\n const ptCtx = useContext(PointCloudContext);\n const [showIDs, setShowIds] = useState<number[]>([]);\n const { t } = useTranslation();\n\n useEffect(() => {\n const newImgList = imgList as Array<{ result: string }>;\n let trackMap = new Map();\n setShowIds(\n PointCloudUtils.getAllPointCloudResult({\n imgList: newImgList,\n extraBoxList: pointCloudBoxList,\n ignoreIndexList: [imgIndex],\n })\n .filter((v) => {\n if (!v.trackID) {\n return false;\n }\n\n if (trackMap.get(v.trackID)) {\n return false;\n }\n trackMap.set(v.trackID, true);\n return true;\n })\n .sort((a, b) => {\n const aTrackID = a?.trackID ?? 0;\n const bTrackID = b?.trackID ?? 0;\n\n return aTrackID - bTrackID;\n })\n .map((v) => v?.trackID ?? 0),\n );\n }, [ptCtx.pointCloudBoxList, imgList]);\n\n const { pointCloudBoxList } = ptCtx;\n\n return (\n <div style={{ padding: 24, borderBottom: '1px solid #eee' }}>\n <div style={{ marginBottom: 16 }}>{t('AllTrackIDs')}</div>\n <div>\n {showIDs.map((id) => (\n <Tag color='#F3F4FF' key={id} style={{ color: '#666', marginBottom: 8 }}>\n {id}\n </Tag>\n ))}\n </div>\n </div>\n );\n};\n\nconst BoxTrackIDInput = () => {\n const [isEdit, setIsEdit] = useState(false);\n const { pointCloudBoxList } = useContext(PointCloudContext);\n const { selectedBox, updateSelectedBox } = useSingleBox();\n const [inputValue, setInputValue] = useState('');\n const { t } = useTranslation();\n\n const selectedBoxTrackID = selectedBox?.info.trackID;\n\n const hasDuplicateTrackID = (trackID: number) => {\n const duplicateBox = pointCloudBoxList.find(\n (v) => v.trackID === trackID && v.id !== selectedBox?.info.id,\n );\n return !!duplicateBox;\n };\n\n const applyInputValue = (isBlurEvent = false) => {\n const newTrackID = parseInt(inputValue, 10);\n\n if (isBlurEvent) {\n setIsEdit(false);\n }\n\n if (isNaN(newTrackID)) {\n message.error(t('PositiveIntegerCheck'));\n return;\n }\n\n if (inputValue.indexOf('.') > -1) {\n message.error(t('NotAllowDecimalPointsInTrackID'));\n return;\n }\n\n if (hasDuplicateTrackID(newTrackID)) {\n message.error(t('DuplicateTrackIDsExist'));\n return;\n }\n\n if (!(newTrackID > 0)) {\n message.error(t('PositiveIntegerCheck'));\n return;\n }\n\n updateSelectedBox({ trackID: newTrackID });\n };\n\n useEffect(() => {\n setIsEdit(false);\n }, [selectedBoxTrackID]);\n\n return (\n <div style={{ padding: 24 }}>\n <div\n style={{\n marginBottom: 16,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>{t('CurrentBoxTrackIDs')}</span>\n {selectedBoxTrackID && <BatchUpdateModal id={selectedBoxTrackID} />}\n </div>\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n {isEdit && selectedBoxTrackID ? (\n <Input\n defaultValue={selectedBoxTrackID}\n onChange={(e) => {\n setInputValue(e.target.value);\n }}\n disabled={!selectedBoxTrackID}\n size='small'\n onBlur={() => {\n applyInputValue();\n }}\n onPressEnter={() => {\n applyInputValue(true);\n }}\n />\n ) : (\n <span>{selectedBoxTrackID}</span>\n )}\n <EditFilled\n style={{\n color: '#999',\n marginLeft: 16,\n cursor: typeof selectedBoxTrackID !== 'undefined' ? 'pointer' : 'not-allowed',\n }}\n onClick={() => {\n if (selectedBoxTrackID) {\n setIsEdit(!isEdit);\n }\n }}\n />\n </div>\n </div>\n );\n};\n\nconst AttributeUpdater = ({\n attributeList,\n subAttributeList,\n toolInstance,\n}: {\n toolInstance: ICustomToolInstance;\n attributeList: any[]; // TODO\n subAttributeList: any[]; // TODO\n}) => {\n const { selectedBox } = useSingleBox();\n const ptx = useContext(PointCloudContext);\n const { t } = useTranslation();\n const { defaultAttribute } = useAttribute();\n\n const titleStyle = {\n fontWeight: 500,\n fontSize: 14,\n margin: '12px 0 8px 20px',\n };\n\n const subTitleStyle = {\n margin: '12px 20px 8px',\n fontSize: 14,\n fontWeight: 500,\n wordWrap: 'break-word' as any, // WordWrap Type ?\n };\n\n const setAttribute = (attribute: string) => {\n toolInstance.setDefaultAttribute(attribute);\n };\n\n const setSubAttribute = (key: string, value: string) => {\n toolInstance.setSubAttribute(key, value);\n };\n\n const list = attributeList.map((i: any) => ({\n label: i.key,\n value: i.value,\n color: i?.color,\n }));\n\n return (\n <div>\n <div style={titleStyle}>{t('Attribute')}</div>\n <AttributeList\n list={list}\n forbidDefault={true}\n selectedAttribute={defaultAttribute ?? ''}\n attributeChanged={(attribute: string) => setAttribute(attribute)}\n />\n <Divider style={{ margin: 0 }} />\n {selectedBox && (\n <>\n {subAttributeList.map(\n (subAttribute) =>\n subAttribute?.subSelected && (\n <div style={{ marginTop: 12 }} key={subAttribute.value}>\n <div style={subTitleStyle}>\n {t('SubAttribute')}-{subAttribute.key}\n </div>\n {subAttribute.subSelected?.length < 5 ? (\n <AttributeList\n list={subAttribute.subSelected.map((v: IInputList) => ({\n label: v.key,\n value: v.value,\n }))}\n selectedAttribute={\n ptx.selectedPointCloudBox?.subAttribute?.[subAttribute.value]\n }\n num='-'\n forbidColor={true}\n forbidDefault={true}\n attributeChanged={(value) => setSubAttribute(subAttribute.value, value)}\n style={{ marginBottom: 12 }}\n />\n ) : (\n <Select\n style={{ margin: '0px 21px 17px 16px', width: '87%' }}\n value={ptx.selectedPointCloudBox?.subAttribute?.[subAttribute.value]}\n placeholder={t('PleaseSelect')}\n onChange={(value) => setSubAttribute(subAttribute.value, value)}\n allowClear={true}\n >\n {subAttribute.subSelected.map((sub: any) => (\n <Select.Option key={sub.value} value={sub.value}>\n {sub.key}\n </Select.Option>\n ))}\n </Select>\n )}\n <Divider style={{ margin: 0 }} />\n </div>\n ),\n )}\n </>\n )}\n </div>\n );\n};\n\nconst PointCloudToolSidebar: React.FC<IProps> = ({ stepInfo, toolInstance, imgList, imgIndex }) => {\n const { updatePointCloudPattern, pointCloudPattern } = useStatus();\n\n const config = jsonParser(stepInfo.config);\n const attributeList = config?.attributeList ?? [];\n const subAttributeList =\n config?.secondaryAttributeConfigurable === true ? config?.inputList ?? [] : [];\n\n return (\n <>\n <ToolIcons\n toolName={cTool.EPointCloudName.PointCloud}\n selectedToolName={pointCloudPattern}\n onChange={(v) => updatePointCloudPattern?.(v)}\n />\n {config?.trackConfigurable === true && (\n <>\n <AnnotatedBox imgList={imgList} imgIndex={imgIndex} />\n <BoxTrackIDInput />\n <Divider style={{ margin: 0 }} />\n </>\n )}\n <AttributeUpdater\n toolInstance={toolInstance}\n attributeList={attributeList}\n subAttributeList={subAttributeList}\n />\n </>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const stepInfo = StepUtils.getCurrentStepInfo(state.annotation?.step, state.annotation?.stepList);\n const toolInstance = state.annotation?.toolInstance;\n\n return {\n stepInfo,\n toolInstance,\n imgList: state.annotation.imgList,\n imgIndex: state.annotation.imgIndex,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(\n PointCloudToolSidebar,\n);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ScribbleSidebar/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Slider } from 'antd';\nimport penActivate from '@/assets/attributeIcon/pen_a.svg';\nimport pen from '@/assets/attributeIcon/pen.svg';\nimport eraserActivate from '@/assets/attributeIcon/eraser_a.svg';\nimport eraser from '@/assets/attributeIcon/eraser.svg';\nimport { getClassName } from '@/utils/dom';\nimport { AppState } from '@/store';\nimport { EScribblePattern } from '@/data/enums/ToolType';\nimport { useSelector } from '@/store/ctx';\n\ninterface IProps {\n // toolInstance?: GraphToolInstance;\n // stepInfo?: IStepInfo;\n onChange: (tool: number, values: number) => void;\n}\n\nconst ScribbleSidebar: React.FC<IProps> = (props) => {\n const { onChange } = props;\n // 查看时候默认值\n const toolInstance = useSelector((state: AppState) => state.annotation.toolInstance);\n const [silderValue, setSilderValue] = useState(20);\n const [selectTool, setSelectTool] = useState(EScribblePattern.Scribble);\n\n const changeValue = () => {\n onChange(selectTool, silderValue);\n };\n\n return (\n <div className={getClassName('scribble')}>\n <div className={getClassName('scribble', 'select')}>\n <img\n src={selectTool === EScribblePattern.Scribble ? penActivate : pen}\n onClick={() => {\n setSelectTool(EScribblePattern.Scribble);\n toolInstance?.setPattern(EScribblePattern.Scribble);\n changeValue();\n }}\n />\n <img\n src={selectTool === EScribblePattern.Erase ? eraserActivate : eraser}\n onClick={() => {\n setSelectTool(EScribblePattern.Erase);\n toolInstance?.setPattern(EScribblePattern.Erase);\n\n changeValue();\n }}\n />\n </div>\n <div className={getClassName('scribble', 'silder')}>\n <span className={getClassName('scribble', 'circle')} />\n <Slider\n onChange={(v: number) => {\n setSilderValue(v);\n changeValue();\n toolInstance?.setPenSize(v);\n }}\n min={1}\n max={50}\n style={{ width: '60%' }}\n value={silderValue}\n />\n <span\n className={getClassName('scribble', 'circle')}\n style={{ width: '10px', height: '10px' }}\n />\n </div>\n </div>\n );\n};\n\nexport default ScribbleSidebar;\n"],"names":["penActivate","pen","eraserActivate","eraser"],"mappings":";;;;;;;;;;AAkBM,MAAA,eAAA,GAAoC,CAAC,KAAU,KAAA;AACnD,EAAA,MAAM,CAAE,QAAa,CAAA,GAAA,KAAA,CAAA;AAErB,EAAA,MAAM,YAAe,GAAA,WAAA,CAAY,CAAC,KAAA,KAAoB,MAAM,UAAW,CAAA,YAAA,CAAA,CAAA;AACvE,EAAM,MAAA,CAAC,WAAa,EAAA,cAAA,CAAA,GAAkB,QAAS,CAAA,EAAA,CAAA,CAAA;AAC/C,EAAA,MAAM,CAAC,UAAA,EAAY,aAAiB,CAAA,GAAA,QAAA,CAAS,gBAAiB,CAAA,QAAA,CAAA,CAAA;AAE9D,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,QAAA,CAAS,UAAY,EAAA,WAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAGvB,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,WAAW,YAAa,CAAA,UAAA,CAAA;AAAA,GAAA,sCAC1B,KAAD,EAAA;AAAA,IAAK,SAAA,EAAW,aAAa,UAAY,EAAA,QAAA,CAAA;AAAA,GAAA,sCACtC,KAAD,EAAA;AAAA,IACE,GAAK,EAAA,UAAA,KAAe,gBAAiB,CAAA,QAAA,GAAWA,GAAc,GAAAC,KAAA;AAAA,IAC9D,SAAS,MAAM;AACb,MAAA,aAAA,CAAc,gBAAiB,CAAA,QAAA,CAAA,CAAA;AAC/B,MAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,WAAW,gBAAiB,CAAA,QAAA,CAAA,CAAA;AAC1C,MAAA,WAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,sCAGH,KAAD,EAAA;AAAA,IACE,GAAK,EAAA,UAAA,KAAe,gBAAiB,CAAA,KAAA,GAAQC,KAAiB,GAAAC,KAAA;AAAA,IAC9D,SAAS,MAAM;AACb,MAAA,aAAA,CAAc,gBAAiB,CAAA,KAAA,CAAA,CAAA;AAC/B,MAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,WAAW,gBAAiB,CAAA,KAAA,CAAA,CAAA;AAE1C,MAAA,WAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,sCAIL,KAAD,EAAA;AAAA,IAAK,SAAA,EAAW,aAAa,UAAY,EAAA,QAAA,CAAA;AAAA,GAAA,sCACtC,MAAD,EAAA;AAAA,IAAM,SAAA,EAAW,aAAa,UAAY,EAAA,QAAA,CAAA;AAAA,GAAA,CAAA,sCACzC,MAAD,EAAA;AAAA,IACE,QAAA,EAAU,CAAC,CAAc,KAAA;AACvB,MAAe,cAAA,CAAA,CAAA,CAAA,CAAA;AACf,MAAA,WAAA,EAAA,CAAA;AACA,MAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAc,UAAW,CAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAE3B,GAAK,EAAA,CAAA;AAAA,IACL,GAAK,EAAA,EAAA;AAAA,IACL,KAAA,EAAO,CAAE,KAAO,EAAA,KAAA,CAAA;AAAA,IAChB,KAAO,EAAA,WAAA;AAAA,GAAA,CAAA,sCAER,MAAD,EAAA;AAAA,IACE,SAAA,EAAW,aAAa,UAAY,EAAA,QAAA,CAAA;AAAA,IACpC,KAAO,EAAA,CAAE,KAAO,EAAA,MAAA,EAAQ,MAAQ,EAAA,MAAA,CAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/SwitchAttributeList/index.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport { connect } from 'react-redux';\nimport { AppState } from 'src/store';\nimport { GraphToolInstance } from 'src/store/annotation/types';\nimport AttributeList from '@/components/attributeList';\nimport StepUtils from '@/utils/StepUtils';\nimport { IStepInfo } from '@/types/step';\nimport { jsonParser } from '@/utils';\nimport { useTranslation } from 'react-i18next';\nimport { EToolName } from '@/data/enums/ToolType';\nimport { LabelBeeContext } from '@/store/ctx';\n\ninterface IProps {\n toolInstance: GraphToolInstance;\n stepInfo: IStepInfo;\n}\n\nconst SwitchAttributeList: React.FC<IProps> = (props) => {\n const [_, forceRender] = useState(0);\n const listRef = useRef<HTMLElement>(null);\n const { toolInstance } = props;\n const { t } = useTranslation();\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('changeAttributeSidebar', (index: number) => {\n forceRender((s) => s + 1);\n\n if (!listRef.current) {\n return;\n }\n\n listRef.current.children[index]?.scrollIntoView({ block: 'center' });\n });\n }\n return () => {\n toolInstance?.unbindAll('changeAttributeSidebar');\n };\n }, [toolInstance, listRef]);\n\n if (!props.stepInfo) {\n return null;\n }\n\n const config = jsonParser(props.stepInfo.config);\n const isScribbleTool = props.stepInfo.tool === EToolName.ScribbleTool;\n\n if (config.attributeConfigurable !== true && !isScribbleTool) {\n return null;\n }\n\n if ((config.attributeConfigurable === true || isScribbleTool) && config?.attributeList) {\n const list = config.attributeList.map((i: any) => ({\n label: i.key,\n value: i.value,\n color: i?.color,\n }));\n\n if (!isScribbleTool) {\n list.unshift({ label: t('NoAttribute'), value: '' });\n }\n\n const attributeChanged = (v: string) => {\n toolInstance.setDefaultAttribute(v);\n forceRender((s) => s + 1);\n };\n\n return (\n <div>\n <AttributeList\n list={list}\n attributeChanged={attributeChanged}\n selectedAttribute={toolInstance?.defaultAttribute ?? ''}\n ref={listRef}\n forbidDefault={isScribbleTool}\n />\n </div>\n );\n }\n\n return null;\n};\n\nconst mapStateToProps = (state: AppState) => {\n const stepInfo = StepUtils.getCurrentStepInfo(state.annotation?.step, state.annotation?.stepList);\n\n return {\n toolInstance: state.annotation.toolInstance,\n stepInfo,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(\n SwitchAttributeList,\n);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/TagSidebar/index.tsx"],"sourcesContent":["import RadioList from '@/components/attributeList';\nimport CheckBoxList from '@/components/checkboxList';\nimport { CaretRightOutlined } from '@ant-design/icons';\nimport { Badge, Collapse, Tooltip } from 'antd/es';\nimport { cloneDeep } from 'lodash';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport clearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\nimport clearSmallA from '@/assets/annotation/common/icon_clearSmall_a.svg';\nimport { TagOperation, TagUtils } from '@labelbee/lb-annotation';\nimport { connect } from 'react-redux';\nimport { AppState } from '@/store';\nimport { IInputList } from '@/types/main';\nimport { useTranslation } from 'react-i18next';\nimport { LabelBeeContext } from '@/store/ctx';\n\ninterface IProps {\n imgIndex: number;\n toolInstance: TagOperation;\n}\n\nconst { Panel } = Collapse;\n\nexport const expandIconFuc = ({ isActive }: any) => (\n <CaretRightOutlined rotate={isActive ? 90 : 0} />\n);\n\nconst TagSidebar: React.FC<IProps> = ({ toolInstance, imgIndex }) => {\n const [expandKeyList, setExpandKeyList] = useState<string[]>([]);\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n const [, forceRender] = useState<number>(0);\n const [hoverDeleteIndex, setHoverDeleteIndex] = useState(-1);\n const { t } = useTranslation();\n\n useEffect(() => {\n if (toolInstance) {\n // 用于配置的初始化\n setExpandKeyList(toolInstance.config.inputList.map((v: IInputList) => v.value));\n\n // 进行实时渲染\n toolInstance.singleOn('render', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n // 该写法会不断的重复绑定,后续写法上可以更改(如果将 singleOn 改为 on 会有很大问题)\n toolInstance.singleOn('expend', expendRender);\n\n if (toolInstance.labelSelectedList.length === 1) {\n let height = 0;\n for (let i = 0; i < toolInstance.labelSelectedList[0]; i++) {\n height += 46;\n inputList[i] &&\n expandKeyList[i] !== '' &&\n inputList[i].subSelected.forEach((i: any) => {\n height += 40;\n });\n }\n if (sidebarRef.current) {\n sidebarRef.current.children[0].scrollTop = height;\n }\n }\n }\n });\n\n useEffect(() => {\n // 翻页侧边栏跳到最上\n if (sidebarRef.current) {\n sidebarRef.current.children[0].scrollTop = 0;\n }\n }, [imgIndex]);\n\n const expendRender = () => {\n const index = toolInstance.labelSelectedList[0];\n const value = inputList.filter((v: IInputList, i: number) => i === index)[0]?.value;\n setExpendKeyList(index, value, true);\n };\n\n const setExpendKeyList = useCallback(\n (index: number, value: string, expend?: boolean) => {\n const newKeyList = cloneDeep(expandKeyList);\n if (newKeyList[index] === '' || expend === true) {\n newKeyList[index] = value;\n } else {\n newKeyList[index] = '';\n }\n setExpandKeyList(newKeyList);\n },\n [expandKeyList],\n );\n\n if (!toolInstance) return null;\n\n const {\n labelSelectedList,\n config: { inputList },\n currentTagResult,\n setLabel,\n } = toolInstance;\n\n const selectedButton = (index: number) => {\n if (labelSelectedList.length > 0 && labelSelectedList[0] === index) {\n return <span className='keyDownIconActive'>{index + 1}</span>;\n }\n return <span className='keyDownIcon'>{index + 1}</span>;\n };\n\n // basicIndex 到底是那一层\n const labelPanel = (labelInfoSet: IInputList[], basicIndex = -1) => {\n if (!labelInfoSet) {\n return null;\n }\n\n return labelInfoSet.map((info: IInputList, index: number) => {\n if (info.subSelected) {\n // 判断是否有数据\n const isResult = TagUtils.judgeResultIsInInputList(\n info.value,\n currentTagResult?.result?.[info.value],\n inputList,\n );\n\n return (\n <Collapse\n bordered={false}\n expandIcon={expandIconFuc}\n key={`collapse_${index}_${basicIndex + 1}`}\n onChange={() => setExpendKeyList(index, info.value)}\n activeKey={[expandKeyList[index]]}\n >\n <Panel\n header={\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flex: 1,\n }}\n >\n <span>\n {info.key}\n <Tooltip placement='bottom' title={t('ClearThisOption')}>\n <img\n style={{ marginLeft: 5, cursor: 'pointer' }}\n onClick={(e) => {\n e.stopPropagation();\n toolInstance.clearResult(true, info.value);\n }}\n src={hoverDeleteIndex === index || isResult ? clearSmallA : clearSmall}\n onMouseEnter={() => {\n setHoverDeleteIndex(index);\n }}\n onMouseLeave={() => {\n setHoverDeleteIndex(-1);\n }}\n />\n </Tooltip>\n {isResult && expandKeyList[index] === '' && <Badge color='#87d068' />}\n </span>\n\n {inputList?.length > 1 && selectedButton(index)}\n </div>\n }\n key={info.value}\n >\n <div\n className='level'\n style={{\n backgroundColor:\n labelSelectedList.length > 0 && labelSelectedList[0] === index\n ? 'rgba(158, 158, 158, 0.18)'\n : '',\n }}\n >\n {labelPanel(info.subSelected, index)}\n </div>\n </Panel>\n </Collapse>\n );\n }\n const key = inputList?.[basicIndex] ? inputList?.[basicIndex].value : 0;\n const selectedAttribute =\n currentTagResult?.result?.[key]?.split(';')?.indexOf(info.value) > -1 ? info.value : '';\n\n if (inputList?.[basicIndex]?.isMulti === true) {\n return (\n <div className='singleBar' key={`${key}_${basicIndex}_${index}`}>\n <CheckBoxList\n attributeChanged={() => setLabel(basicIndex, index)}\n selectedAttribute={[selectedAttribute]}\n list={[{ value: info.value, label: info.key }]}\n num={index + 1}\n />\n </div>\n );\n }\n return (\n <div className='singleBar' key={`${key}_${basicIndex}_${index}`}>\n <RadioList\n forbidColor\n attributeChanged={() => setLabel(basicIndex, index)}\n selectedAttribute={selectedAttribute}\n list={[{ value: info.value, label: info.key }]}\n num={index + 1}\n />\n </div>\n );\n });\n };\n const height = window.innerHeight - 61 - 80;\n\n return (\n <div className='tagOperationMenu' ref={sidebarRef}>\n {inputList?.length === 0 ? (\n <div style={{ padding: 20, textAlign: 'center' }}>{t('NoConfiguration')}</div>\n ) : (\n <div className='main' style={{ height }}>\n {labelPanel(inputList)}\n </div>\n )}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return { toolInstance: state.annotation.toolInstance, imgIndex: state.annotation.imgIndex };\n}\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(TagSidebar);\n"],"names":["clearSmallA","clearSmall","CheckBoxList","RadioList"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/TextAreaFormat/index.tsx"],"sourcesContent":["import { TEXT_ATTRIBUTE_MAX_LENGTH } from '@/data/enums/ToolType';\nimport { TextUtils } from '@/utils/TextUtils';\nimport { Input, message, Tooltip } from 'antd/es';\nimport React, { FocusEvent, useEffect, useState } from 'react';\nimport IconClearSmallA from '@/assets/annotation/common/icon_clearSmall_a.svg';\nimport IconClearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\nimport { classnames } from '@/utils';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n onChange: (value: string, isSubmit?: boolean) => void;\n textValue: string | undefined;\n checkString: string;\n textCheckType: number;\n}\n\nconst TextAreaFormat = (props: IProps) => {\n const { t } = useTranslation();\n\n const { onChange, textValue, checkString, textCheckType } = props;\n const [textLength, setTextLength] = useState<number>(0);\n const [error, setError] = useState<boolean>(false);\n const [onFocus, setOnFocus] = useState<boolean>(false);\n const [hoverDelete, setHoverDelete] = useState<boolean>(false);\n\n const clearIcon = (\n <a>\n <Tooltip placement='bottom' title={t('EmptyTextInput')}>\n <img\n onMouseEnter={() => setHoverDelete(true)}\n onMouseLeave={() => setHoverDelete(false)}\n style={{ marginLeft: 6 }}\n src={hoverDelete ? IconClearSmallA : IconClearSmall}\n onClick={(e) => {\n e.stopPropagation();\n onChange('');\n }}\n />\n </Tooltip>\n </a>\n );\n\n const keyDown = (e: React.KeyboardEvent) => {\n e.stopPropagation();\n };\n\n useEffect(() => {\n if (textValue) {\n setTextLength(textValue.length);\n }\n }, []);\n\n useEffect(() => {\n if (textValue === undefined || textValue === '') {\n setError(false);\n } else {\n try {\n textValue && setError(!new RegExp(checkString).test(textValue));\n } catch (error) {\n setError(true);\n message.destroy();\n message.error(t('RegularExpIncorrectly'));\n }\n }\n setTextLength(textValue?.length ?? 0);\n }, [textValue]);\n\n const checkText = (e: FocusEvent<HTMLTextAreaElement>) => {\n if (error) {\n onChange('');\n message.error(TextUtils.getErrorNotice(textCheckType));\n return true;\n }\n onChange(e.target.value, true); // 失焦的时候直接进行数据的提交\n };\n\n return (\n <div className='textInputContainer'>\n <div className='label'>\n {t('TextInput')}\n {clearIcon}\n </div>\n <div\n className={classnames({\n textareaContainer: true,\n focus: onFocus,\n })}\n >\n <div\n className={classnames({\n toolTextAreaBox: true,\n toolTextAreaBoxFocus: onFocus,\n })}\n >\n <Input.TextArea\n style={{ resize: 'none', height: 120, wordBreak: 'break-all' }}\n maxLength={TEXT_ATTRIBUTE_MAX_LENGTH}\n onKeyDownCapture={(e) => {\n e.stopPropagation();\n }}\n onKeyUpCapture={(e) => {\n e.stopPropagation();\n }}\n onChange={(e) => {\n onChange(e.target.value);\n setTextLength(e.target.value.length);\n }}\n onFocus={(e) => setOnFocus(true)}\n onBlur={(e) => {\n checkText(e);\n setOnFocus(false);\n }}\n value={textValue}\n onKeyDown={keyDown}\n className={error ? 'warning' : ''}\n />\n <div className='textAreaFooter'>\n <span className='wordCount'>\n <span className={textLength > TEXT_ATTRIBUTE_MAX_LENGTH || error ? 'warning' : ''}>\n {textLength}\n </span>\n /<span>{TEXT_ATTRIBUTE_MAX_LENGTH}</span>\n </span>\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default TextAreaFormat;\n"],"names":["IconClearSmallA","IconClearSmall"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/TextToolSidebar/index.tsx"],"sourcesContent":["import React, { useEffect, useState, useRef, FocusEvent } from 'react';\nimport { connect } from 'react-redux';\nimport { AppState } from '@/store';\nimport { cloneDeep } from 'lodash';\nimport { classnames } from '@/utils';\nimport { Input } from 'antd/es';\nimport { cKeyCode } from '@labelbee/lb-annotation';\nimport { PageForward } from '@/store/annotation/actionCreators';\nimport { ConfigUtils } from '@/utils/ConfigUtils';\nimport { IStepInfo } from '@/types/step';\nimport TextToolOperation from '@labelbee/lb-annotation/dist/types/core/toolOperation/TextToolOperation';\nimport { useTranslation } from 'react-i18next';\nimport { LabelBeeContext } from '@/store/ctx';\n\nconst EKeyCode = cKeyCode.default;\n\nconst syntheticEventStopPagination = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n e.stopPropagation();\n e.nativeEvent.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n};\n\ninterface ITextareaWithFooterProps {\n textareaProps?: any;\n footer?: any;\n}\n\nexport const TextareaWithFooter = (props: ITextareaWithFooterProps) => {\n const { textareaProps, footer } = props;\n\n return (\n <>\n <Input.TextArea\n bordered={false}\n rows={6}\n onKeyDown={syntheticEventStopPagination}\n onKeyUp={syntheticEventStopPagination}\n {...textareaProps}\n />\n <div\n className={classnames({\n textAreaLength: true,\n })}\n >\n {footer}\n </div>\n </>\n );\n};\n\ninterface IProps {\n dispatch: Function;\n toolInstance: TextToolOperation;\n imgIndex: number;\n triggerEventAfterIndexChanged: boolean;\n step: number;\n stepList: IStepInfo[];\n basicResultList: any[];\n}\n\ninterface IConfigListItem {\n label: string;\n key: string;\n required: boolean;\n default: string;\n maxLength: number;\n}\n\nexport const SingleTextInput = (props: any) => {\n const ref = useRef(null);\n const [textAreaFocus, setTextAreaFocus] = useState(false);\n const [invalid, setInvalid] = useState(false);\n const { t } = useTranslation();\n\n const { disabled, config, result, updateText, index, switchToNextTextarea, hasMultiple, onNext } =\n props;\n const { maxLength } = config;\n\n const value = result ? result[config.key] : '';\n const textLength = value?.length ?? 0;\n\n const updateTextWithKey = (newVal: string) => {\n if (updateText) {\n updateText(newVal, config.key);\n if (config.required) {\n setInvalid(!newVal);\n }\n }\n };\n\n const tabToSwitchEnabled = hasMultiple && switchToNextTextarea;\n\n const textareaProps = {\n id: `textInput-${index}`,\n ref,\n disabled,\n value,\n maxLength,\n autoSize: { minRows: 2, maxRows: 6 },\n onChange: (e: FocusEvent<HTMLTextAreaElement>) => {\n const value = e.target.value;\n updateTextWithKey(value);\n },\n onFocus: () => {\n setTextAreaFocus(true);\n },\n onBlur: (e: FocusEvent<HTMLTextAreaElement>) => {\n setTextAreaFocus(false);\n if (config.required) {\n setInvalid(!e.target.value);\n }\n },\n style: {\n resize: 'none',\n wordBreak: 'break-all',\n },\n onKeyDownCapture: (e: React.KeyboardEvent) => {\n if (e.ctrlKey && e.keyCode === EKeyCode.Enter) {\n if (onNext) {\n onNext();\n }\n e.preventDefault();\n }\n\n if (e.keyCode === EKeyCode.Tab && tabToSwitchEnabled) {\n e.preventDefault();\n e.nativeEvent.stopImmediatePropagation();\n switchToNextTextarea(index);\n }\n\n e.nativeEvent.stopPropagation();\n },\n };\n\n const TextareaFooter = (\n <div className='textAreaFooter'>\n <div className='hotkeyTip'>\n {tabToSwitchEnabled && <span>{`[${t('Switch')}]Tab`}</span>}\n <span>{`[${t('TurnPage')}]Ctrl+Enter`}</span>\n </div>\n <div className='wordCount'>\n <span className={textLength >= maxLength ? 'warning' : ''}>{textLength}</span>/\n <span>{maxLength}</span>\n </div>\n </div>\n );\n\n useEffect(() => {\n if (disabled) {\n setTextAreaFocus(false);\n }\n }, [disabled]);\n\n return (\n <div className='textField'>\n <div className='label'>\n <span className={classnames({ required: config.required })}>{config.label}</span>\n <i\n className={classnames({ clearText: true, disabled: disabled })}\n onClick={() => {\n if (disabled) {\n return;\n }\n updateTextWithKey('');\n }}\n />\n </div>\n <div\n className={classnames({\n disabled,\n 'textarea-outline': true,\n 'ant-input-focused': textAreaFocus,\n textareaContainer: true,\n focus: textAreaFocus,\n invalid: invalid,\n })}\n >\n <TextareaWithFooter footer={TextareaFooter} textareaProps={textareaProps} />\n </div>\n </div>\n );\n};\n\nconst TextToolSidebar: React.FC<IProps> = ({\n toolInstance,\n imgIndex,\n dispatch,\n triggerEventAfterIndexChanged,\n step,\n stepList,\n basicResultList,\n}) => {\n const [configList, setConfigList] = useState<IConfigListItem[]>([]);\n const [focusIndex, setFocusIndex] = useState(0);\n const [, forceRender] = useState(0);\n\n const switchToNextTextarea = (currentIndex: number) => {\n const nextIndex = (currentIndex + 1) % configList.length;\n textareaFocus(nextIndex);\n };\n\n const textareaFocus = (index: number) => {\n setTimeout(() => {\n const textarea = document.getElementById(`textInput-${index}`) as HTMLTextAreaElement;\n if (textarea) {\n setFocusIndex(index);\n textarea.focus();\n textarea.select();\n textarea.scrollIntoView({ behavior: 'smooth', block: 'center' });\n }\n });\n };\n\n useEffect(() => {\n if (toolInstance) {\n setConfigList(cloneDeep(toolInstance.config.configList));\n toolInstance.singleOn('valueUpdated', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n const updateText = (v: string, k: string) => {\n toolInstance.updateTextValue(k, v);\n };\n\n useEffect(() => {\n if (imgIndex > -1 && triggerEventAfterIndexChanged) {\n textareaFocus(0);\n }\n }, [imgIndex]);\n\n const result = toolInstance.textList[0]?.value ?? {};\n\n const onNext = () => {\n dispatch(PageForward(true));\n };\n\n const stepConfig = ConfigUtils.getStepConfig(stepList, step);\n const disabled = stepConfig.dataSourceStep > 0 && basicResultList.length === 0;\n\n return (\n <div className='textToolOperationMenu'>\n {configList.map((i, index) => (\n <SingleTextInput\n config={i}\n key={i.key}\n index={index}\n result={result}\n updateText={updateText}\n switchToNextTextarea={switchToNextTextarea}\n hasMultiple={configList.length > 1}\n focus={focusIndex === index}\n onNext={onNext}\n disabled={disabled}\n />\n ))}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return {\n toolInstance: state.annotation.toolInstance,\n imgIndex: state.annotation.imgIndex,\n step: state.annotation.step,\n basicResultList: state.annotation.basicResultList,\n stepList: state.annotation.stepList,\n triggerEventAfterIndexChanged: state.annotation.triggerEventAfterIndexChanged,\n };\n}\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(TextToolSidebar);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolIcons.js","sources":["../../../../src/views/MainView/sidebar/ToolIcons.tsx"],"sourcesContent":["/**\n * @file Tool options on tool's sidebar\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @createdate 2022-07-14\n */\n\nimport { EToolName } from '@/data/enums/ToolType';\nimport React from 'react';\nimport { sidebarCls } from './index';\nimport lineSvg from '@/assets/annotation/lineTool/icon_line.svg';\nimport lineASvg from '@/assets/annotation/lineTool/icon_line_a.svg';\nimport pointSvg from '@/assets/annotation/pointTool/icon_point.svg';\nimport pointASvg from '@/assets/annotation/pointTool/icon_point_a.svg';\nimport PolygonASvg from '@/assets/annotation/polygonTool/icon_polygon_a.svg';\nimport PolygonSvg from '@/assets/annotation/polygonTool/icon_polygon.svg';\nimport rectSvg from '@/assets/annotation/rectTool/icon_rect.svg';\nimport rectASvg from '@/assets/annotation/rectTool/icon_rect_a.svg';\nimport { cTool } from '@labelbee/lb-annotation';\nimport classnames from 'classnames';\nimport { useTranslation } from 'react-i18next';\n\nconst { EPointCloudName, TOOL_NAME, TOOL_NAME_EN } = cTool;\n\nconst toolList = [\n {\n toolName: EToolName.Rect,\n commonSvg: rectSvg,\n selectedSvg: rectASvg,\n },\n {\n toolName: EToolName.Polygon,\n commonSvg: PolygonSvg,\n selectedSvg: PolygonASvg,\n },\n {\n toolName: EToolName.Line,\n commonSvg: lineSvg,\n selectedSvg: lineASvg,\n },\n {\n toolName: EToolName.Point,\n commonSvg: pointSvg,\n selectedSvg: pointASvg,\n },\n];\n\nconst getToolNameVersion = (lang: string) => {\n if (lang === 'en') {\n return TOOL_NAME_EN;\n }\n return TOOL_NAME;\n};\n\nexport const ToolIcons = ({\n toolName,\n selectedToolName,\n onChange,\n}: {\n toolName: string;\n selectedToolName?: string;\n onChange: (toolName: EToolName) => void;\n}) => {\n const { i18n } = useTranslation();\n const renderTools = toolList?.filter((item) => {\n if (toolName === (EPointCloudName.PointCloud as unknown as EToolName)) {\n return [EToolName.Polygon, EToolName.Rect].includes(item?.toolName);\n }\n\n return item?.toolName === toolName;\n });\n\n const hasMultiTools = renderTools.length > 1;\n\n return (\n <div className={`${sidebarCls}__level`}>\n {renderTools.map((tool) => {\n const isSelected = hasMultiTools && selectedToolName === tool.toolName;\n return (\n <span\n className={`${sidebarCls}__toolOption`}\n key={tool.toolName}\n onClick={() => onChange?.(tool.toolName)}\n >\n <img\n className={`${sidebarCls}__singleTool`}\n src={isSelected ? tool?.selectedSvg : tool?.commonSvg}\n />\n <span\n className={classnames({\n [`${sidebarCls}__toolOption__selected`]: isSelected,\n })}\n >\n {getToolNameVersion(i18n.language)[tool.toolName]}\n </span>\n </span>\n );\n })}\n </div>\n );\n};\n"],"names":["rectSvg","rectASvg","PolygonSvg","PolygonASvg","lineSvg","lineASvg","pointSvg","pointASvg","classnames"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ToolStyle/index.tsx"],"sourcesContent":["import { Slider } from 'antd/es';\nimport React from 'react';\nimport widthSvg from '@/assets/toolStyle/icon_border.svg';\nimport colorSvg from '@/assets/toolStyle/icon_borderColor.svg';\nimport borderOpacitySvg from '@/assets/toolStyle/icon_opacityStroke.svg';\nimport fillOpacitySvg from '@/assets/toolStyle/icon_opacityFill.svg';\n\nimport { connect } from 'react-redux';\nimport { UpdateToolStyleConfig } from '@/store/toolStyle/actionCreators';\nimport { store } from '@/index';\nimport { LabelBeeContext } from '@/store/ctx';\nimport { AppState } from '@/store';\nimport { ToolStyleState } from '@/store/toolStyle/types';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n toolStyle: ToolStyleState;\n config: string;\n}\ntype ToolStyleKey = keyof ToolStyleState;\n\nconst getMarks = (type: string, t: any) => {\n const lineMarks = [\n { step: 1, value: '1' },\n { step: 2, value: '2' },\n { step: 3, value: '3' },\n { step: 4, value: '4' },\n { step: 5, value: '5' },\n ];\n const colorMarks = [\n { step: 1, value: 'Blue' },\n { step: 3, value: 'Cyan' },\n { step: 5, value: 'Green' },\n { step: 7, value: 'Yellow' },\n { step: 9, value: 'Pink' },\n ];\n const borderOpacityMarks = [\n { step: 1, value: '0.2' },\n { step: 3, value: '0.4' },\n { step: 5, value: '0.6' },\n { step: 7, value: '0.8' },\n { step: 9, value: '1.0' },\n ];\n\n const fillOpacityMarks = [\n { step: 1, value: '0' },\n { step: 3, value: '0.2' },\n { step: 5, value: '0.4' },\n { step: 7, value: '0.6' },\n { step: 9, value: '0.8' },\n ];\n let list: Array<{ step: number; value: string }> = [];\n const marks: {\n [a: number]: {\n style: {};\n label: any;\n };\n } = {};\n switch (type) {\n case 'width':\n list = lineMarks;\n break;\n case 'color':\n list = colorMarks;\n break;\n case 'borderOpacity':\n list = borderOpacityMarks;\n break;\n case 'fillOpacity':\n list = fillOpacityMarks;\n break;\n }\n list.forEach(({ step, value }) => {\n marks[step] = {\n style: { color: '#999999', fontSize: '12px' },\n label: <span>{t(value)}</span>,\n };\n });\n return marks;\n};\n\nconst getTitle = (title: string) => {\n switch (title) {\n case 'width':\n return 'BorderThickness';\n case 'color':\n return 'Color';\n case 'borderOpacity':\n return 'BorderOpacity';\n case 'fillOpacity':\n return 'FillOpacity';\n default:\n return '';\n }\n};\nconst getImage = (title: string) => {\n switch (title) {\n case 'width':\n return widthSvg;\n case 'color':\n return colorSvg;\n case 'borderOpacity':\n return borderOpacitySvg;\n case 'fillOpacity':\n return fillOpacitySvg;\n }\n};\nconst getDefaultValue = (value: string) => {\n switch (value) {\n case 'width':\n return 2;\n case 'color':\n return 1;\n case 'borderOpacity':\n return 9;\n case 'fillOpacity':\n return 9;\n }\n};\n\n/**\n * 判断使用那种样式 (slider的step中间为选中和step为选中)\n * @param info TToolStyleConfig\n */\nconst getStyleType = (info: string): boolean => ['width'].includes(info);\n\nconst ToolStyle = (props: IProps) => {\n const { toolStyle } = props;\n const { width, color, borderOpacity, fillOpacity } = toolStyle;\n const styleConfig = {\n width,\n color,\n borderOpacity,\n fillOpacity,\n };\n const { t } = useTranslation();\n\n // TODO - 样式标准的定义\n const annotationConfig: any = props.config;\n\n const changeToolStyle = (obj: { [key: string]: number }) => {\n store.dispatch(UpdateToolStyleConfig(obj));\n };\n\n return (\n <div className='toolStyle'>\n {Object.entries(styleConfig).map((item: any[]) => {\n const key: ToolStyleKey = item[0];\n // 判断是否需要 color 的使用,现在暂时默认不需要\n if (annotationConfig?.attributeConfigurable === true && key === 'color') {\n return null;\n }\n return (\n <div id={`style-${key}`} className='styleSlider' key={key}>\n <span className='title'>\n <img src={getImage(key)} className='icon' />\n {t(getTitle(key))}\n </span>\n <span className='slider'>\n <Slider\n tipFormatter={null}\n max={getStyleType(key) ? 5 : 10}\n min={getStyleType(key) ? 1 : 0}\n step={getStyleType(key) ? 1 : null}\n value={(toolStyle[key] ?? getDefaultValue(key)) as number}\n marks={getMarks(key, t)}\n onChange={(e: any) => changeToolStyle({ [key]: e })}\n />\n </span>\n </div>\n );\n })}\n </div>\n );\n};\nconst mapStateToProps = ({ toolStyle, annotation }: AppState) => ({\n toolStyle,\n config: annotation.toolInstance.config,\n});\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(ToolStyle);\n"],"names":["widthSvg","colorSvg","borderOpacitySvg","fillOpacitySvg"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/sidebar/index.tsx"],"sourcesContent":["import { prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport { AppState } from '@/store';\nimport { Sider } from '@/types/main';\nimport StepUtils from '@/utils/StepUtils';\nimport { Collapse } from 'antd/es';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport AnnotationText from './AnnotationText';\nimport ClearIcon from './ClearIcon';\nimport GeneralOperation, { PointCloudOperation } from './GeneralOperation';\nimport ImgAttributeInfo from './ImgAttributeInfo';\nimport SwitchAttributeList from './SwitchAttributeList';\nimport TagSidebar, { expandIconFuc } from './TagSidebar';\nimport TextToolSidebar from './TextToolSidebar';\nimport PointCloudToolSidebar from './PointCloudToolSidebar';\nimport ToolStyle from './ToolStyle';\nimport { cTool } from '@labelbee/lb-annotation';\nimport ScribbleSidebar from './ScribbleSidebar';\nimport { ToolIcons } from './ToolIcons';\nimport { useSelector } from '@/store/ctx';\n\nconst { EVideoToolName, EPointCloudName } = cTool;\n\nconst { Panel } = Collapse;\n\ninterface IProps {\n toolName?: EToolName;\n sider?: Sider;\n}\n\nexport const sidebarCls = `${prefix}-sidebar`;\nconst Sidebar: React.FC<IProps> = ({ sider }) => {\n const stepInfo = useSelector((state: AppState) =>\n StepUtils.getCurrentStepInfo(state.annotation.step, state.annotation.stepList),\n );\n const toolName = stepInfo?.tool;\n const { t } = useTranslation();\n\n if (!toolName) {\n return null;\n }\n\n /**\n * 样式面板, 包含透明度、线框、颜色\n * @param key 虚拟dom的key\n */\n const renderStylePanel = (key: string) => {\n const ToolStyleComponent = <ToolStyle />;\n return (\n <Panel header={t('Style')} className='panel' key={key}>\n {ToolStyleComponent}\n </Panel>\n );\n };\n\n // onChange is empty by default.\n const toolIcon = <ToolIcons toolName={toolName} onChange={() => {}} />;\n const attributeList = <SwitchAttributeList />;\n\n const annotationText = <AnnotationText />;\n\n const toolStyle = (\n <Collapse\n defaultActiveKey={['1', 'imgAttribute']}\n bordered={false}\n expandIconPosition='right'\n className={`${sidebarCls}__content`}\n expandIcon={expandIconFuc}\n >\n {renderStylePanel('1')}\n </Collapse>\n );\n\n const imageAttributeInfo = (\n <Collapse\n defaultActiveKey={['1', 'imgAttribute']}\n bordered={false}\n expandIconPosition='right'\n className={`${sidebarCls}__content`}\n expandIcon={expandIconFuc}\n >\n <Panel\n header={\n <div>\n {t('Adjust')}\n\n <ClearIcon />\n </div>\n }\n className='panel'\n key='imgAttribute'\n >\n <ImgAttributeInfo />\n </Panel>\n </Collapse>\n );\n\n const operation = <GeneralOperation />;\n\n const tagToolSideBar = <TagSidebar />;\n\n const textToolSideBar = <TextToolSidebar />;\n\n const scribbleSidebar = (\n <ScribbleSidebar\n onChange={(t, i) => {\n // 接收\n }}\n />\n );\n\n const horizontal = <div className={`${sidebarCls}__horizontal`} />;\n\n const pointCloudToolSidebar = <PointCloudToolSidebar />;\n\n const pointCloudOperation = <PointCloudOperation />;\n\n if (sider) {\n if (typeof sider === 'function') {\n return (\n <div className={`${sidebarCls}`}>\n {sider({\n toolIcon,\n attributeList,\n annotationText,\n toolStyle,\n imageAttributeInfo,\n operation,\n tagToolSideBar,\n textToolSideBar,\n horizontal,\n\n pointCloudToolSidebar,\n pointCloudOperation,\n scribbleSidebar,\n })}\n </div>\n );\n } else {\n return sider;\n }\n }\n\n if (\n (\n [\n EToolName.Rect,\n EToolName.Point,\n EToolName.Line,\n EToolName.Rect,\n EToolName.Polygon,\n ] as string[]\n ).includes(toolName)\n ) {\n return (\n <div className={`${sidebarCls}`}>\n {toolIcon}\n {horizontal}\n {attributeList}\n {annotationText}\n {horizontal}\n <div className={`${sidebarCls}__content`}>\n {toolStyle}\n {imageAttributeInfo}\n </div>\n {operation}\n </div>\n );\n }\n\n if (toolName === EToolName.Tag) {\n return (\n <div className={`${sidebarCls}`}>\n <TagSidebar />\n </div>\n );\n }\n\n if (toolName === EVideoToolName.VideoTagTool) {\n return (\n <div className={`${sidebarCls}`}>\n <div className={`${sidebarCls}__content`}>\n <TagSidebar />\n </div>\n {operation}\n </div>\n );\n }\n\n if (toolName === EToolName.Text) {\n return (\n <div className={`${sidebarCls}`}>\n <TextToolSidebar />\n </div>\n );\n }\n\n if (toolName === EPointCloudName.PointCloud) {\n return (\n <div className={`${sidebarCls}`}>\n <div className={`${sidebarCls}__content`}>\n <PointCloudToolSidebar />\n </div>\n <PointCloudOperation />\n </div>\n );\n }\n\n if (toolName === EToolName.ScribbleTool) {\n return (\n <div className={`${sidebarCls}`}>\n <div className={`${sidebarCls}__content`}>\n {scribbleSidebar}\n {attributeList}\n </div>\n {operation}\n </div>\n );\n }\n\n return null;\n};\n\nexport default Sidebar;\n"],"names":["ClearIcon"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolFooter/AnnotatedAttributes/index.tsx"],"sourcesContent":["import { PointCloudContext } from '@/components/pointCloudView/PointCloudContext';\nimport { Modal } from 'antd';\nimport React, { useContext, useMemo, useState } from 'react';\nimport { stepConfigSelector } from '@/store/annotation/selectors';\nimport { useSelector } from '@/store/ctx';\nimport { i18n, IPointCloudConfig } from '@labelbee/lb-utils';\nimport {\n CaretDownFilled,\n DeleteOutlined,\n EyeFilled,\n EyeInvisibleFilled,\n PushpinFilled,\n UnorderedListOutlined,\n} from '@ant-design/icons';\nimport { IInputList } from '@/types/main';\nimport { useHistory } from '@/components/pointCloudView/hooks/useHistory';\nimport { getClassName } from '@/utils/dom';\nimport StepUtils from '@/utils/StepUtils';\nimport { EPointCloudName } from '@labelbee/lb-annotation';\nimport { useTranslation } from 'react-i18next';\nimport FooterPopover from '../FooterPopover';\n\nconst AnnotatedAttributesItem = ({ attribute }: { attribute: IInputList }) => {\n const pointCloudCtx = useContext(PointCloudContext);\n const {\n pointCloudBoxList,\n hideAttributes,\n toggleAttributesVisible,\n polygonList,\n setPolygonList,\n setPointCloudResult,\n reRender,\n selectSpecAttr,\n } = pointCloudCtx;\n\n const [expanded, setExpanded] = useState(true);\n\n const { pushHistoryWithList } = useHistory();\n\n const pointCloudListForSpecAttribute = [...pointCloudBoxList, ...polygonList].filter(\n (i) => i.attribute === attribute.value,\n );\n\n const onVisibleChange = () => {\n toggleAttributesVisible(attribute.value);\n };\n\n const isHidden = hideAttributes.includes(attribute.value);\n\n const getBoxID = ({ trackID, order }: { trackID?: number; order?: number }) => {\n return trackID ? trackID : order;\n };\n\n const getBoxKey = ({ trackID, order }: { trackID?: number; order?: number }) => {\n return trackID ? `trackID_${trackID}` : `order_${order}`;\n };\n\n const deleteGraphByAttr = (attribute: string) => {\n if (pointCloudListForSpecAttribute.length === 0) {\n return;\n }\n\n const newPolygonList = polygonList.filter((i) => attribute !== i.attribute);\n const newPointCloudList = pointCloudBoxList.filter((i) => attribute !== i.attribute);\n\n reRender(newPointCloudList, newPolygonList);\n\n setPolygonList(newPolygonList);\n setPointCloudResult(newPointCloudList);\n\n pushHistoryWithList({ pointCloudBoxList: newPointCloudList, polygonList: newPolygonList });\n };\n\n const onDeleteGraphByAttr = (attribute: IInputList) => {\n Modal.confirm({\n content: i18n.t('onDeleteGraphByAttr', { attribute: attribute.key }),\n onOk: () => {\n deleteGraphByAttr(attribute.value);\n },\n okText: i18n.t('Confirm'),\n cancelText: i18n.t('Cancel'),\n });\n };\n\n return (\n <>\n <div className={getClassName('annotated-attribute', 'item')}>\n {isHidden ? (\n <EyeInvisibleFilled onClick={onVisibleChange} />\n ) : (\n <EyeFilled onClick={onVisibleChange} />\n )}\n <CaretDownFilled\n rotate={expanded ? 0 : 270}\n onClick={() => {\n setExpanded(!expanded);\n }}\n />\n <span\n className={getClassName('annotated-attribute', 'item', 'text')}\n onClick={() => {\n selectSpecAttr(attribute.value);\n }}\n >\n {attribute.key}\n </span>\n\n <DeleteOutlined onClick={() => onDeleteGraphByAttr(attribute)} />\n </div>\n\n {expanded &&\n pointCloudListForSpecAttribute.map((box) => {\n return (\n <div key={getBoxKey(box)} style={{ paddingLeft: 54 }}>\n {`${getBoxID(box)}.${attribute.key}`}\n </div>\n );\n })}\n </>\n );\n};\n\nexport const AnnotatedAttributesPanel = () => {\n const stepConfig: IPointCloudConfig = useSelector(stepConfigSelector);\n const { attrPanelLayout, setAttrPanelLayout, pointCloudBoxList, polygonList } =\n useContext(PointCloudContext);\n const { t } = useTranslation();\n\n const existAttributes = useMemo(() => {\n return [...pointCloudBoxList, ...polygonList].map((i) => i.attribute);\n }, [pointCloudBoxList, polygonList]);\n\n const displayAttrList = useMemo(() => {\n return (stepConfig.attributeList as IInputList[]).filter((i) =>\n existAttributes.includes(i.value),\n );\n }, [existAttributes]);\n\n return (\n <div className={getClassName('annotated-attribute')}>\n {attrPanelLayout ? (\n <div className={getClassName('annotated-attribute', 'text')}>\n <span>{t('AnnotatedResult')}</span>\n <span\n className={getClassName('annotated-attribute', 'pin')}\n onClick={() => {\n setAttrPanelLayout('');\n }}\n >\n <PushpinFilled />\n {t('CancelFixed')}\n </span>\n </div>\n ) : (\n <div className={getClassName('annotated-attribute', 'text')}>\n <span\n onClick={() => {\n setAttrPanelLayout('left');\n }}\n className={getClassName('annotated-attribute', 'pin')}\n >\n <PushpinFilled />\n {t('FixedOnLeft')}\n </span>\n <span\n onClick={() => {\n setAttrPanelLayout('right');\n }}\n className={getClassName('annotated-attribute', 'pin')}\n >\n <PushpinFilled />\n {t('FixedOnRight')}\n </span>\n </div>\n )}\n\n <div>\n {displayAttrList.length > 0 ? (\n displayAttrList.map((i) => <AnnotatedAttributesItem attribute={i} key={i.value} />)\n ) : (\n <div style={{ textAlign: 'center', height: 200, lineHeight: '200px' }}>{t('NoData')}</div>\n )}\n </div>\n </div>\n );\n};\n\nexport const AnnotatedAttributesPanelFixedLeft = () => {\n const { attrPanelLayout } = useContext(PointCloudContext);\n if (attrPanelLayout === 'left') {\n return <AnnotatedAttributesPanel />;\n }\n\n return null;\n};\n\nexport const AnnotatedAttributesPanelFixedRight = () => {\n const { attrPanelLayout } = useContext(PointCloudContext);\n\n if (attrPanelLayout === 'right') {\n return <AnnotatedAttributesPanel />;\n }\n\n return null;\n};\n\nexport const AnnotatedAttributesIcon = () => {\n const { attrPanelLayout } = useContext(PointCloudContext);\n const { t } = useTranslation();\n const stepInfo = useSelector((state) =>\n // @ts-ignore\n StepUtils.getCurrentStepInfo(state?.annotation?.step, state.annotation?.stepList),\n );\n\n if (stepInfo?.tool !== EPointCloudName.PointCloud) {\n return null;\n }\n\n if (attrPanelLayout) {\n return null;\n }\n\n return (\n <FooterPopover\n hoverIcon={<UnorderedListOutlined style={{ marginRight: 4 }} />}\n icon={<UnorderedListOutlined style={{ marginRight: 4 }} />}\n title={t('AnnotatedList')}\n content={<AnnotatedAttributesPanel />}\n />\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FooterPopover.js","sources":["../../../../src/views/MainView/toolFooter/FooterPopover.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Popover } from 'antd';\n\ntype Source = string | React.ReactElement;\n\nconst Icon = ({ source }: { source: Source }) => {\n if (typeof source === 'string') {\n return <img src={source} width={14} height={14} style={{ marginRight: 4 }} />;\n }\n\n return source;\n};\n\nconst FooterPopover = ({\n hoverIcon,\n icon,\n containerStyle,\n content,\n title,\n}: {\n hoverIcon: Source;\n icon: Source;\n containerStyle?: React.CSSProperties;\n content: React.ReactNode;\n title: string;\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const displayIcon = <Icon source={isOpen ? hoverIcon ?? icon : icon} />;\n\n return (\n <Popover\n placement='topLeft'\n content={content}\n // @ts-ignore\n onMouseMove={() => {\n setIsOpen(true);\n }}\n onMouseLeave={() => {\n setIsOpen(false);\n }}\n overlayClassName='tool-hotkeys-popover'\n className='tipsBar'\n >\n <div\n className='shortCutTitle'\n onMouseMove={() => setIsOpen(true)}\n onMouseLeave={() => setIsOpen(false)}\n style={containerStyle}\n >\n <a className='svg'>\n {displayIcon}\n {title}\n </a>\n </div>\n </Popover>\n );\n};\n\nexport default FooterPopover;\n"],"names":[],"mappings":";;;AAKA,MAAM,IAAA,GAAO,CAAC,CAAE,MAAiC,CAAA,KAAA;AAC/C,EAAI,IAAA,OAAO,WAAW,QAAU,EAAA;AAC9B,IAAA,2CAAQ,KAAD,EAAA;AAAA,MAAK,GAAK,EAAA,MAAA;AAAA,MAAQ,KAAO,EAAA,EAAA;AAAA,MAAI,MAAQ,EAAA,EAAA;AAAA,MAAI,KAAA,EAAO,CAAE,WAAa,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAGxE,EAAO,OAAA,MAAA,CAAA;AAAA,CAAA,CAAA;AAGT,MAAM,gBAAgB,CAAC;AAAA,EACrB,SAAA;AAAA,EACA,IAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AAAA,CAOI,KAAA;AACJ,EAAM,MAAA,CAAC,MAAQ,EAAA,SAAA,CAAA,GAAa,QAAS,CAAA,KAAA,CAAA,CAAA;AAErC,EAAM,MAAA,WAAA,uCAAe,IAAD,EAAA;AAAA,IAAM,MAAA,EAAQ,MAAS,GAAA,SAAA,IAAA,IAAA,GAAA,SAAA,GAAa,IAAO,GAAA,IAAA;AAAA,GAAA,CAAA,CAAA;AAE/D,EAAA,2CACG,OAAD,EAAA;AAAA,IACE,SAAU,EAAA,SAAA;AAAA,IACV,OAAA;AAAA,IAEA,aAAa,MAAM;AACjB,MAAU,SAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAEZ,cAAc,MAAM;AAClB,MAAU,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAEZ,gBAAiB,EAAA,sBAAA;AAAA,IACjB,SAAU,EAAA,SAAA;AAAA,GAAA,sCAET,KAAD,EAAA;AAAA,IACE,SAAU,EAAA,eAAA;AAAA,IACV,WAAA,EAAa,MAAM,SAAU,CAAA,IAAA,CAAA;AAAA,IAC7B,YAAA,EAAc,MAAM,SAAU,CAAA,KAAA,CAAA;AAAA,IAC9B,KAAO,EAAA,cAAA;AAAA,GAAA,sCAEN,GAAD,EAAA;AAAA,IAAG,SAAU,EAAA,KAAA;AAAA,GAAA,EACV,WACA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.tsx"],"sourcesContent":["import RevokeSvg from '@/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg';\nimport RestoreSvg from '@/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg';\nimport ScaleSvg from '@/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg';\nimport ScaleShortCutSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg';\nimport FullScreenSvg from '@/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg';\nimport RotateSvg from '@/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg';\nimport SetValidSvg from '@/assets/annotation/toolHotKeyIcon/setValid.svg';\nimport BackwardSvg from '@/assets/annotation/toolHotKeyIcon/icon_last_kj.svg';\nimport ForwardSvg from '@/assets/annotation/toolHotKeyIcon/icon_next_kj.svg';\nimport DragWithRightClickSvg from '@/assets/annotation/toolHotKeyIcon/icon_move_kj.svg';\nimport DragWithRightClickShortCutSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\nimport DragWithLeftClickSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport CopyBackwardResultSvg from '@/assets/annotation/toolHotKeyIcon/icon_copyBackwardResult.svg';\nimport TabChangeSelectedSvg from '@/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg';\nimport TabReverseChangeSelectedSVG from '@/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg';\nimport IconSaveKj from '@/assets/annotation/toolHotKeyIcon/icon_save_kj.svg';\nimport IconLineSpecialKj from '@/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg';\nimport IconNoDisplay from '@/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg';\nimport IconEyeLockKj from '@/assets/annotation/toolHotKeyIcon/icon_eyeLock_kj.svg';\nimport IconPlayPause from '@/assets/annotation/toolHotKeyIcon/icon_playPause.svg';\nimport IconFastForward from '@/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg';\nimport IconRewind from '@/assets/annotation/toolHotKeyIcon/icon_back_kj.svg';\nimport IconSpeed from '@/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg';\n\nexport const revoke = {\n name: 'Undo',\n icon: RevokeSvg,\n shortCut: ['Ctrl', 'Z'],\n};\n\nexport const restore = {\n name: 'Redo',\n icon: RestoreSvg,\n shortCut: ['Ctrl', 'Shift', 'Z'],\n};\n\nexport const scale = {\n name: 'Scale',\n icon: ScaleSvg,\n shortCut: [ScaleShortCutSvg],\n};\n\nexport const fullScreen = {\n name: 'Fullscreen',\n icon: FullScreenSvg,\n shortCut: ['F11'],\n};\n\nexport const rotate = {\n name: 'Rotate',\n icon: RotateSvg,\n shortCut: ['R'],\n noticeInfo: 'ToOriginalStep',\n};\n\nexport const setValid = {\n name: 'ToggleEffectiveness',\n icon: SetValidSvg,\n shortCut: ['Y'],\n};\n\nexport const backward = {\n name: 'PreviousImage',\n icon: BackwardSvg,\n shortCut: ['A'],\n};\n\nexport const forward = {\n name: 'NextImage',\n icon: ForwardSvg,\n shortCut: ['D'],\n};\n\nexport const backwardPage = {\n name: 'PreviousFolder',\n icon: BackwardSvg,\n shortCut: ['Shift', 'A'],\n};\n\nexport const forwardPage = {\n name: 'NextFolder',\n icon: ForwardSvg,\n shortCut: ['Shift', 'D'],\n};\n\nexport const dargWithRightClick = {\n name: 'Drag',\n icon: DragWithRightClickSvg,\n shortCut: [DragWithRightClickShortCutSvg],\n noticeInfo: 'Press',\n};\n\nexport const dargWithLeftClick = {\n name: 'Drag',\n icon: DragWithRightClickSvg,\n shortCut: ['Space', DragWithLeftClickSvg],\n};\n\nexport const forwardWithEnter = {\n name: 'Next',\n icon: ForwardSvg,\n shortCut: ['Ctrl', 'Enter'],\n};\n\nexport const copyBackwardResult = {\n name: 'CopyThePrevious',\n icon: CopyBackwardResultSvg,\n shortCut: ['ALT', 'C'],\n};\n\nexport const attributeLock = {\n name: 'SpecifiedAttributesOnly',\n icon: IconEyeLockKj,\n shortCut: ['Shift', 'Number'],\n};\n\nexport const attributeClickLock = {\n name: 'SpecifiedAttributesOnly',\n icon: IconEyeLockKj,\n shortCut: ['Shift', DragWithLeftClickSvg],\n};\n\nexport const tabChangeSelected = {\n name: 'ToggleSelected',\n icon: TabChangeSelectedSvg,\n shortCut: ['Tab'],\n};\n\nexport const tabReverseChangeSelected = {\n name: 'ToggleSelectedReverse',\n icon: TabReverseChangeSelectedSVG,\n shortCut: ['Shift', 'Tab'],\n};\n\nexport const hidden = {\n name: 'HideGraphics',\n icon: IconNoDisplay,\n noticeInfo: '',\n shortCut: ['Z'],\n};\n\nexport const changeSpecialLine = {\n name: 'ToggleLineParticularity',\n icon: IconLineSpecialKj,\n noticeInfo: 'ToSide',\n shortCut: ['Shift', DragWithLeftClickSvg],\n};\n\nexport const saveResult = {\n name: 'Save',\n icon: IconSaveKj,\n shortCut: ['Ctrl', 'S'],\n};\n\nexport const speed = {\n name: 'Speed',\n icon: IconSpeed,\n shortCut: ['&#8593;', '&#8595;'],\n shortCutUseHtml: true,\n};\n\nexport const playPause = {\n name: 'PlayPause',\n icon: IconPlayPause,\n shortCut: ['Space'],\n};\n\nexport const forwardForward = {\n name: 'FastForward',\n icon: IconFastForward,\n shortCut: ['&#8594;'],\n shortCutUseHtml: true,\n};\n\nexport const rewind = {\n name: 'Rewind',\n icon: IconRewind,\n shortCut: ['&#8592;'],\n shortCutUseHtml: true,\n};\n"],"names":["RevokeSvg","RestoreSvg","ScaleSvg","ScaleShortCutSvg","FullScreenSvg","RotateSvg","SetValidSvg","BackwardSvg","ForwardSvg","DragWithRightClickSvg","DragWithRightClickShortCutSvg","DragWithLeftClickSvg","TabChangeSelectedSvg","TabReverseChangeSelectedSVG","IconNoDisplay","IconLineSpecialKj","IconSaveKj","IconSpeed","IconPlayPause","IconFastForward","IconRewind"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/index.tsx"],"sourcesContent":["import _ from 'lodash';\nimport React, { useContext } from 'react';\n\nimport hotKeySvg from '@/assets/annotation/toolHotKeyIcon/icon_kj1.svg';\nimport hotKeyHoverSvg from '@/assets/annotation/toolHotKeyIcon/icon_kj_h.svg';\nimport { EToolName } from '@/data/enums/ToolType';\nimport rectToolShortcutTable from './rectToolShortCutTable';\nimport pointToolShortcutTable from './point';\nimport polygonToolShortcutTable from './polygon';\nimport lineToolShortCutTable from './line';\nimport tagToolSingleShortCutTable from './tag';\nimport textToolShortCutTable from './text';\nimport videoToolShortCutTable from './videoTag';\nimport pointCloudShortCutTable, { pointCloudShortCutTable_POLYGON } from './pointCloud';\nimport scribbleShortCutTable from './scribble';\n\nimport { footerCls } from '../../index';\nimport { useTranslation } from 'react-i18next';\nimport { cTool } from '@labelbee/lb-annotation';\nimport { PointCloudContext } from '@/components/pointCloudView/PointCloudContext';\nimport FooterPopover from '@/views/MainView/toolFooter/FooterPopover';\n\nconst { EVideoToolName, EPointCloudName } = cTool;\n\ninterface IProps {\n toolName?: string;\n style?: any;\n title?: React.ReactElement<any>;\n}\n\ninterface IShortCutInfo {\n name: string;\n icon?: string;\n shortCut?: string[];\n noticeInfo?: string;\n}\n\ninterface IComponentsProps {\n style?: any;\n title?: React.ReactElement<any>;\n shortCutList: IShortCutInfo[];\n}\n\nexport const shortCutTable: { [a: string]: IShortCutInfo[] } = {\n [EToolName.Rect]: rectToolShortcutTable,\n [EToolName.Tag]: tagToolSingleShortCutTable,\n [EToolName.Point]: pointToolShortcutTable,\n [EToolName.Polygon]: polygonToolShortcutTable,\n [EToolName.Line]: lineToolShortCutTable,\n [EToolName.Text]: textToolShortCutTable,\n [EVideoToolName.VideoTagTool]: videoToolShortCutTable,\n [EPointCloudName.PointCloud]: pointCloudShortCutTable,\n [EPointCloudName.PointCloud + '_POLYGON']: pointCloudShortCutTable_POLYGON,\n [EToolName.ScribbleTool]: scribbleShortCutTable,\n};\n\nconst ToolHotKeyIcon = ({ icon }: { icon: React.ReactElement | string }) => {\n if (typeof icon === 'string') {\n return <img width={16} height={16} src={icon} />;\n }\n\n if (icon) {\n return icon;\n }\n\n return null;\n};\n\nexport const ToolHotKeyCom: React.FC<IComponentsProps> = ({ title, style, shortCutList }) => {\n const { t } = useTranslation();\n\n const shortCutStyle = {\n width: 320,\n display: 'flex',\n justifyContent: 'space-between',\n margin: 16,\n };\n\n const shortCutNameStyles: React.CSSProperties = {\n display: 'block',\n padding: '0 3px',\n minWidth: '20px',\n marginRight: '3px',\n border: '1px solid rgba(204,204,204,1)',\n verticalAlign: 'middle',\n fontSize: '12px',\n textAlign: 'center',\n };\n\n const setHotKey = (info: any, index: number) => (\n <div style={shortCutStyle} key={index}>\n <span style={{ display: 'flex', alignItems: 'center' }}>\n <ToolHotKeyIcon icon={info.icon} />\n <span style={{ marginLeft: info.icon ? 16 : 0 }}>{t(info.name)}</span>\n </span>\n <span style={{ display: 'flex', alignItems: 'center' }}>\n {info.noticeInfo && (\n <span style={{ marginRight: '5px', color: '#CCCCCC' }}>{t(info.noticeInfo)}</span>\n )}\n {setSVG(info.shortCut, info.shortCutUseHtml, info.linkSymbol)}\n </span>\n </div>\n );\n\n const setSVG = (list: any[], useDangerInnerHtml = false, linkSymbol = '+') => {\n if (!list) {\n return null;\n }\n const listDom = list.map((item, index) => {\n const wrapperStyle = { display: 'flex', alignItems: 'center' };\n\n if (useDangerInnerHtml) {\n return (\n <span key={index} style={wrapperStyle}>\n <span style={shortCutNameStyles} dangerouslySetInnerHTML={{ __html: item }} />\n </span>\n );\n }\n\n if (index < list.length - 1) {\n if (typeof item === 'number') {\n return (\n <span key={index} style={wrapperStyle}>\n <span style={shortCutNameStyles}>{item}</span>\n <span style={{ marginRight: '3px' }}>~</span>\n </span>\n );\n }\n\n if (item?.startsWith?.('data')) {\n return (\n <span key={index} style={wrapperStyle}>\n <span className='shortCutButton' style={{ marginRight: '3px' }}>\n <img width={16} height={23} src={item} />\n </span>\n <span style={{ marginRight: '3px' }}>+</span>\n </span>\n );\n }\n return (\n <span key={index} style={wrapperStyle}>\n <span style={shortCutNameStyles}>{item}</span>\n <span style={{ marginRight: '3px' }}>{linkSymbol}</span>\n </span>\n );\n }\n\n if (typeof item === 'number') {\n return (\n <span key={index} style={wrapperStyle}>\n <span style={shortCutNameStyles}>{item}</span>\n </span>\n );\n }\n if (item?.startsWith?.('data')) {\n return (\n <span className='shortCutButton' key={index} style={{ marginRight: '3px' }}>\n <img width={16} height={23} src={item} />\n </span>\n );\n }\n return (\n <span style={shortCutNameStyles} key={index}>\n {item}\n </span>\n );\n });\n return (\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n }}\n >\n {listDom}\n </div>\n );\n };\n\n const content = (\n <div className={`${footerCls}__hotkey-content`}>\n {shortCutList?.map((info: any, index: number) => setHotKey(info, index))}\n </div>\n );\n const containerStyle = style || {};\n\n return (\n <FooterPopover\n hoverIcon={hotKeyHoverSvg}\n icon={hotKeySvg}\n title={t('Hotkeys')}\n content={content}\n containerStyle={containerStyle}\n />\n );\n};\n\nconst ToolHotKey: React.FC<IProps> = ({ style, title, toolName }) => {\n const { pointCloudPattern } = useContext(PointCloudContext);\n if (!toolName) {\n return null;\n }\n\n // 不存在对应的工具则不展示的快捷键\n if (!shortCutTable[toolName]) {\n return null;\n }\n\n let newToolName = toolName;\n if (newToolName === `${EPointCloudName.PointCloud}` && pointCloudPattern === EToolName.Polygon) {\n newToolName += '_POLYGON';\n }\n\n const props = {\n style,\n title,\n shortCutList: shortCutTable[newToolName],\n };\n\n return <ToolHotKeyCom {...props} />;\n};\n\nexport default ToolHotKey;\n"],"names":["pointToolShortcutTable","polygonToolShortcutTable","videoToolShortCutTable","hotKeyHoverSvg","hotKeySvg"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.tsx"],"sourcesContent":["import DrawPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_line_kj.svg';\nimport MouseLeftSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport LineNullKj from '@/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg';\nimport StraightLineKj from '@/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg';\nimport LineActiveKj from '@/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg';\nimport MouseRightSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\nimport LineChangeKj from '@/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg';\nimport DeletePointSvg from '@/assets/annotation/toolHotKeyIcon/icon_del_kj.svg';\nimport IconLineContKj from '@/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg';\nimport LineInsertKj from '@/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg';\nimport LineDelKj from '@/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg';\nimport IconUnGripKj from '@/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg';\nimport Up from '@/assets/annotation/toolHotKeyIcon/icon_up.svg';\nimport Down from '@/assets/annotation/toolHotKeyIcon/icon_down.svg';\n\nimport {\n // attributeClickLock,\n // attributeLock,\n backward,\n // copyBackwardResult,\n dargWithLeftClick,\n dargWithRightClick,\n forward,\n // fullScreen,\n restore,\n revoke,\n rotate,\n scale,\n setValid,\n hidden,\n tabChangeSelected,\n tabReverseChangeSelected,\n changeSpecialLine,\n // saveResult,\n} from '../common';\n\nexport const line = {\n name: 'AnnotateLine',\n icon: DrawPolygonSvg,\n shortCut: [MouseLeftSvg],\n};\n\nexport const invalidLine = {\n name: 'AnnotateInvalidLine',\n icon: LineNullKj,\n shortCut: ['Ctrl', MouseLeftSvg],\n};\n\nexport const horizontalLine = {\n name: 'HorizontalOrVertical',\n icon: StraightLineKj,\n shortCut: ['Shift', MouseLeftSvg],\n};\n\nexport const selectLine = {\n name: 'SelectLine',\n icon: LineActiveKj,\n shortCut: [MouseRightSvg],\n};\n\nexport const changeLineAttribute = {\n name: 'ToggleLineEffectiveness',\n icon: LineChangeKj,\n shortCut: ['F'],\n};\n\nexport const deleteLine = {\n name: 'DeleteLine',\n icon: DeletePointSvg,\n noticeInfo: 'SelectAndDoubleClick',\n shortCut: [MouseRightSvg],\n};\n\nexport const keepLine = {\n name: 'ContinueToLabel',\n icon: IconLineContKj,\n noticeInfo: 'Select',\n shortCut: ['Space'],\n};\n\nexport const insertPoint = {\n name: 'InsertPoint',\n icon: LineInsertKj,\n noticeInfo: 'ClickOnLine',\n shortCut: [MouseLeftSvg],\n};\n\nexport const deletePoint = {\n name: 'DeletePoint',\n icon: LineDelKj,\n noticeInfo: 'DblClickOnPoint',\n shortCut: [MouseRightSvg],\n};\n\nexport const suspendAbsorption = {\n name: 'StopAdsorption',\n icon: IconUnGripKj,\n noticeInfo: 'Press',\n shortCut: ['Alt'],\n};\n\nexport const preLine = {\n name: 'PreviousLine',\n icon: Up,\n shortCut: ['W'],\n};\n\nexport const nextLine = {\n name: 'NextLine',\n icon: Down,\n shortCut: ['S'],\n};\n\nconst lineToolShortCutTable = [\n // saveResult,\n line,\n invalidLine,\n horizontalLine,\n selectLine,\n changeLineAttribute,\n deleteLine,\n keepLine,\n changeSpecialLine,\n insertPoint,\n deletePoint,\n suspendAbsorption,\n // attributeLock,\n // attributeClickLock,\n revoke,\n restore,\n rotate,\n scale,\n // fullScreen,\n backward,\n forward,\n setValid,\n // copyBackwardResult,\n dargWithRightClick,\n dargWithLeftClick,\n hidden,\n tabChangeSelected,\n tabReverseChangeSelected,\n];\nexport default lineToolShortCutTable;\n "],"names":["DrawPolygonSvg","MouseLeftSvg","LineNullKj","StraightLineKj","LineActiveKj","MouseRightSvg","LineChangeKj","DeletePointSvg","IconLineContKj","LineInsertKj","LineDelKj","IconUnGripKj"],"mappings":";;;;;;;;;;;;;;AAoCO,MAAM,IAAO,GAAA;AAAA,EAClB,IAAM,EAAA,cAAA;AAAA,EACN,IAAM,EAAAA,GAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,WAAc,GAAA;AAAA,EACzB,IAAM,EAAA,qBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAAD,KAAA,CAAA;AAAA,EAAA;AAGd,MAAM,cAAiB,GAAA;AAAA,EAC5B,IAAM,EAAA,sBAAA;AAAA,EACN,IAAM,EAAAE,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,OAAS,EAAAF,KAAA,CAAA;AAAA,EAAA;AAGf,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,YAAA;AAAA,EACN,IAAM,EAAAG,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,mBAAsB,GAAA;AAAA,EACjC,IAAM,EAAA,yBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,YAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,sBAAA;AAAA,EACZ,UAAU,CAACF,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,iBAAA;AAAA,EACN,IAAM,EAAAG,KAAA;AAAA,EACN,UAAY,EAAA,QAAA;AAAA,EACZ,UAAU,CAAC,OAAA,CAAA;AAAA,EAAA;AAGN,MAAM,WAAc,GAAA;AAAA,EACzB,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,aAAA;AAAA,EACZ,UAAU,CAACR,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,WAAc,GAAA;AAAA,EACzB,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAS,KAAA;AAAA,EACN,UAAY,EAAA,iBAAA;AAAA,EACZ,UAAU,CAACL,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,gBAAA;AAAA,EACN,IAAM,EAAAM,KAAA;AAAA,EACN,UAAY,EAAA,OAAA;AAAA,EACZ,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAeb,MAAM,qBAAwB,GAAA;AAAA,EAE5B,IAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,mBAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,iBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EACA,iBAAA;AAAA,EAGA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EAEA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EAEA,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA,MAAA;AAAA,EACA,iBAAA;AAAA,EACA,wBAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.tsx"],"sourcesContent":["import DrawPointSvg from '@/assets/annotation/toolHotKeyIcon/icon_point_kj.svg'\nimport DrawInvalidPointSvg from '@/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg'\nimport SelectedPointSvg from '@/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg'\nimport DeletePointSvg from '@/assets/annotation/toolHotKeyIcon/icon_del_kj.svg'\nimport MouseLeftSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport MouseRightSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\n\nimport {\n backward,\n dargWithRightClick,\n forward,\n // fullScreen,\n restore,\n revoke,\n rotate,\n scale,\n tabChangeSelected,\n tabReverseChangeSelected,\n} from '../common';\n\nexport const drawPoint = {\n name: 'AnnotatePoint',\n icon: DrawPointSvg,\n shortCut: [MouseLeftSvg],\n};\n\nexport const drawInvalidPoint = {\n name: 'AnnotateInvalidPoint',\n icon: DrawInvalidPointSvg,\n shortCut: ['Ctrl', MouseLeftSvg],\n};\n\nexport const selectPoint = {\n name: 'SelectPoint',\n icon: SelectedPointSvg,\n shortCut: [MouseRightSvg],\n noticeInfo: 'RightClick',\n};\n\nexport const deletePoint = {\n name: 'DeletePoint',\n icon: DeletePointSvg,\n shortCut: ['Del'],\n};\n\nconst pointToolShortCutTable = [\n drawPoint,\n drawInvalidPoint,\n selectPoint,\n deletePoint,\n\n revoke,\n restore,\n rotate,\n scale,\n // fullScreen,\n backward,\n forward,\n dargWithRightClick,\n tabChangeSelected,\n tabReverseChangeSelected,\n];\nexport default pointToolShortCutTable;\n"],"names":["DrawPointSvg","MouseLeftSvg","DrawInvalidPointSvg","SelectedPointSvg","MouseRightSvg","DeletePointSvg"],"mappings":";;;;;;;;AAoBO,MAAM,SAAY,GAAA;AAAA,EACvB,IAAM,EAAA,eAAA;AAAA,EACN,IAAM,EAAAA,GAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,gBAAmB,GAAA;AAAA,EAC9B,IAAM,EAAA,sBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAAD,KAAA,CAAA;AAAA,EAAA;AAGd,MAAM,WAAc,GAAA;AAAA,EACzB,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAE,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EACX,UAAY,EAAA,YAAA;AAAA,EAAA;AAGP,MAAM,WAAc,GAAA;AAAA,EACzB,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGb,MAAM,sBAAyB,GAAA;AAAA,EAC7B,SAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,WAAA;AAAA,EAEA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EAEA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA,wBAAA;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { backward, forward, fullScreen, scale } from '../common';\nimport dragIcon from '@/assets/annotation/toolHotKeyIcon/icon_move_kj.svg';\nimport leftClick from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport rightClick from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\nimport changePointCloudValid from '@/assets/annotation/pointCloudTool/changePointCloudValid.svg';\nimport copy from '@/assets/annotation/pointCloudTool/copy.svg';\nimport nextBox from '@/assets/annotation/pointCloudTool/nextBox.svg';\nimport paste from '@/assets/annotation/pointCloudTool/patse.svg';\nimport prevBox from '@/assets/annotation/pointCloudTool/prevBox.svg';\nimport rotate180_black from '@/assets/annotation/pointCloudTool/rotate180_black.svg';\nimport selectAll from '@/assets/annotation/pointCloudTool/selectAll.svg';\nimport selectMultiple from '@/assets/annotation/pointCloudTool/selectMultiple.svg';\nimport TabChangeSelectedSvg from '@/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg';\nimport DeleteSvg from '@/assets/annotation/toolHotKeyIcon/icon_del_kj.svg';\n\nimport { IShortcut } from '@/types/tool';\nimport React from 'react';\nimport { ReloadOutlined, RotateLeftOutlined, RotateRightOutlined } from '@ant-design/icons';\nimport {\n polygon,\n invalidPolygon,\n selectedPolygon,\n changePolygonAttribute,\n deletePolygon,\n insertPolygonPoint,\n deletePolygonPoint,\n} from '../polygon';\n\nconst changePointSize: IShortcut = {\n name: 'PointThickness',\n icon: (\n <span\n style={{\n display: ' inline-block',\n width: 14,\n height: 14,\n borderRadius: '50%',\n border: '1px solid',\n }}\n />\n ),\n shortCut: ['+', '-'],\n linkSymbol: '',\n};\n\nconst rotateRoundCenter: IShortcut = {\n name: 'RotateAroundCenterPoint',\n icon: <ReloadOutlined />,\n shortCut: [leftClick],\n noticeInfo: 'DragOperation',\n};\n\nconst Drag3D = {\n name: 'PointCloudViewTranslate',\n icon: dragIcon,\n shortCut: [rightClick],\n noticeInfo: 'Drag',\n};\n\nconst DragTopView = {\n name: 'TopViewTranslate',\n icon: dragIcon,\n shortCut: [rightClick],\n noticeInfo: 'Drag',\n};\n\nconst ChangeInvalid = {\n name: 'ChangePointCloudValid',\n icon: changePointCloudValid,\n shortCut: ['V'],\n};\n\nconst CopyBox = {\n name: 'CopyBox',\n icon: copy,\n shortCut: ['Ctrl', 'C'],\n};\n\nconst PasteBox = {\n name: 'PasteBox',\n icon: paste,\n shortCut: ['Ctrl', 'V'],\n};\n\nconst LeftRotate = {\n name: 'RotateLeft',\n icon: <RotateLeftOutlined />,\n shortCut: ['Q'],\n};\n\nconst RightRotate = {\n name: 'RotateRight',\n icon: <RotateRightOutlined />,\n shortCut: ['E'],\n};\n\nconst PrevBox = {\n name: 'PreviousBox',\n icon: prevBox,\n shortCut: ['Shift', 'Tab'],\n};\n\nconst NextBox = {\n name: 'NextBox',\n icon: nextBox,\n shortCut: ['Tab'],\n};\n\nconst Rotate180 = {\n name: 'Rotate180',\n icon: rotate180_black,\n shortCut: ['G'],\n noticeInfo: 'SelectedStatus',\n};\n\nconst CopyPrevPage = {\n name: 'CopyPrevPage',\n icon: copy,\n shortCut: ['Alt', 'C'],\n};\n\nconst ChangeBoxInvalid = {\n name: 'ChangeBoxValid',\n icon: TabChangeSelectedSvg,\n shortCut: ['F'],\n noticeInfo: 'SelectedStatus',\n};\n\nconst SelectMulti = {\n name: 'MultiSelect',\n icon: selectMultiple,\n shortCut: ['Ctrl', rightClick],\n};\n\nconst SelectAll = {\n name: 'SelectAllBox',\n icon: selectAll,\n shortCut: ['Ctrl', 'A'],\n};\n\nconst deleteBox = {\n name: 'Delete',\n icon: DeleteSvg,\n shortCut: ['Del'],\n noticeInfo: 'SelectedStatus',\n};\n\nconst pointCloudShortCutTable: IShortcut[] = [\n { name: 'GeneralOperation' },\n backward,\n forward,\n changePointSize,\n scale,\n rotateRoundCenter,\n Drag3D,\n DragTopView,\n ChangeInvalid,\n { name: 'RectPattern' },\n CopyBox,\n PasteBox,\n LeftRotate,\n RightRotate,\n PrevBox,\n NextBox,\n Rotate180,\n CopyPrevPage,\n ChangeBoxInvalid,\n deleteBox,\n SelectMulti,\n SelectAll,\n fullScreen,\n];\n\nconst pointCloudShortCutTable_POLYGON: IShortcut[] = [\n { name: 'GeneralOperation' },\n backward,\n forward,\n changePointSize,\n scale,\n rotateRoundCenter,\n Drag3D,\n DragTopView,\n ChangeInvalid,\n { name: 'PolygonPattern' },\n polygon,\n invalidPolygon,\n selectedPolygon,\n changePolygonAttribute,\n deletePolygon,\n insertPolygonPoint,\n deletePolygonPoint,\n];\n\nexport default pointCloudShortCutTable;\n\nexport { pointCloudShortCutTable_POLYGON };\n"],"names":["leftClick","dragIcon","rightClick","changePointCloudValid","copy","paste","prevBox","nextBox","rotate180_black","TabChangeSelectedSvg","selectMultiple","selectAll","DeleteSvg"],"mappings":"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"}