@labelbee/lb-components 1.2.3 → 1.5.0-alpha.0

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 (225) hide show
  1. package/LICENSE +203 -0
  2. package/dist/App.js +1 -1
  3. package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
  4. package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
  5. package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
  6. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
  7. package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
  8. package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
  9. package/dist/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
  10. package/dist/components/fileException/FileError.js +1 -0
  11. package/dist/components/fileException/FileInvalid.js +1 -0
  12. package/dist/components/fileException/index.js +1 -0
  13. package/dist/components/videoAnnotate/index.js +1 -0
  14. package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
  15. package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
  16. package/dist/components/videoPlayer/VideoTagLayer.js +1 -0
  17. package/dist/components/videoPlayer/components/controller/index.js +1 -0
  18. package/dist/components/videoPlayer/index.js +1 -0
  19. package/dist/components/videoPlayer/utils.js +1 -0
  20. package/dist/index.css +950 -651
  21. package/dist/index.css.map +1 -0
  22. package/dist/index.js +1 -1
  23. package/dist/store/Actions.js +1 -1
  24. package/dist/store/annotation/actionCreators.js +1 -1
  25. package/dist/store/annotation/reducer.js +1 -1
  26. package/dist/types/App.d.ts +28 -7
  27. package/dist/types/components/annotationStepPopover/index.d.ts +0 -1
  28. package/dist/types/components/checkboxList/index.d.ts +0 -1
  29. package/dist/types/components/colorTag/index.d.ts +0 -1
  30. package/dist/types/components/{ImageError/index.d.ts → fileException/FileError.d.ts} +5 -4
  31. package/dist/types/components/fileException/FileInvalid.d.ts +12 -0
  32. package/dist/types/components/fileException/index.d.ts +17 -0
  33. package/dist/types/components/videoAnnotate/index.d.ts +15 -0
  34. package/dist/types/components/videoPlayer/TagToolInstanceAdaptor.d.ts +90 -0
  35. package/dist/types/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.d.ts +8 -0
  36. package/dist/types/components/videoPlayer/VideoTagLayer.d.ts +12 -0
  37. package/dist/types/components/videoPlayer/components/controller/index.d.ts +2 -0
  38. package/dist/types/components/videoPlayer/index.d.ts +73 -0
  39. package/dist/types/components/videoPlayer/types.d.ts +8 -0
  40. package/dist/types/components/videoPlayer/utils.d.ts +36 -0
  41. package/dist/types/index.d.ts +6 -4
  42. package/dist/types/store/Actions.d.ts +5 -0
  43. package/dist/types/store/annotation/actionCreators.d.ts +20 -8
  44. package/dist/types/store/annotation/reducer.d.ts +2 -2
  45. package/dist/types/store/annotation/types.d.ts +30 -2
  46. package/dist/types/utils/PageOperator.d.ts +1 -1
  47. package/dist/types/utils/StepUtils.d.ts +7 -0
  48. package/dist/types/utils/TextUtils.d.ts +1 -1
  49. package/dist/types/utils/dom.d.ts +6 -0
  50. package/dist/types/views/MainView/annotationOperation/index.d.ts +5 -9
  51. package/dist/types/views/MainView/annotationTips/index.d.ts +5 -0
  52. package/dist/types/views/MainView/index.d.ts +9 -3
  53. package/dist/types/views/MainView/sidebar/AnnotationText/index.d.ts +3 -1
  54. package/dist/types/views/MainView/sidebar/ClearIcon/index.d.ts +0 -1
  55. package/dist/types/views/MainView/sidebar/GeneralOperation/index.d.ts +3 -1
  56. package/dist/types/views/MainView/sidebar/ImgAttributeInfo/index.d.ts +0 -1
  57. package/dist/types/views/MainView/sidebar/SwitchAttributeList/index.d.ts +3 -1
  58. package/dist/types/views/MainView/sidebar/TagSidebar/index.d.ts +3 -1
  59. package/dist/types/views/MainView/sidebar/TextAreaFormat/index.d.ts +0 -1
  60. package/dist/types/views/MainView/sidebar/TextToolSidebar/index.d.ts +3 -1
  61. package/dist/types/views/MainView/sidebar/ToolStyle/index.d.ts +0 -1
  62. package/dist/types/views/MainView/sidebar/index.d.ts +3 -1
  63. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.d.ts +23 -0
  64. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/index.d.ts +2 -7
  65. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.d.ts +7 -1
  66. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.d.ts +3 -0
  67. package/dist/types/views/MainView/toolFooter/HiddenTips/index.d.ts +0 -1
  68. package/dist/types/views/MainView/toolFooter/PageNumber/index.d.ts +0 -1
  69. package/dist/types/views/MainView/toolFooter/Pagination.d.ts +12 -0
  70. package/dist/types/views/MainView/toolFooter/ZoomController/ZoomLevel/index.d.ts +3 -1
  71. package/dist/types/views/MainView/toolFooter/ZoomController/index.d.ts +3 -1
  72. package/dist/types/views/MainView/toolFooter/index.d.ts +6 -2
  73. package/dist/types/views/MainView/toolHeader/ExportData/index.d.ts +3 -1
  74. package/dist/types/views/MainView/toolHeader/StepSwitch/index.d.ts +3 -1
  75. package/dist/types/views/MainView/toolHeader/index.d.ts +8 -4
  76. package/dist/utils/StepUtils.js +1 -1
  77. package/dist/utils/TextUtils.js +1 -1
  78. package/dist/utils/dom.js +1 -1
  79. package/dist/utils/index.js +1 -1
  80. package/dist/views/MainView/annotationOperation/index.js +1 -1
  81. package/dist/views/MainView/annotationTips/index.js +1 -0
  82. package/dist/views/MainView/index.js +1 -1
  83. package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  84. package/dist/views/MainView/sidebar/TagSidebar/index.js +1 -1
  85. package/dist/views/MainView/sidebar/index.js +1 -1
  86. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  87. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  88. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  89. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
  90. package/dist/views/MainView/toolFooter/FooterTips/index.js +1 -1
  91. package/dist/views/MainView/toolFooter/Pagination.js +1 -0
  92. package/dist/views/MainView/toolFooter/index.js +1 -1
  93. package/dist/views/MainView/toolHeader/headerOption/index.js +1 -1
  94. package/dist/views/MainView/toolHeader/index.js +1 -1
  95. package/es/App.js +1 -1
  96. package/es/App.js.map +1 -1
  97. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
  98. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
  99. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
  100. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
  101. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
  102. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
  103. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
  104. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
  105. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
  106. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
  107. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
  108. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
  109. package/es/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
  110. package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
  111. package/es/components/AnnotationView/index.js.map +1 -1
  112. package/es/components/ImageError/index.js +53 -1
  113. package/es/components/ImageError/index.js.map +1 -1
  114. package/es/components/annotationStepPopover/index.js.map +1 -1
  115. package/es/components/attributeList/index.js.map +1 -1
  116. package/es/components/checkboxList/index.js.map +1 -1
  117. package/es/components/colorTag/index.js.map +1 -1
  118. package/es/components/customAntd/IconWithText/index.js.map +1 -1
  119. package/es/components/customResizeHook/index.js.map +1 -1
  120. package/es/components/fileException/FileError.js +1 -0
  121. package/es/components/fileException/FileError.js.map +1 -0
  122. package/es/components/fileException/FileInvalid.js +1 -0
  123. package/es/components/fileException/FileInvalid.js.map +1 -0
  124. package/es/components/fileException/index.js +1 -0
  125. package/es/components/fileException/index.js.map +1 -0
  126. package/es/components/videoAnnotate/index.js +1 -0
  127. package/es/components/videoAnnotate/index.js.map +1 -0
  128. package/es/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
  129. package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
  130. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
  131. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
  132. package/es/components/videoPlayer/VideoTagLayer.js +1 -0
  133. package/es/components/videoPlayer/VideoTagLayer.js.map +1 -0
  134. package/es/components/videoPlayer/components/controller/index.js +1 -0
  135. package/es/components/videoPlayer/components/controller/index.js.map +1 -0
  136. package/es/components/videoPlayer/index.js +1 -0
  137. package/es/components/videoPlayer/index.js.map +1 -0
  138. package/es/components/videoPlayer/utils.js +1 -0
  139. package/es/components/videoPlayer/utils.js.map +1 -0
  140. package/es/configureStore.js.map +1 -1
  141. package/es/constant/index.js.map +1 -1
  142. package/es/constant/styleString.js.map +1 -1
  143. package/es/data/Style.js.map +1 -1
  144. package/es/data/enums/AnnotationSize.js.map +1 -1
  145. package/es/data/enums/ToolType.js.map +1 -1
  146. package/es/hooks/useRafState.js.map +1 -1
  147. package/es/hooks/useSafeSate.js.map +1 -1
  148. package/es/hooks/useSize.js.map +1 -1
  149. package/es/hooks/useUnmountedRef.js.map +1 -1
  150. package/es/index.js +1 -1
  151. package/es/index.js.map +1 -1
  152. package/es/store/Actions.js +1 -1
  153. package/es/store/Actions.js.map +1 -1
  154. package/es/store/annotation/actionCreators.js +1 -1
  155. package/es/store/annotation/actionCreators.js.map +1 -1
  156. package/es/store/annotation/reducer.js +1 -1
  157. package/es/store/annotation/reducer.js.map +1 -1
  158. package/es/store/imgAttribute/actionCreators.js.map +1 -1
  159. package/es/store/imgAttribute/reducer.js.map +1 -1
  160. package/es/store/index.js.map +1 -1
  161. package/es/store/toolStyle/actionCreators.js.map +1 -1
  162. package/es/store/toolStyle/reducer.js.map +1 -1
  163. package/es/utils/AnnotationDataUtils.js.map +1 -1
  164. package/es/utils/ConfigUtils.js.map +1 -1
  165. package/es/utils/PageOperator.js.map +1 -1
  166. package/es/utils/StepUtils.js +1 -1
  167. package/es/utils/StepUtils.js.map +1 -1
  168. package/es/utils/TextUtils.js +1 -1
  169. package/es/utils/TextUtils.js.map +1 -1
  170. package/es/utils/ToolStyleUtils.js.map +1 -1
  171. package/es/utils/data.js.map +1 -1
  172. package/es/utils/dom.js +1 -1
  173. package/es/utils/dom.js.map +1 -1
  174. package/es/utils/index.js +1 -1
  175. package/es/utils/index.js.map +1 -1
  176. package/es/views/MainView/annotationOperation/index.js +1 -1
  177. package/es/views/MainView/annotationOperation/index.js.map +1 -1
  178. package/es/views/MainView/annotationTips/index.js +1 -0
  179. package/es/views/MainView/annotationTips/index.js.map +1 -0
  180. package/es/views/MainView/index.js +1 -1
  181. package/es/views/MainView/index.js.map +1 -1
  182. package/es/views/MainView/sidebar/AnnotationText/index.js.map +1 -1
  183. package/es/views/MainView/sidebar/ClearIcon/index.js.map +1 -1
  184. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  185. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
  186. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -1
  187. package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -1
  188. package/es/views/MainView/sidebar/TagSidebar/index.js +1 -1
  189. package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -1
  190. package/es/views/MainView/sidebar/TextAreaFormat/index.js.map +1 -1
  191. package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -1
  192. package/es/views/MainView/sidebar/ToolStyle/index.js.map +1 -1
  193. package/es/views/MainView/sidebar/index.js +1 -1
  194. package/es/views/MainView/sidebar/index.js.map +1 -1
  195. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  196. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -1
  197. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  198. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
  199. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +1 -1
  200. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +1 -1
  201. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  202. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -1
  203. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +1 -1
  204. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +1 -1
  205. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +1 -1
  206. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
  207. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
  208. package/es/views/MainView/toolFooter/FooterTips/index.js +1 -1
  209. package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -1
  210. package/es/views/MainView/toolFooter/HiddenTips/index.js.map +1 -1
  211. package/es/views/MainView/toolFooter/PageNumber/index.js.map +1 -1
  212. package/es/views/MainView/toolFooter/Pagination.js +1 -0
  213. package/es/views/MainView/toolFooter/Pagination.js.map +1 -0
  214. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -1
  215. package/es/views/MainView/toolFooter/ZoomController/index.js.map +1 -1
  216. package/es/views/MainView/toolFooter/index.js +1 -1
  217. package/es/views/MainView/toolFooter/index.js.map +1 -1
  218. package/es/views/MainView/toolHeader/ExportData/index.js.map +1 -1
  219. package/es/views/MainView/toolHeader/StepSwitch/index.js.map +1 -1
  220. package/es/views/MainView/toolHeader/headerOption/index.js +1 -1
  221. package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -1
  222. package/es/views/MainView/toolHeader/index.js +1 -1
  223. package/es/views/MainView/toolHeader/index.js.map +1 -1
  224. package/package.json +12 -10
  225. package/dist/components/ImageError/index.js +0 -1
