@labelbee/lb-components 1.5.0 → 1.6.0-alpha.2

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 (242) hide show
  1. package/dist/assets/annotation/lineTool/icon_line.svg.js +1 -0
  2. package/dist/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +1 -0
  3. package/dist/assets/annotation/pointCloudTool/copy.svg.js +1 -0
  4. package/dist/assets/annotation/pointCloudTool/nextBox.svg.js +1 -0
  5. package/dist/assets/annotation/pointCloudTool/patse.svg.js +1 -0
  6. package/dist/assets/annotation/pointCloudTool/prevBox.svg.js +1 -0
  7. package/dist/assets/annotation/pointCloudTool/rotate180_black.svg.js +1 -0
  8. package/dist/assets/annotation/pointCloudTool/selectAll.svg.js +1 -0
  9. package/dist/assets/annotation/pointCloudTool/selectMultiple.svg.js +1 -0
  10. package/dist/assets/annotation/pointTool/icon_point.svg.js +1 -0
  11. package/dist/assets/annotation/polygonTool/icon_polygon.svg.js +1 -0
  12. package/dist/assets/annotation/rectTool/icon_rect.svg.js +1 -0
  13. package/dist/assets/annotation/rectTool/{icon_rectPattern.svg.js → icon_rect_a.svg.js} +0 -0
  14. package/dist/assets/{cssIcon/annotation/icon_clearSmall.svg → icons/25541b4d.svg} +0 -0
  15. package/dist/assets/icons/25ef334b.svg +8 -0
  16. package/dist/assets/icons/7eadb9c4.svg +5 -0
  17. package/dist/assets/icons/9d70807.svg +5 -0
  18. package/dist/assets/icons/c5b4262e.png +0 -0
  19. package/dist/assets/{cssIcon/slide_btn.svg → icons/cc550fff.svg} +0 -0
  20. package/dist/assets/{cssIcon/annotation/icon_clearSmall_a.svg → icons/dc9b6bfc.svg} +0 -0
  21. package/dist/assets/icons/e4f0b7fe.png +0 -0
  22. package/dist/components/AnnotationView/index.js +1 -1
  23. package/dist/components/customResizeHook/index.js +1 -1
  24. package/dist/components/pointCloudView/PointCloud2DView.js +1 -0
  25. package/dist/components/pointCloudView/PointCloud3DView.js +1 -0
  26. package/dist/components/pointCloudView/PointCloudBackView.js +1 -0
  27. package/dist/components/pointCloudView/PointCloudContext.js +1 -0
  28. package/dist/components/pointCloudView/PointCloudInfos.js +1 -0
  29. package/dist/components/pointCloudView/PointCloudLayout.js +1 -0
  30. package/dist/components/pointCloudView/PointCloudListener.js +1 -0
  31. package/dist/components/pointCloudView/PointCloudSideView.js +1 -0
  32. package/dist/components/pointCloudView/PointCloudTopView.js +1 -0
  33. package/dist/components/pointCloudView/hooks/useBoxes.js +1 -0
  34. package/dist/components/pointCloudView/hooks/usePointCloudViews.js +1 -0
  35. package/dist/components/pointCloudView/hooks/usePolygon.js +1 -0
  36. package/dist/components/pointCloudView/hooks/useRotate.js +1 -0
  37. package/dist/components/pointCloudView/hooks/useSingleBox.js +1 -0
  38. package/dist/components/pointCloudView/hooks/useStatus.js +1 -0
  39. package/dist/components/pointCloudView/index.js +1 -0
  40. package/dist/components/videoPlayer/components/controller/index.js +1 -1
  41. package/dist/components/videoPlayer/index.js +1 -1
  42. package/dist/components/videoPlayer/utils.js +1 -1
  43. package/dist/data/enums/ToolType.js +1 -1
  44. package/dist/hooks/annotation.js +1 -0
  45. package/dist/index.css +273 -43
  46. package/dist/index.js +1 -1
  47. package/dist/store/annotation/actionCreators.js +1 -1
  48. package/dist/store/annotation/map.js +1 -0
  49. package/dist/store/annotation/reducer.js +1 -1
  50. package/dist/types/App.d.ts +4 -3
  51. package/dist/types/components/AnnotationView/index.d.ts +2 -2
  52. package/dist/types/components/pointCloudView/PointCloud2DView.d.ts +6 -0
  53. package/dist/types/components/pointCloudView/PointCloud3DView.d.ts +6 -0
  54. package/dist/types/components/pointCloudView/PointCloudBackView.d.ts +3 -0
  55. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +31 -0
  56. package/dist/types/components/pointCloudView/PointCloudInfos.d.ts +19 -0
  57. package/dist/types/components/pointCloudView/PointCloudLayout.d.ts +6 -0
  58. package/dist/types/components/pointCloudView/PointCloudListener.d.ts +6 -0
  59. package/dist/types/components/pointCloudView/PointCloudSideView.d.ts +6 -0
  60. package/dist/types/components/pointCloudView/PointCloudTopView.d.ts +6 -0
  61. package/dist/types/components/pointCloudView/hooks/useBoxes.d.ts +10 -0
  62. package/dist/types/components/pointCloudView/hooks/usePointCloudViews.d.ts +59 -0
  63. package/dist/types/components/pointCloudView/hooks/usePolygon.d.ts +9 -0
  64. package/dist/types/components/pointCloudView/hooks/useRotate.d.ts +8 -0
  65. package/dist/types/components/pointCloudView/hooks/useSingleBox.d.ts +13 -0
  66. package/dist/types/components/pointCloudView/hooks/useStatus.d.ts +11 -0
  67. package/dist/types/components/pointCloudView/index.d.ts +15 -0
  68. package/dist/types/components/videoPlayer/TagToolInstanceAdaptor.d.ts +1 -1
  69. package/dist/types/components/videoPlayer/index.d.ts +1 -1
  70. package/dist/types/data/enums/ToolType.d.ts +3 -1
  71. package/dist/types/hooks/annotation.d.ts +24 -0
  72. package/dist/types/index.d.ts +1 -0
  73. package/dist/types/store/annotation/actionCreators.d.ts +4 -4
  74. package/dist/types/store/annotation/map.d.ts +13 -0
  75. package/dist/types/store/annotation/reducer.d.ts +1 -1
  76. package/dist/types/utils/PageOperator.d.ts +1 -1
  77. package/dist/types/utils/StepUtils.d.ts +7 -0
  78. package/dist/types/utils/ToolUtils.d.ts +10 -0
  79. package/dist/types/utils/data.d.ts +1 -1
  80. package/dist/types/utils/dom.d.ts +1 -1
  81. package/dist/types/utils/index.d.ts +1 -1
  82. package/dist/types/views/MainView/annotationOperation/index.d.ts +1 -1
  83. package/dist/types/views/MainView/sidebar/GeneralOperation/ActionsConfirm.d.ts +12 -0
  84. package/dist/types/views/MainView/sidebar/GeneralOperation/index.d.ts +5 -1
  85. package/dist/types/views/MainView/sidebar/GeneralOperation/useOperationList.d.ts +12 -0
  86. package/dist/types/views/MainView/sidebar/PointCloudToolSidebar/index.d.ts +11 -0
  87. package/dist/types/views/MainView/sidebar/ToolIcons.d.ts +11 -0
  88. package/dist/types/views/MainView/sidebar/ToolStyle/index.d.ts +1 -1
  89. package/dist/types/views/MainView/sidebar/index.d.ts +1 -0
  90. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.d.ts +3 -0
  91. package/dist/types/views/MainView/toolFooter/Pagination.d.ts +12 -2
  92. package/dist/types/views/MainView/toolFooter/ZoomController/index.d.ts +14 -4
  93. package/dist/types/views/MainView/toolFooter/index.d.ts +5 -8
  94. package/dist/types/views/MainView/toolHeader/ExportData/index.d.ts +1 -1
  95. package/dist/utils/StepUtils.js +1 -1
  96. package/dist/utils/ToolUtils.js +1 -0
  97. package/dist/utils/data.js +1 -1
  98. package/dist/utils/dom.js +1 -1
  99. package/dist/utils/index.js +1 -1
  100. package/dist/views/MainView/annotationOperation/index.js +1 -1
  101. package/dist/views/MainView/index.js +1 -1
  102. package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -0
  103. package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  104. package/dist/views/MainView/sidebar/GeneralOperation/useOperationList.js +1 -0
  105. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -0
  106. package/dist/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  107. package/dist/views/MainView/sidebar/ToolIcons.js +1 -0
  108. package/dist/views/MainView/sidebar/index.js +1 -1
  109. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  110. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -0
  111. package/dist/views/MainView/toolFooter/Pagination.js +1 -1
  112. package/dist/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +1 -1
  113. package/dist/views/MainView/toolFooter/ZoomController/index.js +1 -1
  114. package/dist/views/MainView/toolFooter/index.js +1 -1
  115. package/es/App.js.map +1 -1
  116. package/es/assets/annotation/lineTool/icon_line.svg.js +1 -0
  117. package/es/assets/annotation/lineTool/icon_line.svg.js.map +1 -0
  118. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +1 -0
  119. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +1 -0
  120. package/es/assets/annotation/pointCloudTool/copy.svg.js +1 -0
  121. package/es/assets/annotation/pointCloudTool/copy.svg.js.map +1 -0
  122. package/es/assets/annotation/pointCloudTool/nextBox.svg.js +1 -0
  123. package/es/assets/annotation/pointCloudTool/nextBox.svg.js.map +1 -0
  124. package/es/assets/annotation/pointCloudTool/patse.svg.js +1 -0
  125. package/es/assets/annotation/pointCloudTool/patse.svg.js.map +1 -0
  126. package/es/assets/annotation/pointCloudTool/prevBox.svg.js +1 -0
  127. package/es/assets/annotation/pointCloudTool/prevBox.svg.js.map +1 -0
  128. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js +1 -0
  129. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +1 -0
  130. package/es/assets/annotation/pointCloudTool/selectAll.svg.js +1 -0
  131. package/es/assets/annotation/pointCloudTool/selectAll.svg.js.map +1 -0
  132. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js +1 -0
  133. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +1 -0
  134. package/es/assets/annotation/pointTool/icon_point.svg.js +1 -0
  135. package/es/assets/annotation/pointTool/icon_point.svg.js.map +1 -0
  136. package/es/assets/annotation/polygonTool/icon_polygon.svg.js +1 -0
  137. package/es/assets/annotation/polygonTool/icon_polygon.svg.js.map +1 -0
  138. package/es/assets/annotation/rectTool/icon_rect.svg.js +1 -0
  139. package/es/assets/annotation/rectTool/icon_rect.svg.js.map +1 -0
  140. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js +4 -1
  141. package/es/assets/annotation/rectTool/icon_rect_a.svg.js +1 -0
  142. package/es/assets/annotation/rectTool/icon_rect_a.svg.js.map +1 -0
  143. package/es/components/AnnotationView/index.js +1 -1
  144. package/es/components/AnnotationView/index.js.map +1 -1
  145. package/es/components/customResizeHook/index.js +1 -1
  146. package/es/components/customResizeHook/index.js.map +1 -1
  147. package/es/components/pointCloudView/PointCloud2DView.js +1 -0
  148. package/es/components/pointCloudView/PointCloud2DView.js.map +1 -0
  149. package/es/components/pointCloudView/PointCloud3DView.js +1 -0
  150. package/es/components/pointCloudView/PointCloud3DView.js.map +1 -0
  151. package/es/components/pointCloudView/PointCloudBackView.js +1 -0
  152. package/es/components/pointCloudView/PointCloudBackView.js.map +1 -0
  153. package/es/components/pointCloudView/PointCloudContext.js +1 -0
  154. package/es/components/pointCloudView/PointCloudContext.js.map +1 -0
  155. package/es/components/pointCloudView/PointCloudInfos.js +1 -0
  156. package/es/components/pointCloudView/PointCloudInfos.js.map +1 -0
  157. package/es/components/pointCloudView/PointCloudLayout.js +1 -0
  158. package/es/components/pointCloudView/PointCloudLayout.js.map +1 -0
  159. package/es/components/pointCloudView/PointCloudListener.js +1 -0
  160. package/es/components/pointCloudView/PointCloudListener.js.map +1 -0
  161. package/es/components/pointCloudView/PointCloudSideView.js +1 -0
  162. package/es/components/pointCloudView/PointCloudSideView.js.map +1 -0
  163. package/es/components/pointCloudView/PointCloudTopView.js +1 -0
  164. package/es/components/pointCloudView/PointCloudTopView.js.map +1 -0
  165. package/es/components/pointCloudView/data.js +4 -0
  166. package/es/components/pointCloudView/data.js.map +1 -0
  167. package/es/components/pointCloudView/hooks/useBoxes.js +1 -0
  168. package/es/components/pointCloudView/hooks/useBoxes.js.map +1 -0
  169. package/es/components/pointCloudView/hooks/usePointCloudViews.js +1 -0
  170. package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -0
  171. package/es/components/pointCloudView/hooks/usePolygon.js +1 -0
  172. package/es/components/pointCloudView/hooks/usePolygon.js.map +1 -0
  173. package/es/components/pointCloudView/hooks/useRotate.js +1 -0
  174. package/es/components/pointCloudView/hooks/useRotate.js.map +1 -0
  175. package/es/components/pointCloudView/hooks/useSingleBox.js +1 -0
  176. package/es/components/pointCloudView/hooks/useSingleBox.js.map +1 -0
  177. package/es/components/pointCloudView/hooks/useStatus.js +1 -0
  178. package/es/components/pointCloudView/hooks/useStatus.js.map +1 -0
  179. package/es/components/pointCloudView/index.js +1 -0
  180. package/es/components/pointCloudView/index.js.map +1 -0
  181. package/es/components/videoPlayer/components/controller/index.js +1 -1
  182. package/es/components/videoPlayer/components/controller/index.js.map +1 -1
  183. package/es/components/videoPlayer/index.js +1 -1
  184. package/es/components/videoPlayer/index.js.map +1 -1
  185. package/es/components/videoPlayer/utils.js +1 -1
  186. package/es/components/videoPlayer/utils.js.map +1 -1
  187. package/es/data/enums/ToolType.js +1 -1
  188. package/es/data/enums/ToolType.js.map +1 -1
  189. package/es/hooks/annotation.js +1 -0
  190. package/es/hooks/annotation.js.map +1 -0
  191. package/es/hooks/useSize.js.map +1 -1
  192. package/es/index.css +1364 -0
  193. package/es/index.js +1 -1
  194. package/es/index.js.map +1 -1
  195. package/es/store/annotation/actionCreators.js +1 -1
  196. package/es/store/annotation/actionCreators.js.map +1 -1
  197. package/es/store/annotation/map.js +1 -0
  198. package/es/store/annotation/map.js.map +1 -0
  199. package/es/store/annotation/reducer.js +1 -1
  200. package/es/store/annotation/reducer.js.map +1 -1
  201. package/es/utils/StepUtils.js +1 -1
  202. package/es/utils/StepUtils.js.map +1 -1
  203. package/es/utils/ToolUtils.js +1 -0
  204. package/es/utils/ToolUtils.js.map +1 -0
  205. package/es/utils/data.js +1 -1
  206. package/es/utils/data.js.map +1 -1
  207. package/es/utils/dom.js +1 -1
  208. package/es/utils/dom.js.map +1 -1
  209. package/es/utils/index.js +1 -1
  210. package/es/utils/index.js.map +1 -1
  211. package/es/views/MainView/annotationOperation/index.js +1 -1
  212. package/es/views/MainView/annotationOperation/index.js.map +1 -1
  213. package/es/views/MainView/index.js +1 -1
  214. package/es/views/MainView/index.js.map +1 -1
  215. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -0
  216. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +1 -0
  217. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  218. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
  219. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js +1 -0
  220. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +1 -0
  221. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -0
  222. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -0
  223. package/es/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  224. package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -1
  225. package/es/views/MainView/sidebar/ToolIcons.js +1 -0
  226. package/es/views/MainView/sidebar/ToolIcons.js.map +1 -0
  227. package/es/views/MainView/sidebar/index.js +1 -1
  228. package/es/views/MainView/sidebar/index.js.map +1 -1
  229. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  230. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
  231. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -0
  232. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +1 -0
  233. package/es/views/MainView/toolFooter/Pagination.js +1 -1
  234. package/es/views/MainView/toolFooter/Pagination.js.map +1 -1
  235. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +1 -1
  236. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -1
  237. package/es/views/MainView/toolFooter/ZoomController/index.js +1 -1
  238. package/es/views/MainView/toolFooter/ZoomController/index.js.map +1 -1
  239. package/es/views/MainView/toolFooter/index.js +1 -1
  240. package/es/views/MainView/toolFooter/index.js.map +1 -1
  241. package/package.json +14 -13
  242. package/dist/index.css.map +0 -1
package/es/index.js CHANGED
@@ -1 +1 @@
1
- export{default as AnnotationView}from"./components/AnnotationView/index.js";import{i18n as l}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import a,{useState as m,useImperativeHandle as d}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import P from"./App.js";import _ from"./configureStore.js";import{PageBackward as g,PageForward as v,PageJump as w}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js";var O=Object.defineProperty,b=Object.defineProperties,x=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,p=(t,e,r)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,y=(t,e)=>{for(var r in e||(e={}))j.call(e,r)&&p(t,r,e[r]);if(n)for(var r of n(e))I.call(e,r)&&p(t,r,e[r]);return t},A=(t,e)=>b(t,x(e));const o=_(),h=(t,e)=>{const[r,i]=m();return d(e,()=>({toolInstance:r,pageBackwardActions:()=>o.dispatch(g()),pageForwardActions:()=>o.dispatch(v()),pageJump:s=>{const c=~~s-1;o.dispatch(w(c))},hello:()=>alert("hello labelBee!!!")}),[r]),a.createElement(u,{store:o},a.createElement(f,{i18n:l},a.createElement(P,A(y({},t),{setToolInstance:i}))))};var E=a.forwardRef(h);export{E as default,o as store};
1
+ export{default as AnnotationView}from"./components/AnnotationView/index.js";import{i18n as c}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import n,{useState as m,useImperativeHandle as d}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import P from"./App.js";import g from"./configureStore.js";import{PageBackward as _,PageForward as v,PageJump as w}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js";import{PointCloudProvider as O}from"./components/pointCloudView/PointCloudContext.js";var b=Object.defineProperty,x=Object.defineProperties,j=Object.getOwnPropertyDescriptors,a=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,i=(t,e,r)=>e in t?b(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,A=(t,e)=>{for(var r in e||(e={}))I.call(e,r)&&i(t,r,e[r]);if(a)for(var r of a(e))y.call(e,r)&&i(t,r,e[r]);return t},E=(t,e)=>x(t,j(e));const o=g(),h=(t,e)=>{const[r,p]=m();return d(e,()=>({toolInstance:r,annotationEngine:o.getState().annotation.annotationEngine,pageBackwardActions:()=>o.dispatch(_()),pageForwardActions:()=>o.dispatch(v()),pageJump:s=>{const l=~~s-1;o.dispatch(w(l))},hello:()=>alert("hello labelBee!!!")}),[r]),n.createElement(u,{store:o},n.createElement(f,{i18n:c},n.createElement(O,null,n.createElement(P,E(A({},t),{setToolInstance:p})))))};var S=n.forwardRef(h);export{S as default,o as store};
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":["import { AppProps } from '@/App';\nimport AnnotationView from '@/components/AnnotationView';\nimport { i18n } from '@labelbee/lb-utils';\nimport React, { useImperativeHandle, useState } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { Provider } from 'react-redux';\nimport { AnyAction } from 'redux';\nimport App from './App';\nimport configureStore from './configureStore';\nimport { PageBackward, PageForward, PageJump } from './store/annotation/actionCreators';\nimport { ToolInstance } from './store/annotation/types';\nimport { VideoTagTool } from '@/components/videoPlayer/TagToolInstanceAdaptorI18nProvider';\n\nexport const store = configureStore();\n\nconst OutputApp = (props: AppProps, ref: any) => {\n const [toolInstance, setToolInstance] = useState<ToolInstance>();\n // 暴露给 ref 的一些方法\n useImperativeHandle(\n ref,\n () => {\n return {\n toolInstance,\n pageBackwardActions: () => store.dispatch(PageBackward() as unknown as AnyAction),\n pageForwardActions: () => store.dispatch(PageForward() as unknown as AnyAction),\n pageJump: (page: string) => {\n const imgIndex = ~~page - 1;\n store.dispatch(PageJump(imgIndex) as unknown as AnyAction);\n },\n hello: () => alert(`hello labelBee!!!`),\n };\n },\n [toolInstance],\n );\n\n return (\n <Provider store={store}>\n <I18nextProvider i18n={i18n}>\n <App {...props} setToolInstance={setToolInstance} />\n </I18nextProvider>\n </Provider>\n );\n};\n\nexport default React.forwardRef(OutputApp);\n\nexport { AnnotationView, i18n, VideoTagTool };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,KAAQ,GAAA,cAAA,GAAA;AAErB,MAAM,SAAA,GAAY,CAAC,KAAA,EAAiB,GAAa,KAAA;AAC/C,EAAM,MAAA,CAAC,cAAc,eAAmB,CAAA,GAAA,QAAA,EAAA,CAAA;AAExC,EAAA,mBAAA,CACE,KACA,MAAM;AACJ,IAAO,OAAA;AAAA,MACL,YAAA;AAAA,MACA,mBAAA,EAAqB,MAAM,KAAA,CAAM,QAAS,CAAA,YAAA,EAAA,CAAA;AAAA,MAC1C,kBAAA,EAAoB,MAAM,KAAA,CAAM,QAAS,CAAA,WAAA,EAAA,CAAA;AAAA,MACzC,QAAA,EAAU,CAAC,IAAiB,KAAA;AAC1B,QAAM,MAAA,QAAA,GAAW,CAAC,CAAC,IAAO,GAAA,CAAA,CAAA;AAC1B,QAAA,KAAA,CAAM,SAAS,QAAS,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,MAE1B,KAAA,EAAO,MAAM,KAAM,CAAA,CAAA,iBAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAGvB,CAAC,YAAA,CAAA,CAAA,CAAA;AAGH,EAAA,2CACG,QAAD,EAAA;AAAA,IAAU,KAAA;AAAA,GAAA,sCACP,eAAD,EAAA;AAAA,IAAiB,IAAA;AAAA,GACf,kBAAA,KAAA,CAAA,aAAA,CAAC,GAAD,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAS,KAAT,CAAA,EAAA;AAAA,IAAgB,eAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAMxB,YAAe,MAAM,UAAW,CAAA,SAAA,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":["import { AppProps } from '@/App';\nimport AnnotationView from '@/components/AnnotationView';\nimport { i18n } from '@labelbee/lb-utils';\nimport React, { useImperativeHandle, useState } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { Provider } from 'react-redux';\nimport { AnyAction } from 'redux';\nimport App from './App';\nimport configureStore from './configureStore';\nimport { PageBackward, PageForward, PageJump } from './store/annotation/actionCreators';\nimport { ToolInstance } from './store/annotation/types';\nimport { VideoTagTool } from '@/components/videoPlayer/TagToolInstanceAdaptorI18nProvider';\nimport './index.scss';\nimport { PointCloudProvider } from './components/pointCloudView/PointCloudContext';\nimport { AppState } from './store';\n\nexport const store = configureStore();\n\nconst OutputApp = (props: AppProps, ref: any) => {\n const [toolInstance, setToolInstance] = useState<ToolInstance>();\n // 暴露给 ref 的一些方法\n useImperativeHandle(\n ref,\n () => {\n return {\n toolInstance,\n annotationEngine: (store.getState() as AppState).annotation.annotationEngine,\n pageBackwardActions: () => store.dispatch(PageBackward() as unknown as AnyAction),\n pageForwardActions: () => store.dispatch(PageForward() as unknown as AnyAction),\n pageJump: (page: string) => {\n const imgIndex = ~~page - 1;\n store.dispatch(PageJump(imgIndex) as unknown as AnyAction);\n },\n hello: () => alert(`hello labelBee!!!`),\n };\n },\n [toolInstance],\n );\n\n return (\n <Provider store={store}>\n <I18nextProvider i18n={i18n}>\n <PointCloudProvider>\n <App {...props} setToolInstance={setToolInstance} />\n </PointCloudProvider>\n </I18nextProvider>\n </Provider>\n );\n};\n\nexport default React.forwardRef(OutputApp);\n\nexport { AnnotationView, i18n, VideoTagTool };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,MAAM,KAAQ,GAAA,cAAA,GAAA;AAErB,MAAM,SAAA,GAAY,CAAC,KAAA,EAAiB,GAAa,KAAA;AAC/C,EAAM,MAAA,CAAC,cAAc,eAAmB,CAAA,GAAA,QAAA,EAAA,CAAA;AAExC,EAAA,mBAAA,CACE,KACA,MAAM;AACJ,IAAO,OAAA;AAAA,MACL,YAAA;AAAA,MACA,gBAAA,EAAmB,KAAM,CAAA,QAAA,EAAA,CAAwB,UAAW,CAAA,gBAAA;AAAA,MAC5D,mBAAA,EAAqB,MAAM,KAAA,CAAM,QAAS,CAAA,YAAA,EAAA,CAAA;AAAA,MAC1C,kBAAA,EAAoB,MAAM,KAAA,CAAM,QAAS,CAAA,WAAA,EAAA,CAAA;AAAA,MACzC,QAAA,EAAU,CAAC,IAAiB,KAAA;AAC1B,QAAM,MAAA,QAAA,GAAW,CAAC,CAAC,IAAO,GAAA,CAAA,CAAA;AAC1B,QAAA,KAAA,CAAM,SAAS,QAAS,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,MAE1B,KAAA,EAAO,MAAM,KAAM,CAAA,CAAA,iBAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAGvB,CAAC,YAAA,CAAA,CAAA,CAAA;AAGH,EAAA,2CACG,QAAD,EAAA;AAAA,IAAU,KAAA;AAAA,GAAA,sCACP,eAAD,EAAA;AAAA,IAAiB,IAAA;AAAA,GAAA,sCACd,kBAAD,EAAA,IAAA,kBACG,KAAA,CAAA,aAAA,CAAA,GAAA,EAAD,iCAAS,KAAT,CAAA,EAAA;AAAA,IAAgB,eAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAO1B,YAAe,MAAM,UAAW,CAAA,SAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- import{ANNOTATION_ACTIONS as r}from"../Actions.js";import{LoadFileAndFileData as S,getStepConfig as N}from"./reducer.js";import{ESubmitType as c}from"../../constant/index.js";import{EPageTurningOperation as _}from"../../data/enums/AnnotationSize.js";import w from"../../utils/PageOperator.js";import{jsonParser as R}from"../../utils/index.js";var A=(e,t,n)=>new Promise((o,s)=>{var l=u=>{try{d(n.next(u))}catch(a){s(a)}},i=u=>{try{d(n.throw(u))}catch(a){s(a)}},d=u=>u.done?o(u.value):Promise.resolve(u.value).then(l,i);d((n=n.apply(e,t)).next())});const B=(e,t)=>t.map(n=>e(n)),h=e=>e===_.Forward?c.Forward:e===_.Backward?c.Backward:e===_.Jump?c.Jump:c.Forward,F=(e,t)=>{var n,o;const{imgList:s,imgIndex:l}=e,{dataSourceStep:i}=N(e.stepList,e.step);return((o=(n=R(s[l-1].result)[`step_${i}`])==null?void 0:n.result)==null?void 0:o.length)-1||t};function I({stepList:e,step:t}){return{type:r.SET_TASK_CONFIG,payload:{stepList:e,step:t}}}function m(e){return{type:r.UPDATE_ON_SUBMIT,payload:{onSubmit:e}}}function g(e){return{type:r.UPDATE_ON_SAVE,payload:{onSave:e}}}function P(e){return{type:r.UPDATE_ON_PAGE_CHANGE,payload:{onPageChange:e}}}function U(e){return{type:r.UPDATE_ON_STEP_CHANGE,payload:{onStepChange:e}}}function L(e){return{type:r.UPDATE_GET_FILE_DATA,payload:{getFileData:e}}}function v(e){return{type:r.UPDATE_PAGE_SIZE,payload:{pageSize:e}}}function C(e){return{type:r.UPDATE_LOAD_FILE_LIST,payload:{loadFileList:e}}}function G(){return{type:r.UPDATE_ROTATE}}function b(){return{type:r.COPY_BACKWARD_RESULT}}function k({onSubmit:e,onSave:t,onPageChange:n,onStepChange:o,getFileData:s,pageSize:l,loadFileList:i,step:d,stepList:u}){const a=[];return e&&a.push(m(e)),t&&a.push(g(t)),n&&a.push(P(n)),o&&a.push(U(o)),s&&a.push(L(s)),i&&a.push(C(i)),l&&a.push(v(l)),a.push(I({stepList:u,step:d})),a.push({type:r.CALC_STEP_PROGRESS}),a.push({type:r.INIT_TOOL}),p=>B(p,a)}const M=(e,t)=>{var n;const o=t==null?void 0:t.findIndex(s=>(s==null?void 0:s.step)===e);return(n=t[o+1])==null?void 0:n.step},j=e=>(t,n)=>{const{annotation:o}=n(),{step:s,stepList:l}=o,i=M(s,l);return[t(x(i,e))]},x=(e,t)=>(n,o)=>{var s,l;const{annotation:i}=o();(s=i==null?void 0:i.onStepChange)==null||s.call(i,e);const d=(l=i==null?void 0:i.imgIndex)!=null?l:0;return[n({type:r.SUBMIT_RESULT}),n({type:r.SUBMIT_FILE_DATA,payload:{submitType:c.StepChanged}}),n({type:r.SET_STEP,payload:{toStep:e}}),n({type:r.CALC_STEP_PROGRESS}),n(S(t!=null?t:d,0))]},f=e=>t=>[t({type:r.SUBMIT_RESULT}),t({type:r.SUBMIT_FILE_DATA,payload:{submitType:e}})],J=(e,t,n,o)=>[e(f(n)),e(S(t,o))],H=(e,t)=>[e({type:r.SUBMIT_RESULT}),e({type:r.SET_BASIC_INDEX,payload:{basicIndex:t}})],V=(e,t)=>{e({type:r.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,payload:{triggerEventAfterIndexChanged:t}})},z=(e=!1)=>(t,n)=>T(t,n,_.Backward,e),K=(e=!1)=>(t,n)=>T(t,n,_.Forward,e),W=(e,t=!1)=>(n,o)=>{if(e!==o().imgIndex)return T(n,o,_.Jump,t,e)},D=(e,t,n,o)=>A(void 0,null,function*(){var s;const{loadFileList:l,imgList:i,pageSize:d}=t().annotation,u=Math.floor(n/d);y(e,!0);try{const a=yield l(u,d);if(y(e,!1),!((s=a==null?void 0:a.fileList)==null?void 0:s.length)||!(a==null?void 0:a.total))throw new Error("fileList and total are required");const p=o?new Array(a.total):[...i];return p.splice(u*d,d,...a.fileList),e({type:r.UPDATE_IMG_LIST,payload:{imgList:p}}),!0}catch(a){y(e,!1),console.error(a)}}),T=(e,t,n,o=!1,s)=>A(void 0,null,function*(){var l;const i=t().annotation,{fileIndexChanged:d,fileIndex:u,basicIndexChanged:a,basicIndex:p}=w.getNextPageInfo(n,i,s),E=h(n);if(V(e,o),d){if(i.loading||!i.imgList[u]&&!(yield D(e,t,u)))return;(l=i.onPageChange)==null||l.call(i,u);const O=E===c.Backward?F(t().annotation,p):p;return J(e,u,E,O)}return a?H(e,p):e(f(E))}),X=e=>{e(f(c.Save)),e({type:r.SAVE_RESULT})},y=(e,t)=>{e({type:r.SET_LOADING,payload:{loading:t}})};export{X as ChangeSave,b as CopyBackWordResult,T as DispatcherTurning,k as InitTaskData,z as PageBackward,K as PageForward,W as PageJump,y as SetAnnotationLoading,I as SetTaskConfig,j as ToNextStep,f as ToSubmitFileData,L as UpdateGetFileData,C as UpdateGetFileList,P as UpdateOnPageChange,g as UpdateOnSave,U as UpdateOnStepChange,m as UpdateOnSubmit,v as UpdatePageSize,x as UpdateProcessingStep,G as UpdateRotate,D as loadImgList};
1
+ import{ANNOTATION_ACTIONS as r}from"../Actions.js";import{LoadFileAndFileData as S,getStepConfig as N}from"./reducer.js";import{ESubmitType as c}from"../../constant/index.js";import{EPageTurningOperation as _}from"../../data/enums/AnnotationSize.js";import w from"../../utils/PageOperator.js";import{jsonParser as R}from"../../utils/index.js";var A=(t,e,n)=>new Promise((o,s)=>{var l=u=>{try{d(n.next(u))}catch(a){s(a)}},i=u=>{try{d(n.throw(u))}catch(a){s(a)}},d=u=>u.done?o(u.value):Promise.resolve(u.value).then(l,i);d((n=n.apply(t,e)).next())});const B=(t,e)=>e.map(n=>t(n)),h=t=>t===_.Forward?c.Forward:t===_.Backward?c.Backward:t===_.Jump?c.Jump:c.Forward,F=(t,e)=>{var n,o;const{imgList:s,imgIndex:l}=t,{dataSourceStep:i}=N(t.stepList,t.step);return((o=(n=R(s[l-1].result)[`step_${i}`])==null?void 0:n.result)==null?void 0:o.length)-1||e};function G(t){return{type:r.UPDATE_TOOL_INSTANCE,payload:{toolInstance:t}}}function I({stepList:t,step:e}){return{type:r.SET_TASK_CONFIG,payload:{stepList:t,step:e}}}function m(t){return{type:r.UPDATE_ON_SUBMIT,payload:{onSubmit:t}}}function g(t){return{type:r.UPDATE_ON_SAVE,payload:{onSave:t}}}function P(t){return{type:r.UPDATE_ON_PAGE_CHANGE,payload:{onPageChange:t}}}function U(t){return{type:r.UPDATE_ON_STEP_CHANGE,payload:{onStepChange:t}}}function L(t){return{type:r.UPDATE_GET_FILE_DATA,payload:{getFileData:t}}}function v(t){return{type:r.UPDATE_PAGE_SIZE,payload:{pageSize:t}}}function C(t){return{type:r.UPDATE_LOAD_FILE_LIST,payload:{loadFileList:t}}}function b(){return{type:r.UPDATE_ROTATE}}function k(){return{type:r.COPY_BACKWARD_RESULT}}function M({onSubmit:t,onSave:e,onPageChange:n,onStepChange:o,getFileData:s,pageSize:l,loadFileList:i,step:d,stepList:u}){const a=[];return t&&a.push(m(t)),e&&a.push(g(e)),n&&a.push(P(n)),o&&a.push(U(o)),s&&a.push(L(s)),i&&a.push(C(i)),l&&a.push(v(l)),a.push(I({stepList:u,step:d})),a.push({type:r.CALC_STEP_PROGRESS}),a.push({type:r.INIT_TOOL}),p=>B(p,a)}const j=(t,e)=>{var n;const o=e==null?void 0:e.findIndex(s=>(s==null?void 0:s.step)===t);return(n=e[o+1])==null?void 0:n.step},J=t=>(e,n)=>{const{annotation:o}=n(),{step:s,stepList:l}=o,i=j(s,l);return[e(x(i,t))]},x=(t,e)=>(n,o)=>{var s,l;const{annotation:i}=o();(s=i==null?void 0:i.onStepChange)==null||s.call(i,t);const d=(l=i==null?void 0:i.imgIndex)!=null?l:0;return[n({type:r.SUBMIT_RESULT}),n({type:r.SUBMIT_FILE_DATA,payload:{submitType:c.StepChanged}}),n({type:r.SET_STEP,payload:{toStep:t}}),n({type:r.CALC_STEP_PROGRESS}),n(S(e!=null?e:d,0))]},f=t=>e=>[e({type:r.SUBMIT_RESULT}),e({type:r.SUBMIT_FILE_DATA,payload:{submitType:t}})],H=(t,e,n,o)=>[t(f(n)),t(S(e,o))],V=(t,e)=>[t({type:r.SUBMIT_RESULT}),t({type:r.SET_BASIC_INDEX,payload:{basicIndex:e}})],z=(t,e)=>{t({type:r.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,payload:{triggerEventAfterIndexChanged:e}})},K=(t=!1)=>(e,n)=>T(e,n,_.Backward,t),W=(t=!1)=>(e,n)=>T(e,n,_.Forward,t),X=(t,e=!1)=>(n,o)=>{if(t!==o().imgIndex)return T(n,o,_.Jump,e,t)},D=(t,e,n,o)=>A(void 0,null,function*(){var s;const{loadFileList:l,imgList:i,pageSize:d}=e().annotation,u=Math.floor(n/d);y(t,!0);try{const a=yield l(u,d);if(y(t,!1),!((s=a==null?void 0:a.fileList)==null?void 0:s.length)||!(a==null?void 0:a.total))throw new Error("fileList and total are required");const p=o?new Array(a.total):[...i];return p.splice(u*d,d,...a.fileList),t({type:r.UPDATE_IMG_LIST,payload:{imgList:p}}),!0}catch(a){y(t,!1),console.error(a)}}),T=(t,e,n,o=!1,s)=>A(void 0,null,function*(){var l;const i=e().annotation,{fileIndexChanged:d,fileIndex:u,basicIndexChanged:a,basicIndex:p}=w.getNextPageInfo(n,i,s),E=h(n);if(z(t,o),d){if(i.loading||!i.imgList[u]&&!(yield D(t,e,u)))return;(l=i.onPageChange)==null||l.call(i,u);const O=E===c.Backward?F(e().annotation,p):p;return H(t,u,E,O)}return a?V(t,p):t(f(E))}),q=t=>{t(f(c.Save)),t({type:r.SAVE_RESULT})},y=(t,e)=>{t({type:r.SET_LOADING,payload:{loading:e}})};export{q as ChangeSave,k as CopyBackWordResult,T as DispatcherTurning,M as InitTaskData,K as PageBackward,W as PageForward,X as PageJump,y as SetAnnotationLoading,I as SetTaskConfig,J as ToNextStep,f as ToSubmitFileData,L as UpdateGetFileData,C as UpdateGetFileList,P as UpdateOnPageChange,g as UpdateOnSave,U as UpdateOnStepChange,m as UpdateOnSubmit,v as UpdatePageSize,x as UpdateProcessingStep,b as UpdateRotate,G as UpdateToolInstance,D as loadImgList};
@@ -1 +1 @@
1
- {"version":3,"file":"actionCreators.js","sources":["../../../src/store/annotation/actionCreators.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { IStepInfo } from '@/types/step';\nimport {\n GetFileData,\n LoadFileList,\n IFileItem,\n OnPageChange,\n OnSave,\n OnStepChange,\n OnSubmit,\n} from '@/types/data';\nimport { AnnotationActionTypes, ToolInstance } from './types';\nimport { LoadFileAndFileData, getStepConfig } from './reducer';\nimport { ESubmitType } from '@/constant';\nimport { EPageTurningOperation } from '@/data/enums/AnnotationSize';\nimport PageOperator from '@/utils/PageOperator';\nimport { jsonParser } from '@/utils';\n\nconst dispatchTasks = (dispatch: any, tasks: any[]) => tasks.map((task) => dispatch(task));\n\n/**\n * @param {pageTurningOperation} pageTurningOperation 翻页操作\n * @returns {ESubmitType} 提数据交类型\n */\nconst getSubmitByPageOperation = (pageTurningOperation: EPageTurningOperation) => {\n if (pageTurningOperation === EPageTurningOperation.Forward) {\n return ESubmitType.Forward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Backward) {\n return ESubmitType.Backward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Jump) {\n return ESubmitType.Jump;\n }\n\n return ESubmitType.Forward;\n};\n\nconst getBasicIndex = (annotationStore: any, basicIndex: number) => {\n const { imgList, imgIndex } = annotationStore;\n const { dataSourceStep } = getStepConfig(annotationStore.stepList, annotationStore.step);\n let backwardResult = jsonParser(imgList[imgIndex - 1].result);\n const index = backwardResult[`step_${dataSourceStep}`]?.result?.length - 1;\n return index || basicIndex;\n};\n\nexport function UpdateToolInstance(toolInstance: ToolInstance): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE,\n payload: {\n toolInstance,\n },\n };\n}\n\nexport function UpdateImgList(imgList: IFileItem[]): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList,\n },\n };\n}\n\nexport function UpdateAnnotationConfig(config: string): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG,\n payload: {\n config,\n },\n };\n}\n\nexport function SetTaskConfig({\n stepList,\n step,\n}: {\n stepList: IStepInfo[];\n step: number;\n}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_CONFIG,\n payload: {\n stepList,\n step,\n },\n };\n}\n\nexport function UpdateOnSubmit(onSubmit: OnSubmit): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT,\n payload: {\n onSubmit,\n },\n };\n}\n\nexport function UpdateOnSave(onSave: OnSave): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SAVE,\n payload: {\n onSave,\n },\n };\n}\n\nexport function UpdateOnPageChange(onPageChange: OnPageChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE,\n payload: {\n onPageChange,\n },\n };\n}\n\nexport function UpdateOnStepChange(onStepChange: OnStepChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE,\n payload: {\n onStepChange,\n },\n };\n}\n\nexport function UpdateGetFileData(getFileData: GetFileData): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA,\n payload: {\n getFileData,\n },\n };\n}\n\nexport function UpdatePageSize(pageSize: number): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE,\n payload: {\n pageSize,\n },\n };\n}\n\nexport function UpdateGetFileList(loadFileList: LoadFileList): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST,\n payload: {\n loadFileList,\n },\n };\n}\n\nexport function UpdateRotate(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ROTATE,\n };\n}\n\nexport function CopyBackWordResult(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT,\n };\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function InitTaskData({\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n getFileData,\n pageSize,\n loadFileList,\n step,\n stepList,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n if (onPageChange) {\n tasks.push(UpdateOnPageChange(onPageChange));\n }\n\n if (onStepChange) {\n tasks.push(UpdateOnStepChange(onStepChange));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n if (loadFileList) {\n tasks.push(UpdateGetFileList(loadFileList));\n }\n \n if (pageSize) {\n tasks.push(UpdatePageSize(pageSize));\n }\n\n tasks.push(SetTaskConfig({ stepList, step }));\n\n tasks.push({\n type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS,\n });\n\n tasks.push({\n type: ANNOTATION_ACTIONS.INIT_TOOL,\n });\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/** 获取下一步的step */\nconst getNextStep = (step: number, stepList: any) => {\n const currentStepIndex = stepList?.findIndex((element: any) => element?.step === step);\n return stepList[currentStepIndex + 1]?.step;\n};\n\n/** 切换到下一步 */\nexport const ToNextStep = (pageNumber?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n const { step, stepList } = annotation;\n const nextStep = getNextStep(step, stepList);\n return [dispatch(UpdateProcessingStep(nextStep, pageNumber))];\n};\n\n/**\n * 更新当前操作的步骤\n * @param {number} toStep\n */\nexport const UpdateProcessingStep =\n (toStep: number, index?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n annotation?.onStepChange?.(toStep);\n const imgIndex = annotation?.imgIndex ?? 0;\n return [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({\n type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA,\n payload: { submitType: ESubmitType.StepChanged },\n }),\n // ToSubmitFileData(ESubmitType.StepChanged),\n dispatch({ type: ANNOTATION_ACTIONS.SET_STEP, payload: { toStep } }),\n dispatch({ type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS }),\n // 切换步骤保持图片位置\n dispatch(LoadFileAndFileData(index ?? imgIndex, 0)),\n ];\n };\n\n/**\n * 提交当前的文件数据\n * @param submitType\n */\nexport const ToSubmitFileData = (submitType: ESubmitType) => (dispatch: any) =>\n [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA, payload: { submitType } }),\n ];\n\n/**\n * 提交数据并且切换标注文件\n * @param dispatch\n * @param nextIndex\n * @param submitType\n * @param nextBasicIndex\n */\nconst SubmitAndChangeFileIndex = (\n dispatch: any,\n nextIndex: number,\n submitType: ESubmitType,\n nextBasicIndex?: number,\n) => [\n dispatch(ToSubmitFileData(submitType)),\n dispatch(LoadFileAndFileData(nextIndex, nextBasicIndex)),\n];\n\nconst ChangeBasicIndex = (dispatch: any, nextBasicIndex: number) => [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SET_BASIC_INDEX, payload: { basicIndex: nextBasicIndex } }),\n];\n\nconst ChangeTriggerEventAfterIndexChanged = (\n dispatch: any,\n triggerEventAfterIndexChanged: boolean,\n) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,\n payload: {\n triggerEventAfterIndexChanged,\n },\n });\n};\n\n/** 向前翻页 */\nexport const PageBackward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Backward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/** 向后翻页 */\nexport const PageForward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Forward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/**\n * 跳到指定文件索引\n * @param toIndex\n */\nexport const PageJump =\n (toIndex: number, triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n if (toIndex === getState().imgIndex) {\n return;\n }\n\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Jump,\n triggerEventAfterIndexChanged,\n toIndex,\n );\n };\n\n/**\n * 加载文件列表\n * @param dispatch\n * @param getState\n * @param nextIndex 需要加载的图片index\n * @param isInitial // 是否为初始化加载\n */\nexport const loadImgList = async (\n dispatch: any,\n getState: any,\n nextIndex: number,\n isInitial?: boolean,\n) => {\n const { loadFileList, imgList, pageSize } = getState().annotation;\n const page = Math.floor(nextIndex / pageSize);\n SetAnnotationLoading(dispatch, true);\n try {\n const res: any = await loadFileList(page, pageSize);\n SetAnnotationLoading(dispatch, false);\n if (!res?.fileList?.length || !res?.total) {\n throw new Error('fileList and total are required');\n }\n const newImgList = isInitial ? new Array(res.total) : [...imgList];\n newImgList.splice(page * pageSize, pageSize, ...res.fileList);\n dispatch({\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList: newImgList,\n },\n });\n return true;\n } catch (err) {\n SetAnnotationLoading(dispatch, false);\n console.error(err);\n }\n};\n\n/**\n * 判断翻页还是切换依赖数据\n * @param dispatch\n * @param getState\n * @param pageTurningOperation\n * @param toIndex\n */\nexport const DispatcherTurning = async (\n dispatch: any,\n getState: any,\n pageTurningOperation: EPageTurningOperation,\n triggerEventAfterIndexChanged = false,\n toIndex?: number,\n) => {\n const annotationStore = getState().annotation;\n const { fileIndexChanged, fileIndex, basicIndexChanged, basicIndex } =\n PageOperator.getNextPageInfo(pageTurningOperation, annotationStore, toIndex);\n\n const submitType: ESubmitType = getSubmitByPageOperation(pageTurningOperation);\n\n ChangeTriggerEventAfterIndexChanged(dispatch, triggerEventAfterIndexChanged);\n\n // 翻页\n if (fileIndexChanged) {\n if (annotationStore.loading) {\n return;\n }\n // 加载图片列表\n if (!annotationStore.imgList[fileIndex]) {\n const isSuccess = await loadImgList(dispatch, getState, fileIndex);\n if (!isSuccess) {\n // 加载失败不往下执行\n return;\n }\n }\n annotationStore.onPageChange?.(fileIndex);\n const index =\n submitType === ESubmitType.Backward\n ? getBasicIndex(getState().annotation, basicIndex)\n : basicIndex;\n return SubmitAndChangeFileIndex(dispatch, fileIndex, submitType, index);\n }\n\n if (basicIndexChanged) {\n return ChangeBasicIndex(dispatch, basicIndex);\n }\n\n return dispatch(ToSubmitFileData(submitType));\n};\n\n/**\n * 保存当前页数据\n * */\nexport const ChangeSave = (dispatch: Function) => {\n dispatch(ToSubmitFileData(ESubmitType.Save));\n dispatch({ type: ANNOTATION_ACTIONS.SAVE_RESULT });\n};\n\nexport const SetAnnotationLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n"],"names":["this"],"mappings":"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"}
1
+ {"version":3,"file":"actionCreators.js","sources":["../../../src/store/annotation/actionCreators.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { IStepInfo } from '@/types/step';\nimport {\n GetFileData,\n LoadFileList,\n IFileItem,\n OnPageChange,\n OnSave,\n OnStepChange,\n OnSubmit,\n} from '@/types/data';\nimport { AnnotationActionTypes, ToolInstance } from './types';\nimport { LoadFileAndFileData, getStepConfig } from './reducer';\nimport { ESubmitType } from '@/constant';\nimport { EPageTurningOperation } from '@/data/enums/AnnotationSize';\nimport PageOperator from '@/utils/PageOperator';\nimport { jsonParser } from '@/utils';\n\nconst dispatchTasks = (dispatch: any, tasks: any[]) => tasks.map((task) => dispatch(task));\n\n/**\n * @param {pageTurningOperation} pageTurningOperation 翻页操作\n * @returns {ESubmitType} 提数据交类型\n */\nconst getSubmitByPageOperation = (pageTurningOperation: EPageTurningOperation) => {\n if (pageTurningOperation === EPageTurningOperation.Forward) {\n return ESubmitType.Forward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Backward) {\n return ESubmitType.Backward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Jump) {\n return ESubmitType.Jump;\n }\n\n return ESubmitType.Forward;\n};\n\nconst getBasicIndex = (annotationStore: any, basicIndex: number) => {\n const { imgList, imgIndex } = annotationStore;\n const { dataSourceStep } = getStepConfig(annotationStore.stepList, annotationStore.step);\n let backwardResult = jsonParser(imgList[imgIndex - 1].result);\n const index = backwardResult[`step_${dataSourceStep}`]?.result?.length - 1;\n return index || basicIndex;\n};\n\nexport function UpdateToolInstance(toolInstance: ToolInstance): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE,\n payload: {\n toolInstance,\n },\n };\n}\n\nexport function UpdateImgList(imgList: IFileItem[]): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList,\n },\n };\n}\n\nexport function UpdateAnnotationConfig(config: string): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG,\n payload: {\n config,\n },\n };\n}\n\nexport function SetTaskConfig({\n stepList,\n step,\n}: {\n stepList: IStepInfo[];\n step: number;\n}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_CONFIG,\n payload: {\n stepList,\n step,\n },\n };\n}\n\nexport function UpdateOnSubmit(onSubmit: OnSubmit): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT,\n payload: {\n onSubmit,\n },\n };\n}\n\nexport function UpdateOnSave(onSave: OnSave): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SAVE,\n payload: {\n onSave,\n },\n };\n}\n\nexport function UpdateOnPageChange(onPageChange: OnPageChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE,\n payload: {\n onPageChange,\n },\n };\n}\n\nexport function UpdateOnStepChange(onStepChange: OnStepChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE,\n payload: {\n onStepChange,\n },\n };\n}\n\nexport function UpdateGetFileData(getFileData: GetFileData): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA,\n payload: {\n getFileData,\n },\n };\n}\n\nexport function UpdatePageSize(pageSize: number): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE,\n payload: {\n pageSize,\n },\n };\n}\n\nexport function UpdateGetFileList(loadFileList: LoadFileList): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST,\n payload: {\n loadFileList,\n },\n };\n}\n\nexport function UpdateRotate(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ROTATE,\n };\n}\n\nexport function CopyBackWordResult(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT,\n };\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function InitTaskData({\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n getFileData,\n pageSize,\n loadFileList,\n step,\n stepList,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n if (onPageChange) {\n tasks.push(UpdateOnPageChange(onPageChange));\n }\n\n if (onStepChange) {\n tasks.push(UpdateOnStepChange(onStepChange));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n if (loadFileList) {\n tasks.push(UpdateGetFileList(loadFileList));\n }\n \n if (pageSize) {\n tasks.push(UpdatePageSize(pageSize));\n }\n\n tasks.push(SetTaskConfig({ stepList, step }));\n\n tasks.push({\n type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS,\n });\n\n tasks.push({\n type: ANNOTATION_ACTIONS.INIT_TOOL,\n });\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/** 获取下一步的step */\nconst getNextStep = (step: number, stepList: any) => {\n const currentStepIndex = stepList?.findIndex((element: any) => element?.step === step);\n return stepList[currentStepIndex + 1]?.step;\n};\n\n/** 切换到下一步 */\nexport const ToNextStep = (pageNumber?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n const { step, stepList } = annotation;\n const nextStep = getNextStep(step, stepList);\n return [dispatch(UpdateProcessingStep(nextStep, pageNumber))];\n};\n\n/**\n * 更新当前操作的步骤\n * @param {number} toStep\n */\nexport const UpdateProcessingStep =\n (toStep: number, index?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n annotation?.onStepChange?.(toStep);\n const imgIndex = annotation?.imgIndex ?? 0;\n return [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({\n type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA,\n payload: { submitType: ESubmitType.StepChanged },\n }),\n // ToSubmitFileData(ESubmitType.StepChanged),\n dispatch({ type: ANNOTATION_ACTIONS.SET_STEP, payload: { toStep } }),\n dispatch({ type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS }),\n // 切换步骤保持图片位置\n dispatch(LoadFileAndFileData(index ?? imgIndex, 0)),\n ];\n };\n\n/**\n * 提交当前的文件数据\n * @param submitType\n */\nexport const ToSubmitFileData = (submitType: ESubmitType) => (dispatch: any) =>\n [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA, payload: { submitType } }),\n ];\n\n/**\n * 提交数据并且切换标注文件\n * @param dispatch\n * @param nextIndex\n * @param submitType\n * @param nextBasicIndex\n */\nconst SubmitAndChangeFileIndex = (\n dispatch: any,\n nextIndex: number,\n submitType: ESubmitType,\n nextBasicIndex?: number,\n) => [\n dispatch(ToSubmitFileData(submitType)),\n dispatch(LoadFileAndFileData(nextIndex, nextBasicIndex)),\n];\n\nconst ChangeBasicIndex = (dispatch: any, nextBasicIndex: number) => [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SET_BASIC_INDEX, payload: { basicIndex: nextBasicIndex } }),\n];\n\nconst ChangeTriggerEventAfterIndexChanged = (\n dispatch: any,\n triggerEventAfterIndexChanged: boolean,\n) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,\n payload: {\n triggerEventAfterIndexChanged,\n },\n });\n};\n\n/** 向前翻页 */\nexport const PageBackward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Backward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/** 向后翻页 */\nexport const PageForward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Forward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/**\n * 跳到指定文件索引\n * @param toIndex\n */\nexport const PageJump =\n (toIndex: number, triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n if (toIndex === getState().imgIndex) {\n return;\n }\n\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Jump,\n triggerEventAfterIndexChanged,\n toIndex,\n );\n };\n\n/**\n * 加载文件列表\n * @param dispatch\n * @param getState\n * @param nextIndex 需要加载的图片index\n * @param isInitial // 是否为初始化加载\n */\nexport const loadImgList = async (\n dispatch: any,\n getState: any,\n nextIndex: number,\n isInitial?: boolean,\n) => {\n const { loadFileList, imgList, pageSize } = getState().annotation;\n const page = Math.floor(nextIndex / pageSize);\n SetAnnotationLoading(dispatch, true);\n try {\n const res: any = await loadFileList(page, pageSize);\n SetAnnotationLoading(dispatch, false);\n if (!res?.fileList?.length || !res?.total) {\n throw new Error('fileList and total are required');\n }\n const newImgList = isInitial ? new Array(res.total) : [...imgList];\n newImgList.splice(page * pageSize, pageSize, ...res.fileList);\n dispatch({\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList: newImgList,\n },\n });\n return true;\n } catch (err) {\n SetAnnotationLoading(dispatch, false);\n console.error(err);\n }\n};\n\n/**\n * 判断翻页还是切换依赖数据\n * @param dispatch\n * @param getState\n * @param pageTurningOperation\n * @param toIndex\n */\nexport const DispatcherTurning = async (\n dispatch: any,\n getState: any,\n pageTurningOperation: EPageTurningOperation,\n triggerEventAfterIndexChanged = false,\n toIndex?: number,\n) => {\n const annotationStore = getState().annotation;\n const { fileIndexChanged, fileIndex, basicIndexChanged, basicIndex } =\n PageOperator.getNextPageInfo(pageTurningOperation, annotationStore, toIndex);\n\n const submitType: ESubmitType = getSubmitByPageOperation(pageTurningOperation);\n\n ChangeTriggerEventAfterIndexChanged(dispatch, triggerEventAfterIndexChanged);\n\n // 翻页\n if (fileIndexChanged) {\n if (annotationStore.loading) {\n return;\n }\n // 加载图片列表\n if (!annotationStore.imgList[fileIndex]) {\n const isSuccess = await loadImgList(dispatch, getState, fileIndex);\n if (!isSuccess) {\n // 加载失败不往下执行\n return;\n }\n }\n annotationStore.onPageChange?.(fileIndex);\n const index =\n submitType === ESubmitType.Backward\n ? getBasicIndex(getState().annotation, basicIndex)\n : basicIndex;\n return SubmitAndChangeFileIndex(dispatch, fileIndex, submitType, index);\n }\n\n if (basicIndexChanged) {\n return ChangeBasicIndex(dispatch, basicIndex);\n }\n\n return dispatch(ToSubmitFileData(submitType));\n};\n\n/**\n * 保存当前页数据\n * */\nexport const ChangeSave = (dispatch: Function) => {\n dispatch(ToSubmitFileData(ESubmitType.Save));\n dispatch({ type: ANNOTATION_ACTIONS.SAVE_RESULT });\n};\n\nexport const SetAnnotationLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n"],"names":["this"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ const o=t=>{const{annotation:{imgList:n,imgIndex:a}}=t;return{currentData:n[a]}};export{o as aMapStateToProps};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.js","sources":["../../../src/store/annotation/map.ts"],"sourcesContent":["/**\n * @file MapStateToProps set\n * @createdate 2022-07-19\n * @author Ron <ron.f.luo@gmail.com>\n */\nimport { AppState } from '../index';\nimport { IFileItem } from '@/types/data';\n\nexport const aMapStateToProps = (state: AppState) => {\n const {\n annotation: { imgList, imgIndex },\n } = state;\n const currentData = imgList[imgIndex];\n\n return {\n currentData,\n };\n};\n\nexport interface IAnnotationStateProps {\n currentData: IFileItem;\n}"],"names":[],"mappings":"AAQa,MAAA,gBAAA,GAAmB,CAAC,KAAoB,KAAA;AACnD,EAAM,MAAA;AAAA,IACJ,UAAA,EAAY,CAAE,OAAS,EAAA,QAAA,CAAA;AAAA,GACrB,GAAA,KAAA,CAAA;AACJ,EAAA,MAAM,cAAc,OAAQ,CAAA,QAAA,CAAA,CAAA;AAE5B,EAAO,OAAA;AAAA,IACL,WAAA;AAAA,GAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- import{getFormatSize as le}from"../../components/customResizeHook/index.js";import ie from"../../constant/styleString.js";import{ANNOTATION_ACTIONS as i}from"../Actions.js";import{jsonParser as b}from"../../utils/index.js";import B from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as re}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as ue,composeResult as ae}from"../../utils/data.js";import j from"../../utils/StepUtils.js";import{CommonToolUtils as ce,AnnotationEngine as de,ImgUtils as pe,cTool as ge}from"@labelbee/lb-annotation";import{i18n as J}from"@labelbee/lb-utils";import{message as Y}from"antd/es";import fe from"lodash";import{SetAnnotationLoading as U}from"./actionCreators.js";var _e=Object.defineProperty,me=Object.defineProperties,Ie=Object.getOwnPropertyDescriptors,Z=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Q=(e,t,o)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,r=(e,t)=>{for(var o in t||(t={}))ve.call(t,o)&&Q(e,o,t[o]);if(Z)for(var o of Z(t))Se.call(t,o)&&Q(e,o,t[o]);return e},a=(e,t)=>me(e,Ie(t)),ee=(e,t,o)=>new Promise((g,d)=>{var _=f=>{try{E(o.next(f))}catch(y){d(y)}},v=f=>{try{E(o.throw(f))}catch(y){d(y)}},E=f=>f.done?g(f.value):Promise.resolve(f.value).then(_,v);E((o=o.apply(e,t)).next())});const{EVideoToolName:Ee}=ge,P=(e,t)=>e.find(o=>o.step===t),Le={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,triggerEventAfterIndexChanged:!1},Ae=e=>{const{imgList:t,imgPageSize:o}=e;return Math.ceil(t.length/o)},te=(e,t)=>e.reduce((o,g)=>{if(g){const d=g.result;if(b(d)[`step_${t}`])return o+1}return o},0)/e.length,Te=(e,t)=>{const{step:o,stepList:g}=e,d=j.getCurrentStepInfo(o,g),_=re.jsonParser(d.config);if(Object.values(Ee).includes(d.tool))return;const v=document.getElementById("toolContainer");if(!v)throw"Not exist dom named id-toolContainer";const E=le({width:window.innerWidth,height:window.innerHeight}),f=new de({container:v,toolName:d.tool,size:E,imgNode:t,config:_,style:JSON.parse(ie)});return{toolInstance:f==null?void 0:f.toolInstance,annotationEngine:f}},De=(e,t)=>(o,g)=>ee(void 0,null,function*(){const{stepList:d,step:_}=g().annotation,v=j.currentToolIsVideo(_,d);if(U(o,!0),o(ye(e)),v){o(Oe(e));return}o(Pe(e,t))}),ye=e=>(t,o)=>ee(void 0,null,function*(){const{getFileData:g,imgList:d}=o().annotation;if(g){const _=yield g(d[e],e);t({type:i.SET_FILE_DATA,payload:{fileData:_,index:e}})}}),Oe=e=>t=>{U(t,!1),t({type:i.LOAD_FILE_DATA,payload:{nextIndex:e}})},Pe=(e,t)=>(o,g)=>{var d;const{toolInstance:_,imgList:v}=g().annotation,E=(d=v==null?void 0:v[e])==null?void 0:d.url;pe.load(E).then(f=>{U(o,!1),o({type:i.LOAD_FILE_DATA,payload:{imgNode:f,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{U(o,!1),_==null||_.setErrorImg(),o({type:i.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},Re=(e=Le,t)=>{var o,g,d,_,v,E,f,y,x,G,z,V,H,M,$,W,k,K;switch(t.type){case i.UPDATE_TOOL_INSTANCE:return a(r({},e),{toolInstance:t.payload.toolInstance});case i.UPDATE_IMG_LIST:return a(r({},e),{imgList:t.payload.imgList});case i.CALC_STEP_PROGRESS:{const{imgList:n,step:s}=e,l=te(n,s);return a(r({},e),{stepProgress:l})}case i.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:s,step:l,stepList:u,toolInstance:p,onSubmit:c,resultList:S}=e;if(!p||!n[s])return e;const m=((o=n[s])==null?void 0:o.result)||"",[,I]=(g=p==null?void 0:p.exportData())!=null?g:[],L=ue(m,I),D=ae(L,{step:l,stepList:u},{rect:S});n[s].result=B.dataCorrection(D,m,l,u),c&&c([n[s]],(d=t.payload)==null?void 0:d.submitType,s);const A=te(n,l);return a(r({},e),{stepProgress:A,imgList:n})}case i.SAVE_RESULT:{const{imgList:n,imgIndex:s,onSave:l}=e;return l==null||l(n[s],s,n),r({},e)}case i.SUBMIT_RESULT:{const{imgList:n,basicIndex:s,resultList:l,toolInstance:u,basicResultList:p}=e;if(!u)return e;const[c]=(_=u==null?void 0:u.exportData())!=null?_:[];let S=c;if((p==null?void 0:p.length)>0){const m=(v=p[s])==null?void 0:v.id,I=c.map(L=>a(r({},L),{sourceID:m}));S=fe.cloneDeep(l).filter(L=>L.sourceID!==m),S.push(...I)}return a(r({},e),{resultList:S,imgList:n})}case i.SET_BASIC_INDEX:{const{toolInstance:n,step:s,imgList:l,imgIndex:u,stepList:p,annotationEngine:c,resultList:S,basicResultList:m}=e;if(!n||!c)return e;const I=t.payload.basicIndex,L=(E=m[I])==null?void 0:E.id,D=b((f=l[u])==null?void 0:f.result),A=(S||[]).filter(w=>w.sourceID===L),R=P(p,s),{dataSourceStep:C,tool:F}=R,h=P(p,C);let T=[];return C&&F&&(T=(y=D[`step_${C}`])==null?void 0:y.result,(T==null?void 0:T.length)>0?(c==null||c.setBasicInfo(h.tool,T[I]),c==null||c.launchOperation()):(c==null||c.setBasicInfo(h.tool),c==null||c.forbidOperation(),Y.info(J.t("NoDependency")))),n==null||n.setResult(A),n==null||n.history.initRecord(A,!0),a(r({},e),{basicIndex:I})}case i.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:n}=t.payload;return a(r({},e),{triggerEventAfterIndexChanged:!!n})}case i.LOAD_FILE_DATA:{const{imgList:n,step:s,toolInstance:l,annotationEngine:u,stepList:p}=e;if(!l)return e;const c=j.getCurrentStepInfo(s,p),{nextIndex:S,imgNode:m,nextBasicIndex:I,imgError:L}=t.payload,D=I!=null?I:0,A=b((x=n[S])==null?void 0:x.result),R=A[`step_${s}`],C=!R,F={rotate:(G=A.rotate)!=null?G:0,valid:(z=A.valid)!=null?z:!0};m&&L!==!0&&(u==null||u.setImgNode(m,F));const h=P(p,s),{dataSourceStep:T,tool:w}=h,X=P(p,T),q=T&&w,O=(H=(V=A[`step_${T}`])==null?void 0:V.result)!=null?H:[],N=B.getInitialResultList(R==null?void 0:R.result,l,h,O,C);if(u==null||u.launchOperation(),q&&((O==null?void 0:O.length)>0?u==null||u.setBasicInfo(X.tool,O[D]):(u==null||u.setBasicInfo(X.tool),u==null||u.forbidOperation(),Y.info(J.t("NoDependency")))),c.tool!=="check"){const ne=($=(M=O[D])==null?void 0:M.id)!=null?$:"",oe=q?N.filter(se=>ce.isSameSourceID(se.sourceID,ne)):N;l==null||l.setResult(oe),l==null||l.history.initRecord(N,!0)}return a(r({},e),{imgIndex:S,basicIndex:D,basicResultList:O,resultList:N})}case i.UPDATE_ANNOTATION_CONFIG:return a(r({},e),{config:(W=t.payload.config)!=null?W:"{}"});case i.SET_TASK_CONFIG:{const{stepList:n,step:s}=t.payload;return a(r({},e),{stepList:n,step:s})}case i.INIT_TOOL:{const{imgNode:n}=e,s=Te(e,n);if(s){const{toolInstance:l,annotationEngine:u}=s;return a(r({},e),{toolInstance:l,annotationEngine:u})}return r({},e)}case i.SET_TOOL:{const n=(k=t.payload)==null?void 0:k.instance;return n?a(r({},e),{toolInstance:n}):r({},e)}case i.UPDATE_ON_SUBMIT:return a(r({},e),{onSubmit:t.payload.onSubmit});case i.UPDATE_ON_SAVE:return a(r({},e),{onSave:t.payload.onSave});case i.UPDATE_ON_PAGE_CHANGE:return a(r({},e),{onPageChange:t.payload.onPageChange});case i.UPDATE_ON_STEP_CHANGE:return a(r({},e),{onStepChange:t.payload.onStepChange});case i.UPDATE_GET_FILE_DATA:return a(r({},e),{getFileData:t.payload.getFileData});case i.UPDATE_PAGE_SIZE:return a(r({},e),{pageSize:t.payload.pageSize});case i.UPDATE_LOAD_FILE_LIST:return a(r({},e),{loadFileList:t.payload.loadFileList});case i.SET_FILE_DATA:{const{fileData:n,index:s}=t.payload,{imgList:l}=e;return l[s]=r(r({},l[s]),n),a(r({},e),{imgList:l})}case i.UPDATE_ROTATE:{const{toolInstance:n}=e;return n==null||n.updateRotate(),e}case i.COPY_BACKWARD_RESULT:{const{toolInstance:n,imgIndex:s,imgList:l,step:u}=e;if(!n)return e;if(s===0||s>=l.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const p=l[s-1].result;if(!p)return e;const c=B.copyResultChange(p,u,(K=l[s].result)!=null?K:"");l[s].result=c;const m=b(c)[`step_${u}`],I=(m==null?void 0:m.result)||[];return n==null||n.setResult(I),n==null||n.history.pushHistory(I),a(r({},e),{imgList:[...l]})}case i.SET_STEP:{const{stepList:n,annotationEngine:s}=e,{toStep:l}=t.payload;if(!s)return e;const u=P(n,l);return s==null||s.setToolName(u.tool,u.config),a(r({},e),{step:l,toolInstance:s==null?void 0:s.toolInstance})}case i.SET_LOADING:{const{loading:n}=t.payload;return a(r({},e),{loading:!!n})}default:return e}};export{De as LoadFileAndFileData,Re as annotationReducer,P as getStepConfig,Ae as getTotalPage};
1
+ import{getFormatSize as ut}from"../../components/customResizeHook/index.js";import at from"../../constant/styleString.js";import{ANNOTATION_ACTIONS as r}from"../Actions.js";import{jsonParser as b}from"../../utils/index.js";import x from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as ct}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as dt,composeResult as pt}from"../../utils/data.js";import U from"../../utils/StepUtils.js";import Z from"../../utils/ToolUtils.js";import{CommonToolUtils as gt,AnnotationEngine as ft,ImgUtils as _t}from"@labelbee/lb-annotation";import{i18n as Q}from"@labelbee/lb-utils";import{message as tt}from"antd/es";import mt from"lodash";import{SetAnnotationLoading as F}from"./actionCreators.js";var It=Object.defineProperty,vt=Object.defineProperties,St=Object.getOwnPropertyDescriptors,et=Object.getOwnPropertySymbols,Et=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,ot=(t,e,n)=>e in t?It(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,i=(t,e)=>{for(var n in e||(e={}))Et.call(e,n)&&ot(t,n,e[n]);if(et)for(var n of et(e))Tt.call(e,n)&&ot(t,n,e[n]);return t},a=(t,e)=>vt(t,St(e)),nt=(t,e,n)=>new Promise((g,c)=>{var _=f=>{try{S(n.next(f))}catch(P){c(P)}},v=f=>{try{S(n.throw(f))}catch(P){c(P)}},S=f=>f.done?g(f.value):Promise.resolve(f.value).then(_,v);S((n=n.apply(t,e)).next())});const C=(t,e)=>t.find(n=>n.step===e),Lt={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,triggerEventAfterIndexChanged:!1},At=t=>{const{imgList:e,imgPageSize:n}=t;return Math.ceil(e.length/n)},st=(t,e)=>t.reduce((n,g)=>{if(g){const c=g.result;if(b(c)[`step_${e}`])return n+1}return n},0)/t.length,Dt=(t,e)=>{const{step:n,stepList:g}=t,c=U.getCurrentStepInfo(n,g),_=ct.jsonParser(c.config);if(Z.isVideoTool(c==null?void 0:c.tool)||Z.isPointCloudTool(c==null?void 0:c.tool))return;const v=document.getElementById("toolContainer");if(!v)throw"Not exist dom named id-toolContainer";const S=ut({width:window.innerWidth,height:window.innerHeight}),f=new ft({container:v,toolName:c.tool,size:S,imgNode:e,config:_,style:JSON.parse(at)});return{toolInstance:f==null?void 0:f.toolInstance,annotationEngine:f}},yt=(t,e)=>(n,g)=>nt(void 0,null,function*(){const{stepList:c,step:_}=g().annotation,v=U.currentToolIsVideo(_,c),S=U.currentToolIsPointCloud(_,c);if(F(n,!0),n(Pt(t)),v||S){n(Ot(t));return}n(Ct(t,e))}),Pt=t=>(e,n)=>nt(void 0,null,function*(){const{getFileData:g,imgList:c}=n().annotation;if(g){const _=yield g(c[t],t);e({type:r.SET_FILE_DATA,payload:{fileData:_,index:t}})}}),Ot=t=>e=>{F(e,!1),e({type:r.LOAD_FILE_DATA,payload:{nextIndex:t}})},Ct=(t,e)=>(n,g)=>{var c;const{toolInstance:_,imgList:v}=g().annotation,S=(c=v==null?void 0:v[t])==null?void 0:c.url;_t.load(S).then(f=>{F(n,!1),n({type:r.LOAD_FILE_DATA,payload:{imgNode:f,nextIndex:t,nextBasicIndex:e}})}).catch(()=>{F(n,!1),_==null||_.setErrorImg(),n({type:r.LOAD_FILE_DATA,payload:{nextIndex:t,nextBasicIndex:e}})})},Rt=(t=Lt,e)=>{var n,g,c,_,v,S,f,P,B,G,z,V,H,M,$,W,k,K,X,q;switch(e.type){case r.UPDATE_TOOL_INSTANCE:return a(i({},t),{toolInstance:e.payload.toolInstance});case r.UPDATE_IMG_LIST:return a(i({},t),{imgList:e.payload.imgList});case r.CALC_STEP_PROGRESS:{const{imgList:o,step:s}=t,l=st(o,s);return a(i({},t),{stepProgress:l})}case r.SUBMIT_FILE_DATA:{const{imgList:o,imgIndex:s,step:l,stepList:u,toolInstance:d,onSubmit:p,resultList:E}=t;if(!d||!o[s])return t;const m=((n=o[s])==null?void 0:n.result)||"",[,I]=(g=d==null?void 0:d.exportData())!=null?g:[],T=(_=(c=d==null?void 0:d.exportCustomData)==null?void 0:c.call(d))!=null?_:{},D=dt(m,I),L=pt(D,{step:l,stepList:u},{rect:E},T);o[s].result=x.dataCorrection(L,m,l,u),p&&p([o[s]],(v=e.payload)==null?void 0:v.submitType,s);const y=st(o,l);return a(i({},t),{stepProgress:y,imgList:o})}case r.SAVE_RESULT:{const{imgList:o,imgIndex:s,onSave:l}=t;return l==null||l(o[s],s,o),i({},t)}case r.SUBMIT_RESULT:{const{imgList:o,basicIndex:s,resultList:l,toolInstance:u,basicResultList:d}=t;if(!u)return t;const[p]=(S=u==null?void 0:u.exportData())!=null?S:[];let E=p;if((d==null?void 0:d.length)>0){const m=(f=d[s])==null?void 0:f.id,I=p.map(T=>a(i({},T),{sourceID:m}));E=mt.cloneDeep(l).filter(T=>T.sourceID!==m),E.push(...I)}return a(i({},t),{resultList:E,imgList:o})}case r.SET_BASIC_INDEX:{const{toolInstance:o,step:s,imgList:l,imgIndex:u,stepList:d,annotationEngine:p,resultList:E,basicResultList:m}=t;if(!o||!p)return t;const I=e.payload.basicIndex,T=(P=m[I])==null?void 0:P.id,D=b((B=l[u])==null?void 0:B.result),L=(E||[]).filter(j=>j.sourceID===T),y=C(d,s),{dataSourceStep:R,tool:w}=y,h=C(d,R);let A=[];return R&&w&&(A=(G=D[`step_${R}`])==null?void 0:G.result,(A==null?void 0:A.length)>0?(p==null||p.setBasicInfo(h.tool,A[I]),p==null||p.launchOperation()):(p==null||p.setBasicInfo(h.tool),p==null||p.forbidOperation(),tt.info(Q.t("NoDependency")))),o==null||o.setResult(L),o==null||o.history.initRecord(L,!0),a(i({},t),{basicIndex:I})}case r.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:o}=e.payload;return a(i({},t),{triggerEventAfterIndexChanged:!!o})}case r.LOAD_FILE_DATA:{const{imgList:o,step:s,toolInstance:l,annotationEngine:u,stepList:d}=t;if(!l)return a(i({},t),{imgIndex:e.payload.nextIndex});const p=U.getCurrentStepInfo(s,d),{nextIndex:E,imgNode:m,nextBasicIndex:I,imgError:T}=e.payload,D=I!=null?I:0,L=b((z=o[E])==null?void 0:z.result),y=L[`step_${s}`],R=!y,w={rotate:(V=L.rotate)!=null?V:0,valid:(H=L.valid)!=null?H:!0};m&&T!==!0&&(u==null||u.setImgNode(m,w));const h=C(d,s),{dataSourceStep:A,tool:j}=h,J=C(d,A),Y=A&&j,O=($=(M=L[`step_${A}`])==null?void 0:M.result)!=null?$:[],N=x.getInitialResultList(y==null?void 0:y.result,l,h,O,R);if(u==null||u.launchOperation(),Y&&((O==null?void 0:O.length)>0?u==null||u.setBasicInfo(J.tool,O[D]):(u==null||u.setBasicInfo(J.tool),u==null||u.forbidOperation(),tt.info(Q.t("NoDependency")))),p.tool!=="check"){const lt=(k=(W=O[D])==null?void 0:W.id)!=null?k:"",it=Y?N.filter(rt=>gt.isSameSourceID(rt.sourceID,lt)):N;l==null||l.setResult(it),l==null||l.history.initRecord(N,!0)}return a(i({},t),{imgIndex:E,basicIndex:D,basicResultList:O,resultList:N})}case r.UPDATE_ANNOTATION_CONFIG:return a(i({},t),{config:(K=e.payload.config)!=null?K:"{}"});case r.SET_TASK_CONFIG:{const{stepList:o,step:s}=e.payload;return a(i({},t),{stepList:o,step:s})}case r.INIT_TOOL:{const{imgNode:o}=t,s=Dt(t,o);if(s){const{toolInstance:l,annotationEngine:u}=s;return a(i({},t),{toolInstance:l,annotationEngine:u})}return i({},t)}case r.SET_TOOL:{const o=(X=e.payload)==null?void 0:X.instance;return o?a(i({},t),{toolInstance:o}):i({},t)}case r.UPDATE_ON_SUBMIT:return a(i({},t),{onSubmit:e.payload.onSubmit});case r.UPDATE_ON_SAVE:return a(i({},t),{onSave:e.payload.onSave});case r.UPDATE_ON_PAGE_CHANGE:return a(i({},t),{onPageChange:e.payload.onPageChange});case r.UPDATE_ON_STEP_CHANGE:return a(i({},t),{onStepChange:e.payload.onStepChange});case r.UPDATE_GET_FILE_DATA:return a(i({},t),{getFileData:e.payload.getFileData});case r.UPDATE_PAGE_SIZE:return a(i({},t),{pageSize:e.payload.pageSize});case r.UPDATE_LOAD_FILE_LIST:return a(i({},t),{loadFileList:e.payload.loadFileList});case r.SET_FILE_DATA:{const{fileData:o,index:s}=e.payload,{imgList:l}=t;return l[s]=i(i({},l[s]),o),a(i({},t),{imgList:l})}case r.UPDATE_ROTATE:{const{toolInstance:o}=t;return o==null||o.updateRotate(),t}case r.COPY_BACKWARD_RESULT:{const{toolInstance:o,imgIndex:s,imgList:l,step:u}=t;if(!o)return t;if(s===0||s>=l.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),t;const d=l[s-1].result;if(!d)return t;const p=x.copyResultChange(d,u,(q=l[s].result)!=null?q:"");l[s]=a(i({},l[s]),{result:p});const m=b(p)[`step_${u}`],I=(m==null?void 0:m.result)||[];return o==null||o.setResult(I),o==null||o.history.pushHistory(I),a(i({},t),{imgList:[...l]})}case r.SET_STEP:{const{stepList:o,annotationEngine:s}=t,{toStep:l}=e.payload;if(!s)return t;const u=C(o,l);return s==null||s.setToolName(u.tool,u.config),a(i({},t),{step:l,toolInstance:s==null?void 0:s.toolInstance})}case r.SET_LOADING:{const{loading:o}=e.payload;return a(i({},t),{loading:!!o})}default:return t}};export{yt as LoadFileAndFileData,Rt as annotationReducer,C as getStepConfig,At as getTotalPage};
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../src/store/annotation/reducer.ts"],"sourcesContent":["import { getFormatSize } from '@/components/customResizeHook';\nimport styleString from '@/constant/styleString';\nimport { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { jsonParser } from '@/utils';\nimport AnnotationDataUtils from '@/utils/AnnotationDataUtils';\nimport { ConfigUtils } from '@/utils/ConfigUtils';\nimport { composeResult, composeResultWithBasicImgInfo } from '@/utils/data';\nimport StepUtils from '@/utils/StepUtils';\nimport { AnnotationEngine, CommonToolUtils, ImgUtils, cTool } from '@labelbee/lb-annotation';\nimport { i18n } from '@labelbee/lb-utils';\nimport { message } from 'antd/es';\nimport _ from 'lodash';\nimport { SetAnnotationLoading } from './actionCreators';\nimport { AnnotationActionTypes, AnnotationState } from './types';\nconst { EVideoToolName } = cTool;\n\nexport const getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n\nconst initialState: AnnotationState = {\n annotationEngine: null,\n toolInstance: null,\n imgList: [],\n config: '{}',\n imgIndex: -1,\n basicIndex: 0,\n imgPageSize: 1,\n step: 1,\n stepList: [],\n imgNode: new Image(),\n basicResultList: [],\n resultList: [],\n stepProgress: 0,\n loading: false,\n triggerEventAfterIndexChanged: false,\n};\n\n/**\n * 获取当前文件列表的总页数\n * @param state\n */\nexport const getTotalPage = (state: AnnotationState) => {\n const { imgList, imgPageSize } = state;\n return Math.ceil(imgList.length / imgPageSize);\n};\n\nconst calcStepProgress = (fileList: any[], step: number) =>\n fileList.reduce((pre, i) => {\n if (i) {\n const resultStr = i.result;\n const resultObject = jsonParser(resultStr);\n if (resultObject[`step_${step}`]) {\n return pre + 1;\n }\n }\n return pre;\n }, 0) / fileList.length;\n\nconst updateToolInstance = (annotation: AnnotationState, imgNode: HTMLImageElement) => {\n const { step, stepList } = annotation;\n const stepConfig = StepUtils.getCurrentStepInfo(step, stepList);\n const config = ConfigUtils.jsonParser(stepConfig.config);\n\n // 视频工具不支持实例化\n if ((Object.values(EVideoToolName) as string[]).includes(stepConfig.tool)) {\n return;\n }\n\n const container = document.getElementById('toolContainer');\n\n if (!container) {\n throw `Not exist dom named id-toolContainer`;\n }\n\n const canvasSize = getFormatSize({ width: window.innerWidth, height: window.innerHeight });\n const annotationEngine = new AnnotationEngine({\n container,\n toolName: stepConfig.tool,\n size: canvasSize,\n imgNode,\n config,\n style: JSON.parse(styleString),\n });\n\n return { toolInstance: annotationEngine?.toolInstance, annotationEngine };\n};\n\n/**\n * 初始化imgNode并加载数据\n * @param nextIndex\n * @param nextBasicIndex\n */\nexport const LoadFileAndFileData =\n (nextIndex: number, nextBasicIndex?: number): any =>\n async (dispatch: any, getState: any) => {\n const { stepList, step } = getState().annotation;\n const currentIsVideo = StepUtils.currentToolIsVideo(step, stepList);\n\n SetAnnotationLoading(dispatch, true);\n\n dispatch(TryGetFileDataByAPI(nextIndex));\n\n if (currentIsVideo) {\n dispatch(AfterVideoLoaded(nextIndex));\n return;\n }\n\n dispatch(AfterImageLoaded(nextIndex, nextBasicIndex));\n };\n\n/**\n * 支持并优先外部传入的获取文件接口\n * @param nextIndex\n */\nconst TryGetFileDataByAPI = (nextIndex: number) => async (dispatch: any, getState: any) => {\n const { getFileData, imgList } = getState().annotation;\n if (getFileData) {\n const fileData = await getFileData(imgList[nextIndex], nextIndex);\n dispatch({\n type: ANNOTATION_ACTIONS.SET_FILE_DATA,\n payload: {\n fileData,\n index: nextIndex,\n },\n });\n }\n};\n\nconst AfterVideoLoaded = (nextIndex: number) => (dispatch: any) => {\n SetAnnotationLoading(dispatch, false);\n\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n nextIndex,\n },\n });\n};\n\nconst AfterImageLoaded =\n (nextIndex: number, nextBasicIndex?: number) => (dispatch: any, getState: any) => {\n const { toolInstance, imgList } = getState().annotation;\n const url = imgList?.[nextIndex]?.url;\n ImgUtils.load(url)\n .then((imgNode: HTMLImageElement) => {\n SetAnnotationLoading(dispatch, false);\n\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n imgNode,\n nextIndex,\n nextBasicIndex,\n },\n });\n })\n .catch(() => {\n SetAnnotationLoading(dispatch, false);\n toolInstance?.setErrorImg();\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n nextIndex,\n nextBasicIndex,\n },\n });\n });\n };\n\nexport const annotationReducer = (\n state = initialState,\n action: AnnotationActionTypes,\n): AnnotationState => {\n switch (action.type) {\n case ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE: {\n return {\n ...state,\n toolInstance: action.payload.toolInstance,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_IMG_LIST: {\n return {\n ...state,\n imgList: action.payload.imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.CALC_STEP_PROGRESS: {\n const { imgList, step } = state;\n\n const stepProgress = calcStepProgress(imgList, step);\n\n return {\n ...state,\n stepProgress,\n };\n }\n\n case ANNOTATION_ACTIONS.SUBMIT_FILE_DATA: {\n const { imgList, imgIndex, step, stepList, toolInstance, onSubmit, resultList } = state;\n if (!toolInstance || !imgList[imgIndex]) {\n return state;\n }\n\n const oldResultString = imgList[imgIndex]?.result || '';\n const [, basicImgInfo] = toolInstance?.exportData() ?? [];\n\n const resultWithBasicInfo = composeResultWithBasicImgInfo(oldResultString, basicImgInfo);\n const newResultString = composeResult(\n resultWithBasicInfo,\n { step, stepList },\n { rect: resultList },\n );\n\n imgList[imgIndex].result = AnnotationDataUtils.dataCorrection(\n newResultString,\n oldResultString,\n step,\n stepList,\n );\n\n if (onSubmit) {\n onSubmit([imgList[imgIndex]], action.payload?.submitType, imgIndex);\n }\n\n const stepProgress = calcStepProgress(imgList, step);\n return {\n ...state,\n stepProgress,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SAVE_RESULT: {\n const { imgList, imgIndex, onSave } = state;\n onSave?.(imgList[imgIndex], imgIndex, imgList);\n return {\n ...state,\n };\n }\n\n case ANNOTATION_ACTIONS.SUBMIT_RESULT: {\n const { imgList, basicIndex, resultList, toolInstance, basicResultList } = state;\n if (!toolInstance) {\n return state;\n }\n\n const [exportResult] = toolInstance?.exportData() ?? [];\n\n let previousResultList = exportResult;\n\n if (basicResultList?.length > 0) {\n const sourceID = basicResultList[basicIndex]?.id;\n const newResultData = exportResult.map((i: any) => ({ ...i, sourceID }));\n previousResultList = _.cloneDeep(resultList).filter((i: any) => i.sourceID !== sourceID);\n previousResultList.push(...newResultData);\n }\n\n return {\n ...state,\n resultList: previousResultList,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_BASIC_INDEX: {\n const {\n toolInstance,\n step,\n imgList,\n imgIndex,\n stepList,\n annotationEngine,\n resultList,\n basicResultList,\n } = state;\n\n if (!toolInstance || !annotationEngine) {\n return state;\n }\n\n const nextBasicIndex = action.payload.basicIndex;\n const sourceID = basicResultList[nextBasicIndex]?.id;\n\n const fileResult = jsonParser(imgList[imgIndex]?.result);\n const result = (resultList || []).filter((i) => i.sourceID === sourceID);\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n let stepBasicResultList = [];\n\n if (dataSourceStep && tool) {\n stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (stepBasicResultList?.length > 0) {\n annotationEngine?.setBasicInfo(\n dependStepConfig.tool,\n stepBasicResultList[nextBasicIndex],\n );\n annotationEngine?.launchOperation();\n } else {\n annotationEngine?.setBasicInfo(dependStepConfig.tool);\n annotationEngine?.forbidOperation();\n message.info(i18n.t('NoDependency'));\n }\n }\n\n toolInstance?.setResult(result);\n toolInstance?.history.initRecord(result, true);\n\n return {\n ...state,\n basicIndex: nextBasicIndex,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: {\n const { triggerEventAfterIndexChanged } = action.payload;\n return {\n ...state,\n triggerEventAfterIndexChanged: !!triggerEventAfterIndexChanged,\n };\n }\n\n case ANNOTATION_ACTIONS.LOAD_FILE_DATA: {\n const { imgList, step, toolInstance, annotationEngine, stepList } = state;\n\n /**\n * TODO\n * Before: !toolInstance || !annotationEngine\n *\n * The roles of toolInstance and annotationEngine need to be clearly distinguished\n */\n if (!toolInstance) {\n return state;\n }\n\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n\n const { nextIndex, imgNode, nextBasicIndex, imgError } = action.payload;\n const basicIndex = nextBasicIndex ?? 0;\n\n const fileResult = jsonParser(imgList[nextIndex]?.result);\n\n const stepResult = fileResult[`step_${step}`];\n\n const isInitData = !stepResult; // 是否为初始化数据\n\n const basicImgInfo = {\n rotate: fileResult.rotate ?? 0,\n valid: fileResult.valid ?? true,\n };\n\n if (imgNode && imgError !== true) {\n annotationEngine?.setImgNode(imgNode, basicImgInfo);\n }\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n const hasDataSourceStep = dataSourceStep && tool;\n const stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result ?? [];\n\n const result = AnnotationDataUtils.getInitialResultList(\n stepResult?.result,\n toolInstance,\n stepConfig,\n stepBasicResultList,\n isInitData,\n );\n\n annotationEngine?.launchOperation();\n\n if (hasDataSourceStep) {\n if (stepBasicResultList?.length > 0) {\n annotationEngine?.setBasicInfo(dependStepConfig.tool, stepBasicResultList[basicIndex]);\n } else {\n // TODO: 禁用绘制交互,有无依赖之间的操作切换\n annotationEngine?.setBasicInfo(dependStepConfig.tool);\n annotationEngine?.forbidOperation();\n message.info(i18n.t('NoDependency'));\n }\n }\n\n // TODO,非查看模式才允许添加数据\n if (currentStepInfo.tool !== 'check') {\n const sourceID = stepBasicResultList[basicIndex]?.id ?? '';\n const resultForBasicIndex = hasDataSourceStep\n ? result.filter((i: { sourceID: string | number }) =>\n CommonToolUtils.isSameSourceID(i.sourceID, sourceID),\n )\n : result;\n toolInstance?.setResult(resultForBasicIndex);\n toolInstance?.history.initRecord(result, true);\n }\n\n return {\n ...state,\n imgIndex: nextIndex,\n basicIndex,\n basicResultList: stepBasicResultList,\n resultList: result,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG: {\n return {\n ...state,\n config: action.payload.config ?? '{}',\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TASK_CONFIG: {\n const { stepList, step } = action.payload;\n return {\n ...state,\n stepList,\n step,\n };\n }\n\n case ANNOTATION_ACTIONS.INIT_TOOL: {\n const { imgNode } = state;\n const instance = updateToolInstance(state, imgNode);\n\n if (instance) {\n const { toolInstance, annotationEngine } = instance;\n return {\n ...state,\n toolInstance,\n annotationEngine,\n };\n }\n\n return {\n ...state,\n };\n }\n\n // react hook tool Proprietary operations\n case ANNOTATION_ACTIONS.SET_TOOL: {\n const instance = action.payload?.instance;\n if (instance) {\n return {\n ...state,\n toolInstance: instance,\n // TODO It needs to optimize\n // annotationEngine: {\n // toolInstance: instance,\n // } as any,\n };\n }\n\n return {\n ...state,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT: {\n return {\n ...state,\n onSubmit: action.payload.onSubmit,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SAVE: {\n return {\n ...state,\n onSave: action.payload.onSave,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE: {\n return {\n ...state,\n onPageChange: action.payload.onPageChange,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE: {\n return {\n ...state,\n onStepChange: action.payload.onStepChange,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA: {\n return {\n ...state,\n getFileData: action.payload.getFileData,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE: {\n return {\n ...state,\n pageSize: action.payload.pageSize,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST: {\n return {\n ...state,\n loadFileList: action.payload.loadFileList,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_FILE_DATA: {\n const { fileData, index } = action.payload;\n const { imgList } = state;\n imgList[index] = { ...imgList[index], ...fileData };\n\n return {\n ...state,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ROTATE: {\n const { toolInstance } = state;\n toolInstance?.updateRotate();\n\n return state;\n }\n\n case ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT: {\n const { toolInstance, imgIndex, imgList, step } = state;\n if (!toolInstance) {\n return state;\n }\n\n if (imgIndex === 0 || imgIndex >= imgList.length) {\n console.error('无法复制边界外的内容');\n return state;\n }\n const backwardResult = imgList[imgIndex - 1].result;\n if (!backwardResult) {\n return state;\n }\n\n const newResult = AnnotationDataUtils.copyResultChange(\n backwardResult,\n step,\n imgList[imgIndex].result ?? '',\n );\n imgList[imgIndex].result = newResult;\n\n // 更新当前的结果\n const fileResult = jsonParser(newResult);\n const stepResult = fileResult[`step_${step}`];\n const result = stepResult?.result || [];\n\n toolInstance?.setResult(result);\n toolInstance?.history.pushHistory(result);\n\n return {\n ...state,\n imgList: [...imgList],\n };\n }\n\n case ANNOTATION_ACTIONS.SET_STEP: {\n const { stepList, annotationEngine } = state;\n const { toStep } = action.payload;\n\n if (!annotationEngine) {\n return state;\n }\n\n const stepConfig = getStepConfig(stepList, toStep);\n annotationEngine?.setToolName(stepConfig.tool, stepConfig.config);\n\n return {\n ...state,\n step: toStep,\n toolInstance: annotationEngine?.toolInstance,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_LOADING: {\n const { loading } = action.payload;\n\n return {\n ...state,\n loading: !!loading,\n };\n }\n\n // eslint-disable-next-line no-fallthrough\n default:\n return state;\n }\n};\n"],"names":["this"],"mappings":"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"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../src/store/annotation/reducer.ts"],"sourcesContent":["import { getFormatSize } from '@/components/customResizeHook';\nimport styleString from '@/constant/styleString';\nimport { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { jsonParser } from '@/utils';\nimport AnnotationDataUtils from '@/utils/AnnotationDataUtils';\nimport { ConfigUtils } from '@/utils/ConfigUtils';\nimport { composeResult, composeResultWithBasicImgInfo } from '@/utils/data';\nimport StepUtils from '@/utils/StepUtils';\nimport ToolUtils from '@/utils/ToolUtils';\nimport { AnnotationEngine, CommonToolUtils, ImgUtils } from '@labelbee/lb-annotation';\nimport { i18n } from '@labelbee/lb-utils';\nimport { message } from 'antd/es';\nimport _ from 'lodash';\nimport { SetAnnotationLoading } from './actionCreators';\nimport { AnnotationActionTypes, AnnotationState } from './types';\n\nexport const getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n\nconst initialState: AnnotationState = {\n annotationEngine: null,\n toolInstance: null,\n imgList: [],\n config: '{}',\n imgIndex: -1,\n basicIndex: 0,\n imgPageSize: 1,\n step: 1,\n stepList: [],\n imgNode: new Image(),\n basicResultList: [],\n resultList: [],\n stepProgress: 0,\n loading: false,\n triggerEventAfterIndexChanged: false,\n};\n\n/**\n * 获取当前文件列表的总页数\n * @param state\n */\nexport const getTotalPage = (state: AnnotationState) => {\n const { imgList, imgPageSize } = state;\n return Math.ceil(imgList.length / imgPageSize);\n};\n\nconst calcStepProgress = (fileList: any[], step: number) =>\n fileList.reduce((pre, i) => {\n if (i) {\n const resultStr = i.result;\n const resultObject = jsonParser(resultStr);\n if (resultObject[`step_${step}`]) {\n return pre + 1;\n }\n }\n return pre;\n }, 0) / fileList.length;\n\nconst updateToolInstance = (annotation: AnnotationState, imgNode: HTMLImageElement) => {\n const { step, stepList } = annotation;\n const stepConfig = StepUtils.getCurrentStepInfo(step, stepList);\n const config = ConfigUtils.jsonParser(stepConfig.config);\n\n // 视频工具不支持实例化\n if (ToolUtils.isVideoTool(stepConfig?.tool)) {\n return;\n }\n\n // TODO: 点云实例化对接\n if (ToolUtils.isPointCloudTool(stepConfig?.tool)) {\n return;\n }\n\n const container = document.getElementById('toolContainer');\n\n if (!container) {\n throw `Not exist dom named id-toolContainer`;\n }\n\n const canvasSize = getFormatSize({ width: window.innerWidth, height: window.innerHeight });\n const annotationEngine = new AnnotationEngine({\n container,\n toolName: stepConfig.tool,\n size: canvasSize,\n imgNode,\n config,\n style: JSON.parse(styleString),\n });\n\n return { toolInstance: annotationEngine?.toolInstance, annotationEngine };\n};\n\n/**\n * 初始化imgNode并加载数据\n * @param nextIndex\n * @param nextBasicIndex\n */\nexport const LoadFileAndFileData =\n (nextIndex: number, nextBasicIndex?: number): any =>\n async (dispatch: any, getState: any) => {\n const { stepList, step } = getState().annotation;\n const currentIsVideo = StepUtils.currentToolIsVideo(step, stepList);\n const currentIsPointCloud = StepUtils.currentToolIsPointCloud(step, stepList);\n\n SetAnnotationLoading(dispatch, true);\n\n dispatch(TryGetFileDataByAPI(nextIndex));\n\n if (currentIsVideo || currentIsPointCloud) {\n dispatch(AfterVideoLoaded(nextIndex));\n return;\n }\n\n dispatch(AfterImageLoaded(nextIndex, nextBasicIndex));\n };\n\n/**\n * 支持并优先外部传入的获取文件接口\n * @param nextIndex\n */\nconst TryGetFileDataByAPI = (nextIndex: number) => async (dispatch: any, getState: any) => {\n const { getFileData, imgList } = getState().annotation;\n if (getFileData) {\n const fileData = await getFileData(imgList[nextIndex], nextIndex);\n dispatch({\n type: ANNOTATION_ACTIONS.SET_FILE_DATA,\n payload: {\n fileData,\n index: nextIndex,\n },\n });\n }\n};\n\nconst AfterVideoLoaded = (nextIndex: number) => (dispatch: any) => {\n SetAnnotationLoading(dispatch, false);\n\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n nextIndex,\n },\n });\n};\n\nconst AfterImageLoaded =\n (nextIndex: number, nextBasicIndex?: number) => (dispatch: any, getState: any) => {\n const { toolInstance, imgList } = getState().annotation;\n const url = imgList?.[nextIndex]?.url;\n ImgUtils.load(url)\n .then((imgNode: HTMLImageElement) => {\n SetAnnotationLoading(dispatch, false);\n\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n imgNode,\n nextIndex,\n nextBasicIndex,\n },\n });\n })\n .catch(() => {\n SetAnnotationLoading(dispatch, false);\n toolInstance?.setErrorImg();\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n nextIndex,\n nextBasicIndex,\n },\n });\n });\n };\n\nexport const annotationReducer = (\n state = initialState,\n action: AnnotationActionTypes,\n): AnnotationState => {\n switch (action.type) {\n case ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE: {\n return {\n ...state,\n toolInstance: action.payload.toolInstance,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_IMG_LIST: {\n return {\n ...state,\n imgList: action.payload.imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.CALC_STEP_PROGRESS: {\n const { imgList, step } = state;\n\n const stepProgress = calcStepProgress(imgList, step);\n\n return {\n ...state,\n stepProgress,\n };\n }\n\n case ANNOTATION_ACTIONS.SUBMIT_FILE_DATA: {\n const { imgList, imgIndex, step, stepList, toolInstance, onSubmit, resultList } = state;\n if (!toolInstance || !imgList[imgIndex]) {\n return state;\n }\n\n const oldResultString = imgList[imgIndex]?.result || '';\n const [, basicImgInfo] = toolInstance?.exportData() ?? [];\n const customObject = toolInstance?.exportCustomData?.() ?? {};\n\n const resultWithBasicInfo = composeResultWithBasicImgInfo(oldResultString, basicImgInfo);\n const newResultString = composeResult(\n resultWithBasicInfo,\n { step, stepList },\n { rect: resultList },\n customObject,\n );\n\n imgList[imgIndex].result = AnnotationDataUtils.dataCorrection(\n newResultString,\n oldResultString,\n step,\n stepList,\n );\n\n\n if (onSubmit) {\n onSubmit([imgList[imgIndex]], action.payload?.submitType, imgIndex);\n }\n\n const stepProgress = calcStepProgress(imgList, step);\n return {\n ...state,\n stepProgress,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SAVE_RESULT: {\n const { imgList, imgIndex, onSave } = state;\n onSave?.(imgList[imgIndex], imgIndex, imgList);\n return {\n ...state,\n };\n }\n\n /**\n * For data storage in dependent states\n *\n * Features:\n * 1. Get Data from ToolInstance (If it use toolInstance)\n * 2. Filter Data By BasicResultList\n */\n case ANNOTATION_ACTIONS.SUBMIT_RESULT: {\n const { imgList, basicIndex, resultList, toolInstance, basicResultList } = state;\n if (!toolInstance) {\n return state;\n }\n\n const [exportResult] = toolInstance?.exportData() ?? [];\n\n let previousResultList = exportResult;\n\n if (basicResultList?.length > 0) {\n const sourceID = basicResultList[basicIndex]?.id;\n const newResultData = exportResult.map((i: any) => ({ ...i, sourceID }));\n previousResultList = _.cloneDeep(resultList).filter((i: any) => i.sourceID !== sourceID);\n previousResultList.push(...newResultData);\n }\n\n return {\n ...state,\n resultList: previousResultList,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_BASIC_INDEX: {\n const {\n toolInstance,\n step,\n imgList,\n imgIndex,\n stepList,\n annotationEngine,\n resultList,\n basicResultList,\n } = state;\n\n if (!toolInstance || !annotationEngine) {\n return state;\n }\n\n const nextBasicIndex = action.payload.basicIndex;\n const sourceID = basicResultList[nextBasicIndex]?.id;\n\n const fileResult = jsonParser(imgList[imgIndex]?.result);\n const result = (resultList || []).filter((i) => i.sourceID === sourceID);\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n let stepBasicResultList = [];\n\n if (dataSourceStep && tool) {\n stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (stepBasicResultList?.length > 0) {\n annotationEngine?.setBasicInfo(\n dependStepConfig.tool,\n stepBasicResultList[nextBasicIndex],\n );\n annotationEngine?.launchOperation();\n } else {\n annotationEngine?.setBasicInfo(dependStepConfig.tool);\n annotationEngine?.forbidOperation();\n message.info(i18n.t('NoDependency'));\n }\n }\n\n toolInstance?.setResult(result);\n toolInstance?.history.initRecord(result, true);\n\n return {\n ...state,\n basicIndex: nextBasicIndex,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: {\n const { triggerEventAfterIndexChanged } = action.payload;\n return {\n ...state,\n triggerEventAfterIndexChanged: !!triggerEventAfterIndexChanged,\n };\n }\n\n case ANNOTATION_ACTIONS.LOAD_FILE_DATA: {\n const { imgList, step, toolInstance, annotationEngine, stepList } = state;\n\n /**\n * TODO\n * Before: !toolInstance || !annotationEngine\n *\n * The roles of toolInstance and annotationEngine need to be clearly distinguished\n */\n if (!toolInstance) {\n return { ...state, imgIndex: action.payload.nextIndex };\n }\n\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n\n const { nextIndex, imgNode, nextBasicIndex, imgError } = action.payload;\n const basicIndex = nextBasicIndex ?? 0;\n\n const fileResult = jsonParser(imgList[nextIndex]?.result);\n\n const stepResult = fileResult[`step_${step}`];\n\n const isInitData = !stepResult; // 是否为初始化数据\n\n const basicImgInfo = {\n rotate: fileResult.rotate ?? 0,\n valid: fileResult.valid ?? true,\n };\n\n if (imgNode && imgError !== true) {\n annotationEngine?.setImgNode(imgNode, basicImgInfo);\n }\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n const hasDataSourceStep = dataSourceStep && tool;\n const stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result ?? [];\n\n const result = AnnotationDataUtils.getInitialResultList(\n stepResult?.result,\n toolInstance,\n stepConfig,\n stepBasicResultList,\n isInitData,\n );\n\n annotationEngine?.launchOperation();\n\n if (hasDataSourceStep) {\n if (stepBasicResultList?.length > 0) {\n annotationEngine?.setBasicInfo(dependStepConfig.tool, stepBasicResultList[basicIndex]);\n } else {\n // TODO: 禁用绘制交互,有无依赖之间的操作切换\n annotationEngine?.setBasicInfo(dependStepConfig.tool);\n annotationEngine?.forbidOperation();\n message.info(i18n.t('NoDependency'));\n }\n }\n\n // TODO,非查看模式才允许添加数据\n if (currentStepInfo.tool !== 'check') {\n const sourceID = stepBasicResultList[basicIndex]?.id ?? '';\n const resultForBasicIndex = hasDataSourceStep\n ? result.filter((i: { sourceID: string | number }) =>\n CommonToolUtils.isSameSourceID(i.sourceID, sourceID),\n )\n : result;\n toolInstance?.setResult(resultForBasicIndex);\n toolInstance?.history.initRecord(result, true);\n }\n\n return {\n ...state,\n imgIndex: nextIndex,\n basicIndex,\n basicResultList: stepBasicResultList,\n resultList: result,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG: {\n return {\n ...state,\n config: action.payload.config ?? '{}',\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TASK_CONFIG: {\n const { stepList, step } = action.payload;\n return {\n ...state,\n stepList,\n step,\n };\n }\n\n case ANNOTATION_ACTIONS.INIT_TOOL: {\n const { imgNode } = state;\n const instance = updateToolInstance(state, imgNode);\n\n if (instance) {\n const { toolInstance, annotationEngine } = instance;\n return {\n ...state,\n toolInstance,\n annotationEngine,\n };\n }\n\n return {\n ...state,\n };\n }\n\n // react hook tool Proprietary operations\n case ANNOTATION_ACTIONS.SET_TOOL: {\n const instance = action.payload?.instance;\n if (instance) {\n return {\n ...state,\n toolInstance: instance,\n // TODO It needs to optimize\n // annotationEngine: {\n // toolInstance: instance,\n // } as any,\n };\n }\n\n return {\n ...state,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT: {\n return {\n ...state,\n onSubmit: action.payload.onSubmit,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SAVE: {\n return {\n ...state,\n onSave: action.payload.onSave,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE: {\n return {\n ...state,\n onPageChange: action.payload.onPageChange,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE: {\n return {\n ...state,\n onStepChange: action.payload.onStepChange,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA: {\n return {\n ...state,\n getFileData: action.payload.getFileData,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE: {\n return {\n ...state,\n pageSize: action.payload.pageSize,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST: {\n return {\n ...state,\n loadFileList: action.payload.loadFileList,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_FILE_DATA: {\n const { fileData, index } = action.payload;\n const { imgList } = state;\n imgList[index] = { ...imgList[index], ...fileData };\n\n return {\n ...state,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ROTATE: {\n const { toolInstance } = state;\n toolInstance?.updateRotate();\n\n return state;\n }\n\n case ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT: {\n const { toolInstance, imgIndex, imgList, step } = state;\n if (!toolInstance) {\n return state;\n }\n\n if (imgIndex === 0 || imgIndex >= imgList.length) {\n console.error('无法复制边界外的内容');\n return state;\n }\n const backwardResult = imgList[imgIndex - 1].result;\n if (!backwardResult) {\n return state;\n }\n\n const newResult = AnnotationDataUtils.copyResultChange(\n backwardResult,\n step,\n imgList[imgIndex].result ?? '',\n );\n imgList[imgIndex] = {\n ...imgList[imgIndex],\n result: newResult,\n };\n\n // 更新当前的结果\n const fileResult = jsonParser(newResult);\n const stepResult = fileResult[`step_${step}`];\n const result = stepResult?.result || [];\n\n toolInstance?.setResult(result);\n toolInstance?.history.pushHistory(result);\n\n return {\n ...state,\n imgList: [...imgList],\n };\n }\n\n case ANNOTATION_ACTIONS.SET_STEP: {\n const { stepList, annotationEngine } = state;\n const { toStep } = action.payload;\n\n if (!annotationEngine) {\n return state;\n }\n\n const stepConfig = getStepConfig(stepList, toStep);\n annotationEngine?.setToolName(stepConfig.tool, stepConfig.config);\n\n return {\n ...state,\n step: toStep,\n toolInstance: annotationEngine?.toolInstance,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_LOADING: {\n const { loading } = action.payload;\n\n return {\n ...state,\n loading: !!loading,\n };\n }\n\n // eslint-disable-next-line no-fallthrough\n default:\n return state;\n }\n};\n"],"names":["this"],"mappings":"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"}
@@ -1 +1 @@
1
- import{EStepType as r}from"../constant/index.js";import{cTool as u}from"@labelbee/lb-annotation";const{EVideoToolName:c}=u;class n{static getCurrentStepInfo(o,e){const t=this.getStepInfo(o,e);return[r.QUALITY_INSPECTION,r.MANUAL_CORRECTION].includes(t==null?void 0:t.type)?this.getStepInfo(t.dataSourceStep,e):t}static getStepInfo(o,e){return e==null?void 0:e.filter(t=>t.step===o)[0]}static currentToolIsVideo(o,e){const t=n.getCurrentStepInfo(o,e);return Object.values(c).includes(t==null?void 0:t.tool)}}export{n as default};
1
+ import{EStepType as r}from"../constant/index.js";import u from"./ToolUtils.js";class n{static getCurrentStepInfo(e,o){const t=this.getStepInfo(e,o);return[r.QUALITY_INSPECTION,r.MANUAL_CORRECTION].includes(t==null?void 0:t.type)?this.getStepInfo(t.dataSourceStep,o):t}static getStepInfo(e,o){return o==null?void 0:o.filter(t=>t.step===e)[0]}static currentToolIsVideo(e,o){const t=n.getCurrentStepInfo(e,o);return u.isVideoTool(t==null?void 0:t.tool)}static currentToolIsPointCloud(e,o){const t=n.getCurrentStepInfo(e,o);return u.isPointCloudTool(t==null?void 0:t.tool)}}export{n as default};
@@ -1 +1 @@
1
- {"version":3,"file":"StepUtils.js","sources":["../../src/utils/StepUtils.ts"],"sourcesContent":["import { EStepType } from '@/constant';\nimport { IStepInfo } from '@/types/step';\nimport { cTool } from '@labelbee/lb-annotation';\n\nconst { EVideoToolName } = cTool;\n\nexport default class StepUtils {\n /**\n * 获取当前步骤的步骤配置信息,用于当前标注配置的获取\n * @export\n * @param {number} currentStep\n * @param {IStepInfo[]} stepList\n * @returns {*}\n */\n public static getCurrentStepInfo(currentStep: number, stepList: IStepInfo[]) {\n const currentStepInfo = this.getStepInfo(currentStep, stepList);\n\n const useDataSourceStep = [EStepType.QUALITY_INSPECTION, EStepType.MANUAL_CORRECTION].includes(\n currentStepInfo?.type,\n );\n\n /** 人工修正、质检获取 dataSourceStep 作为步骤配置 */\n if (useDataSourceStep) {\n return this.getStepInfo(currentStepInfo.dataSourceStep, stepList);\n }\n\n return currentStepInfo;\n }\n\n /**\n * 找到指定步骤的数据\n * @param step 获取的步骤\n * @param stepList 步骤列表\n * @returns 步骤配置\n */\n public static getStepInfo(step: number, stepList: IStepInfo[]) {\n return stepList?.filter((info) => info.step === step)[0];\n }\n\n /**\n * 根据toolName判断当前步骤是否为视频工具\n * @param step 步骤\n * @param stepList 步骤列表\n * @returns {Number} 是否为视频工具\n */\n public static currentToolIsVideo(step: number, stepList: IStepInfo[]) {\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n return (Object.values(EVideoToolName) as string[]).includes(currentStepInfo?.tool);\n }\n}\n"],"names":[],"mappings":";;;AAIA,MAAM,CAAE,cAAmB,CAAA,GAAA,KAAA,CAAA;AAEI,MAAA,SAAA,CAAA;AAAA,EAQf,OAAA,kBAAA,CAAmB,aAAqB,QAAuB,EAAA;AAC3E,IAAM,MAAA,eAAA,GAAkB,IAAK,CAAA,WAAA,CAAY,WAAa,EAAA,QAAA,CAAA,CAAA;AAEtD,IAAA,MAAM,oBAAoB,CAAC,SAAA,CAAU,oBAAoB,SAAU,CAAA,iBAAA,CAAA,CAAmB,SACpF,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AAInB,IAAA,IAAI,iBAAmB,EAAA;AACrB,MAAO,OAAA,IAAA,CAAK,WAAY,CAAA,eAAA,CAAgB,cAAgB,EAAA,QAAA,CAAA,CAAA;AAAA,KAAA;AAG1D,IAAO,OAAA,eAAA,CAAA;AAAA,GAAA;AAAA,EASK,OAAA,WAAA,CAAY,MAAc,QAAuB,EAAA;AAC7D,IAAA,OAAO,qCAAU,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,SAAS,IAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAS1C,OAAA,kBAAA,CAAmB,MAAc,QAAuB,EAAA;AACpE,IAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAC3D,IAAA,OAAQ,MAAO,CAAA,MAAA,CAAO,cAA6B,CAAA,CAAA,QAAA,CAAS,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"StepUtils.js","sources":["../../src/utils/StepUtils.ts"],"sourcesContent":["import { EStepType } from '@/constant';\nimport { IStepInfo } from '@/types/step';\nimport ToolUtils from './ToolUtils';\n\nexport default class StepUtils {\n /**\n * 获取当前步骤的步骤配置信息,用于当前标注配置的获取\n * @export\n * @param {number} currentStep\n * @param {IStepInfo[]} stepList\n * @returns {*}\n */\n public static getCurrentStepInfo(currentStep: number, stepList: IStepInfo[]) {\n const currentStepInfo = this.getStepInfo(currentStep, stepList);\n\n const useDataSourceStep = [EStepType.QUALITY_INSPECTION, EStepType.MANUAL_CORRECTION].includes(\n currentStepInfo?.type,\n );\n\n /** 人工修正、质检获取 dataSourceStep 作为步骤配置 */\n if (useDataSourceStep) {\n return this.getStepInfo(currentStepInfo.dataSourceStep, stepList);\n }\n\n return currentStepInfo;\n }\n\n /**\n * 找到指定步骤的数据\n * @param step 获取的步骤\n * @param stepList 步骤列表\n * @returns 步骤配置\n */\n public static getStepInfo(step: number, stepList: IStepInfo[]) {\n return stepList?.filter((info) => info.step === step)[0];\n }\n\n /**\n * 根据toolName判断当前步骤是否为视频工具\n * @param step 步骤\n * @param stepList 步骤列表\n * @returns {Number} 是否为视频工具\n */\n public static currentToolIsVideo(step: number, stepList: IStepInfo[]) {\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n return ToolUtils.isVideoTool(currentStepInfo?.tool);\n }\n\n\n /**\n * Check for PointCloud\n * @param step \n * @param stepList \n * @returns \n */\n public static currentToolIsPointCloud(step: number, stepList: IStepInfo[]) {\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n return ToolUtils.isPointCloudTool(currentStepInfo?.tool);\n }\n}\n"],"names":[],"mappings":";;;AAI+B,MAAA,SAAA,CAAA;AAAA,EAQf,OAAA,kBAAA,CAAmB,aAAqB,QAAuB,EAAA;AAC3E,IAAM,MAAA,eAAA,GAAkB,IAAK,CAAA,WAAA,CAAY,WAAa,EAAA,QAAA,CAAA,CAAA;AAEtD,IAAA,MAAM,oBAAoB,CAAC,SAAA,CAAU,oBAAoB,SAAU,CAAA,iBAAA,CAAA,CAAmB,SACpF,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AAInB,IAAA,IAAI,iBAAmB,EAAA;AACrB,MAAO,OAAA,IAAA,CAAK,WAAY,CAAA,eAAA,CAAgB,cAAgB,EAAA,QAAA,CAAA,CAAA;AAAA,KAAA;AAG1D,IAAO,OAAA,eAAA,CAAA;AAAA,GAAA;AAAA,EASK,OAAA,WAAA,CAAY,MAAc,QAAuB,EAAA;AAC7D,IAAA,OAAO,qCAAU,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,SAAS,IAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAS1C,OAAA,kBAAA,CAAmB,MAAc,QAAuB,EAAA;AACpE,IAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAC3D,IAAO,OAAA,SAAA,CAAU,YAAY,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAUlC,OAAA,uBAAA,CAAwB,MAAc,QAAuB,EAAA;AACzE,IAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAC3D,IAAO,OAAA,SAAA,CAAU,iBAAiB,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ import{cTool as o}from"@labelbee/lb-annotation";const{EVideoToolName:l,EPointCloudName:s}=o;class t{static isVideoTool(e){return e?Object.values(l).includes(e):!1}static isPointCloudTool(e){return e?Object.values(s).includes(e):!1}}export{t as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolUtils.js","sources":["../../src/utils/ToolUtils.ts"],"sourcesContent":["/**\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @file Tool utils\n * @date 2022-06-20\n */\n\nimport { cTool } from '@labelbee/lb-annotation';\nconst { EVideoToolName, EPointCloudName } = cTool;\n\nclass ToolUtils {\n public static isVideoTool(tool?: string) {\n return tool ? (Object.values(EVideoToolName) as string[]).includes(tool) : false;\n }\n\n public static isPointCloudTool(tool?: string) {\n return tool ? (Object.values(EPointCloudName) as string[]).includes(tool) : false;\n }\n}\n\nexport default ToolUtils;\n"],"names":[],"mappings":";;AAOA,MAAM,CAAE,gBAAgB,eAAoB,CAAA,GAAA,KAAA,CAAA;AAE5C,MAAgB,SAAA,CAAA;AAAA,EAAA,OACA,YAAY,IAAe,EAAA;AACvC,IAAA,OAAO,IAAQ,GAAA,MAAA,CAAO,MAAO,CAAA,cAAA,CAAA,CAA6B,SAAS,IAAQ,CAAA,GAAA,KAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAG/D,iBAAiB,IAAe,EAAA;AAC5C,IAAA,OAAO,IAAQ,GAAA,MAAA,CAAO,MAAO,CAAA,eAAA,CAAA,CAA8B,SAAS,IAAQ,CAAA,GAAA,KAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
package/es/utils/data.js CHANGED
@@ -1 +1 @@
1
- import{jsonParser as _}from"./index.js";import g from"./StepUtils.js";var P=Object.defineProperty,I=Object.defineProperties,d=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,N=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,y=(e,r,t)=>r in e?P(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,c=(e,r)=>{for(var t in r||(r={}))N.call(r,t)&&y(e,t,r[t]);if(m)for(var t of m(r))w.call(r,t)&&y(e,t,r[t]);return e},u=(e,r)=>I(e,d(r));const v=(e,r)=>JSON.stringify(c(c({},_(e)),r)),j=(e,r,t)=>{const{step:a,stepList:l}=r,{rect:o,basicRectID:f}=t;try{const s=_(e),O=g.getCurrentStepInfo(a,l),{dataSourceStep:S}=O,n=`step_${O.step}`;if(s[n]){const i=s[n];return i.result?(JSON.stringify(i.result)===JSON.stringify(o)||(f?i.result=[...i.result.filter(p=>!(p.sourceID&&p.sourceID===f)),...o.filter(p=>p.sourceID&&p.sourceID===f)]:i.result=o),JSON.stringify(s)):JSON.stringify(u(c({},s),{[n]:u(c({},s[n]),{result:o})}))}return JSON.stringify(u(c({},s),{[n]:{dataSourceStep:S,toolName:l[a-1].tool,result:o}}))}catch(s){return e}};export{j as composeResult,v as composeResultWithBasicImgInfo};
1
+ import{jsonParser as g}from"./index.js";import P from"./StepUtils.js";var I=Object.defineProperty,d=Object.defineProperties,N=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,v=Object.prototype.propertyIsEnumerable,S=(e,r,t)=>r in e?I(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,o=(e,r)=>{for(var t in r||(r={}))w.call(r,t)&&S(e,t,r[t]);if(y)for(var t of y(r))v.call(r,t)&&S(e,t,r[t]);return e},a=(e,r)=>d(e,N(r));const D=(e,r)=>JSON.stringify(o(o({},g(e)),r)),J=(e,r,t,f)=>{const{step:l,stepList:_}=r,{rect:i,basicRectID:u}=t;try{const s=g(e),O=P.getCurrentStepInfo(l,_),{dataSourceStep:m}=O,p=`step_${O.step}`;if(s[p]){const n=s[p];return Object.assign(n,f),n.result?(JSON.stringify(n.result)===JSON.stringify(i)||(u?n.result=[...n.result.filter(c=>!(c.sourceID&&c.sourceID===u)),...i.filter(c=>c.sourceID&&c.sourceID===u)]:n.result=i),JSON.stringify(s)):JSON.stringify(a(o({},s),{[p]:a(o(o({},s[p]),f),{result:i})}))}return JSON.stringify(a(o({},s),{[p]:a(o({dataSourceStep:m},f),{toolName:_[l-1].tool,result:i})}))}catch(s){return e}};export{J as composeResult,D as composeResultWithBasicImgInfo};
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import { jsonParser } from '.';\nimport StepUtils from './StepUtils';\n\n/**\n * 解析结果,将图片信息注入到结果\n * @param result\n * @param basicImgInfo\n */\nexport const composeResultWithBasicImgInfo = (\n result: string,\n basicImgInfo: { [a: string]: any },\n) => {\n const newResult = JSON.stringify({ ...jsonParser(result), ...basicImgInfo });\n return newResult;\n};\n\n// 处理result\nexport const composeResult = (\n result: string,\n pos: {\n step: number;\n stepList: any[];\n },\n newData: {\n rect: any[];\n basicRectID?: string;\n },\n) => {\n const { step, stepList } = pos;\n const { rect, basicRectID } = newData;\n\n try {\n const data = jsonParser(result);\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n const { dataSourceStep } = currentStepInfo;\n\n const stepName = `step_${currentStepInfo.step}`;\n\n if (data[stepName]) {\n const info = data[stepName];\n if (info.result) {\n if (JSON.stringify(info.result) === JSON.stringify(rect)) {\n return JSON.stringify(data);\n }\n if (basicRectID) {\n info.result = [\n ...info.result.filter((v: { sourceID: string; }) => !(v.sourceID && v.sourceID === basicRectID)),\n ...rect.filter((v) => v.sourceID && v.sourceID === basicRectID),\n ];\n } else {\n info.result = rect;\n }\n return JSON.stringify(data);\n }\n return JSON.stringify({\n ...data,\n [stepName]: {\n ...data[stepName],\n result: rect,\n },\n });\n }\n // 初始化结果\n return JSON.stringify({\n ...data,\n [stepName]: {\n dataSourceStep,\n toolName: stepList[step - 1].tool,\n result: rect,\n },\n });\n } catch (e) {\n return result;\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,6BAAA,GAAgC,CAC3C,MAAA,EACA,YACG,KAAA;AACH,EAAA,MAAM,SAAY,GAAA,IAAA,CAAK,SAAU,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAK,WAAW,MAAY,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AAC7D,EAAO,OAAA,SAAA,CAAA;AAAA,EAAA;AAIF,MAAM,aAAgB,GAAA,CAC3B,MACA,EAAA,GAAA,EAIA,OAIG,KAAA;AACH,EAAM,MAAA,CAAE,MAAM,QAAa,CAAA,GAAA,GAAA,CAAA;AAC3B,EAAM,MAAA,CAAE,MAAM,WAAgB,CAAA,GAAA,OAAA,CAAA;AAE9B,EAAI,IAAA;AACF,IAAA,MAAM,OAAO,UAAW,CAAA,MAAA,CAAA,CAAA;AACxB,IAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAC3D,IAAA,MAAM,CAAE,cAAmB,CAAA,GAAA,eAAA,CAAA;AAE3B,IAAM,MAAA,QAAA,GAAW,QAAQ,eAAgB,CAAA,IAAA,CAAA,CAAA,CAAA;AAEzC,IAAA,IAAI,KAAK,QAAW,CAAA,EAAA;AAClB,MAAA,MAAM,OAAO,IAAK,CAAA,QAAA,CAAA,CAAA;AAClB,MAAA,IAAI,KAAK,MAAQ,EAAA;AACf,QAAA,IAAI,KAAK,SAAU,CAAA,IAAA,CAAK,MAAY,CAAA,KAAA,IAAA,CAAK,UAAU,IAAO,CAAA,EAAA;AACxD,UAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,SAAA;AAExB,QAAA,IAAI,WAAa,EAAA;AACf,UAAA,IAAA,CAAK,MAAS,GAAA;AAAA,YACZ,GAAG,IAAK,CAAA,MAAA,CAAO,MAAO,CAAA,CAAC,MAA6B,EAAE,CAAA,CAAE,QAAY,IAAA,CAAA,CAAE,QAAa,KAAA,WAAA,CAAA,CAAA;AAAA,YACnF,GAAG,KAAK,MAAO,CAAA,CAAC,MAAM,CAAE,CAAA,QAAA,IAAY,EAAE,QAAa,KAAA,WAAA,CAAA;AAAA,WAAA,CAAA;AAAA,SAEhD,MAAA;AACL,UAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAAA,SAAA;AAEhB,QAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,OAAA;AAExB,MAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,QAEnB,CAAA,QAAA,GAAW,aACP,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAK,QADE,CAAA,CAAA,EAAA;AAAA,UAEV,MAAQ,EAAA,IAAA;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAKd,IAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,MAAA,CAEnB,QAAW,GAAA;AAAA,QACV,cAAA;AAAA,QACA,QAAA,EAAU,QAAS,CAAA,IAAA,GAAO,CAAG,CAAA,CAAA,IAAA;AAAA,QAC7B,MAAQ,EAAA,IAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,OAGL,CAAP,EAAA;AACA,IAAO,OAAA,MAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import { jsonParser } from '.';\nimport StepUtils from './StepUtils';\n\n/**\n * 解析结果,将图片信息注入到结果\n * @param result\n * @param basicImgInfo\n */\nexport const composeResultWithBasicImgInfo = (\n result: string,\n basicImgInfo: { [a: string]: any },\n) => {\n const newResult = JSON.stringify({ ...jsonParser(result), ...basicImgInfo });\n return newResult;\n};\n\n// 处理result\nexport const composeResult = (\n result: string,\n pos: {\n step: number;\n stepList: any[];\n },\n newData: {\n rect: any[];\n basicRectID?: string;\n },\n customObject: Object,\n) => {\n const { step, stepList } = pos;\n const { rect, basicRectID } = newData;\n\n try {\n const data = jsonParser(result);\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n const { dataSourceStep } = currentStepInfo;\n\n const stepName = `step_${currentStepInfo.step}`;\n\n if (data[stepName]) {\n const info = data[stepName];\n Object.assign(info, customObject);\n\n if (info.result) {\n if (JSON.stringify(info.result) === JSON.stringify(rect)) {\n return JSON.stringify(data);\n }\n if (basicRectID) {\n info.result = [\n ...info.result.filter(\n (v: { sourceID: string }) => !(v.sourceID && v.sourceID === basicRectID),\n ),\n ...rect.filter((v) => v.sourceID && v.sourceID === basicRectID),\n ];\n } else {\n info.result = rect;\n }\n return JSON.stringify(data);\n }\n return JSON.stringify({\n ...data,\n [stepName]: {\n ...data[stepName],\n ...customObject,\n result: rect,\n },\n });\n }\n // 初始化结果\n return JSON.stringify({\n ...data,\n [stepName]: {\n dataSourceStep,\n ...customObject,\n toolName: stepList[step - 1].tool,\n result: rect,\n },\n });\n } catch (e) {\n return result;\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,6BAAA,GAAgC,CAC3C,MAAA,EACA,YACG,KAAA;AACH,EAAA,MAAM,SAAY,GAAA,IAAA,CAAK,SAAU,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAK,WAAW,MAAY,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AAC7D,EAAO,OAAA,SAAA,CAAA;AAAA,EAAA;AAIF,MAAM,aAAgB,GAAA,CAC3B,MACA,EAAA,GAAA,EAIA,SAIA,YACG,KAAA;AACH,EAAM,MAAA,CAAE,MAAM,QAAa,CAAA,GAAA,GAAA,CAAA;AAC3B,EAAM,MAAA,CAAE,MAAM,WAAgB,CAAA,GAAA,OAAA,CAAA;AAE9B,EAAI,IAAA;AACF,IAAA,MAAM,OAAO,UAAW,CAAA,MAAA,CAAA,CAAA;AACxB,IAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAC3D,IAAA,MAAM,CAAE,cAAmB,CAAA,GAAA,eAAA,CAAA;AAE3B,IAAM,MAAA,QAAA,GAAW,QAAQ,eAAgB,CAAA,IAAA,CAAA,CAAA,CAAA;AAEzC,IAAA,IAAI,KAAK,QAAW,CAAA,EAAA;AAClB,MAAA,MAAM,OAAO,IAAK,CAAA,QAAA,CAAA,CAAA;AAClB,MAAA,MAAA,CAAO,OAAO,IAAM,EAAA,YAAA,CAAA,CAAA;AAEpB,MAAA,IAAI,KAAK,MAAQ,EAAA;AACf,QAAA,IAAI,KAAK,SAAU,CAAA,IAAA,CAAK,MAAY,CAAA,KAAA,IAAA,CAAK,UAAU,IAAO,CAAA,EAAA;AACxD,UAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,SAAA;AAExB,QAAA,IAAI,WAAa,EAAA;AACf,UAAA,IAAA,CAAK,MAAS,GAAA;AAAA,YACZ,GAAG,IAAK,CAAA,MAAA,CAAO,MACb,CAAA,CAAC,MAA4B,EAAE,CAAA,CAAE,QAAY,IAAA,CAAA,CAAE,QAAa,KAAA,WAAA,CAAA,CAAA;AAAA,YAE9D,GAAG,KAAK,MAAO,CAAA,CAAC,MAAM,CAAE,CAAA,QAAA,IAAY,EAAE,QAAa,KAAA,WAAA,CAAA;AAAA,WAAA,CAAA;AAAA,SAEhD,MAAA;AACL,UAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAAA,SAAA;AAEhB,QAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,OAAA;AAExB,MAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,QAAA,CAEnB,QAAW,GAAA,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACP,IAAK,CAAA,QAAA,CAAA,CAAA,EACL,YAFO,CAAA,EAAA;AAAA,UAGV,MAAQ,EAAA,IAAA;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAKd,IAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,MAAA,CAEnB,QAAW,GAAA,aAAA,CAAA,cAAA,CAAA;AAAA,QACV,cAAA;AAAA,OAAA,EACG,YAFO,CAAA,EAAA;AAAA,QAGV,QAAA,EAAU,QAAS,CAAA,IAAA,GAAO,CAAG,CAAA,CAAA,IAAA;AAAA,QAC7B,MAAQ,EAAA,IAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,OAGL,CAAP,EAAA;AACA,IAAO,OAAA,MAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
package/es/utils/dom.js CHANGED
@@ -1 +1 @@
1
- import{prefix as r}from"../constant/index.js";function i(e,n){if(!e)return n;let t;return typeof e=="function"?t=e():"current"in e?t=e.current:t=e,t}const f=(e,n)=>`${r}-${e}${n?"__"+n:""}`;export{f as getClassName,i as getTargetElement};
1
+ import{prefix as r}from"../constant/index.js";function i(e,t){if(!e)return t;let n;return typeof e=="function"?n=e():"current"in e?n=e.current:n=e,n}const f=(e,t,n)=>`${r}-${e}${t?"__"+t:""}${n?"__"+n:""}`;export{f as getClassName,i as getTargetElement};
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../src/utils/dom.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\nimport { prefix } from '@/constant';\n\nexport type BasicTarget<T = HTMLElement> =\n | (() => T | null)\n | T\n | null\n | MutableRefObject<T | null | undefined>;\n\ntype TargetElement = HTMLElement | Element | Document | Window;\n\nexport function getTargetElement(\n target?: BasicTarget<TargetElement>,\n defaultElement?: TargetElement,\n): TargetElement | undefined | null {\n if (!target) {\n return defaultElement;\n }\n\n let targetElement: TargetElement | undefined | null;\n\n if (typeof target === 'function') {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n\n return targetElement;\n}\n\n/**\n * Get class like BEM\n * @param elm\n * @param modify\n */\nexport const getClassName = (elm: string, modify?: string) =>\n `${prefix}-${elm}${modify ? '__' + modify : ''}`;\n"],"names":[],"mappings":";;AAWO,SAAA,gBAAA,CACL,QACA,cACkC,EAAA;AAClC,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,cAAA,CAAA;AAAA,GAAA;AAGT,EAAI,IAAA,aAAA,CAAA;AAEJ,EAAI,IAAA,OAAO,WAAW,UAAY,EAAA;AAChC,IAAgB,aAAA,GAAA,MAAA,EAAA,CAAA;AAAA,GAAA,MAAA,IACP,aAAa,MAAQ,EAAA;AAC9B,IAAA,aAAA,GAAgB,MAAO,CAAA,OAAA,CAAA;AAAA,GAClB,MAAA;AACL,IAAgB,aAAA,GAAA,MAAA,CAAA;AAAA,GAAA;AAGlB,EAAO,OAAA,aAAA,CAAA;AAAA,CAAA;AAQI,MAAA,YAAA,GAAe,CAAC,GAAa,EAAA,MAAA,KACxC,GAAG,MAAU,CAAA,CAAA,EAAA,GAAA,CAAA,EAAM,MAAS,GAAA,IAAA,GAAO,MAAS,GAAA,EAAA,CAAA;;;;"}
1
+ {"version":3,"file":"dom.js","sources":["../../src/utils/dom.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\nimport { prefix } from '@/constant';\n\nexport type BasicTarget<T = HTMLElement> =\n | (() => T | null)\n | T\n | null\n | MutableRefObject<T | null | undefined>;\n\ntype TargetElement = HTMLElement | Element | Document | Window;\n\nexport function getTargetElement(\n target?: BasicTarget<TargetElement>,\n defaultElement?: TargetElement,\n): TargetElement | undefined | null {\n if (!target) {\n return defaultElement;\n }\n\n let targetElement: TargetElement | undefined | null;\n\n if (typeof target === 'function') {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n\n return targetElement;\n}\n\n/**\n * Get class like BEM\n * @param elm\n * @param modify\n */\nexport const getClassName = (block: string, elm?: string, modify?: string) =>\n `${prefix}-${block}${elm ? '__' + elm : ''}${modify ? '__' + modify : ''}`;\n"],"names":[],"mappings":";;AAWO,SAAA,gBAAA,CACL,QACA,cACkC,EAAA;AAClC,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,cAAA,CAAA;AAAA,GAAA;AAGT,EAAI,IAAA,aAAA,CAAA;AAEJ,EAAI,IAAA,OAAO,WAAW,UAAY,EAAA;AAChC,IAAgB,aAAA,GAAA,MAAA,EAAA,CAAA;AAAA,GAAA,MAAA,IACP,aAAa,MAAQ,EAAA;AAC9B,IAAA,aAAA,GAAgB,MAAO,CAAA,OAAA,CAAA;AAAA,GAClB,MAAA;AACL,IAAgB,aAAA,GAAA,MAAA,CAAA;AAAA,GAAA;AAGlB,EAAO,OAAA,aAAA,CAAA;AAAA,CAAA;AAQF,MAAM,YAAe,GAAA,CAAC,KAAe,EAAA,GAAA,EAAc,WACxD,CAAG,EAAA,MAAA,CAAA,CAAA,EAAU,KAAQ,CAAA,EAAA,GAAA,GAAM,IAAO,GAAA,GAAA,GAAM,EAAK,CAAA,EAAA,MAAA,GAAS,OAAO,MAAS,GAAA,EAAA,CAAA;;;;"}
package/es/utils/index.js CHANGED
@@ -1 +1 @@
1
- import s from"lodash";const o=(r,i={})=>{try{return typeof r=="string"?JSON.parse(r):s.isObject(r)?r:i}catch(t){return i}},n=r=>{if(Array.isArray(r))return r.join(" ");if(s.isObject(r)){const i=[];return Object.keys(r).forEach(t=>{r[t]&&i.push(t)}),i.join(" ")}return""};export{n as classnames,o as jsonParser};
1
+ import s from"lodash";const o=(r,i={})=>{try{return typeof r=="string"?JSON.parse(r):s.isObject(r)?r:i}catch(t){return i}},n=r=>{if(Array.isArray(r))return r.filter(i=>i).join(" ");if(s.isObject(r)){const i=[];return Object.keys(r).forEach(t=>{r[t]&&i.push(t)}),i.join(" ")}return""};export{n as classnames,o as jsonParser};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport const jsonParser = (content: any, defaultValue: any = {}) => {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return _.isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n};\n\nexport const getNewNode = <T>(newNode: T, oldNode: T): T => {\n return newNode || _.isNull(newNode) ? newNode : oldNode;\n};\n\nexport const classnames = (className: { [key: string]: boolean } | string[]) => {\n if (Array.isArray(className)) {\n return className.join(' ');\n }\n\n if (_.isObject(className)) {\n const classArray: string[] = [];\n Object.keys(className).forEach((key) => {\n if (className[key]) {\n classArray.push(key);\n }\n });\n\n return classArray.join(' ');\n }\n\n return '';\n};\n"],"names":[],"mappings":";;AAEO,MAAM,UAAa,GAAA,CAAC,OAAc,EAAA,YAAA,GAAoB,EAAO,KAAA;AAClE,EAAI,IAAA;AACF,IAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,MAAA,OAAO,KAAK,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAEpB,IAAO,OAAA,CAAA,CAAE,QAAS,CAAA,OAAA,CAAA,GAAW,OAAU,GAAA,YAAA,CAAA;AAAA,GAAA,CAAA,OAChC,CAAP,EAAA;AACA,IAAO,OAAA,YAAA,CAAA;AAAA,GAAA;AAAA,EAAA;AAQE,MAAA,UAAA,GAAa,CAAC,SAAqD,KAAA;AAC9E,EAAI,IAAA,KAAA,CAAM,QAAQ,SAAY,CAAA,EAAA;AAC5B,IAAA,OAAO,UAAU,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGxB,EAAI,IAAA,CAAA,CAAE,SAAS,SAAY,CAAA,EAAA;AACzB,IAAA,MAAM,UAAuB,GAAA,EAAA,CAAA;AAC7B,IAAA,MAAA,CAAO,IAAK,CAAA,SAAA,CAAA,CAAW,OAAQ,CAAA,CAAC,GAAQ,KAAA;AACtC,MAAA,IAAI,UAAU,GAAM,CAAA,EAAA;AAClB,QAAA,UAAA,CAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAIpB,IAAA,OAAO,WAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGzB,EAAO,OAAA,EAAA,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport const jsonParser = (content: any, defaultValue: any = {}) => {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return _.isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n};\n\nexport const getNewNode = <T>(newNode: T, oldNode: T): T => {\n return newNode || _.isNull(newNode) ? newNode : oldNode;\n};\n\nexport const classnames = (className: { [key: string]: boolean } | (string | undefined)[]) => {\n if (Array.isArray(className)) {\n return className.filter((i) => i).join(' ');\n }\n\n if (_.isObject(className)) {\n const classArray: string[] = [];\n Object.keys(className).forEach((key) => {\n if (className[key]) {\n classArray.push(key);\n }\n });\n\n return classArray.join(' ');\n }\n\n return '';\n};\n"],"names":[],"mappings":";;AAEO,MAAM,UAAa,GAAA,CAAC,OAAc,EAAA,YAAA,GAAoB,EAAO,KAAA;AAClE,EAAI,IAAA;AACF,IAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,MAAA,OAAO,KAAK,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAEpB,IAAO,OAAA,CAAA,CAAE,QAAS,CAAA,OAAA,CAAA,GAAW,OAAU,GAAA,YAAA,CAAA;AAAA,GAAA,CAAA,OAChC,CAAP,EAAA;AACA,IAAO,OAAA,YAAA,CAAA;AAAA,GAAA;AAAA,EAAA;AAQE,MAAA,UAAA,GAAa,CAAC,SAAmE,KAAA;AAC5F,EAAI,IAAA,KAAA,CAAM,QAAQ,SAAY,CAAA,EAAA;AAC5B,IAAA,OAAO,SAAU,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,GAAG,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGzC,EAAI,IAAA,CAAA,CAAE,SAAS,SAAY,CAAA,EAAA;AACzB,IAAA,MAAM,UAAuB,GAAA,EAAA,CAAA;AAC7B,IAAA,MAAA,CAAO,IAAK,CAAA,SAAA,CAAA,CAAW,OAAQ,CAAA,CAAC,GAAQ,KAAA;AACtC,MAAA,IAAI,UAAU,GAAM,CAAA,EAAA;AAClB,QAAA,UAAA,CAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAIpB,IAAA,OAAO,WAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGzB,EAAO,OAAA,EAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- import c,{useState as P,useRef as g,useEffect as a}from"react";import{message as d}from"antd/es";import{connect as h}from"react-redux";import j from"lodash";import{store as w}from"../../../index.js";import A from"../../../hooks/useSize.js";import{InitToolStyleConfig as x}from"../../../store/toolStyle/actionCreators.js";import{ImgUtils as z}from"@labelbee/lb-annotation";import C from"../../../components/fileException/FileError.js";import{i18n as v}from"@labelbee/lb-utils";var R=Object.defineProperty,L=Object.defineProperties,N=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,_=(t,e,o)=>e in t?R(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,S=(t,e)=>{for(var o in e||(e={}))D.call(e,o)&&_(t,o,e[o]);if(O)for(var o of O(e))k.call(e,o)&&_(t,o,e[o]);return t},F=(t,e)=>L(t,N(e));const T=t=>{const[,e]=P(0),{imgAttribute:o,toolStyle:s,toolInstance:n,annotationEngine:r,imgList:m,imgIndex:I,dataInjectionAtCreation:f,renderEnhance:p}=t,u=g(null),b=g(null),l=A(u);a(()=>{w.dispatch(x())},[]),a(()=>{if(!!r){switch(v.language){case"cn":case"en":r.setLang(v.language);break}r==null||r.setDataInjectionAtCreation(f),r==null||r.setRenderEnhance(p)}},[r,f,p]),a(()=>{n&&(n.singleOn("messageError",i=>{d.error(i)}),n.singleOn("messageInfo",i=>{d.info(i)}),n.singleOn("changeAnnotationShow",()=>{e(i=>i+1)}))},[n]),a(()=>{n&&n.setImgAttribute(o)},[o]),a(()=>{n&&n.setStyle(s),r&&r.setStyle(s)},[s]),a(()=>{(n==null?void 0:n.setSize)&&n.setSize(l),r&&r.setSize(l)},[l]);const y=()=>{const i=m==null?void 0:m[I];!(i==null?void 0:i.url)||z.load(i.url).then(E=>{r.setImgNode(E)})};return c.createElement("div",{ref:u,className:"annotationOperation"},c.createElement("div",{className:"canvas",ref:b,style:l,id:"toolContainer"}),(n==null?void 0:n.isImgError)===!0&&c.createElement(C,F(S({},l),{reloadImage:y,backgroundColor:"#e2e2e2",ignoreOffsetY:!0})))},B=t=>{const e=j.pickBy(t.annotation,(o,s)=>["imgList","imgIndex","stepList","step","toolInstance","annotationEngine","loading"].includes(s));return S({imgAttribute:t.imgAttribute,toolStyle:t.toolStyle},e)};var U=h(B)(T);export{U as default};
1
+ import{store as h}from"../../../index.js";import{message as g}from"antd/es";import j from"lodash";import m,{useState as w,useRef as v,useEffect as a}from"react";import{connect as A}from"react-redux";import R from"../../../components/fileException/FileError.js";import C from"../../../hooks/useSize.js";import{InitToolStyleConfig as x}from"../../../store/toolStyle/actionCreators.js";import{ImgUtils as z}from"@labelbee/lb-annotation";import{i18n as S}from"@labelbee/lb-utils";var L=Object.defineProperty,N=Object.defineProperties,D=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,_=(t,e,o)=>e in t?L(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,y=(t,e)=>{for(var o in e||(e={}))k.call(e,o)&&_(t,o,e[o]);if(O)for(var o of O(e))F.call(e,o)&&_(t,o,e[o]);return t},T=(t,e)=>N(t,D(e));const B=t=>{const[,e]=w(0),{imgAttribute:o,toolStyle:s,toolInstance:n,annotationEngine:r,imgList:f,imgIndex:I,dataInjectionAtCreation:p,renderEnhance:u,customRenderStyle:c}=t,d=v(null),b=v(null),l=C(d);a(()=>{h.dispatch(x())},[]),a(()=>{if(!!r){switch(S.language){case"cn":case"en":r.setLang(S.language);break}r==null||r.setDataInjectionAtCreation(p),r==null||r.setRenderEnhance(u),c&&(r==null||r.setCustomRenderStyle(c))}},[r,p,u,c]),a(()=>{n&&(n.singleOn("messageError",i=>{g.error(i)}),n.singleOn("messageInfo",i=>{g.info(i)}),n.singleOn("changeAnnotationShow",()=>{e(i=>i+1)}))},[n]),a(()=>{n&&n.setImgAttribute(o)},[o]),a(()=>{n&&n.setStyle(s),r&&r.setStyle(s)},[s]),a(()=>{(n==null?void 0:n.setSize)&&n.setSize(l),r&&r.setSize(l)},[l]);const E=()=>{const i=f==null?void 0:f[I];!(i==null?void 0:i.url)||z.load(i.url).then(P=>{r.setImgNode(P)})};return m.createElement("div",{ref:d,className:"annotationOperation"},m.createElement("div",{className:"canvas",ref:b,style:l,id:"toolContainer"}),(n==null?void 0:n.isImgError)===!0&&m.createElement(R,T(y({},l),{reloadImage:E,backgroundColor:"#e2e2e2",ignoreOffsetY:!0})))},U=t=>{const e=j.pickBy(t.annotation,(o,s)=>["imgList","imgIndex","stepList","step","toolInstance","annotationEngine","loading"].includes(s));return y({imgAttribute:t.imgAttribute,toolStyle:t.toolStyle},e)};var V=A(U)(B);export{V as default};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/annotationOperation/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { message } from 'antd/es';\nimport { AppState } from 'src/store';\nimport { connect } from 'react-redux';\nimport { ImgAttributeState } from 'src/store/imgAttribute/types';\nimport _ from 'lodash';\nimport { store } from '@/index';\n\nimport useSize from '@/hooks/useSize';\nimport { InitToolStyleConfig } from '@/store/toolStyle/actionCreators';\nimport { AnnotationEngine, ImgUtils } from '@labelbee/lb-annotation';\nimport FileError from '@/components/fileException/FileError';\nimport { i18n } from '@labelbee/lb-utils';\nimport { AppProps } from '@/App';\n\ninterface IProps extends AppState, AppProps {\n imgAttribute: ImgAttributeState;\n imgIndex: number;\n annotationEngine: AnnotationEngine;\n loading: boolean;\n}\n\nconst AnnotationOperation: React.FC<IProps> = (props: IProps) => {\n const [, forceRender] = useState<number>(0);\n\n const {\n imgAttribute,\n toolStyle,\n toolInstance,\n annotationEngine,\n imgList,\n imgIndex,\n dataInjectionAtCreation,\n renderEnhance,\n } = props;\n const annotationRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n // const windowSize = useContext(viewportContext);\n // const canvasSize = getFormatSize(windowSize);\n const size = useSize(annotationRef);\n\n useEffect(() => {\n store.dispatch(InitToolStyleConfig());\n }, []);\n\n useEffect(() => {\n if (!annotationEngine) {\n return;\n }\n\n // 更改 toolInstance 内部国际化语言\n switch (i18n.language) {\n case 'cn':\n case 'en':\n annotationEngine.setLang(i18n.language);\n break;\n default: {\n //\n break;\n }\n }\n annotationEngine?.setDataInjectionAtCreation(dataInjectionAtCreation);\n annotationEngine?.setRenderEnhance(renderEnhance);\n }, [annotationEngine, dataInjectionAtCreation, renderEnhance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n\n toolInstance.singleOn('messageInfo', (info: string) => {\n message.info(info);\n });\n\n toolInstance.singleOn('changeAnnotationShow', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setImgAttribute(imgAttribute);\n }\n }, [imgAttribute]);\n\n /** 样式同步 */\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setStyle(toolStyle);\n }\n if (annotationEngine) {\n annotationEngine.setStyle(toolStyle);\n }\n }, [toolStyle]);\n\n /** 窗口大小监听 */\n useEffect(() => {\n if (toolInstance?.setSize) {\n toolInstance.setSize(size);\n }\n\n if (annotationEngine) {\n annotationEngine.setSize(size);\n }\n }, [size]);\n\n /**\n * 重新加载图片,避免网络问题导致的图片无法加载\n * @returns\n */\n const reloadImg = () => {\n const imgInfo = imgList?.[imgIndex];\n if (!imgInfo?.url) {\n return;\n }\n\n ImgUtils.load(imgInfo.url).then((imgNode) => {\n annotationEngine.setImgNode(imgNode as HTMLImageElement);\n });\n };\n\n return (\n <div ref={annotationRef} className='annotationOperation'>\n <div className='canvas' ref={containerRef} style={size} id='toolContainer' />\n {toolInstance?.isImgError === true && (\n <FileError\n {...size}\n reloadImage={reloadImg}\n backgroundColor='#e2e2e2'\n ignoreOffsetY={true}\n />\n )}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const annotationState = _.pickBy(state.annotation, (v, k) =>\n [\n 'imgList',\n 'imgIndex',\n 'stepList',\n 'step',\n 'toolInstance',\n 'annotationEngine',\n 'loading',\n ].includes(k),\n );\n return {\n imgAttribute: state.imgAttribute,\n toolStyle: state.toolStyle,\n ...annotationState,\n };\n};\n\nexport default connect(mapStateToProps)(AnnotationOperation);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,mBAAA,GAAwC,CAAC,KAAkB,KAAA;AAC/D,EAAM,MAAA,GAAG,WAAA,CAAA,GAAe,QAAiB,CAAA,CAAA,CAAA,CAAA;AAEzC,EAAM,MAAA;AAAA,IACJ,YAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,gBAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,uBAAA;AAAA,IACA,aAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAA,MAAM,gBAAgB,MAAuB,CAAA,IAAA,CAAA,CAAA;AAC7C,EAAA,MAAM,eAAe,MAAuB,CAAA,IAAA,CAAA,CAAA;AAG5C,EAAA,MAAM,OAAO,OAAQ,CAAA,aAAA,CAAA,CAAA;AAErB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,KAAA,CAAM,QAAS,CAAA,mBAAA,EAAA,CAAA,CAAA;AAAA,GACd,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,MAAA,OAAA;AAAA,KAAA;AAIF,IAAA,QAAQ,IAAK,CAAA,QAAA;AAAA,MACN,KAAA,IAAA,CAAA;AAAA,MACA,KAAA,IAAA;AACH,QAAA,gBAAA,CAAiB,QAAQ,IAAK,CAAA,QAAA,CAAA,CAAA;AAC9B,QAAA,MAAA;AAGA,KAAA;AAGJ,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,0BAA2B,CAAA,uBAAA,CAAA,CAAA;AAC7C,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,gBAAiB,CAAA,aAAA,CAAA,CAAA;AAAA,GAClC,EAAA,CAAC,kBAAkB,uBAAyB,EAAA,aAAA,CAAA,CAAA,CAAA;AAE/C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAChB,MAAa,YAAA,CAAA,QAAA,CAAS,cAAgB,EAAA,CAAC,KAAkB,KAAA;AACvD,QAAA,OAAA,CAAQ,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGhB,MAAa,YAAA,CAAA,QAAA,CAAS,aAAe,EAAA,CAAC,IAAiB,KAAA;AACrD,QAAA,OAAA,CAAQ,IAAK,CAAA,IAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGf,MAAa,YAAA,CAAA,QAAA,CAAS,wBAAwB,MAAM;AAClD,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAG1B,CAAC,YAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAChB,MAAA,YAAA,CAAa,eAAgB,CAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAE9B,CAAC,YAAA,CAAA,CAAA,CAAA;AAGJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAChB,MAAA,YAAA,CAAa,QAAS,CAAA,SAAA,CAAA,CAAA;AAAA,KAAA;AAExB,IAAA,IAAI,gBAAkB,EAAA;AACpB,MAAA,gBAAA,CAAiB,QAAS,CAAA,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAE3B,CAAC,SAAA,CAAA,CAAA,CAAA;AAGJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,6CAAc,OAAS,EAAA;AACzB,MAAA,YAAA,CAAa,OAAQ,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAGvB,IAAA,IAAI,gBAAkB,EAAA;AACpB,MAAA,gBAAA,CAAiB,OAAQ,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAE1B,CAAC,IAAA,CAAA,CAAA,CAAA;AAMJ,EAAA,MAAM,YAAY,MAAM;AACtB,IAAA,MAAM,UAAU,OAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,QAAA,CAAA,CAAA;AAC1B,IAAI,IAAA,qCAAU,GAAK,CAAA,EAAA;AACjB,MAAA,OAAA;AAAA,KAAA;AAGF,IAAA,QAAA,CAAS,IAAK,CAAA,OAAA,CAAQ,GAAK,CAAA,CAAA,IAAA,CAAK,CAAC,OAAY,KAAA;AAC3C,MAAA,gBAAA,CAAiB,UAAW,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAIhC,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,GAAK,EAAA,aAAA;AAAA,IAAe,SAAU,EAAA,qBAAA;AAAA,GAAA,sCAChC,KAAD,EAAA;AAAA,IAAK,SAAU,EAAA,QAAA;AAAA,IAAS,GAAK,EAAA,YAAA;AAAA,IAAc,KAAO,EAAA,IAAA;AAAA,IAAM,EAAG,EAAA,eAAA;AAAA,GAAA,CAAA,EAC1D,8CAAc,UAAe,MAAA,IAAA,oBAC3B,KAAA,CAAA,aAAA,CAAA,SAAA,EAAD,iCACM,IADN,CAAA,EAAA;AAAA,IAEE,WAAa,EAAA,SAAA;AAAA,IACb,eAAgB,EAAA,SAAA;AAAA,IAChB,aAAe,EAAA,IAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAOzB,MAAM,eAAA,GAAkB,CAAC,KAAoB,KAAA;AAC3C,EAAA,MAAM,kBAAkB,CAAE,CAAA,MAAA,CAAO,MAAM,UAAY,EAAA,CAAC,GAAG,CACrD,KAAA;AAAA,IACE,SAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,IACA,kBAAA;AAAA,IACA,SAAA;AAAA,GAAA,CACA,QAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAEb,EAAO,OAAA,cAAA,CAAA;AAAA,IACL,cAAc,KAAM,CAAA,YAAA;AAAA,IACpB,WAAW,KAAM,CAAA,SAAA;AAAA,GACd,EAAA,eAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAIP,4BAAe,QAAQ,eAAiB,CAAA,CAAA,mBAAA,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/annotationOperation/index.tsx"],"sourcesContent":["import { store } from '@/index';\nimport { message } from 'antd/es';\nimport _ from 'lodash';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { AppState } from 'src/store';\nimport { ImgAttributeState } from 'src/store/imgAttribute/types';\n\nimport { AppProps } from '@/App';\nimport FileError from '@/components/fileException/FileError';\nimport useSize from '@/hooks/useSize';\nimport { InitToolStyleConfig } from '@/store/toolStyle/actionCreators';\nimport { AnnotationEngine, ImgUtils } from '@labelbee/lb-annotation';\nimport { i18n } from '@labelbee/lb-utils';\n\ninterface IProps extends AppState, AppProps {\n imgAttribute: ImgAttributeState;\n imgIndex: number;\n annotationEngine: AnnotationEngine;\n loading: boolean;\n}\n\nconst AnnotationOperation: React.FC<IProps> = (props: IProps) => {\n const [, forceRender] = useState<number>(0);\n\n const {\n imgAttribute,\n toolStyle,\n toolInstance,\n annotationEngine,\n imgList,\n imgIndex,\n dataInjectionAtCreation,\n renderEnhance,\n customRenderStyle,\n } = props;\n const annotationRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n // const windowSize = useContext(viewportContext);\n // const canvasSize = getFormatSize(windowSize);\n const size = useSize(annotationRef);\n\n useEffect(() => {\n store.dispatch(InitToolStyleConfig());\n }, []);\n\n useEffect(() => {\n if (!annotationEngine) {\n return;\n }\n\n // 更改 toolInstance 内部国际化语言\n switch (i18n.language) {\n case 'cn':\n case 'en':\n annotationEngine.setLang(i18n.language);\n break;\n default: {\n //\n break;\n }\n }\n annotationEngine?.setDataInjectionAtCreation(dataInjectionAtCreation);\n annotationEngine?.setRenderEnhance(renderEnhance);\n if (customRenderStyle) {\n annotationEngine?.setCustomRenderStyle(customRenderStyle);\n }\n }, [annotationEngine, dataInjectionAtCreation, renderEnhance, customRenderStyle]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n\n toolInstance.singleOn('messageInfo', (info: string) => {\n message.info(info);\n });\n\n toolInstance.singleOn('changeAnnotationShow', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setImgAttribute(imgAttribute);\n }\n }, [imgAttribute]);\n\n /** 样式同步 */\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setStyle(toolStyle);\n }\n if (annotationEngine) {\n annotationEngine.setStyle(toolStyle);\n }\n }, [toolStyle]);\n\n /** 窗口大小监听 */\n useEffect(() => {\n if (toolInstance?.setSize) {\n toolInstance.setSize(size);\n }\n\n if (annotationEngine) {\n annotationEngine.setSize(size);\n }\n }, [size]);\n\n /**\n * 重新加载图片,避免网络问题导致的图片无法加载\n * @returns\n */\n const reloadImg = () => {\n const imgInfo = imgList?.[imgIndex];\n if (!imgInfo?.url) {\n return;\n }\n\n ImgUtils.load(imgInfo.url).then((imgNode) => {\n annotationEngine.setImgNode(imgNode as HTMLImageElement);\n });\n };\n\n return (\n <div ref={annotationRef} className='annotationOperation'>\n <div className='canvas' ref={containerRef} style={size} id='toolContainer' />\n {toolInstance?.isImgError === true && (\n <FileError\n {...size}\n reloadImage={reloadImg}\n backgroundColor='#e2e2e2'\n ignoreOffsetY={true}\n />\n )}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const annotationState = _.pickBy(state.annotation, (v, k) =>\n [\n 'imgList',\n 'imgIndex',\n 'stepList',\n 'step',\n 'toolInstance',\n 'annotationEngine',\n 'loading',\n ].includes(k),\n );\n return {\n imgAttribute: state.imgAttribute,\n toolStyle: state.toolStyle,\n ...annotationState,\n };\n};\n\nexport default connect(mapStateToProps)(AnnotationOperation);\n"],"names":[],"mappings":"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"}