@@ -1 +1 @@
1
- import{ANNOTATION_ACTIONS as i}from"../Actions.js";import tt from"lodash";import{composeResultWithBasicImgInfo as et,composeResult as nt}from"../../utils/data.js";import{jsonParser as N}from"../../utils/index.js";import k from"../../utils/StepUtils.js";import B from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as ot}from"../../utils/ConfigUtils.js";import st from"../../constant/styleString.js";import{getFormatSize as rt}from"../../components/customResizeHook/index.js";import{CommonToolUtils as it,AnnotationEngine as lt,ImgUtils as ut}from"@labelbee/lb-annotation";import{message as K}from"antd/es";import{SetAnnotationLoading as U}from"./actionCreators.js";var at=Object.defineProperty,ct=Object.defineProperties,pt=Object.getOwnPropertyDescriptors,X=Object.getOwnPropertySymbols,dt=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,J=(t,e,o)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,l=(t,e)=>{for(var o in e||(e={}))dt.call(e,o)&&J(t,o,e[o]);if(X)for(var o of X(e))gt.call(e,o)&&J(t,o,e[o]);return t},a=(t,e)=>ct(t,pt(e)),ft=(t,e,o)=>new Promise((I,g)=>{var E=c=>{try{S(o.next(c))}catch(y){g(y)}},D=c=>{try{S(o.throw(c))}catch(y){g(y)}},S=c=>c.done?I(c.value):Promise.resolve(c.value).then(E,D);S((o=o.apply(t,e)).next())});const O=(t,e)=>t.find(o=>o.step===e),mt={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},_t=t=>{const{imgList:e,imgPageSize:o}=t;return Math.ceil(e.length/o)},Y=(t,e)=>t.reduce((o,I)=>{const g=I.result;return N(g)[`step_${e}`]?o+1:o},0)/t.length,It=(t,e)=>{const{step:o,stepList:I}=t,g=k.getCurrentStepInfo(o,I),E=ot.jsonParser(g.config),D=document.getElementById("toolContainer");if(!D)throw"Not exist dom named id-toolContainer";const S=rt({width:window.innerWidth,height:window.innerHeight}),c=new lt({container:D,toolName:g.tool,size:S,imgNode:e,config:E,style:JSON.parse(st)});return{toolInstance:c.toolInstance,annotationEngine:c}},Et=(t,e)=>(o,I)=>ft(void 0,null,function*(){const{getFileData:g,imgList:E,toolInstance:D}=I().annotation;if(U(o,!0),g){const c=yield g(E[t],t);o({type:i.SET_FILE_DATA,payload:{fileData:c,index:t}})}const{url:S}=E[t];return ut.load(S).then(c=>{U(o,!1),o({type:i.LOAD_FILE_DATA,payload:{imgNode:c,nextIndex:t,nextBasicIndex:e}})}).catch(()=>{U(o,!1),D.setErrorImg(),o({type:i.LOAD_FILE_DATA,payload:{nextIndex:t,nextBasicIndex:e}})})}),St=(t=mt,e)=>{var o,I,g,E,D,S,c,y,j,x,G,z,M,$,H;switch(e.type){case i.UPDATE_TOOL_INSTANCE:return a(l({},t),{toolInstance:e.payload.toolInstance});case i.UPDATE_IMG_LIST:return a(l({},t),{imgList:e.payload.imgList});case i.CALC_STEP_PROGRESS:{const{imgList:n,step:s}=t,r=Y(n,s);return a(l({},t),{stepProgress:r})}case i.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:s,step:r,stepList:u,toolInstance:p,onSubmit:d,resultList:_}=t;if(!p)return t;const f=((o=n[s])==null?void 0:o.result)||"",[,m]=p.exportData(),L=et(f,m),v=nt(L,{step:r,stepList:u},{rect:_});n[s].result=B.dataCorrection(v,f,r,u),d&&d([n[s]],(I=e.payload)==null?void 0:I.submitType,s);const T=Y(n,r);return a(l({},t),{stepProgress:T,imgList:n})}case i.SAVE_RESULT:{const{imgList:n,imgIndex:s,onSave:r}=t;return r==null||r(n[s],s,n),l({},t)}case i.SUBMIT_RESULT:{const{imgList:n,basicIndex:s,resultList:r,annotationEngine:u,basicResultList:p}=t;if(!u)return t;const[d]=u.toolInstance.exportData();let _=d;if((p==null?void 0:p.length)>0){const f=(g=p[s])==null?void 0:g.id,m=d.map(L=>a(l({},L),{sourceID:f}));_=tt.cloneDeep(r).filter(L=>L.sourceID!==f),_.push(...m)}return a(l({},t),{resultList:_,imgList:n})}case i.SET_BASIC_INDEX:{const{toolInstance:n,step:s,imgList:r,imgIndex:u,stepList:p,annotationEngine:d,resultList:_,basicResultList:f}=t;if(!n||!d)return t;const m=e.payload.basicIndex,L=(E=f[m])==null?void 0:E.id,v=N((D=r[u])==null?void 0:D.result),T=(_||[]).filter(w=>w.sourceID===L),h=O(p,s),{dataSourceStep:P,tool:F}=h,C=O(p,P);let A=[];return P&&F&&(A=(S=v[`step_${P}`])==null?void 0:S.result,(A==null?void 0:A.length)>0?(d.setBasicInfo(C.tool,A[m]),d.launchOperation()):(d.setBasicInfo(C.tool),d.forbidOperation(),K.info("\u5F53\u524D\u6587\u4EF6\u4E0D\u5B58\u5728\u4F9D\u8D56\u6570\u636E"))),n.setResult(T),n.history.initRecord(T,!0),a(l({},t),{basicIndex:m})}case i.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:n}=e.payload;return a(l({},t),{triggerEventAfterIndexChanged:!!n})}case i.LOAD_FILE_DATA:{const{imgList:n,step:s,toolInstance:r,annotationEngine:u,stepList:p}=t;if(!r||!u)return t;const d=k.getCurrentStepInfo(s,p),{nextIndex:_,imgNode:f,nextBasicIndex:m,imgError:L}=e.payload,v=m!=null?m:0,T=N((c=n[_])==null?void 0:c.result),h=T[`step_${s}`],P=!h,F={rotate:(y=T.rotate)!=null?y:0,valid:(j=T.valid)!=null?j:!0};f&&L!==!0&&u.setImgNode(f,F);const C=O(p,s),{dataSourceStep:A,tool:w}=C,V=O(p,A),W=A&&w,R=(G=(x=T[`step_${A}`])==null?void 0:x.result)!=null?G:[],b=B.getInitialResultList(h==null?void 0:h.result,r,C,R,P);if(u.launchOperation(),W&&((R==null?void 0:R.length)>0?u.setBasicInfo(V.tool,R[v]):(u.setBasicInfo(V.tool),u.forbidOperation(),K.info("\u5F53\u524D\u6587\u4EF6\u4E0D\u5B58\u5728\u4F9D\u8D56\u6570\u636E"))),d.tool!=="check"){const q=(M=(z=R[v])==null?void 0:z.id)!=null?M:"",Q=W?b.filter(Z=>it.isSameSourceID(Z.sourceID,q)):b;r.setResult(Q),r.history.initRecord(b,!0)}return a(l({},t),{imgIndex:_,basicIndex:v,basicResultList:R,resultList:b})}case i.UPDATE_ANNOTATION_CONFIG:return a(l({},t),{config:($=e.payload.config)!=null?$:"{}"});case i.SET_TASK_CONFIG:{const{stepList:n,step:s}=e.payload;return a(l({},t),{stepList:n,step:s})}case i.INIT_TOOL:{const{imgNode:n}=t,{toolInstance:s,annotationEngine:r}=It(t,n);return a(l({},t),{toolInstance:s,annotationEngine:r})}case i.UPDATE_ON_SUBMIT:return a(l({},t),{onSubmit:e.payload.onSubmit});case i.UPDATE_ON_SAVE:return a(l({},t),{onSave:e.payload.onSave});case i.UPDATE_GET_FILE_DATA:return a(l({},t),{getFileData:e.payload.getFileData});case i.SET_FILE_DATA:{const{fileData:n,index:s}=e.payload,{imgList:r}=t;return r[s]=l(l({},r[s]),n),a(l({},t),{imgList:r})}case i.UPDATE_ROTATE:{const{toolInstance:n}=t;return n==null||n.updateRotate(),t}case i.COPY_BACKWARD_RESULT:{const{toolInstance:n,imgIndex:s,imgList:r,step:u}=t;if(!n)return t;if(s===0||s>=r.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),t;const p=r[s-1].result;if(!p)return t;const d=B.copyResultChange(p,u,(H=r[s].result)!=null?H:"");r[s].result=d;const f=N(d)[`step_${u}`],m=(f==null?void 0:f.result)||[];return n.setResult(m),n.history.pushHistory(m),a(l({},t),{imgList:[...r]})}case i.SET_STEP:{const{stepList:n,annotationEngine:s}=t,{toStep:r}=e.payload;if(!s)return t;const u=O(n,r);return s.setToolName(u.tool,u.config),a(l({},t),{step:r,toolInstance:s.toolInstance})}case i.SET_LOADING:{const{loading:n}=e.payload;return a(l({},t),{loading:!!n})}default:return t}};export{Et as LoadImageAndFileData,St as annotationReducer,O as getStepConfig,_t as getTotalPage};
1
+ import{getFormatSize as oe}from"../../components/customResizeHook/index.js";import se 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 le}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as ie,composeResult as re}from"../../utils/data.js";import j from"../../utils/StepUtils.js";import{CommonToolUtils as ue,AnnotationEngine as ae,ImgUtils as ce,cTool as de}from"@labelbee/lb-annotation";import{i18n as X}from"@labelbee/lb-utils";import{message as J}from"antd/es";import pe from"lodash";import{SetAnnotationLoading as U}from"./actionCreators.js";var ge=Object.defineProperty,fe=Object.defineProperties,_e=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,me=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,Z=(e,t,o)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,r=(e,t)=>{for(var o in t||(t={}))me.call(t,o)&&Z(e,o,t[o]);if(Y)for(var o of Y(t))Ie.call(t,o)&&Z(e,o,t[o]);return e},a=(e,t)=>fe(e,_e(t)),q=(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:ve}=de,P=(e,t)=>e.find(o=>o.step===t),Se={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},Ee=e=>{const{imgList:t,imgPageSize:o}=e;return Math.ceil(t.length/o)},Q=(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,Le=(e,t)=>{const{step:o,stepList:g}=e,d=j.getCurrentStepInfo(o,g),_=le.jsonParser(d.config);if(Object.values(ve).includes(d.tool))return;const v=document.getElementById("toolContainer");if(!v)throw"Not exist dom named id-toolContainer";const E=oe({width:window.innerWidth,height:window.innerHeight}),f=new ae({container:v,toolName:d.tool,size:E,imgNode:t,config:_,style:JSON.parse(se)});return{toolInstance:f==null?void 0:f.toolInstance,annotationEngine:f}},Ae=(e,t)=>(o,g)=>q(void 0,null,function*(){const{stepList:d,step:_}=g().annotation,v=j.currentToolIsVideo(_,d);if(U(o,!0),o(Te(e)),v){o(De(e));return}o(ye(e,t))}),Te=e=>(t,o)=>q(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}})}}),De=e=>t=>{U(t,!1),t({type:i.LOAD_FILE_DATA,payload:{nextIndex:e}})},ye=(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;ce.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}})})},Oe=(e=Se,t)=>{var o,g,d,_,v,E,f,y,x,G,z,V,H,M,$,W;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=Q(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]=p==null?void 0:p.exportData(),L=ie(m,I),D=re(L,{step:l,stepList:u},{rect:S});n[s].result=B.dataCorrection(D,m,l,u),c&&c([n[s]],(g=t.payload)==null?void 0:g.submitType,s);const A=Q(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();let S=c;if((p==null?void 0:p.length)>0){const m=(d=p[s])==null?void 0:d.id,I=c.map(L=>a(r({},L),{sourceID:m}));S=pe.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=(_=m[I])==null?void 0:_.id,D=b((v=l[u])==null?void 0:v.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=(E=D[`step_${C}`])==null?void 0:E.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(),J.info(X.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((f=n[S])==null?void 0:f.result),R=A[`step_${s}`],C=!R,F={rotate:(y=A.rotate)!=null?y:0,valid:(x=A.valid)!=null?x:!0};m&&L!==!0&&(u==null||u.setImgNode(m,F));const h=P(p,s),{dataSourceStep:T,tool:w}=h,k=P(p,T),K=T&&w,O=(z=(G=A[`step_${T}`])==null?void 0:G.result)!=null?z:[],N=B.getInitialResultList(R==null?void 0:R.result,l,h,O,C);if(u==null||u.launchOperation(),K&&((O==null?void 0:O.length)>0?u==null||u.setBasicInfo(k.tool,O[D]):(u==null||u.setBasicInfo(k.tool),u==null||u.forbidOperation(),J.info(X.t("NoDependency")))),c.tool!=="check"){const ee=(H=(V=O[D])==null?void 0:V.id)!=null?H:"",te=K?N.filter(ne=>ue.isSameSourceID(ne.sourceID,ee)):N;l==null||l.setResult(te),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:(M=t.payload.config)!=null?M:"{}"});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=Le(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=($=t.payload)==null?void 0:$.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,(W=l[s].result)!=null?W:"");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{Ae as LoadFileAndFileData,Oe as annotationReducer,P as getStepConfig,Ee as getTotalPage};
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../src/store/annotation/reducer.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport _ from 'lodash';\nimport { composeResultWithBasicImgInfo, composeResult } from '@/utils/data';\nimport { jsonParser } from '@/utils';\nimport StepUtils from '@/utils/StepUtils';\nimport AnnotationDataUtils from '@/utils/AnnotationDataUtils';\nimport { ConfigUtils } from '@/utils/ConfigUtils';\nimport styleString from '@/constant/styleString';\nimport { getFormatSize } from '@/components/customResizeHook';\nimport { AnnotationEngine, CommonToolUtils, ImgUtils } from '@labelbee/lb-annotation';\nimport { AnnotationState, AnnotationActionTypes } from './types';\nimport { message } from 'antd/es';\nimport { SetAnnotationLoading } from './actionCreators';\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 const resultStr = i.result;\n const resultObject = jsonParser(resultStr);\n if (resultObject[`step_${step}`]) {\n return pre + 1;\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 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 LoadImageAndFileData =\n (nextIndex: number, nextBasicIndex?: number) => async (dispatch: any, getState: any) => {\n const { getFileData, imgList, toolInstance } = getState().annotation;\n SetAnnotationLoading(dispatch, true);\n\n /** 支持外部传入获取文件接口 */\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 const { url } = imgList[nextIndex];\n\n return ImgUtils.load(url)\n .then((imgNode) => {\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) {\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, annotationEngine, basicResultList } = state;\n if (!annotationEngine) {\n return state;\n }\n\n const [exportResult] = annotationEngine.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(dependStepConfig.tool, stepBasicResultList[nextBasicIndex]);\n annotationEngine.launchOperation();\n } else {\n annotationEngine.setBasicInfo(dependStepConfig.tool);\n annotationEngine.forbidOperation();\n message.info('当前文件不存在依赖数据');\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 if (!toolInstance || !annotationEngine) {\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('当前文件不存在依赖数据');\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 { toolInstance, annotationEngine } = updateToolInstance(state, imgNode);\n return {\n ...state,\n toolInstance,\n annotationEngine,\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_GET_FILE_DATA: {\n return {\n ...state,\n getFileData: action.payload.getFileData,\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 if (toStep <= stepList.length) {\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 break;\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 return state;\n};\n"],"names":[],"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 { 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 => 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 +1 @@
1
- {"version":3,"file":"actionCreators.js","sources":["../../../src/store/imgAttribute/actionCreators.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeActionTypes, ImgAttributeState } from './types';\n\nexport function UpdateImgAttribute(imgAttribute: ImgAttributeState): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE,\n payload: imgAttribute,\n };\n}\n\nexport function InitImgAttribute(): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE,\n payload: {}\n };\n}\n\nexport default {\n UpdateImgAttribute,\n InitImgAttribute,\n};\n"],"names":[],"mappings":";;4BAGmC,cAA0D;AAC3F,SAAO;AAAA,IACL,MAAM,wBAAwB;AAAA,IAC9B,SAAS;AAAA;AAAA;4BAI+C;AAC1D,SAAO;AAAA,IACL,MAAM,wBAAwB;AAAA,IAC9B,SAAS;AAAA;AAAA;AAIb,mBAAe;AAAA,EACb;AAAA,EACA;AAAA;;;;"}
1
+ {"version":3,"file":"actionCreators.js","sources":["../../../src/store/imgAttribute/actionCreators.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeActionTypes, ImgAttributeState } from './types';\n\nexport function UpdateImgAttribute(imgAttribute: ImgAttributeState): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE,\n payload: imgAttribute,\n };\n}\n\nexport function InitImgAttribute(): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE,\n payload: {}\n };\n}\n\nexport default {\n UpdateImgAttribute,\n InitImgAttribute,\n};\n"],"names":[],"mappings":";;AAGO,SAAA,kBAAA,CAA4B,YAA0D,EAAA;AAC3F,EAAO,OAAA;AAAA,IACL,MAAM,uBAAwB,CAAA,oBAAA;AAAA,IAC9B,OAAS,EAAA,YAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAI+C,SAAA,gBAAA,GAAA;AAC1D,EAAO,OAAA;AAAA,IACL,MAAM,uBAAwB,CAAA,kBAAA;AAAA,IAC9B,OAAS,EAAA,EAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAIb,mBAAe;AAAA,EACb,kBAAA;AAAA,EACA,gBAAA;AAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../src/store/imgAttribute/reducer.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeState, ImgAttributeActionTypes } from './types';\n\nconst initialState: ImgAttributeState = {\n contrast: 1,\n saturation: 1,\n brightness: 1,\n zoomRatio: 1,\n isOriginalSize: false,\n};\n\nexport function imgAttributeReducer(\n state = { ...initialState },\n action: ImgAttributeActionTypes,\n): ImgAttributeState {\n switch (action.type) {\n case IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE: {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n case IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE: {\n return {\n ...initialState,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,MAAM,eAAkC;AAAA,EACtC,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA;6BAIhB,QAAQ,mBAAK,eACb,QACmB;AACnB,UAAQ,OAAO;AAAA,SACR,wBAAwB,sBAAsB;AACjD,aAAO,kCACF,QACA,OAAO;AAAA;AAAA,SAIT,wBAAwB,oBAAoB;AAC/C,aAAO,mBACF;AAAA;AAAA;AAKL,aAAO;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../src/store/imgAttribute/reducer.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeState, ImgAttributeActionTypes } from './types';\n\nconst initialState: ImgAttributeState = {\n contrast: 1,\n saturation: 1,\n brightness: 1,\n zoomRatio: 1,\n isOriginalSize: false,\n};\n\nexport function imgAttributeReducer(\n state = { ...initialState },\n action: ImgAttributeActionTypes,\n): ImgAttributeState {\n switch (action.type) {\n case IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE: {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n case IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE: {\n return {\n ...initialState,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,MAAM,YAAkC,GAAA;AAAA,EACtC,QAAU,EAAA,CAAA;AAAA,EACV,UAAY,EAAA,CAAA;AAAA,EACZ,UAAY,EAAA,CAAA;AAAA,EACZ,SAAW,EAAA,CAAA;AAAA,EACX,cAAgB,EAAA,KAAA;AAAA,CAAA,CAAA;AAIhB,SAAA,mBAAA,CAAA,KAAA,GAAQ,cAAK,CAAA,EAAA,EAAA,YAAA,CAAA,EACb,MACmB,EAAA;AACnB,EAAA,QAAQ,MAAO,CAAA,IAAA;AAAA,IAAA,KACR,wBAAwB,oBAAsB,EAAA;AACjD,MAAO,OAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,QACA,MAAO,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIT,wBAAwB,kBAAoB,EAAA;AAC/C,MAAA,OAAO,cACF,CAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA;AAKL,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/store/index.ts"],"sourcesContent":["import { combineReducers, CombinedState } from 'redux';\nimport { annotationReducer } from './annotation/reducer';\nimport { imgAttributeReducer } from './imgAttribute/reducer';\nimport { toolStyleReducer } from './toolStyle/reducer';\n\nexport const rootReducer: CombinedState<any> = combineReducers({\n annotation: annotationReducer,\n imgAttribute: imgAttributeReducer,\n toolStyle: toolStyleReducer,\n});\n\nexport type AppState = ReturnType<typeof rootReducer>;\n"],"names":[],"mappings":";;;;;MAKa,cAAkC,gBAAgB;AAAA,EAC7D,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/store/index.ts"],"sourcesContent":["import { combineReducers, CombinedState } from 'redux';\nimport { annotationReducer } from './annotation/reducer';\nimport { imgAttributeReducer } from './imgAttribute/reducer';\nimport { toolStyleReducer } from './toolStyle/reducer';\n\nexport const rootReducer: CombinedState<any> = combineReducers({\n annotation: annotationReducer,\n imgAttribute: imgAttributeReducer,\n toolStyle: toolStyleReducer,\n});\n\nexport type AppState = ReturnType<typeof rootReducer>;\n"],"names":[],"mappings":";;;;;AAKO,MAAM,cAAkC,eAAgB,CAAA;AAAA,EAC7D,UAAY,EAAA,iBAAA;AAAA,EACZ,YAAc,EAAA,mBAAA;AAAA,EACd,SAAW,EAAA,gBAAA;AAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"actionCreators.js","sources":["../../../src/store/toolStyle/actionCreators.ts"],"sourcesContent":["import { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nexport function InitToolStyleConfig(): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG,\n payload: undefined\n };\n}\n\nexport function UpdateToolStyleConfig(toolStyle: Partial<ToolStyleState>): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG,\n payload: toolStyle,\n };\n}\n\nexport default {\n InitToolStyleConfig,\n UpdateToolStyleConfig,\n};\n"],"names":[],"mappings":";;+BAG4D;AAC1D,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS;AAAA;AAAA;+BAIyB,WAA0D;AAC9F,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"actionCreators.js","sources":["../../../src/store/toolStyle/actionCreators.ts"],"sourcesContent":["import { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nexport function InitToolStyleConfig(): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG,\n payload: undefined\n };\n}\n\nexport function UpdateToolStyleConfig(toolStyle: Partial<ToolStyleState>): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG,\n payload: toolStyle,\n };\n}\n\nexport default {\n InitToolStyleConfig,\n UpdateToolStyleConfig,\n};\n"],"names":[],"mappings":";;AAG4D,SAAA,mBAAA,GAAA;AAC1D,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,sBAAA;AAAA,IACzB,OAAS,EAAA,KAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAIN,SAAA,qBAAA,CAA+B,SAA0D,EAAA;AAC9F,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,wBAAA;AAAA,IACzB,OAAS,EAAA,SAAA;AAAA,GAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../src/store/toolStyle/reducer.ts"],"sourcesContent":["import { COLORS_ARRAY, NULL_COLOR } from '@/data/Style';\nimport { ToolStyleUtils } from '@/utils/ToolStyleUtils';\nimport { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nconst initialState: ToolStyleState = {\n color: 1,\n width: 2,\n borderOpacity: 9,\n fillOpacity: 9,\n toolColor: ToolStyleUtils.getToolColors(),\n attributeColor: ToolStyleUtils.getAttributeColors(),\n lineColor: ToolStyleUtils.getDefaultToolLineColors(),\n attributeLineColor: [NULL_COLOR].concat(COLORS_ARRAY),\n};\n\nexport function toolStyleReducer(\n state = { ...initialState },\n action: ToolStyleActionTypes,\n): ToolStyleState {\n switch (action.type) {\n case TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG: {\n return {\n ...initialState,\n };\n }\n\n case TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG: {\n const computeColor = {};\n const payload = action.payload;\n if (payload?.borderOpacity || payload?.fillOpacity) {\n Object.assign(\n computeColor,\n ToolStyleUtils.initByOpacity(\n payload.borderOpacity || state.borderOpacity,\n payload.fillOpacity || state.fillOpacity,\n ),\n );\n }\n\n return {\n ...state,\n ...action.payload,\n ...computeColor,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,MAAM,eAA+B;AAAA,EACnC,OAAO;AAAA,EACP,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa;AAAA,EACb,WAAW,eAAe;AAAA,EAC1B,gBAAgB,eAAe;AAAA,EAC/B,WAAW,eAAe;AAAA,EAC1B,oBAAoB,CAAC,YAAY,OAAO;AAAA;0BAIxC,QAAQ,mBAAK,eACb,QACgB;AAChB,UAAQ,OAAO;AAAA,SACR,mBAAmB,wBAAwB;AAC9C,aAAO,mBACF;AAAA;AAAA,SAIF,mBAAmB,0BAA0B;AAChD,YAAM,eAAe;AACrB,YAAM,UAAU,OAAO;AACvB,UAAI,oCAAS,sDAA0B,cAAa;AAClD,eAAO,OACL,cACA,eAAe,cACb,QAAQ,iBAAiB,MAAM,eAC/B,QAAQ,eAAe,MAAM;AAAA;AAKnC,aAAO,iDACF,QACA,OAAO,UACP;AAAA;AAAA;AAKL,aAAO;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../src/store/toolStyle/reducer.ts"],"sourcesContent":["import { COLORS_ARRAY, NULL_COLOR } from '@/data/Style';\nimport { ToolStyleUtils } from '@/utils/ToolStyleUtils';\nimport { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nconst initialState: ToolStyleState = {\n color: 1,\n width: 2,\n borderOpacity: 9,\n fillOpacity: 9,\n toolColor: ToolStyleUtils.getToolColors(),\n attributeColor: ToolStyleUtils.getAttributeColors(),\n lineColor: ToolStyleUtils.getDefaultToolLineColors(),\n attributeLineColor: [NULL_COLOR].concat(COLORS_ARRAY),\n};\n\nexport function toolStyleReducer(\n state = { ...initialState },\n action: ToolStyleActionTypes,\n): ToolStyleState {\n switch (action.type) {\n case TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG: {\n return {\n ...initialState,\n };\n }\n\n case TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG: {\n const computeColor = {};\n const payload = action.payload;\n if (payload?.borderOpacity || payload?.fillOpacity) {\n Object.assign(\n computeColor,\n ToolStyleUtils.initByOpacity(\n payload.borderOpacity || state.borderOpacity,\n payload.fillOpacity || state.fillOpacity,\n ),\n );\n }\n\n return {\n ...state,\n ...action.payload,\n ...computeColor,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,MAAM,YAA+B,GAAA;AAAA,EACnC,KAAO,EAAA,CAAA;AAAA,EACP,KAAO,EAAA,CAAA;AAAA,EACP,aAAe,EAAA,CAAA;AAAA,EACf,WAAa,EAAA,CAAA;AAAA,EACb,WAAW,cAAe,CAAA,aAAA,EAAA;AAAA,EAC1B,gBAAgB,cAAe,CAAA,kBAAA,EAAA;AAAA,EAC/B,WAAW,cAAe,CAAA,wBAAA,EAAA;AAAA,EAC1B,kBAAA,EAAoB,CAAC,UAAA,CAAA,CAAY,MAAO,CAAA,YAAA,CAAA;AAAA,CAAA,CAAA;AAIxC,SAAA,gBAAA,CAAA,KAAA,GAAQ,cAAK,CAAA,EAAA,EAAA,YAAA,CAAA,EACb,MACgB,EAAA;AAChB,EAAA,QAAQ,MAAO,CAAA,IAAA;AAAA,IAAA,KACR,mBAAmB,sBAAwB,EAAA;AAC9C,MAAA,OAAO,cACF,CAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIF,mBAAmB,wBAA0B,EAAA;AAChD,MAAA,MAAM,YAAe,GAAA,EAAA,CAAA;AACrB,MAAA,MAAM,UAAU,MAAO,CAAA,OAAA,CAAA;AACvB,MAAI,IAAA,CAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,aAAiB,MAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,WAAa,CAAA,EAAA;AAClD,QAAO,MAAA,CAAA,MAAA,CACL,YACA,EAAA,cAAA,CAAe,aACb,CAAA,OAAA,CAAQ,iBAAiB,KAAM,CAAA,aAAA,EAC/B,OAAQ,CAAA,WAAA,IAAe,KAAM,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAKnC,MAAO,OAAA,cAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,KACA,CAAA,EAAA,MAAA,CAAO,OACP,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA;AAKL,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationDataUtils.js","sources":["../../src/utils/AnnotationDataUtils.ts"],"sourcesContent":["import { uuid } from '@labelbee/lb-annotation';\nimport { jsonParser } from '.';\nimport { EToolName } from '@/data/enums/ToolType';\nimport _ from 'lodash';\nimport StepUtils from './StepUtils';\nimport { IStepInfo } from '@/types/step';\n\nexport default class AnnotationDataUtils {\n /**\n * 复制上一张图片结果\n * @param copyResult 复制的结果\n * @param step 复制的步骤\n * @param currentResult 当前的步骤\n * @returns\n */\n public static copyResultChange(copyResult: string, step: number, currentResult: string) {\n // 其实其限定的范围一般都在单图的情况\n try {\n const copyData = jsonParser(copyResult);\n const currentData = jsonParser(currentResult);\n const stepName = `step_${step}`;\n if (copyData[stepName]) {\n // 这层可能还要处理 dataSource 依赖问题\n const info = copyData[stepName];\n if (info.result) {\n info.result = info.result.map((info: any) => ({\n ...info,\n // @ts-ignore\n id: uuid(8, 62),\n }));\n currentData[stepName] = info;\n return JSON.stringify(currentData);\n }\n }\n return copyResult;\n } catch {\n return copyResult;\n }\n }\n\n /**\n * 判断结果sourceID与依赖数据的id是否能对应\n * @param result\n * @param basicResultList\n */\n public static isResultSourceMatchedDependence(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n const sourceIDForDependStep = basicResultList?.map((i) => i.id).sort();\n\n return _.isEqual(sourceIDForCurStep, sourceIDForDependStep);\n }\n\n /**\n * 获取依赖增量更新的内容\n * @param result\n * @param basicResultList\n * @returns\n */\n public static deltaUpdateBasicResultList(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n\n return basicResultList.filter((v) => !sourceIDForCurStep.includes(v.id));\n }\n\n /**\n *\n * @param stepResult\n * @param toolInstance\n * @param stepConfig\n * @param basicResultList 获取初始化数据 该部分默认输入需要为空数组\n * @param isInitData\n * @returns\n */\n public static getInitialResultList(\n stepResult: any[] | undefined,\n toolInstance: any,\n stepConfig: any,\n basicResultList: any[],\n isInitData: boolean,\n ) {\n const resultList = stepResult ?? [];\n\n switch (stepConfig.tool) {\n case EToolName.Tag:\n case EToolName.Text: {\n /**\n * 在依赖的情况下,检查的是否需要增量更新前面新增的结果\n */\n if (stepConfig.dataSourceStep > 0) {\n const deltaResultList = this.deltaUpdateBasicResultList(resultList, basicResultList);\n if (deltaResultList.length > 0) {\n return resultList.concat(\n toolInstance.getInitResultList(stepConfig.dataSourceStep, deltaResultList),\n );\n }\n }\n\n if (isInitData !== true) {\n return resultList;\n }\n\n return toolInstance.getInitResultList(stepConfig.dataSourceStep, basicResultList);\n }\n\n default: {\n return resultList;\n }\n }\n }\n\n /**\n * 修正数据,找到被删除的数据,并将依赖该数据的结果全部删除\n * @param newResStr 新提交的数据\n * @param oldResStr 当前的数据\n * @param step 当前操作的步骤\n * @param stepList 步骤列表\n */\n public static dataCorrection(\n newResStr: string,\n oldResStr: string,\n step: number,\n stepList: IStepInfo[],\n ) {\n try {\n const curStep = StepUtils.getStepInfo(step, stepList);\n const stepKey = `step_${curStep.step}`;\n const newRes = jsonParser(newResStr);\n const oldRes = jsonParser(oldResStr);\n const newResForCurStep = newRes[stepKey]?.result;\n const oldResForCurStep = oldRes[stepKey]?.result;\n\n /** 没有旧数据时不处理 */\n if (!oldResForCurStep) {\n return newResStr;\n }\n\n if (_.isEqual(newResForCurStep.sort(this.idCmp), oldResForCurStep.sort(this.idCmp))) {\n return newResStr;\n }\n\n const deletedIds = this.findDeletedIds(newResForCurStep, oldResForCurStep);\n\n if (deletedIds.length === 0) {\n return newResStr;\n }\n\n const dataSourceStep = step;\n const stepKeys = this.getStepKeys(newRes).sort();\n this.deleteRes(newRes, dataSourceStep, deletedIds, stepKeys);\n\n return JSON.stringify(newRes);\n } catch (error) {\n console.error(error);\n return newResStr;\n }\n }\n\n /**\n * id sort 规则\n * @param a\n * @param b\n * @returns\n */\n public static idCmp(a: any, b: any) {\n const idA = a.id;\n const idB = b.id;\n if (idA < idB) {\n return -1;\n }\n if (idA > idB) {\n return 1;\n }\n\n return 0;\n }\n\n /**\n * 找到结果被删除的id\n * @param newResForCurStep\n * @param oldResForCurStep\n * @returns {Array<string>}\n */\n public static findDeletedIds(newResForCurStep: any[], oldResForCurStep: any[]) {\n return this.findDeletedItems(oldResForCurStep, newResForCurStep).map((i) => i.id);\n }\n\n /**\n * 找到被删除的结果\n * @param oldResForCurStep\n * @param newResForCurStep\n * @returns {Array<any>}\n */\n public static findDeletedItems(oldResForCurStep: any[], newResForCurStep: any[]) {\n const deletedItems: any[] = [];\n oldResForCurStep.forEach((i: any) => {\n const isNewResExisted = newResForCurStep.some((r: any) => r.id === i.id);\n if (!isNewResExisted) {\n deletedItems.push(i);\n }\n });\n return deletedItems;\n }\n\n /**\n * 根据结果找到所有的步骤\n * @param res\n * @returns {Array<number>} 结果步骤列表\n */\n public static getStepKeys(res: any) {\n return Object.keys(res)\n .map((i) => parseInt(i.replace('step_', ''), 10))\n .filter((i) => !isNaN(i));\n }\n\n /**\n * 删除依赖数据的结果\n * @param resData 当前文件的结果\n * @param dataSourceStep 依赖步骤\n * @param deletedIds 需要删除的sourceID\n * @param stepKeys 结果的步骤\n */\n public static deleteRes(\n resData: any,\n dataSourceStep: number,\n deletedIds: string[],\n stepKeys: number[],\n ) {\n stepKeys.forEach((s) => {\n if (s > dataSourceStep) {\n const stepRes = resData[`step_${s}`];\n // 文件夹标签, 分割工具 没有依赖, 不进行判断\n if ([EToolName.FolderTag, EToolName.Segmentation].includes(stepRes.tool)) {\n return;\n }\n if (stepRes.dataSourceStep === dataSourceStep) {\n const newDeletedIds: string[] = [];\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n newDeletedIds.push(i.id);\n return false;\n }\n\n return true;\n });\n this.deleteRes(resData, s, newDeletedIds, stepKeys);\n } else {\n // 非直接依赖关系下,也同样过滤删除了对应框的数据(注意: 该场景不包含 filterData 过滤属性下,更改框的属性来删除对应的框体)\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n return false;\n }\n\n return true;\n });\n }\n }\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;0BAOyC;AAAA,SAQzB,iBAAiB,YAAoB,MAAc,eAAuB;AAEtF,QAAI;AACF,YAAM,WAAW,WAAW;AAC5B,YAAM,cAAc,WAAW;AAC/B,YAAM,WAAW,QAAQ;AACzB,UAAI,SAAS,WAAW;AAEtB,cAAM,OAAO,SAAS;AACtB,YAAI,KAAK,QAAQ;AACf,eAAK,SAAS,KAAK,OAAO,IAAI,CAAC,UAAe,iCACzC,QADyC;AAAA,YAG5C,IAAI,KAAK,GAAG;AAAA;AAEd,sBAAY,YAAY;AACxB,iBAAO,KAAK,UAAU;AAAA;AAAA;AAG1B,aAAO;AAAA,aACD,GAAN;AACA,aAAO;AAAA;AAAA;AAAA,SASG,gCAAgC,QAAa,iBAAwB;AACjF,UAAM,qBAAqB,iCAAQ,IAAI,CAAC,MAA4B,EAAE,UAAU;AAChF,UAAM,wBAAwB,mDAAiB,IAAI,CAAC,MAAM,EAAE,IAAI;AAEhE,WAAO,EAAE,QAAQ,oBAAoB;AAAA;AAAA,SASzB,2BAA2B,QAAa,iBAAwB;AAC5E,UAAM,qBAAqB,iCAAQ,IAAI,CAAC,MAA4B,EAAE,UAAU;AAEhF,WAAO,gBAAgB,OAAO,CAAC,MAAM,CAAC,mBAAmB,SAAS,EAAE;AAAA;AAAA,SAYxD,qBACZ,YACA,cACA,YACA,iBACA,YACA;AACA,UAAM,aAAa,kCAAc;AAEjC,YAAQ,WAAW;AAAA,WACZ,UAAU;AAAA,WACV,UAAU,MAAM;AAInB,YAAI,WAAW,iBAAiB,GAAG;AACjC,gBAAM,kBAAkB,KAAK,2BAA2B,YAAY;AACpE,cAAI,gBAAgB,SAAS,GAAG;AAC9B,mBAAO,WAAW,OAChB,aAAa,kBAAkB,WAAW,gBAAgB;AAAA;AAAA;AAKhE,YAAI,eAAe,MAAM;AACvB,iBAAO;AAAA;AAGT,eAAO,aAAa,kBAAkB,WAAW,gBAAgB;AAAA;AAAA,eAG1D;AACP,eAAO;AAAA;AAAA;AAAA;AAAA,SAYC,eACZ,WACA,WACA,MACA,UACA;AA1HJ;AA2HI,QAAI;AACF,YAAM,UAAU,UAAU,YAAY,MAAM;AAC5C,YAAM,UAAU,QAAQ,QAAQ;AAChC,YAAM,SAAS,WAAW;AAC1B,YAAM,SAAS,WAAW;AAC1B,YAAM,mBAAmB,aAAO,aAAP,mBAAiB;AAC1C,YAAM,mBAAmB,aAAO,aAAP,mBAAiB;AAG1C,UAAI,CAAC,kBAAkB;AACrB,eAAO;AAAA;AAGT,UAAI,EAAE,QAAQ,iBAAiB,KAAK,KAAK,QAAQ,iBAAiB,KAAK,KAAK,SAAS;AACnF,eAAO;AAAA;AAGT,YAAM,aAAa,KAAK,eAAe,kBAAkB;AAEzD,UAAI,WAAW,WAAW,GAAG;AAC3B,eAAO;AAAA;AAGT,YAAM,iBAAiB;AACvB,YAAM,WAAW,KAAK,YAAY,QAAQ;AAC1C,WAAK,UAAU,QAAQ,gBAAgB,YAAY;AAEnD,aAAO,KAAK,UAAU;AAAA,aACf,OAAP;AACA,cAAQ,MAAM;AACd,aAAO;AAAA;AAAA;AAAA,SAUG,MAAM,GAAQ,GAAQ;AAClC,UAAM,MAAM,EAAE;AACd,UAAM,MAAM,EAAE;AACd,QAAI,MAAM,KAAK;AACb,aAAO;AAAA;AAET,QAAI,MAAM,KAAK;AACb,aAAO;AAAA;AAGT,WAAO;AAAA;AAAA,SASK,eAAe,kBAAyB,kBAAyB;AAC7E,WAAO,KAAK,iBAAiB,kBAAkB,kBAAkB,IAAI,CAAC,MAAM,EAAE;AAAA;AAAA,SASlE,iBAAiB,kBAAyB,kBAAyB;AAC/E,UAAM,eAAsB;AAC5B,qBAAiB,QAAQ,CAAC,MAAW;AACnC,YAAM,kBAAkB,iBAAiB,KAAK,CAAC,MAAW,EAAE,OAAO,EAAE;AACrE,UAAI,CAAC,iBAAiB;AACpB,qBAAa,KAAK;AAAA;AAAA;AAGtB,WAAO;AAAA;AAAA,SAQK,YAAY,KAAU;AAClC,WAAO,OAAO,KAAK,KAChB,IAAI,CAAC,MAAM,SAAS,EAAE,QAAQ,SAAS,KAAK,KAC5C,OAAO,CAAC,MAAM,CAAC,MAAM;AAAA;AAAA,SAUZ,UACZ,SACA,gBACA,YACA,UACA;AACA,aAAS,QAAQ,CAAC,MAAM;AACtB,UAAI,IAAI,gBAAgB;AACtB,cAAM,UAAU,QAAQ,QAAQ;AAEhC,YAAI,CAAC,UAAU,WAAW,UAAU,cAAc,SAAS,QAAQ,OAAO;AACxE;AAAA;AAEF,YAAI,QAAQ,mBAAmB,gBAAgB;AAC7C,gBAAM,gBAA0B;AAChC,kBAAQ,SAAS,QAAQ,OAAO,OAAO,CAAC,MAAW;AACjD,kBAAM,QAAQ,WAAW,SAAS,EAAE;AACpC,gBAAI,OAAO;AACT,4BAAc,KAAK,EAAE;AACrB,qBAAO;AAAA;AAGT,mBAAO;AAAA;AAET,eAAK,UAAU,SAAS,GAAG,eAAe;AAAA,eACrC;AAEL,kBAAQ,SAAS,QAAQ,OAAO,OAAO,CAAC,MAAW;AACjD,kBAAM,QAAQ,WAAW,SAAS,EAAE;AACpC,gBAAI,OAAO;AACT,qBAAO;AAAA;AAGT,mBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"AnnotationDataUtils.js","sources":["../../src/utils/AnnotationDataUtils.ts"],"sourcesContent":["import { uuid } from '@labelbee/lb-annotation';\nimport { jsonParser } from '.';\nimport { EToolName } from '@/data/enums/ToolType';\nimport _ from 'lodash';\nimport StepUtils from './StepUtils';\nimport { IStepInfo } from '@/types/step';\n\nexport default class AnnotationDataUtils {\n /**\n * 复制上一张图片结果\n * @param copyResult 复制的结果\n * @param step 复制的步骤\n * @param currentResult 当前的步骤\n * @returns\n */\n public static copyResultChange(copyResult: string, step: number, currentResult: string) {\n // 其实其限定的范围一般都在单图的情况\n try {\n const copyData = jsonParser(copyResult);\n const currentData = jsonParser(currentResult);\n const stepName = `step_${step}`;\n if (copyData[stepName]) {\n // 这层可能还要处理 dataSource 依赖问题\n const info = copyData[stepName];\n if (info.result) {\n info.result = info.result.map((info: any) => ({\n ...info,\n // @ts-ignore\n id: uuid(8, 62),\n }));\n currentData[stepName] = info;\n return JSON.stringify(currentData);\n }\n }\n return copyResult;\n } catch {\n return copyResult;\n }\n }\n\n /**\n * 判断结果sourceID与依赖数据的id是否能对应\n * @param result\n * @param basicResultList\n */\n public static isResultSourceMatchedDependence(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n const sourceIDForDependStep = basicResultList?.map((i) => i.id).sort();\n\n return _.isEqual(sourceIDForCurStep, sourceIDForDependStep);\n }\n\n /**\n * 获取依赖增量更新的内容\n * @param result\n * @param basicResultList\n * @returns\n */\n public static deltaUpdateBasicResultList(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n\n return basicResultList.filter((v) => !sourceIDForCurStep.includes(v.id));\n }\n\n /**\n *\n * @param stepResult\n * @param toolInstance\n * @param stepConfig\n * @param basicResultList 获取初始化数据 该部分默认输入需要为空数组\n * @param isInitData\n * @returns\n */\n public static getInitialResultList(\n stepResult: any[] | undefined,\n toolInstance: any,\n stepConfig: any,\n basicResultList: any[],\n isInitData: boolean,\n ) {\n const resultList = stepResult ?? [];\n\n switch (stepConfig.tool) {\n case EToolName.Tag:\n case EToolName.Text: {\n /**\n * 在依赖的情况下,检查的是否需要增量更新前面新增的结果\n */\n if (stepConfig.dataSourceStep > 0) {\n const deltaResultList = this.deltaUpdateBasicResultList(resultList, basicResultList);\n if (deltaResultList.length > 0) {\n return resultList.concat(\n toolInstance.getInitResultList(stepConfig.dataSourceStep, deltaResultList),\n );\n }\n }\n\n if (isInitData !== true) {\n return resultList;\n }\n\n return toolInstance.getInitResultList(stepConfig.dataSourceStep, basicResultList);\n }\n\n default: {\n return resultList;\n }\n }\n }\n\n /**\n * 修正数据,找到被删除的数据,并将依赖该数据的结果全部删除\n * @param newResStr 新提交的数据\n * @param oldResStr 当前的数据\n * @param step 当前操作的步骤\n * @param stepList 步骤列表\n */\n public static dataCorrection(\n newResStr: string,\n oldResStr: string,\n step: number,\n stepList: IStepInfo[],\n ) {\n try {\n const curStep = StepUtils.getStepInfo(step, stepList);\n const stepKey = `step_${curStep.step}`;\n const newRes = jsonParser(newResStr);\n const oldRes = jsonParser(oldResStr);\n const newResForCurStep = newRes[stepKey]?.result;\n const oldResForCurStep = oldRes[stepKey]?.result;\n\n /** 没有旧数据时不处理 */\n if (!oldResForCurStep) {\n return newResStr;\n }\n\n if (_.isEqual(newResForCurStep.sort(this.idCmp), oldResForCurStep.sort(this.idCmp))) {\n return newResStr;\n }\n\n const deletedIds = this.findDeletedIds(newResForCurStep, oldResForCurStep);\n\n if (deletedIds.length === 0) {\n return newResStr;\n }\n\n const dataSourceStep = step;\n const stepKeys = this.getStepKeys(newRes).sort();\n this.deleteRes(newRes, dataSourceStep, deletedIds, stepKeys);\n\n return JSON.stringify(newRes);\n } catch (error) {\n console.error(error);\n return newResStr;\n }\n }\n\n /**\n * id sort 规则\n * @param a\n * @param b\n * @returns\n */\n public static idCmp(a: any, b: any) {\n const idA = a.id;\n const idB = b.id;\n if (idA < idB) {\n return -1;\n }\n if (idA > idB) {\n return 1;\n }\n\n return 0;\n }\n\n /**\n * 找到结果被删除的id\n * @param newResForCurStep\n * @param oldResForCurStep\n * @returns {Array<string>}\n */\n public static findDeletedIds(newResForCurStep: any[], oldResForCurStep: any[]) {\n return this.findDeletedItems(oldResForCurStep, newResForCurStep).map((i) => i.id);\n }\n\n /**\n * 找到被删除的结果\n * @param oldResForCurStep\n * @param newResForCurStep\n * @returns {Array<any>}\n */\n public static findDeletedItems(oldResForCurStep: any[], newResForCurStep: any[]) {\n const deletedItems: any[] = [];\n oldResForCurStep.forEach((i: any) => {\n const isNewResExisted = newResForCurStep.some((r: any) => r.id === i.id);\n if (!isNewResExisted) {\n deletedItems.push(i);\n }\n });\n return deletedItems;\n }\n\n /**\n * 根据结果找到所有的步骤\n * @param res\n * @returns {Array<number>} 结果步骤列表\n */\n public static getStepKeys(res: any) {\n return Object.keys(res)\n .map((i) => parseInt(i.replace('step_', ''), 10))\n .filter((i) => !isNaN(i));\n }\n\n /**\n * 删除依赖数据的结果\n * @param resData 当前文件的结果\n * @param dataSourceStep 依赖步骤\n * @param deletedIds 需要删除的sourceID\n * @param stepKeys 结果的步骤\n */\n public static deleteRes(\n resData: any,\n dataSourceStep: number,\n deletedIds: string[],\n stepKeys: number[],\n ) {\n stepKeys.forEach((s) => {\n if (s > dataSourceStep) {\n const stepRes = resData[`step_${s}`];\n // 文件夹标签, 分割工具 没有依赖, 不进行判断\n if ([EToolName.FolderTag, EToolName.Segmentation].includes(stepRes.tool)) {\n return;\n }\n if (stepRes.dataSourceStep === dataSourceStep) {\n const newDeletedIds: string[] = [];\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n newDeletedIds.push(i.id);\n return false;\n }\n\n return true;\n });\n this.deleteRes(resData, s, newDeletedIds, stepKeys);\n } else {\n // 非直接依赖关系下,也同样过滤删除了对应框的数据(注意: 该场景不包含 filterData 过滤属性下,更改框的属性来删除对应的框体)\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n return false;\n }\n\n return true;\n });\n }\n }\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigUtils.js","sources":["../../src/utils/ConfigUtils.ts"],"sourcesContent":["import { isObject } from 'lodash';\n\nexport class ConfigUtils {\n public static 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\n /**\n * 获取对应的步骤配置\n * @param stepList \n * @param step \n */\n public static getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n}\n"],"names":[],"mappings":";;kBAEyB;AAAA,SACT,WAAW,SAAc,eAAoB,IAAI;AAC7D,QAAI;AACF,UAAI,OAAO,YAAY,UAAU;AAC/B,eAAO,KAAK,MAAM;AAAA;AAEpB,aAAO,SAAS,WAAW,UAAU;AAAA,aAC9B,GAAP;AACA,aAAO;AAAA;AAAA;AAAA;AASG,YAAA,gBAAgB,CAAC,UAAiB,SAC9C,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS;;;;"}
1
+ {"version":3,"file":"ConfigUtils.js","sources":["../../src/utils/ConfigUtils.ts"],"sourcesContent":["import { isObject } from 'lodash';\n\nexport class ConfigUtils {\n public static 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\n /**\n * 获取对应的步骤配置\n * @param stepList \n * @param step \n */\n public static getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n}\n"],"names":[],"mappings":";;AAEyB,MAAA,WAAA,CAAA;AAAA,EACT,OAAA,UAAA,CAAW,OAAc,EAAA,YAAA,GAAoB,EAAI,EAAA;AAC7D,IAAI,IAAA;AACF,MAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,QAAA,OAAO,KAAK,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,OAAA;AAEpB,MAAO,OAAA,QAAA,CAAS,WAAW,OAAU,GAAA,YAAA,CAAA;AAAA,KAAA,CAAA,OAC9B,CAAP,EAAA;AACA,MAAO,OAAA,YAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA,CAAA;AASG,WAjBT,CAiBS,aAAgB,GAAA,CAAC,QAAiB,EAAA,IAAA,KAC9C,SAAS,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,IAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageOperator.js","sources":["../../src/utils/PageOperator.ts"],"sourcesContent":["import { EPageTurningOperation } from '../data/enums/AnnotationSize';\nimport _ from 'lodash';\nimport { jsonParser } from '.';\n\ninterface IPageInfo {\n fileIndex: number;\n basicIndex: number;\n basicList: any[];\n fileList: any[];\n step: number;\n stepList: any[];\n}\n\nclass PageOperator {\n public static getPageInfo(annotationStore: any) {\n const {\n imgIndex: fileIndex,\n imgList: fileList,\n basicResultList: basicList,\n basicIndex,\n step,\n stepList,\n } = annotationStore;\n\n return {\n fileIndex,\n basicIndex,\n basicList,\n fileList,\n step,\n stepList,\n };\n }\n\n /**\n *\n * @param pageTurningOperation\n * @param nextIndex\n */\n public static getNextPageInfo(\n pageTurningOperation: EPageTurningOperation,\n annotationStore: any,\n nextIndex?: number,\n ) {\n const pageInfo: IPageInfo = PageOperator.getPageInfo(annotationStore);\n const { fileIndex: currentFileIndex } = PageOperator.getPageInfo(annotationStore);\n\n const nextFileIndex = PageOperator.getNextFileIndex(pageTurningOperation, pageInfo, nextIndex);\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n const fileIndexChanged = nextFileIndex !== currentFileIndex;\n\n const hasNextBasicIndex = PageOperator.hasNextBasicIndex(pageTurningOperation, pageInfo);\n\n const pageChangedInfo = {\n fileIndex: nextFileIndex,\n basicIndex: nextBasicIndex,\n fileIndexChanged,\n basicIndexChanged: hasNextBasicIndex,\n };\n\n if (hasNextBasicIndex) {\n pageChangedInfo.fileIndexChanged = false;\n pageChangedInfo.fileIndex = currentFileIndex;\n return pageChangedInfo;\n }\n\n pageChangedInfo.basicIndex =\n pageTurningOperation === EPageTurningOperation.Backward\n ? PageOperator.getBasicResultIndexForNextFile(pageInfo, pageChangedInfo.fileIndex)\n : 0;\n\n return pageChangedInfo;\n }\n\n /**\n * 获取下一个依赖索引\n * @param pageTurningOperation\n */\n public static getNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n basicIndex: number,\n ) => {\n return basicIndex + (pageTurningOperation === EPageTurningOperation.Forward ? 1 : -1);\n };\n\n /**\n * 存在下一个依赖数据\n * @param pageTurningOperation\n */\n public static hasNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n ) => {\n const { basicList } = pageInfo;\n if (basicList?.length > 0) {\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n\n return nextBasicIndex >= 0 && basicList.length > nextBasicIndex;\n }\n\n return false;\n };\n\n public static getBasicResultIndexForNextFile = (pageInfo: IPageInfo, fileIndex: number) => {\n const { stepList, step, fileList } = pageInfo;\n const stepConfig = stepList.find((i) => i.step === step);\n const dataSourceStep = stepConfig?.dataSourceStep;\n\n if (dataSourceStep) {\n const fileResult = jsonParser(fileList[fileIndex].result);\n const stepResult = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (!stepResult || !stepResult?.length) {\n return 0;\n }\n\n return stepResult?.length - 1;\n }\n\n return 0;\n };\n\n /**\n * 计算下一个文件的索引\n * @param pageTurningOperation\n * @param fileIndex\n */\n public static getNextFileIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n fileIndex?: number,\n ) => {\n const { fileIndex: currentFileIndex, fileList } = pageInfo;\n\n let newIndex = fileIndex !== undefined ? fileIndex : currentFileIndex;\n switch (pageTurningOperation) {\n case EPageTurningOperation.Forward:\n newIndex += 1;\n break;\n case EPageTurningOperation.Backward:\n newIndex -= 1;\n break;\n case EPageTurningOperation.Jump:\n break;\n }\n\n if (_.inRange(newIndex, 0, fileList.length)) {\n return newIndex;\n }\n\n return currentFileIndex;\n };\n}\n\nexport default PageOperator;\n"],"names":[],"mappings":";;;;AAaA,4BAAmB;AAAA,SACH,YAAY,iBAAsB;AAC9C,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,QACE;AAEJ,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA,SASU,gBACZ,sBACA,iBACA,WACA;AACA,UAAM,WAAsB,cAAa,YAAY;AACrD,UAAM,CAAE,WAAW,oBAAqB,cAAa,YAAY;AAEjE,UAAM,gBAAgB,cAAa,iBAAiB,sBAAsB,UAAU;AACpF,UAAM,iBAAiB,cAAa,kBAClC,sBACA,SAAS;AAEX,UAAM,mBAAmB,kBAAkB;AAE3C,UAAM,oBAAoB,cAAa,kBAAkB,sBAAsB;AAE/E,UAAM,kBAAkB;AAAA,MACtB,WAAW;AAAA,MACX,YAAY;AAAA,MACZ;AAAA,MACA,mBAAmB;AAAA;AAGrB,QAAI,mBAAmB;AACrB,sBAAgB,mBAAmB;AACnC,sBAAgB,YAAY;AAC5B,aAAO;AAAA;AAGT,oBAAgB,aACd,yBAAyB,sBAAsB,WAC3C,cAAa,+BAA+B,UAAU,gBAAgB,aACtE;AAEN,WAAO;AAAA;AAAA;;AA7DX,aAoEgB,oBAAoB,CAChC,sBACA,eACG;AACH,SAAO,uCAAuC,sBAAsB,UAAU,IAAI;AAAA;AAxEtF,aA+EgB,oBAAoB,CAChC,sBACA,aACG;AACH,QAAM,CAAE,aAAc;AACtB,MAAI,wCAAW,UAAS,GAAG;AACzB,UAAM,iBAAiB,cAAa,kBAClC,sBACA,SAAS;AAGX,WAAO,kBAAkB,KAAK,UAAU,SAAS;AAAA;AAGnD,SAAO;AAAA;AA7FX,aAgGgB,iCAAiC,CAAC,UAAqB,cAAsB;AA7G7F;AA8GI,QAAM,CAAE,UAAU,MAAM,YAAa;AACrC,QAAM,aAAa,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS;AACnD,QAAM,iBAAiB,yCAAY;AAEnC,MAAI,gBAAgB;AAClB,UAAM,aAAa,WAAW,SAAS,WAAW;AAClD,UAAM,aAAa,iBAAW,QAAQ,sBAAnB,mBAAsC;AAEzD,QAAI,CAAC,cAAc,2CAAa,SAAQ;AACtC,aAAO;AAAA;AAGT,WAAO,0CAAY,UAAS;AAAA;AAG9B,SAAO;AAAA;AAhHX,aAwHgB,mBAAmB,CAC/B,sBACA,UACA,cACG;AACH,QAAM,CAAE,WAAW,kBAAkB,YAAa;AAElD,MAAI,WAAW,cAAc,SAAY,YAAY;AACrD,UAAQ;AAAA,SACD,sBAAsB;AACzB,kBAAY;AACZ;AAAA,SACG,sBAAsB;AACzB,kBAAY;AACZ;AAAA,SACG,sBAAsB;AACzB;AAAA;AAGJ,MAAI,EAAE,QAAQ,UAAU,GAAG,SAAS,SAAS;AAC3C,WAAO;AAAA;AAGT,SAAO;AAAA;;;;"}
1
+ {"version":3,"file":"PageOperator.js","sources":["../../src/utils/PageOperator.ts"],"sourcesContent":["import { EPageTurningOperation } from '../data/enums/AnnotationSize';\nimport _ from 'lodash';\nimport { jsonParser } from '.';\n\ninterface IPageInfo {\n fileIndex: number;\n basicIndex: number;\n basicList: any[];\n fileList: any[];\n step: number;\n stepList: any[];\n}\n\nclass PageOperator {\n public static getPageInfo(annotationStore: any) {\n const {\n imgIndex: fileIndex,\n imgList: fileList,\n basicResultList: basicList,\n basicIndex,\n step,\n stepList,\n } = annotationStore;\n\n return {\n fileIndex,\n basicIndex,\n basicList,\n fileList,\n step,\n stepList,\n };\n }\n\n /**\n *\n * @param pageTurningOperation\n * @param nextIndex\n */\n public static getNextPageInfo(\n pageTurningOperation: EPageTurningOperation,\n annotationStore: any,\n nextIndex?: number,\n ) {\n const pageInfo: IPageInfo = PageOperator.getPageInfo(annotationStore);\n const { fileIndex: currentFileIndex } = PageOperator.getPageInfo(annotationStore);\n\n const nextFileIndex = PageOperator.getNextFileIndex(pageTurningOperation, pageInfo, nextIndex);\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n const fileIndexChanged = nextFileIndex !== currentFileIndex;\n\n const hasNextBasicIndex = PageOperator.hasNextBasicIndex(pageTurningOperation, pageInfo);\n\n const pageChangedInfo = {\n fileIndex: nextFileIndex,\n basicIndex: nextBasicIndex,\n fileIndexChanged,\n basicIndexChanged: hasNextBasicIndex,\n };\n\n if (hasNextBasicIndex) {\n pageChangedInfo.fileIndexChanged = false;\n pageChangedInfo.fileIndex = currentFileIndex;\n return pageChangedInfo;\n }\n\n pageChangedInfo.basicIndex =\n pageTurningOperation === EPageTurningOperation.Backward\n ? PageOperator.getBasicResultIndexForNextFile(pageInfo, pageChangedInfo.fileIndex)\n : 0;\n\n return pageChangedInfo;\n }\n\n /**\n * 获取下一个依赖索引\n * @param pageTurningOperation\n */\n public static getNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n basicIndex: number,\n ) => {\n return basicIndex + (pageTurningOperation === EPageTurningOperation.Forward ? 1 : -1);\n };\n\n /**\n * 存在下一个依赖数据\n * @param pageTurningOperation\n */\n public static hasNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n ) => {\n const { basicList } = pageInfo;\n if (basicList?.length > 0) {\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n\n return nextBasicIndex >= 0 && basicList.length > nextBasicIndex;\n }\n\n return false;\n };\n\n public static getBasicResultIndexForNextFile = (pageInfo: IPageInfo, fileIndex: number) => {\n const { stepList, step, fileList } = pageInfo;\n const stepConfig = stepList.find((i) => i.step === step);\n const dataSourceStep = stepConfig?.dataSourceStep;\n\n if (dataSourceStep) {\n const fileResult = jsonParser(fileList[fileIndex].result);\n const stepResult = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (!stepResult || !stepResult?.length) {\n return 0;\n }\n\n return stepResult?.length - 1;\n }\n\n return 0;\n };\n\n /**\n * 计算下一个文件的索引\n * @param pageTurningOperation\n * @param fileIndex\n */\n public static getNextFileIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n fileIndex?: number,\n ) => {\n const { fileIndex: currentFileIndex, fileList } = pageInfo;\n\n let newIndex = fileIndex !== undefined ? fileIndex : currentFileIndex;\n switch (pageTurningOperation) {\n case EPageTurningOperation.Forward:\n newIndex += 1;\n break;\n case EPageTurningOperation.Backward:\n newIndex -= 1;\n break;\n case EPageTurningOperation.Jump:\n break;\n }\n\n if (_.inRange(newIndex, 0, fileList.length)) {\n return newIndex;\n }\n\n return currentFileIndex;\n };\n}\n\nexport default PageOperator;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import{EStepType as r}from"../constant/index.js";class o{static getCurrentStepInfo(n,e){const t=this.getStepInfo(n,e);return[r.QUALITY_INSPECTION,r.MANUAL_CORRECTION].includes(t==null?void 0:t.type)?this.getStepInfo(t.dataSourceStep,e):t}static getStepInfo(n,e){return e==null?void 0:e.filter(t=>t.step===n)[0]}}export{o as default};
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 +1 @@
1
- {"version":3,"file":"StepUtils.js","sources":["../../src/utils/StepUtils.ts"],"sourcesContent":["import { EStepType } from '@/constant';\nimport { IStepInfo } from '@/types/step';\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"],"names":[],"mappings":";;gBAG+B;AAAA,SAQd,mBAAmB,aAAqB,UAAuB;AAC5E,UAAM,kBAAkB,KAAK,YAAY,aAAa;AAEtD,UAAM,oBAAoB,CAAC,UAAU,oBAAoB,UAAU,mBAAmB,SACpF,mDAAiB;AAInB,QAAI,mBAAmB;AACrB,aAAO,KAAK,YAAY,gBAAgB,gBAAgB;AAAA;AAG1D,WAAO;AAAA;AAAA,SASM,YAAY,MAAc,UAAuB;AAC9D,WAAO,qCAAU,OAAO,CAAC,SAAS,KAAK,SAAS,MAAM;AAAA;AAAA;;;;"}
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 +1 @@
1
- import{ETextType as u}from"../data/enums/ToolType.js";const t="^[0-9]+$",s="^[A-Za-z]+$";class c{static checkString(r,a){let e="";switch(r){case u.Order:case u.NumberOnly:e=t;break;case u.EnglishOnly:e=s;break;case u.CustomFormat:e=a;break}return e}static getErrorNotice(r){switch(r){case u.Order:case u.NumberOnly:return"\u8BF7\u6309\u4EC5\u6570\u5B57\u7684\u683C\u5F0F\u8F93\u5165";case u.EnglishOnly:return"\u8BF7\u6309\u4EC5\u82F1\u6587\u7684\u683C\u5F0F\u8F93\u5165";case u.CustomFormat:return"\u8BF7\u6309\u8981\u6C42\u7684\u683C\u5F0F\u8F93\u5165";default:return""}}}export{s as REGEXP_ENGLISH,t as REGEXP_NUMBER,c as TextUtils};
1
+ import{ETextType as e}from"../data/enums/ToolType.js";import{i18n as s}from"@labelbee/lb-utils";const a="^[0-9]+$",c="^[A-Za-z]+$";class l{static checkString(r,n){let t="";switch(r){case e.Order:case e.NumberOnly:t=a;break;case e.EnglishOnly:t=c;break;case e.CustomFormat:t=n;break}return t}static getErrorNotice(r){switch(r){case e.Order:case e.NumberOnly:return s.t("TextCheckNumberOnly");case e.EnglishOnly:return s.t("TextCheckEnglishOnly");case e.CustomFormat:return s.t("TextCheckCustomFormat");default:return""}}}export{c as REGEXP_ENGLISH,a as REGEXP_NUMBER,l as TextUtils};
@@ -1 +1 @@
1
- {"version":3,"file":"TextUtils.js","sources":["../../src/utils/TextUtils.ts"],"sourcesContent":["import { ETextType } from '@/data/enums/ToolType';\n\nexport const REGEXP_NUMBER = '^[0-9]+$';\nexport const REGEXP_ENGLISH = '^[A-Za-z]+$';\n\nexport class TextUtils {\n public static checkString(textCheckType: ETextType, customFormat: string) {\n let regExpString = '';\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n regExpString = REGEXP_NUMBER;\n break;\n case ETextType.EnglishOnly:\n regExpString = REGEXP_ENGLISH;\n break;\n case ETextType.CustomFormat:\n regExpString = customFormat;\n break;\n }\n return regExpString;\n }\n\n public static getErrorNotice(textCheckType: ETextType) {\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n return '请按仅数字的格式输入';\n case ETextType.EnglishOnly:\n return '请按仅英文的格式输入';\n case ETextType.CustomFormat:\n return '请按要求的格式输入';\n default:\n return '';\n }\n }\n}\n"],"names":[],"mappings":";;MAEa,gBAAgB;MAChB,iBAAiB;gBAEP;AAAA,SACP,YAAY,eAA0B,cAAsB;AACxE,QAAI,eAAe;AACnB,YAAQ;AAAA,WACD,UAAU;AAAA,WACV,UAAU;AACb,uBAAe;AACf;AAAA,WACG,UAAU;AACb,uBAAe;AACf;AAAA,WACG,UAAU;AACb,uBAAe;AACf;AAAA;AAEJ,WAAO;AAAA;AAAA,SAGK,eAAe,eAA0B;AACrD,YAAQ;AAAA,WACD,UAAU;AAAA,WACV,UAAU;AACb,eAAO;AAAA,WACJ,UAAU;AACb,eAAO;AAAA,WACJ,UAAU;AACb,eAAO;AAAA;AAEP,eAAO;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"TextUtils.js","sources":["../../src/utils/TextUtils.ts"],"sourcesContent":["/*\n * @Author: Laoluo luozefeng@sensetime.com\n * @Date: 2022-01-12 13:15:33\n * @LastEditors: Laoluo luozefeng@sensetime.com\n * @LastEditTime: 2022-05-30 15:51:43\n */\nimport { ETextType } from '@/data/enums/ToolType';\nimport { i18n } from '@labelbee/lb-utils';\n\nexport const REGEXP_NUMBER = '^[0-9]+$';\nexport const REGEXP_ENGLISH = '^[A-Za-z]+$';\n\nexport class TextUtils {\n public static checkString(textCheckType: ETextType, customFormat: string) {\n let regExpString = '';\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n regExpString = REGEXP_NUMBER;\n break;\n case ETextType.EnglishOnly:\n regExpString = REGEXP_ENGLISH;\n break;\n case ETextType.CustomFormat:\n regExpString = customFormat;\n break;\n }\n return regExpString;\n }\n\n public static getErrorNotice(textCheckType: ETextType) {\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n return i18n.t(\"TextCheckNumberOnly\");\n case ETextType.EnglishOnly:\n return i18n.t(\"TextCheckEnglishOnly\");\n case ETextType.CustomFormat:\n return i18n.t(\"TextCheckCustomFormat\");\n default:\n return '';\n }\n }\n}\n"],"names":[],"mappings":";;;AASO,MAAM,aAAgB,GAAA,WAAA;AACtB,MAAM,cAAiB,GAAA,cAAA;AAEP,MAAA,SAAA,CAAA;AAAA,EACP,OAAA,WAAA,CAAY,eAA0B,YAAsB,EAAA;AACxE,IAAA,IAAI,YAAe,GAAA,EAAA,CAAA;AACnB,IAAQ,QAAA,aAAA;AAAA,MAAA,KACD,SAAU,CAAA,KAAA,CAAA;AAAA,MAAA,KACV,SAAU,CAAA,UAAA;AACb,QAAe,YAAA,GAAA,aAAA,CAAA;AACf,QAAA,MAAA;AAAA,MAAA,KACG,SAAU,CAAA,WAAA;AACb,QAAe,YAAA,GAAA,cAAA,CAAA;AACf,QAAA,MAAA;AAAA,MAAA,KACG,SAAU,CAAA,YAAA;AACb,QAAe,YAAA,GAAA,YAAA,CAAA;AACf,QAAA,MAAA;AAAA,KAAA;AAEJ,IAAO,OAAA,YAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAGK,eAAe,aAA0B,EAAA;AACrD,IAAQ,QAAA,aAAA;AAAA,MAAA,KACD,SAAU,CAAA,KAAA,CAAA;AAAA,MAAA,KACV,SAAU,CAAA,UAAA;AACb,QAAA,OAAO,KAAK,CAAE,CAAA,qBAAA,CAAA,CAAA;AAAA,MAAA,KACX,SAAU,CAAA,WAAA;AACb,QAAA,OAAO,KAAK,CAAE,CAAA,sBAAA,CAAA,CAAA;AAAA,MAAA,KACX,SAAU,CAAA,YAAA;AACb,QAAA,OAAO,KAAK,CAAE,CAAA,uBAAA,CAAA,CAAA;AAAA,MAAA;AAEd,QAAO,OAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolStyleUtils.js","sources":["../../src/utils/ToolStyleUtils.ts"],"sourcesContent":["import {\n CHANGE_COLOR,\n DEFAULT_COLOR,\n COLORS_ARRAY,\n NULL_COLOR,\n BORDER_OPACITY_LEVEL,\n FILL_OPACITY_LEVEL,\n} from '@/data/Style';\nimport _ from 'lodash';\n\nconst FILL_OPACITY = 0.8;\n\nexport class ToolStyleUtils {\n public static changeOpacity: { [a: number]: number } = {\n 1: 0.2,\n 3: 0.4,\n 5: 0.6,\n 7: 0.8,\n 9: 1.0,\n };\n\n public static colorSplit(color: string, opacity: number) {\n return color\n .split(' ')\n .join('')\n .replace(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/, `,${opacity.toFixed(2)})`);\n }\n\n public static computeOpacity(opacity: number, color: string) {\n const s = color\n .split(' ')\n .join('')\n .match(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/)?.[0] || '';\n let firstOpacity = s.match(/[0-9]+([.]{1}[0-9]+){0,1}/)?.[0]\n return opacity * Number(firstOpacity);\n }\n\n public static getToolColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n\n const toolColor = _.cloneDeep(CHANGE_COLOR);\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n const showColor = _.cloneDeep(DEFAULT_COLOR);\n showColor.valid.stroke = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].valid),\n );\n showColor.valid.fill = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].valid) * FILL_OPACITY,\n );\n showColor.validSelected.stroke = colorSplit(\n CHANGE_COLOR[color].select.stroke,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].select.stroke),\n );\n showColor.validSelected.fill = colorSplit(\n CHANGE_COLOR[color].select.fill,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].select.fill) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].hover),\n );\n showColor.validHover.fill = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].hover) * FILL_OPACITY,\n );\n\n // 无效的比例是一样的\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, showColor.invalid.stroke),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(fillOpacity, showColor.invalid.stroke) * FILL_OPACITY,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, showColor.invalidSelected.stroke),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, showColor.invalidSelected.fill) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, showColor.invalidHover.fill),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, showColor.invalidHover.fill) * FILL_OPACITY,\n );\n toolColor[color] = showColor;\n });\n return toolColor;\n }\n\n public static getAttributeColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n let AttributeColorList: string[] = _.cloneDeep(COLORS_ARRAY);\n AttributeColorList.unshift(NULL_COLOR);\n AttributeColorList = AttributeColorList.map((item) => {\n const showColor = JSON.parse(JSON.stringify(DEFAULT_COLOR));\n showColor.valid.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.valid.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.validSelected.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validSelected.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validHover.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n return showColor;\n });\n return AttributeColorList;\n }\n\n public static getDefaultToolLineColors() {\n const toolColor: any = {};\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n toolColor[color] = CHANGE_COLOR[color].line;\n });\n return toolColor;\n }\n\n public static initByOpacity(borderOpacity: number, fillOpacity: number) {\n return {\n toolColor: this.getToolColors(borderOpacity, fillOpacity),\n attributeColor: this.getAttributeColors(borderOpacity, fillOpacity),\n };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolStyleUtils.js","sources":["../../src/utils/ToolStyleUtils.ts"],"sourcesContent":["import {\n CHANGE_COLOR,\n DEFAULT_COLOR,\n COLORS_ARRAY,\n NULL_COLOR,\n BORDER_OPACITY_LEVEL,\n FILL_OPACITY_LEVEL,\n} from '@/data/Style';\nimport _ from 'lodash';\n\nconst FILL_OPACITY = 0.8;\n\nexport class ToolStyleUtils {\n public static changeOpacity: { [a: number]: number } = {\n 1: 0.2,\n 3: 0.4,\n 5: 0.6,\n 7: 0.8,\n 9: 1.0,\n };\n\n public static colorSplit(color: string, opacity: number) {\n return color\n .split(' ')\n .join('')\n .replace(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/, `,${opacity.toFixed(2)})`);\n }\n\n public static computeOpacity(opacity: number, color: string) {\n const s =\n color\n .split(' ')\n .join('')\n .match(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/)?.[0] || '';\n let firstOpacity = s.match(/[0-9]+([.]{1}[0-9]+){0,1}/)?.[0];\n return opacity * Number(firstOpacity);\n }\n\n public static getToolColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n\n const toolColor = _.cloneDeep(CHANGE_COLOR);\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n const showColor = _.cloneDeep(DEFAULT_COLOR);\n showColor.valid.stroke = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].valid),\n );\n showColor.valid.fill = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].valid) * FILL_OPACITY,\n );\n showColor.validSelected.stroke = colorSplit(\n CHANGE_COLOR[color].select.stroke,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].select.stroke),\n );\n showColor.validSelected.fill = colorSplit(\n CHANGE_COLOR[color].select.fill,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].select.fill) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].hover),\n );\n showColor.validHover.fill = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].hover) * FILL_OPACITY,\n );\n\n // 无效的比例是一样的\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, showColor.invalid.stroke),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(fillOpacity, showColor.invalid.stroke) * FILL_OPACITY,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, showColor.invalidSelected.stroke),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, showColor.invalidSelected.fill) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, showColor.invalidHover.fill),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, showColor.invalidHover.fill) * FILL_OPACITY,\n );\n toolColor[color] = showColor;\n });\n return toolColor;\n }\n\n public static getAttributeColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n let AttributeColorList: string[] = _.cloneDeep(COLORS_ARRAY);\n AttributeColorList.unshift(NULL_COLOR);\n AttributeColorList = AttributeColorList.map((item) => {\n const showColor = JSON.parse(JSON.stringify(DEFAULT_COLOR));\n showColor.valid.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.valid.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.validSelected.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validSelected.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validHover.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n return showColor;\n });\n return AttributeColorList;\n }\n\n public static getDefaultToolLineColors() {\n const toolColor: any = {};\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n toolColor[color] = CHANGE_COLOR[color].line;\n });\n return toolColor;\n }\n\n public static initByOpacity(borderOpacity: number, fillOpacity: number) {\n return {\n toolColor: this.getToolColors(borderOpacity, fillOpacity),\n attributeColor: this.getAttributeColors(borderOpacity, fillOpacity),\n };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -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":";;;;;;;;;;;;;;;;;;;;;;MAQa,gCAAgC,CAC3C,QACA,iBACG;AACH,QAAM,YAAY,KAAK,UAAU,kCAAK,WAAW,UAAY;AAC7D,SAAO;AAAA;MAII,gBAAgB,CAC3B,QACA,KAIA,YAIG;AACH,QAAM,CAAE,MAAM,YAAa;AAC3B,QAAM,CAAE,MAAM,eAAgB;AAE9B,MAAI;AACF,UAAM,OAAO,WAAW;AACxB,UAAM,kBAAkB,UAAU,mBAAmB,MAAM;AAC3D,UAAM,CAAE,kBAAmB;AAE3B,UAAM,WAAW,QAAQ,gBAAgB;AAEzC,QAAI,KAAK,WAAW;AAClB,YAAM,OAAO,KAAK;AAClB,UAAI,KAAK,QAAQ;AACf,YAAI,KAAK,UAAU,KAAK,YAAY,KAAK,UAAU,OAAO;AACxD,iBAAO,KAAK,UAAU;AAAA;AAExB,YAAI,aAAa;AACf,eAAK,SAAS;AAAA,YACZ,GAAG,KAAK,OAAO,OAAO,CAAC,MAA6B,IAAI,YAAY,EAAE,aAAa;AAAA,YACnF,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa;AAAA;AAAA,eAEhD;AACL,eAAK,SAAS;AAAA;AAEhB,eAAO,KAAK,UAAU;AAAA;AAExB,aAAO,KAAK,UAAU,iCACjB,OADiB;AAAA,SAEnB,WAAW,iCACP,KAAK,YADE;AAAA,UAEV,QAAQ;AAAA;AAAA;AAAA;AAKd,WAAO,KAAK,UAAU,iCACjB,OADiB;AAAA,OAEnB,WAAW;AAAA,QACV;AAAA,QACA,UAAU,SAAS,OAAO,GAAG;AAAA,QAC7B,QAAQ;AAAA;AAAA;AAAA,WAGL,GAAP;AACA,WAAO;AAAA;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) => {\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;;;;"}
package/es/utils/dom.js CHANGED
@@ -1 +1 @@
1
- function i(e,f){if(!e)return f;let n;return typeof e=="function"?n=e():"current"in e?n=e.current:n=e,n}export{i as getTargetElement};
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 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../src/utils/dom.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\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}"],"names":[],"mappings":"0BAWE,QACA,gBACkC;AAClC,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA;AAGT,MAAI;AAEJ,MAAI,OAAO,WAAW,YAAY;AAChC,oBAAgB;AAAA,aACP,aAAa,QAAQ;AAC9B,oBAAgB,OAAO;AAAA,SAClB;AACL,oBAAgB;AAAA;AAGlB,SAAO;AAAA;;;;"}
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;;;;"}
package/es/utils/index.js CHANGED
@@ -1 +1 @@
1
- import s from"lodash";const o=(r,t={})=>{try{return typeof r=="string"?JSON.parse(r):s.isObject(r)?r:t}catch(i){return t}},n=(r,t)=>r||s.isNull(r)?r:t,u=r=>{if(Array.isArray(r))return r.join(" ");if(s.isObject(r)){const t=[];return Object.keys(r).forEach(i=>{r[i]&&t.push(i)}),t.join(" ")}return""};export{u as classnames,n as getNewNode,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.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":";;MAEa,aAAa,CAAC,SAAc,eAAoB,OAAO;AAClE,MAAI;AACF,QAAI,OAAO,YAAY,UAAU;AAC/B,aAAO,KAAK,MAAM;AAAA;AAEpB,WAAO,EAAE,SAAS,WAAW,UAAU;AAAA,WAChC,GAAP;AACA,WAAO;AAAA;AAAA;MAIE,aAAa,CAAI,SAAY,YAAkB;AAC1D,SAAO,WAAW,EAAE,OAAO,WAAW,UAAU;AAAA;MAGrC,aAAa,CAAC,cAAqD;AAC9E,MAAI,MAAM,QAAQ,YAAY;AAC5B,WAAO,UAAU,KAAK;AAAA;AAGxB,MAAI,EAAE,SAAS,YAAY;AACzB,UAAM,aAAuB;AAC7B,WAAO,KAAK,WAAW,QAAQ,CAAC,QAAQ;AACtC,UAAI,UAAU,MAAM;AAClB,mBAAW,KAAK;AAAA;AAAA;AAIpB,WAAO,WAAW,KAAK;AAAA;AAGzB,SAAO;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[]) => {\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 +1 @@
1
- import m,{useState as E,useRef as f,useEffect as a}from"react";import{message as p,Spin as P}from"antd/es";import{connect as h}from"react-redux";import w from"lodash";import{store as j}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 R from"../../../components/ImageError/index.js";import{i18n as g}from"@labelbee/lb-utils";var C=Object.defineProperty,L=Object.defineProperties,N=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,d=(t,e,o)=>e in t?C(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,O=(t,e)=>{for(var o in e||(e={}))k.call(e,o)&&d(t,o,e[o]);if(u)for(var o of u(e))D.call(e,o)&&d(t,o,e[o]);return t},T=(t,e)=>L(t,N(e));const B=t=>{const[,e]=E(0),{imgAttribute:o,toolStyle:s,toolInstance:r,annotationEngine:n,loading:S,imgList:_,imgIndex:v}=t,c=f(null),y=f(null),l=A(c);a(()=>{j.dispatch(x())},[]),a(()=>{if(!!n)switch(g.language){case"cn":case"en":n.setLang(g.language);break}},[n]),a(()=>{r&&(r.singleOn("messageError",i=>{p.error(i)}),r.singleOn("messageInfo",i=>{p.info(i)}),r.singleOn("changeAnnotationShow",()=>{e(i=>i+1)}))},[r]),a(()=>{r&&r.setImgAttribute(o)},[o]),a(()=>{r&&r.setStyle(s),n&&n.setStyle(s)},[s]),a(()=>{(r==null?void 0:r.setSize)&&r.setSize(l),n&&n.setSize(l)},[l]);const I=()=>{const i=_[v];!i.url||z.load(i.url).then(b=>{n.setImgNode(b)})};return m.createElement("div",{ref:c,className:"annotationOperation"},m.createElement(P,{spinning:S,delay:500},m.createElement("div",{className:"canvas",ref:y,style:l,id:"toolContainer"})),(r==null?void 0:r.isImgError)===!0&&m.createElement(R,T(O({},l),{reloadImage:I,backgroundColor:"#e2e2e2",ignoreOffsetY:!0})))},U=t=>{const e=w.pickBy(t.annotation,(o,s)=>["imgList","imgIndex","stepList","step","toolInstance","annotationEngine","loading"].includes(s));return O({imgAttribute:t.imgAttribute,toolStyle:t.toolStyle},e)};var V=h(U)(B);export{V as default};
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};