@labelbee/lb-components 1.4.0 → 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 (151) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
  3. package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
  4. package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
  5. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
  6. package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
  7. package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
  8. package/dist/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
  9. package/dist/components/fileException/FileError.js +1 -0
  10. package/dist/components/fileException/FileInvalid.js +1 -0
  11. package/dist/components/fileException/index.js +1 -0
  12. package/dist/components/videoAnnotate/index.js +1 -0
  13. package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
  14. package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
  15. package/dist/components/videoPlayer/VideoTagLayer.js +1 -0
  16. package/dist/components/videoPlayer/components/controller/index.js +1 -0
  17. package/dist/components/videoPlayer/index.js +1 -0
  18. package/dist/components/videoPlayer/utils.js +1 -0
  19. package/dist/index.css +122 -0
  20. package/dist/index.css.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/store/Actions.js +1 -1
  23. package/dist/store/annotation/actionCreators.js +1 -1
  24. package/dist/store/annotation/reducer.js +1 -1
  25. package/dist/types/App.d.ts +6 -2
  26. package/dist/types/components/{ImageError/index.d.ts → fileException/FileError.d.ts} +5 -4
  27. package/dist/types/components/fileException/FileInvalid.d.ts +12 -0
  28. package/dist/types/components/fileException/index.d.ts +17 -0
  29. package/dist/types/components/videoAnnotate/index.d.ts +15 -0
  30. package/dist/types/components/videoPlayer/TagToolInstanceAdaptor.d.ts +90 -0
  31. package/dist/types/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.d.ts +8 -0
  32. package/dist/types/components/videoPlayer/VideoTagLayer.d.ts +12 -0
  33. package/dist/types/components/videoPlayer/components/controller/index.d.ts +2 -0
  34. package/dist/types/components/videoPlayer/index.d.ts +73 -0
  35. package/dist/types/components/videoPlayer/types.d.ts +8 -0
  36. package/dist/types/components/videoPlayer/utils.d.ts +36 -0
  37. package/dist/types/index.d.ts +2 -1
  38. package/dist/types/store/Actions.d.ts +5 -0
  39. package/dist/types/store/annotation/actionCreators.d.ts +20 -8
  40. package/dist/types/store/annotation/reducer.d.ts +1 -1
  41. package/dist/types/store/annotation/types.d.ts +30 -2
  42. package/dist/types/utils/PageOperator.d.ts +1 -1
  43. package/dist/types/utils/StepUtils.d.ts +7 -0
  44. package/dist/types/utils/TextUtils.d.ts +1 -1
  45. package/dist/types/utils/dom.d.ts +6 -0
  46. package/dist/types/views/MainView/index.d.ts +2 -1
  47. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.d.ts +23 -0
  48. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/index.d.ts +2 -7
  49. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.d.ts +7 -1
  50. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.d.ts +3 -0
  51. package/dist/types/views/MainView/toolFooter/Pagination.d.ts +12 -0
  52. package/dist/utils/StepUtils.js +1 -1
  53. package/dist/utils/TextUtils.js +1 -1
  54. package/dist/utils/dom.js +1 -1
  55. package/dist/views/MainView/annotationOperation/index.js +1 -1
  56. package/dist/views/MainView/index.js +1 -1
  57. package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  58. package/dist/views/MainView/sidebar/TagSidebar/index.js +1 -1
  59. package/dist/views/MainView/sidebar/index.js +1 -1
  60. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  61. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  62. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  63. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
  64. package/dist/views/MainView/toolFooter/FooterTips/index.js +1 -1
  65. package/dist/views/MainView/toolFooter/Pagination.js +1 -0
  66. package/dist/views/MainView/toolFooter/index.js +1 -1
  67. package/dist/views/MainView/toolHeader/headerOption/index.js +1 -1
  68. package/dist/views/MainView/toolHeader/index.js +1 -1
  69. package/es/App.js +1 -1
  70. package/es/App.js.map +1 -1
  71. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
  72. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
  73. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
  74. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
  75. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
  76. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
  77. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
  78. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
  79. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
  80. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
  81. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
  82. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
  83. package/es/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
  84. package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
  85. package/es/components/ImageError/index.js +53 -1
  86. package/es/components/fileException/FileError.js +1 -0
  87. package/es/components/fileException/FileError.js.map +1 -0
  88. package/es/components/fileException/FileInvalid.js +1 -0
  89. package/es/components/fileException/FileInvalid.js.map +1 -0
  90. package/es/components/fileException/index.js +1 -0
  91. package/es/components/fileException/index.js.map +1 -0
  92. package/es/components/videoAnnotate/index.js +1 -0
  93. package/es/components/videoAnnotate/index.js.map +1 -0
  94. package/es/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
  95. package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
  96. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
  97. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
  98. package/es/components/videoPlayer/VideoTagLayer.js +1 -0
  99. package/es/components/videoPlayer/VideoTagLayer.js.map +1 -0
  100. package/es/components/videoPlayer/components/controller/index.js +1 -0
  101. package/es/components/videoPlayer/components/controller/index.js.map +1 -0
  102. package/es/components/videoPlayer/index.js +1 -0
  103. package/es/components/videoPlayer/index.js.map +1 -0
  104. package/es/components/videoPlayer/utils.js +1 -0
  105. package/es/components/videoPlayer/utils.js.map +1 -0
  106. package/es/index.js +1 -1
  107. package/es/index.js.map +1 -1
  108. package/es/store/Actions.js +1 -1
  109. package/es/store/Actions.js.map +1 -1
  110. package/es/store/annotation/actionCreators.js +1 -1
  111. package/es/store/annotation/actionCreators.js.map +1 -1
  112. package/es/store/annotation/reducer.js +1 -1
  113. package/es/store/annotation/reducer.js.map +1 -1
  114. package/es/utils/StepUtils.js +1 -1
  115. package/es/utils/StepUtils.js.map +1 -1
  116. package/es/utils/TextUtils.js +1 -1
  117. package/es/utils/TextUtils.js.map +1 -1
  118. package/es/utils/dom.js +1 -1
  119. package/es/utils/dom.js.map +1 -1
  120. package/es/views/MainView/annotationOperation/index.js +1 -1
  121. package/es/views/MainView/annotationOperation/index.js.map +1 -1
  122. package/es/views/MainView/index.js +1 -1
  123. package/es/views/MainView/index.js.map +1 -1
  124. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  125. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
  126. package/es/views/MainView/sidebar/TagSidebar/index.js +1 -1
  127. package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -1
  128. package/es/views/MainView/sidebar/index.js +1 -1
  129. package/es/views/MainView/sidebar/index.js.map +1 -1
  130. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  131. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -1
  132. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  133. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
  134. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  135. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -1
  136. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
  137. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
  138. package/es/views/MainView/toolFooter/FooterTips/index.js +1 -1
  139. package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -1
  140. package/es/views/MainView/toolFooter/Pagination.js +1 -0
  141. package/es/views/MainView/toolFooter/Pagination.js.map +1 -0
  142. package/es/views/MainView/toolFooter/index.js +1 -1
  143. package/es/views/MainView/toolFooter/index.js.map +1 -1
  144. package/es/views/MainView/toolHeader/headerOption/index.js +1 -1
  145. package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -1
  146. package/es/views/MainView/toolHeader/index.js +1 -1
  147. package/es/views/MainView/toolHeader/index.js.map +1 -1
  148. package/package.json +6 -5
  149. package/dist/components/ImageError/index.js +0 -1
  150. package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js +0 -1
  151. package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js.map +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var icon_line_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js"),icon_polygonNull_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js"),icon_polygonActive_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js"),icon_polygonChange_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js"),icon_polygonDel_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js"),icon_mouse_left_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js"),icon_mouse_right_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js"),icon_lineCont_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js"),icon_polygonInsert_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js"),icon_unGrip_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js"),index=require("../common/index.js");const polygon={name:"AnnotatePolygon",icon:icon_line_kj,shortCut:[icon_mouse_left_kj]},invalidPolygon={name:"AnnotateInvalidPolygon",icon:icon_polygonNull_kj,shortCut:["Ctrl",icon_mouse_left_kj]},selectedPolygon={name:"SelectPolygon",icon:icon_polygonActive_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"RightClick"},changePolygonAttribute={name:"TogglePolygonEffectiveness",icon:icon_polygonChange_kj,shortCut:["F"]},deletePolygon={name:"DeletePolygon",icon:icon_polygonDel_kj,shortCut:["Del"]},keepLine={name:"ContinueToLabel",icon:icon_lineCont_kj,shortCut:["Space"]},insertPolygonPoint={name:"InsertPoint",icon:icon_polygonInsert_kj,noticeInfo:"SelectAndDoubleClick",shortCut:[icon_mouse_left_kj]},deletePolygonPoint={name:"DeletePoint",icon:icon_polygonDel_kj,noticeInfo:"SelectAndDoubleClick",shortCut:[icon_mouse_right_kj]},suspendAbsorption={name:"StopAdsorption",icon:icon_unGrip_kj,noticeInfo:"Press",shortCut:["Alt"]},pointToolShortCutTable=[polygon,invalidPolygon,selectedPolygon,changePolygonAttribute,deletePolygon,keepLine,insertPolygonPoint,deletePolygonPoint,suspendAbsorption,index.revoke,index.restore,index.rotate,index.scale,index.backward,index.forward,index.setValid,index.dargWithRightClick,index.dargWithLeftClick,index.tabChangeSelected,index.tabReverseChangeSelected];exports.changePolygonAttribute=changePolygonAttribute,exports.default=pointToolShortCutTable,exports.deletePolygon=deletePolygon,exports.deletePolygonPoint=deletePolygonPoint,exports.insertPolygonPoint=insertPolygonPoint,exports.invalidPolygon=invalidPolygon,exports.keepLine=keepLine,exports.polygon=polygon,exports.selectedPolygon=selectedPolygon,exports.suspendAbsorption=suspendAbsorption;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var icon_line_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js"),icon_polygonNull_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js"),icon_polygonActive_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js"),icon_polygonChange_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js"),icon_polygonDel_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js"),icon_mouse_left_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js"),icon_mouse_right_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js"),icon_lineCont_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js"),icon_polygonInsert_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js"),icon_unGrip_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js"),icon_segment=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_segment.svg.js"),icon_polygonMerge_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js"),index=require("../common/index.js");const polygon={name:"AnnotatePolygon",icon:icon_line_kj,shortCut:[icon_mouse_left_kj]},invalidPolygon={name:"AnnotateInvalidPolygon",icon:icon_polygonNull_kj,shortCut:["Ctrl",icon_mouse_left_kj]},selectedPolygon={name:"SelectPolygon",icon:icon_polygonActive_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"RightClick"},changePolygonAttribute={name:"TogglePolygonEffectiveness",icon:icon_polygonChange_kj,shortCut:["F"]},deletePolygon={name:"DeletePolygon",icon:icon_polygonDel_kj,shortCut:["Del"]},keepLine={name:"ContinueToLabel",icon:icon_lineCont_kj,shortCut:["Space"]},insertPolygonPoint={name:"InsertPoint",icon:icon_polygonInsert_kj,noticeInfo:"SelectAndDoubleClick",shortCut:[icon_mouse_left_kj]},deletePolygonPoint={name:"DeletePoint",icon:icon_polygonDel_kj,noticeInfo:"SelectAndDoubleClick",shortCut:[icon_mouse_right_kj]},suspendAbsorption={name:"StopAdsorption",icon:icon_unGrip_kj,noticeInfo:"Press",shortCut:["Alt"]},splitPolygon={name:"CropOverlapArea",icon:icon_segment,noticeInfo:"",shortCut:["ALT","X"]},combinePolygon={name:"CombineOverlapArea",icon:icon_polygonMerge_kj,noticeInfo:"",shortCut:["Alt","Z"]},pointToolShortCutTable=[polygon,invalidPolygon,selectedPolygon,changePolygonAttribute,deletePolygon,keepLine,insertPolygonPoint,deletePolygonPoint,suspendAbsorption,index.revoke,index.restore,index.rotate,index.scale,index.backward,index.forward,index.setValid,index.dargWithRightClick,index.dargWithLeftClick,index.tabChangeSelected,index.tabReverseChangeSelected,combinePolygon,splitPolygon];exports.changePolygonAttribute=changePolygonAttribute,exports.combinePolygon=combinePolygon,exports.default=pointToolShortCutTable,exports.deletePolygon=deletePolygon,exports.deletePolygonPoint=deletePolygonPoint,exports.insertPolygonPoint=insertPolygonPoint,exports.invalidPolygon=invalidPolygon,exports.keepLine=keepLine,exports.polygon=polygon,exports.selectedPolygon=selectedPolygon,exports.splitPolygon=splitPolygon,exports.suspendAbsorption=suspendAbsorption;
@@ -0,0 +1 @@
1
+ "use strict";var _=require("lodash"),index=require("../common/index.js"),index$1=require("../tag/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_);const videoForward=___default.default.cloneDeep(index.forward),videoBackward=___default.default.cloneDeep(index.backward);videoForward.name="NextFile",videoBackward.name="PreviousFile";const videoTagToolShortCurTable=[index.saveResult,index$1.tagInSingleImg,index.playPause,index.speed,index.rewind,index.forwardForward,index.fullScreen,videoBackward,videoForward];module.exports=videoTagToolShortCurTable;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),index=require("./ToolHotKey/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const FooterTips=()=>React__default.default.createElement("div",{className:"tipsBar"},React__default.default.createElement(index,null));module.exports=FooterTips;
1
+ "use strict";var React=require("react"),index=require("./ToolHotKey/index.js"),reactRedux=require("react-redux"),StepUtils=require("../../../../utils/StepUtils.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const FooterTips=()=>{const e=reactRedux.useSelector(t=>{var r,o;return StepUtils.getCurrentStepInfo((r=t==null?void 0:t.annotation)==null?void 0:r.step,(o=t.annotation)==null?void 0:o.stepList)});return React__default.default.createElement("div",{className:"tipsBar"},React__default.default.createElement(index,{toolName:e==null?void 0:e.tool}))};module.exports=FooterTips;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var icons=require("@ant-design/icons"),React=require("react"),index=require("./index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,a)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,__spreadValues=(e,t)=>{for(var a in t||(t={}))__hasOwnProp.call(t,a)&&__defNormalProp(e,a,t[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(t))__propIsEnum.call(t,a)&&__defNormalProp(e,a,t[a]);return e};const Forward=e=>e.isVideo?React__default.default.createElement(icons.StepForwardFilled,__spreadValues({},e.iconProps)):React__default.default.createElement(icons.RightOutlined,__spreadValues({},e.iconProps)),Back=e=>e.isVideo?React__default.default.createElement(icons.StepBackwardFilled,__spreadValues({},e.iconProps)):React__default.default.createElement(icons.LeftOutlined,__spreadValues({},e.iconProps)),Pagination=({pageBackward:e,imgIndex:t,pageJump:a,totalPage:i,pageForward:l,isVideo:n,footerCls:r})=>React__default.default.createElement("div",{className:`${r}__pagination`},React__default.default.createElement(Back,{isVideo:n,iconProps:{className:`${r}__highlight`,onClick:e}}),React__default.default.createElement(index.PageInput,{imgIndex:t,jumpSkip:a}),"/",React__default.default.createElement("span",{className:`${r}__pageAll`},i),React__default.default.createElement(Forward,{isVideo:n,iconProps:{className:`${r}__highlight`,onClick:l}}));exports.Pagination=Pagination;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index=require("../../../constant/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),reducer=require("../../../store/annotation/reducer.js"),icons=require("@ant-design/icons"),es=require("antd/es"),React=require("react"),reactI18next=require("react-i18next"),reactRedux=require("react-redux"),index$1=require("./FooterTips/index.js"),index$2=require("./HiddenTips/index.js"),index$3=require("./PageNumber/index.js"),index$4=require("./ZoomController/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PageInput=e=>{const{jumpSkip:o,imgIndex:n}=e,[s,r]=React.useState(n),l=React.useRef(null);React.useEffect(()=>{r(n+1)},[n]);const i=t=>{/^\d*$/.test(t.target.value)&&r(t.target.value)},a=t=>{t.keyCode===13&&o(t.target.value)};return React__default.default.createElement(es.Input,{className:"pageInput",ref:l,onChange:i,value:s,onKeyDown:a})},footerCls=`${index.prefix}-footer`,FooterDivider=()=>React__default.default.createElement(es.Divider,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}}),ToolFooter=e=>{var o;const{stepList:n,step:s,basicResultList:r,basicIndex:l,mode:i,footer:a}=e,t=reactRedux.useDispatch(),{t:u}=reactI18next.useTranslation(),v=(o=n[s-1])!=null?o:{},E=()=>{t(actionCreators.PageBackward())},I=()=>{t(actionCreators.PageForward())},h=y=>{const $=~~y-1;t(actionCreators.PageJump($))},_=!!v.dataSourceStep,d=React__default.default.createElement(index$1,null),f=React__default.default.createElement(index$2,null),m=React__default.default.createElement(index$3,null),p=React__default.default.createElement("div",{className:`${footerCls}__pagination`},React__default.default.createElement(icons.LeftOutlined,{className:`${footerCls}__highlight`,onClick:E}),React__default.default.createElement(PageInput,{imgIndex:e.imgIndex,jumpSkip:h}),"/",React__default.default.createElement("span",{className:`${footerCls}__pageAll`},e.totalPage),React__default.default.createElement(icons.RightOutlined,{className:`${footerCls}__highlight`,onClick:I})),g=React__default.default.createElement(index$4,{mode:i}),x=React__default.default.createElement("span",null,u("curItems",{current:l+1,total:r.length})),c=React__default.default.createElement(FooterDivider,null);return a?typeof a=="function"?React__default.default.createElement("div",{className:`${footerCls}`,style:e.style},a({footerTips:d,hiddenTips:f,pageNumber:m,pagination:p,zoomController:g,curItems:x,footerDivider:c})):a:React__default.default.createElement("div",{className:`${footerCls}`,style:e.style},d,React__default.default.createElement("div",{style:{flex:1}}),f,m,p,_&&r.length>0&&React__default.default.createElement(React__default.default.Fragment,null,c,x),c,g)},mapStateToProps=e=>({totalPage:reducer.getTotalPage(e.annotation),imgIndex:e.annotation.imgIndex,stepList:e.annotation.stepList,step:e.annotation.step,basicIndex:e.annotation.basicIndex,basicResultList:e.annotation.basicResultList});var ToolFooter$1=reactRedux.connect(mapStateToProps)(ToolFooter);exports.PageInput=PageInput,exports.default=ToolFooter$1,exports.footerCls=footerCls;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index=require("../../../constant/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),reducer=require("../../../store/annotation/reducer.js"),es=require("antd/es"),React=require("react"),reactI18next=require("react-i18next"),reactRedux=require("react-redux"),index$1=require("./FooterTips/index.js"),index$2=require("./HiddenTips/index.js"),index$3=require("./PageNumber/index.js"),index$4=require("./ZoomController/index.js"),Pagination=require("./Pagination.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PageInput=e=>{const{jumpSkip:o,imgIndex:a}=e,[s,r]=React.useState(a),i=React.useRef(null);React.useEffect(()=>{r(a+1)},[a]);const l=t=>{/^\d*$/.test(t.target.value)&&r(t.target.value)},n=t=>{t.keyCode===13&&o(t.target.value)};return React__default.default.createElement(es.Input,{className:"pageInput",ref:i,onChange:l,value:s,onKeyDown:n})},footerCls=`${index.prefix}-footer`,FooterDivider=()=>React__default.default.createElement(es.Divider,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}}),ToolFooter=e=>{var o;const{stepList:a,step:s,basicResultList:r,basicIndex:i,mode:l,footer:n}=e,t=reactRedux.useDispatch(),{t:c}=reactI18next.useTranslation(),v=(o=a[s-1])!=null?o:{},I=()=>{t(actionCreators.PageBackward())},E=()=>{t(actionCreators.PageForward())},P=b=>{const q=~~b-1;t(actionCreators.PageJump(q))},y=!!v.dataSourceStep,d=React__default.default.createElement(index$1,null),f=React__default.default.createElement(index$2,null),g=React__default.default.createElement(index$3,null),p=React__default.default.createElement(Pagination.Pagination,{imgIndex:e.imgIndex,totalPage:e.totalPage,pageJump:P,pageBackward:I,pageForward:E,footerCls}),m=React__default.default.createElement(index$4,{mode:l}),x=React__default.default.createElement("span",null,c("curItems",{current:i+1,total:r.length})),u=React__default.default.createElement(FooterDivider,null);return n?typeof n=="function"?React__default.default.createElement("div",{className:`${footerCls}`,style:e.style},n({footerTips:d,hiddenTips:f,pageNumber:g,pagination:p,zoomController:m,curItems:x,footerDivider:u})):n:React__default.default.createElement("div",{className:`${footerCls}`,style:e.style},d,React__default.default.createElement("div",{style:{flex:1}}),f,g,p,y&&r.length>0&&React__default.default.createElement(React__default.default.Fragment,null,u,x),u,m)},mapStateToProps=e=>({totalPage:reducer.getTotalPage(e.annotation),imgIndex:e.annotation.imgIndex,stepList:e.annotation.stepList,step:e.annotation.step,basicIndex:e.annotation.basicIndex,basicResultList:e.annotation.basicResultList});var ToolFooter$1=reactRedux.connect(mapStateToProps)(ToolFooter);exports.PageInput=PageInput,exports.default=ToolFooter$1,exports.footerCls=footerCls;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),reactRedux=require("react-redux"),icon_r=require("../../../../assets/annotation/common/icon_r.svg.js"),icon_next=require("../../../../assets/annotation/common/icon_next.svg.js"),icon_back=require("../../../../assets/annotation/common/icon_back.svg.js"),icon_rA=require("../../../../assets/annotation/common/icon_rA.svg.js"),icon_nextA=require("../../../../assets/annotation/common/icon_nextA.svg.js"),icon_backA=require("../../../../assets/annotation/common/icon_backA.svg.js"),icon_save=require("../../../../assets/annotation/common/icon_save.svg.js"),icon_saveA=require("../../../../assets/annotation/common/icon_saveA.svg.js"),index=require("../../../../constant/index.js"),ToolType=require("../../../../data/enums/ToolType.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),EColor;(function(t){t.Hover="#666fff",t.Normal="#cccccc"})(EColor||(EColor={}));const HeaderOption=t=>{const[n,s]=React.useState(""),{stepInfo:r}=t,c=reactRedux.useDispatch(),{annotation:{toolInstance:o,onSave:i}}=reactRedux.useSelector(e=>({annotation:e.annotation,imgAttribute:e.imgAttribute})),{t:l}=reactI18next.useTranslation(),a=t.isBegin||(r==null?void 0:r.tool)===ToolType.EToolName.Tag,v=()=>{r.dataSourceStep!==0&&r.dataSourceStep!==void 0||o==null||o.updateRotate()},m=React.useCallback(()=>{o==null||o.undo()},[o]),u=React.useCallback(()=>{o==null||o.redo()},[o]),d=[{toolName:"save",title:"Save",show:!!i,commonSvg:icon_save,selectedSvg:icon_saveA,click:()=>{c(actionCreators.ChangeSave)},style:{fontSize:"12px",color:!a&&n==="save"?EColor.Hover:EColor.Normal}},{toolName:"revocation",title:"Undo",show:!0,commonSvg:icon_back,selectedSvg:icon_backA,click:()=>{m()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&n==="revocation"?EColor.Hover:EColor.Normal}},{toolName:"restore",title:"Redo",show:!0,commonSvg:icon_next,selectedSvg:icon_nextA,click:()=>{u()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&n==="restore"?EColor.Hover:EColor.Normal}},{toolName:"rotate",title:"Rotate",show:!0,selectedSvg:icon_rA,commonSvg:icon_r,click:()=>{v()},style:{fontSize:"12px",color:!a&&n==="rotate"?EColor.Hover:EColor.Normal}}];return React__default.default.createElement("div",{className:`${index.prefix}-header__hotKey`},d.map(e=>e.show&&React__default.default.createElement("div",{key:e.toolName,className:"item",onMouseEnter:()=>s(e.toolName),onMouseLeave:()=>s("")},React__default.default.createElement("a",{className:"item",onClick:e.click},React__default.default.createElement("img",{className:"singleTool",src:n===e.toolName?e.selectedSvg:e.commonSvg,style:e.style}),React__default.default.createElement("div",{style:e.style},l(e.title))))))};module.exports=HeaderOption;
1
+ "use strict";var React=require("react"),reactRedux=require("react-redux"),icon_r=require("../../../../assets/annotation/common/icon_r.svg.js"),icon_next=require("../../../../assets/annotation/common/icon_next.svg.js"),icon_back=require("../../../../assets/annotation/common/icon_back.svg.js"),icon_rA=require("../../../../assets/annotation/common/icon_rA.svg.js"),icon_nextA=require("../../../../assets/annotation/common/icon_nextA.svg.js"),icon_backA=require("../../../../assets/annotation/common/icon_backA.svg.js"),icon_save=require("../../../../assets/annotation/common/icon_save.svg.js"),icon_saveA=require("../../../../assets/annotation/common/icon_saveA.svg.js"),index=require("../../../../constant/index.js"),ToolType=require("../../../../data/enums/ToolType.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),reactI18next=require("react-i18next"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React);const{EVideoToolName}=lbAnnotation.cTool;var EColor;(function(o){o.Hover="#666fff",o.Normal="#cccccc"})(EColor||(EColor={}));const HeaderOption=o=>{const[r,c]=React.useState(""),{stepInfo:a}=o,l=reactRedux.useDispatch(),{annotation:{toolInstance:t,onSave:u}}=reactRedux.useSelector(e=>({annotation:e.annotation,imgAttribute:e.imgAttribute})),{t:v}=reactI18next.useTranslation(),s=[ToolType.EToolName.Tag,EVideoToolName.VideoTagTool].includes(a==null?void 0:a.tool),i=[EVideoToolName.VideoTagTool].includes(a==null?void 0:a.tool),n=o.isBegin||s,m=()=>{a.dataSourceStep!==0&&a.dataSourceStep!==void 0||t==null||t.updateRotate()},d=React.useCallback(()=>{t==null||t.undo()},[t]),g=React.useCallback(()=>{t==null||t.redo()},[t]),S=[{toolName:"save",title:"Save",show:!!u,commonSvg:icon_save,selectedSvg:icon_saveA,click:()=>{l(actionCreators.ChangeSave)},style:{fontSize:"12px",color:!n&&r==="save"?EColor.Hover:EColor.Normal}},{toolName:"revocation",title:"Undo",show:!0,commonSvg:icon_back,selectedSvg:icon_backA,click:()=>{s||d()},style:{opacity:n===!0?.4:1,fontSize:"12px",color:!n&&r==="revocation"?EColor.Hover:EColor.Normal}},{toolName:"restore",title:"Redo",show:!0,commonSvg:icon_next,selectedSvg:icon_nextA,click:()=>{s||g()},style:{opacity:n===!0?.4:1,fontSize:"12px",color:!n&&r==="restore"?EColor.Hover:EColor.Normal}},{toolName:"rotate",title:"Rotate",show:!0,selectedSvg:icon_rA,commonSvg:icon_r,click:()=>{i||m()},style:{opacity:i===!0?.4:1,fontSize:"12px",color:!n&&r==="rotate"?EColor.Hover:EColor.Normal}}];return React__default.default.createElement("div",{className:`${index.prefix}-header__hotKey`},S.map(e=>e.show&&React__default.default.createElement("div",{key:e.toolName,className:"item",onMouseEnter:()=>c(e.toolName),onMouseLeave:()=>c("")},React__default.default.createElement("a",{className:"item",onClick:e.click},React__default.default.createElement("img",{className:"singleTool",src:r===e.toolName?e.selectedSvg:e.commonSvg,style:e.style}),React__default.default.createElement("div",{style:e.style},v(e.title))))))};module.exports=HeaderOption;
@@ -1 +1 @@
1
- "use strict";var index$1=require("../../../constant/index.js"),useSize=require("../../../hooks/useSize.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),icons=require("@ant-design/icons"),lbUtils=require("@labelbee/lb-utils"),es=require("antd/es"),classNames=require("classnames"),_=require("lodash"),React=require("react"),reactI18next=require("react-i18next"),reactRedux=require("react-redux"),index$4=require("../../../index.js"),index$2=require("./ExportData/index.js"),index$3=require("./headerOption/index.js"),index=require("./StepSwitch/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React);const NextButton=({disabled:e})=>{const{t}=reactI18next.useTranslation();return React__default.default.createElement(es.Button,{type:"primary",style:{marginLeft:10},onClick:()=>{index$4.store.dispatch(actionCreators.ToNextStep(0))},disabled:e},t("NextStep"))},NextStep=({step:e,stepProgress:t,stepList:a})=>{var n;const{t:o}=reactI18next.useTranslation(),i=(n=_.last(a))==null?void 0:n.step;if(a.length<2||e===i)return null;const r=t<1;return r?React__default.default.createElement(es.Tooltip,{title:o("StepNotFinishedNotify")},React__default.default.createElement("span",null,React__default.default.createElement(NextButton,{disabled:r}))):React__default.default.createElement(NextButton,{disabled:r})},ToolHeader=({goBack:e,exportData:t,header:a,headerName:n,imgList:o,stepProgress:i,stepInfo:r,stepList:c,step:g,annotationEngine:h})=>{var u;const $=reactRedux.useDispatch(),[,q]=React.useReducer(l=>l+1,0),s=React.useRef(null),d=useSize(s),L=React__default.default.createElement(index$2,{exportData:t}),S=()=>{$(actionCreators.ToSubmitFileData(index$1.ESubmitType.Quit)),e&&e(o)},f=l=>{lbUtils.i18n.changeLanguage(l),h.setLang(l),q()},p=lbUtils.i18n.language,b=(u=d==null?void 0:d.width)!=null?u:window.innerWidth,m=React__default.default.createElement(icons.LeftOutlined,{className:`${index$1.prefix}-header__icon`,onClick:S}),v=n?React__default.default.createElement("span",{className:`${index$1.prefix}-header__name`},n):"",x=c.length>1&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index,{stepProgress:i}),React__default.default.createElement(NextStep,{step:g,stepProgress:i,stepList:c})),N=React__default.default.createElement(index$3,{stepInfo:r}),E=React__default.default.createElement("div",{className:`${index$1.prefix}-header__lang`},React__default.default.createElement("span",{className:`${index$1.prefix}-langCN ${p==="cn"?"active":""}`,onClick:()=>f("cn")},"\u4E2D\u6587")," / ",React__default.default.createElement("span",{className:`${index$1.prefix}-langEN ${p==="en"?"active":""}`,onClick:()=>f("en")},"En"));return a?typeof a=="function"?React__default.default.createElement("div",{className:classNames__default.default(`${index$1.prefix}-header`),ref:s},React__default.default.createElement("div",{className:`${index$1.prefix}-header__title`},a({backNode:m,headerNameNode:v,stepListNode:x,headerOptionNode:N,langNode:E}))):a:React__default.default.createElement("div",{className:classNames__default.default(`${index$1.prefix}-header`),ref:s},React__default.default.createElement("div",{className:`${index$1.prefix}-header__title`},m,v,x,L,React__default.default.createElement("div",{id:"operationNode",className:`${index$1.prefix}-header__operationNode`,style:{left:b/2-174/2}},N),React__default.default.createElement("div",{className:`${index$1.prefix}-header__titlePlacement`}),E))},mapStateToProps=e=>{var t;return{imgList:e.annotation.imgList,annotationEngine:e.annotation.annotationEngine,stepProgress:e.annotation.stepProgress,toolName:(t=e.annotation.stepList[e.annotation.step-1])==null?void 0:t.tool,stepList:e.annotation.stepList,stepInfo:e.annotation.stepList[e.annotation.step-1],step:e.annotation.step}};var ToolHeader$1=reactRedux.connect(mapStateToProps)(ToolHeader);module.exports=ToolHeader$1;
1
+ "use strict";var index$1=require("../../../constant/index.js"),useSize=require("../../../hooks/useSize.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),icons=require("@ant-design/icons"),lbUtils=require("@labelbee/lb-utils"),es=require("antd/es"),classNames=require("classnames"),_=require("lodash"),React=require("react"),reactI18next=require("react-i18next"),reactRedux=require("react-redux"),index$4=require("../../../index.js"),index$2=require("./ExportData/index.js"),index$3=require("./headerOption/index.js"),index=require("./StepSwitch/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React);const NextButton=({disabled:e,imgList:n})=>{const{t}=reactI18next.useTranslation(),r=()=>{const{dispatch:a,getState:i}=index$4.store;n[0]?a(actionCreators.ToNextStep(0)):actionCreators.loadImgList(a,i,0).then(o=>{o&&a(actionCreators.ToNextStep(0))})};return React__default.default.createElement(es.Button,{type:"primary",style:{marginLeft:10},onClick:r,disabled:e},t("NextStep"))},NextStep=({step:e,stepProgress:n,stepList:t,imgList:r})=>{var a;const{t:i}=reactI18next.useTranslation(),o=(a=_.last(t))==null?void 0:a.step;if(t.length<2||e===o)return null;const l=n<1;return l?React__default.default.createElement(es.Tooltip,{title:i("StepNotFinishedNotify")},React__default.default.createElement("span",null,React__default.default.createElement(NextButton,{disabled:l,imgList:r}))):React__default.default.createElement(NextButton,{disabled:l,imgList:r})},ToolHeader=({goBack:e,exportData:n,header:t,headerName:r,imgList:a,stepProgress:i,stepInfo:o,stepList:l,step:g,annotationEngine:u})=>{var d;const $=reactRedux.useDispatch(),[,q]=React.useReducer(s=>s+1,0),c=React.useRef(null),f=useSize(c),S=React__default.default.createElement(index$2,{exportData:n}),L=()=>{$(actionCreators.ToSubmitFileData(index$1.ESubmitType.Quit)),e&&e(a)},p=s=>{lbUtils.i18n.changeLanguage(s),u==null||u.setLang(s),q()},m=lbUtils.i18n.language,T=(d=f==null?void 0:f.width)!=null?d:window.innerWidth,v=React__default.default.createElement(icons.LeftOutlined,{className:`${index$1.prefix}-header__icon`,onClick:L}),x=r?React__default.default.createElement("span",{className:`${index$1.prefix}-header__name`},r):"",N=l.length>1&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index,{stepProgress:i}),React__default.default.createElement(NextStep,{step:g,stepProgress:i,stepList:l,imgList:a})),E=React__default.default.createElement(index$3,{stepInfo:o}),h=React__default.default.createElement("div",{className:`${index$1.prefix}-header__lang`},React__default.default.createElement("span",{className:`${index$1.prefix}-langCN ${m==="cn"?"active":""}`,onClick:()=>p("cn")},"\u4E2D\u6587")," / ",React__default.default.createElement("span",{className:`${index$1.prefix}-langEN ${m==="en"?"active":""}`,onClick:()=>p("en")},"En"));return t?typeof t=="function"?React__default.default.createElement("div",{className:classNames__default.default(`${index$1.prefix}-header`),ref:c},React__default.default.createElement("div",{className:`${index$1.prefix}-header__title`},t({backNode:v,headerNameNode:x,stepListNode:N,headerOptionNode:E,langNode:h}))):t:React__default.default.createElement("div",{className:classNames__default.default(`${index$1.prefix}-header`),ref:c},React__default.default.createElement("div",{className:`${index$1.prefix}-header__title`},v,x,N,S,React__default.default.createElement("div",{id:"operationNode",className:`${index$1.prefix}-header__operationNode`,style:{left:T/2-174/2}},E),React__default.default.createElement("div",{className:`${index$1.prefix}-header__titlePlacement`}),h))},mapStateToProps=e=>{var n;return{imgList:e.annotation.imgList,annotationEngine:e.annotation.annotationEngine,stepProgress:e.annotation.stepProgress,toolName:(n=e.annotation.stepList[e.annotation.step-1])==null?void 0:n.tool,stepList:e.annotation.stepList,stepInfo:e.annotation.stepList[e.annotation.step-1],step:e.annotation.step}};var ToolHeader$1=reactRedux.connect(mapStateToProps)(ToolHeader);module.exports=ToolHeader$1;
package/es/App.js CHANGED
@@ -1 +1 @@
1
- import v from"./views/MainView/index.js";import{i18n as _}from"@labelbee/lb-utils";import n,{useEffect as i}from"react";import{connect as g}from"react-redux";import{store as w}from"./index.js";import{InitTaskData as I}from"./store/annotation/actionCreators.js";var O=Object.defineProperty,s=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,l=(e,t,r)=>t in e?O(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,y=(e,t)=>{for(var r in t||(t={}))P.call(t,r)&&l(e,r,t[r]);if(s)for(var r of s(t))b.call(t,r)&&l(e,r,t[r]);return e};const j=e=>{const{imgList:t,step:r,stepList:p,onSubmit:c,onSave:m,initialIndex:f=0,toolInstance:o,setToolInstance:a,getFileData:u,defaultLang:d="cn"}=e;return i(()=>{w.dispatch(I({imgList:t,onSubmit:c,stepList:p,step:r,initialIndex:f,getFileData:u,onSave:m})),_.changeLanguage(d)},[]),i(()=>{a==null||a(o)},[o]),n.createElement("div",null,n.createElement(v,y({},e)))},x=e=>({toolInstance:e.annotation.toolInstance});var E=g(x)(j);export{E as default};
1
+ import L from"./views/MainView/index.js";import{i18n as w}from"@labelbee/lb-utils";import p,{useEffect as l}from"react";import{connect as y}from"react-redux";import{store as o}from"./index.js";import{ANNOTATION_ACTIONS as A}from"./store/Actions.js";import{InitTaskData as T,loadImgList as j}from"./store/annotation/actionCreators.js";import{LoadFileAndFileData as c}from"./store/annotation/reducer.js";var b=Object.defineProperty,m=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,f=(e,t,a)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,N=(e,t)=>{for(var a in t||(t={}))E.call(t,a)&&f(e,a,t[a]);if(m)for(var a of m(t))x.call(t,a)&&f(e,a,t[a]);return e};const C=e=>{const{imgList:t,step:a=1,stepList:d,onSubmit:u,onSave:g,onPageChange:_,onStepChange:I,initialIndex:r=0,toolInstance:n,setToolInstance:i,getFileData:h,pageSize:v=10,loadFileList:s,defaultLang:O="cn"}=e;l(()=>{o.dispatch(T({onSubmit:u,stepList:d,step:a,getFileData:h,pageSize:v,loadFileList:s,onSave:g,onPageChange:_,onStepChange:I})),P(),w.changeLanguage(O)},[]),l(()=>{i==null||i(n)},[n]);const P=()=>{s?j(o.dispatch,o.getState,r,!0).then(S=>{S&&o.dispatch(c(r))}):t&&t.length>0&&(o.dispatch({type:A.UPDATE_IMG_LIST,payload:{imgList:t}}),o.dispatch(c(r)))};return p.createElement("div",null,p.createElement(L,N({},e)))},D=e=>({toolInstance:e.annotation.toolInstance});var F=y(D)(C);export{F as default};
package/es/App.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sources":["../src/App.tsx"],"sourcesContent":["import MainView from '@/views/MainView';\nimport { i18n } from '@labelbee/lb-utils';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { store } from '.';\nimport { AppState } from './store';\nimport { InitTaskData } from './store/annotation/actionCreators';\nimport { ToolInstance } from './store/annotation/types';\nimport { GetFileData, OnSave, OnSubmit, IFileItem } from './types/data';\nimport { Footer, Header, Sider } from './types/main';\nimport { IStepInfo } from './types/step';\n\ninterface IAnnotationStyle {\n strokeColor: string;\n fillColor: string;\n textColor: string;\n toolColor: any;\n}\n\nexport interface AppProps {\n exportData?: (data: any[]) => void;\n goBack?: () => void;\n imgList: IFileItem[];\n config: string;\n stepList: IStepInfo[];\n step: number;\n onSubmit?: OnSubmit;\n onSave?: OnSave;\n getFileData?: GetFileData;\n headerName?: string;\n initialIndex?: number;\n className?: string;\n toolInstance: ToolInstance;\n header?: Header;\n footer?: Footer;\n sider?: Sider;\n style?: {\n layout?: { [key: string]: any };\n header?: { [key: string]: any };\n sider?: { [key: string]: any };\n footer?: { [key: string]: any };\n };\n setToolInstance?: (tool: ToolInstance) => void;\n mode?: 'light' | 'dark'; // 临时需求应用于 toolFooter 的操作\n showTips?: boolean; // 是否展示 tips\n defaultLang: 'en' | 'cn'; // 国际化设置\n leftSider?: () => React.ReactNode | React.ReactNode;\n\n // 标注信息扩展的功能\n dataInjectionAtCreation: (annotationData: any) => {};\n // 渲染增强\n renderEnhance: {\n staticRender?: (canvas: HTMLCanvasElement, data: any, style: IAnnotationStyle) => void;\n selectedRender?: (canvas: HTMLCanvasElement, data: any, style: IAnnotationStyle) => void;\n creatingRender?: (canvas: HTMLCanvasElement, data: any, style: IAnnotationStyle) => void;\n };\n}\n\nconst App: React.FC<AppProps> = (props) => {\n const {\n imgList,\n step,\n stepList,\n onSubmit,\n onSave,\n initialIndex = 0,\n toolInstance,\n setToolInstance,\n getFileData,\n defaultLang = 'cn',\n } = props;\n useEffect(() => {\n store.dispatch(\n InitTaskData({ imgList, onSubmit, stepList, step, initialIndex, getFileData, onSave }),\n );\n\n // 初始化国际化语言\n i18n.changeLanguage(defaultLang);\n }, []);\n\n useEffect(() => {\n setToolInstance?.(toolInstance);\n }, [toolInstance]);\n\n return (\n <div>\n <MainView {...props} />\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n toolInstance: state.annotation.toolInstance,\n});\n\nexport default connect(mapStateToProps)(App);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA0DA,MAAM,GAAA,GAA0B,CAAC,KAAU,KAAA;AACzC,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAe,GAAA,CAAA;AAAA,IACf,YAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAc,GAAA,IAAA;AAAA,GACZ,GAAA,KAAA,CAAA;AACJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,KAAA,CAAA,QAAA,CACJ,aAAa,CAAE,OAAA,EAAS,UAAU,QAAU,EAAA,IAAA,EAAM,cAAc,WAAa,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAI/E,IAAA,IAAA,CAAK,cAAe,CAAA,WAAA,CAAA,CAAA;AAAA,GACnB,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,SAAA,CAAU,MAAM;AACd,IAAkB,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,YAAA,CAAA,CAAA;AAAA,GAAA,EACjB,CAAC,YAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAD,cAAc,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAKpB,MAAM,eAAA,GAAkB,CAAC,KAAqB,MAAA;AAAA,EAC5C,YAAA,EAAc,MAAM,UAAW,CAAA,YAAA;AAAA,CAAA,CAAA,CAAA;AAGjC,YAAe,QAAQ,eAAiB,CAAA,CAAA,GAAA,CAAA;;;;"}
1
+ {"version":3,"file":"App.js","sources":["../src/App.tsx"],"sourcesContent":["import MainView from '@/views/MainView';\nimport { i18n } from '@labelbee/lb-utils';\nimport React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { store } from '.';\nimport { AppState } from './store';\nimport { ANNOTATION_ACTIONS } from './store/Actions';\nimport { InitTaskData, loadImgList } from './store/annotation/actionCreators';\nimport { LoadFileAndFileData } from './store/annotation/reducer';\nimport { ToolInstance } from './store/annotation/types';\nimport {\n GetFileData,\n OnSave,\n OnSubmit,\n IFileItem,\n OnPageChange,\n OnStepChange,\n LoadFileList,\n} from './types/data';\nimport { Footer, Header, Sider } from './types/main';\nimport { IStepInfo } from './types/step';\n\ninterface IAnnotationStyle {\n strokeColor: string;\n fillColor: string;\n textColor: string;\n toolColor: any;\n}\n\nexport interface AppProps {\n exportData?: (data: any[]) => void;\n goBack?: () => void;\n imgList?: IFileItem[];\n config: string;\n stepList: IStepInfo[];\n step: number;\n onSubmit?: OnSubmit;\n onSave?: OnSave;\n onPageChange?: OnPageChange;\n onStepChange?: OnStepChange;\n getFileData?: GetFileData;\n pageSize: number;\n loadFileList?: LoadFileList;\n headerName?: string;\n initialIndex?: number;\n className?: string;\n toolInstance: ToolInstance;\n header?: Header;\n footer?: Footer;\n sider?: Sider;\n style?: {\n layout?: { [key: string]: any };\n header?: { [key: string]: any };\n sider?: { [key: string]: any };\n footer?: { [key: string]: any };\n };\n setToolInstance?: (tool: ToolInstance) => void;\n mode?: 'light' | 'dark'; // 临时需求应用于 toolFooter 的操作\n showTips?: boolean; // 是否展示 tips\n defaultLang: 'en' | 'cn'; // 国际化设置\n leftSider?: () => React.ReactNode | React.ReactNode;\n\n // 标注信息扩展的功能\n dataInjectionAtCreation: (annotationData: any) => {};\n // 渲染增强\n renderEnhance: {\n staticRender?: (canvas: HTMLCanvasElement, data: any, style: IAnnotationStyle) => void;\n selectedRender?: (canvas: HTMLCanvasElement, data: any, style: IAnnotationStyle) => void;\n creatingRender?: (canvas: HTMLCanvasElement, data: any, style: IAnnotationStyle) => void;\n };\n}\n\nconst App: React.FC<AppProps> = (props) => {\n const {\n imgList,\n step = 1,\n stepList,\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n initialIndex = 0,\n toolInstance,\n setToolInstance,\n getFileData,\n pageSize = 10,\n loadFileList,\n defaultLang = 'cn',\n } = props;\n\n useEffect(() => {\n store.dispatch(\n InitTaskData({\n onSubmit,\n stepList,\n step,\n getFileData,\n pageSize,\n loadFileList,\n onSave,\n onPageChange,\n onStepChange,\n }),\n );\n\n initImgList();\n // 初始化国际化语言\n i18n.changeLanguage(defaultLang);\n }, []);\n\n useEffect(() => {\n setToolInstance?.(toolInstance);\n }, [toolInstance]);\n\n // 初始化imgList 优先以loadFileList方式加载数据\n const initImgList = () => {\n if (loadFileList) {\n loadImgList(store.dispatch, store.getState, initialIndex, true).then((isSuccess) => {\n if (isSuccess) {\n store.dispatch(LoadFileAndFileData(initialIndex));\n }\n });\n } else if (imgList && imgList.length > 0) {\n store.dispatch({\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList,\n },\n });\n store.dispatch(LoadFileAndFileData(initialIndex));\n }\n };\n\n return (\n <div>\n <MainView {...props} />\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n toolInstance: state.annotation.toolInstance,\n});\n\nexport default connect(mapStateToProps)(App);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAwEA,MAAM,GAAA,GAA0B,CAAC,KAAU,KAAA;AACzC,EAAM,MAAA;AAAA,IACJ,OAAA;AAAA,IACA,IAAO,GAAA,CAAA;AAAA,IACP,QAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAe,GAAA,CAAA;AAAA,IACf,YAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAW,GAAA,EAAA;AAAA,IACX,YAAA;AAAA,IACA,WAAc,GAAA,IAAA;AAAA,GACZ,GAAA,KAAA,CAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,KAAA,CAAM,SACJ,YAAa,CAAA;AAAA,MACX,QAAA;AAAA,MACA,QAAA;AAAA,MACA,IAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAIJ,IAAA,WAAA,EAAA,CAAA;AAEA,IAAA,IAAA,CAAK,cAAe,CAAA,WAAA,CAAA,CAAA;AAAA,GACnB,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,SAAA,CAAU,MAAM;AACd,IAAkB,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,YAAA,CAAA,CAAA;AAAA,GAAA,EACjB,CAAC,YAAA,CAAA,CAAA,CAAA;AAGJ,EAAA,MAAM,cAAc,MAAM;AACxB,IAAA,IAAI,YAAc,EAAA;AAChB,MAAY,WAAA,CAAA,KAAA,CAAM,UAAU,KAAM,CAAA,QAAA,EAAU,cAAc,IAAM,CAAA,CAAA,IAAA,CAAK,CAAC,SAAc,KAAA;AAClF,QAAA,IAAI,SAAW,EAAA;AACb,UAAA,KAAA,CAAM,SAAS,mBAAoB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAG9B,MAAA,IAAA,OAAA,IAAW,OAAQ,CAAA,MAAA,GAAS,CAAG,EAAA;AACxC,MAAA,KAAA,CAAM,QAAS,CAAA;AAAA,QACb,MAAM,kBAAmB,CAAA,eAAA;AAAA,QACzB,OAAS,EAAA;AAAA,UACP,OAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;AAGJ,MAAA,KAAA,CAAM,SAAS,mBAAoB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAIvC,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAD,cAAc,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAKpB,MAAM,eAAA,GAAkB,CAAC,KAAqB,MAAA;AAAA,EAC5C,YAAA,EAAc,MAAM,UAAW,CAAA,YAAA;AAAA,CAAA,CAAA,CAAA;AAGjC,YAAe,QAAQ,eAAiB,CAAA,CAAA,GAAA,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ var c="data:image/svg+xml,%3csvg id='icon_back_kj' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3crect id='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd_10' data-name='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd 10' class='cls-1' width='16' height='16'/%3e %3cg id='%e7%bb%84_1224' data-name='%e7%bb%84 1224' transform='translate(-0.347 0.145)'%3e %3cpath id='%e8%b7%af%e5%be%84' class='cls-2' d='M.118%2c3.807%2c5.615.058A.318.318%2c0%2c0%2c1%2c6.12.27v7.5a.318.318%2c0%2c0%2c1-.505.211L.118%2c4.229A.248.248%2c0%2c0%2c1%2c.118%2c3.807Z' transform='translate(7.824 3.855)'/%3e %3cpath id='%e8%b7%af%e5%be%84-2' data-name='%e8%b7%af%e5%be%84' class='cls-2' d='M.118%2c3.807%2c5.615.058A.318.318%2c0%2c0%2c1%2c6.12.27v7.5a.318.318%2c0%2c0%2c1-.505.211L.118%2c4.229A.248.248%2c0%2c0%2c1%2c.118%2c3.807Z' transform='translate(2.348 3.855)'/%3e %3c/g%3e%3c/svg%3e";export{c as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_back_kj.svg.js","sources":["../../../../src/assets/annotation/toolHotKeyIcon/icon_back_kj.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg id='icon_back_kj' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3crect id='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd_10' data-name='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd 10' class='cls-1' width='16' height='16'/%3e %3cg id='%e7%bb%84_1224' data-name='%e7%bb%84 1224' transform='translate(-0.347 0.145)'%3e %3cpath id='%e8%b7%af%e5%be%84' class='cls-2' d='M.118%2c3.807%2c5.615.058A.318.318%2c0%2c0%2c1%2c6.12.27v7.5a.318.318%2c0%2c0%2c1-.505.211L.118%2c4.229A.248.248%2c0%2c0%2c1%2c.118%2c3.807Z' transform='translate(7.824 3.855)'/%3e %3cpath id='%e8%b7%af%e5%be%84-2' data-name='%e8%b7%af%e5%be%84' class='cls-2' d='M.118%2c3.807%2c5.615.058A.318.318%2c0%2c0%2c1%2c6.12.27v7.5a.318.318%2c0%2c0%2c1-.505.211L.118%2c4.229A.248.248%2c0%2c0%2c1%2c.118%2c3.807Z' transform='translate(2.348 3.855)'/%3e %3c/g%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
@@ -0,0 +1 @@
1
+ var c="data:image/svg+xml,%3csvg id='icon_forward_kj' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3crect id='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd_10' data-name='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd 10' class='cls-1' width='16' height='16'/%3e %3cg id='%e7%bb%84_1225' data-name='%e7%bb%84 1225' transform='translate(-0.347 0.145)'%3e %3cpath id='%e8%b7%af%e5%be%84' class='cls-2' d='M6%2c3.807.505.058A.318.318%2c0%2c0%2c0%2c0%2c.27v7.5a.318.318%2c0%2c0%2c0%2c.505.211L6%2c4.229A.248.248%2c0%2c0%2c0%2c6%2c3.807Z' transform='translate(2.348 3.855)'/%3e %3cpath id='%e8%b7%af%e5%be%84-2' data-name='%e8%b7%af%e5%be%84' class='cls-2' d='M6%2c3.807.505.058A.318.318%2c0%2c0%2c0%2c0%2c.27v7.5a.318.318%2c0%2c0%2c0%2c.505.211L6%2c4.229A.248.248%2c0%2c0%2c0%2c6%2c3.807Z' transform='translate(7.824 3.855)'/%3e %3c/g%3e%3c/svg%3e";export{c as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_forward_kj.svg.js","sources":["../../../../src/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg id='icon_forward_kj' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3crect id='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd_10' data-name='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd 10' class='cls-1' width='16' height='16'/%3e %3cg id='%e7%bb%84_1225' data-name='%e7%bb%84 1225' transform='translate(-0.347 0.145)'%3e %3cpath id='%e8%b7%af%e5%be%84' class='cls-2' d='M6%2c3.807.505.058A.318.318%2c0%2c0%2c0%2c0%2c.27v7.5a.318.318%2c0%2c0%2c0%2c.505.211L6%2c4.229A.248.248%2c0%2c0%2c0%2c6%2c3.807Z' transform='translate(2.348 3.855)'/%3e %3cpath id='%e8%b7%af%e5%be%84-2' data-name='%e8%b7%af%e5%be%84' class='cls-2' d='M6%2c3.807.505.058A.318.318%2c0%2c0%2c0%2c0%2c.27v7.5a.318.318%2c0%2c0%2c0%2c.505.211L6%2c4.229A.248.248%2c0%2c0%2c0%2c6%2c3.807Z' transform='translate(7.824 3.855)'/%3e %3c/g%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
@@ -0,0 +1 @@
1
+ var e="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: white%3b opacity: 0%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3cg id='icon_playPause' transform='translate(0.16 0.16)'%3e %3crect id='%e7%9f%a9%e5%bd%a2' class='cls-1' width='16' height='16' transform='translate(-0.16 -0.16)'/%3e %3cg id='%e7%bb%84_1221' data-name='%e7%bb%84 1221' transform='translate(1.84 3.671)'%3e %3cpath id='%e8%b7%af%e5%be%84' class='cls-2' d='M6.038%2c3.829.508.059A.32.32%2c0%2c0%2c0%2c0%2c.271V7.813a.32.32%2c0%2c0%2c0%2c.508.212l5.53-3.771A.249.249%2c0%2c0%2c0%2c6.038%2c3.829Z' transform='translate(1 0)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_400' data-name='%e7%9f%a9%e5%bd%a2 400' class='cls-2' width='1.524' height='7.618' rx='0.762' transform='translate(6.828 0.233)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_401' data-name='%e7%9f%a9%e5%bd%a2 401' class='cls-2' width='1.524' height='7.618' rx='0.762' transform='translate(9.718 0.233)'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e";export{e as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_playPause.svg.js","sources":["../../../../src/assets/annotation/toolHotKeyIcon/icon_playPause.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: white%3b opacity: 0%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3cg id='icon_playPause' transform='translate(0.16 0.16)'%3e %3crect id='%e7%9f%a9%e5%bd%a2' class='cls-1' width='16' height='16' transform='translate(-0.16 -0.16)'/%3e %3cg id='%e7%bb%84_1221' data-name='%e7%bb%84 1221' transform='translate(1.84 3.671)'%3e %3cpath id='%e8%b7%af%e5%be%84' class='cls-2' d='M6.038%2c3.829.508.059A.32.32%2c0%2c0%2c0%2c0%2c.271V7.813a.32.32%2c0%2c0%2c0%2c.508.212l5.53-3.771A.249.249%2c0%2c0%2c0%2c6.038%2c3.829Z' transform='translate(1 0)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_400' data-name='%e7%9f%a9%e5%bd%a2 400' class='cls-2' width='1.524' height='7.618' rx='0.762' transform='translate(6.828 0.233)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_401' data-name='%e7%9f%a9%e5%bd%a2 401' class='cls-2' width='1.524' height='7.618' rx='0.762' transform='translate(9.718 0.233)'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
@@ -0,0 +1 @@
1
+ var e="data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect opacity='0.01' width='16' height='16' fill='black'/%3e%3cpath d='M10.002 9.52532H9.50201V10.0253V13.5406L2.50202 13.5406L2.50202 6.51493L6.00397 6.51493H6.50397V6.01493L6.50397 2.49963L13.5001 2.49963L13.5001 9.52532H10.002Z' fill='%23CCCCCC' stroke='%23666666'/%3e%3c/svg%3e";export{e as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_polygonMerge_kj.svg.js","sources":["../../../../src/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect opacity='0.01' width='16' height='16' fill='black'/%3e%3cpath d='M10.002 9.52532H9.50201V10.0253V13.5406L2.50202 13.5406L2.50202 6.51493L6.00397 6.51493H6.50397V6.01493L6.50397 2.49963L13.5001 2.49963L13.5001 9.52532H10.002Z' fill='%23CCCCCC' stroke='%23666666'/%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
@@ -0,0 +1 @@
1
+ var t="data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect opacity='0.01' width='16' height='16' fill='black'/%3e%3crect x='13.5' y='9.49963' width='7' height='7' transform='rotate(180 13.5 9.49963)' fill='%23CCCCCC' stroke='%23666666'/%3e%3crect x='9.5' y='13.4996' width='7' height='7' transform='rotate(180 9.5 13.4996)' fill='%23CCCCCC' stroke='%23666666'/%3e%3c/svg%3e";export{t as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_segment.svg.js","sources":["../../../../src/assets/annotation/toolHotKeyIcon/icon_segment.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3crect opacity='0.01' width='16' height='16' fill='black'/%3e%3crect x='13.5' y='9.49963' width='7' height='7' transform='rotate(180 13.5 9.49963)' fill='%23CCCCCC' stroke='%23666666'/%3e%3crect x='9.5' y='13.4996' width='7' height='7' transform='rotate(180 9.5 13.4996)' fill='%23CCCCCC' stroke='%23666666'/%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
@@ -0,0 +1 @@
1
+ var e="data:image/svg+xml,%3csvg id='icon_speed_kj' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3crect id='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd_10' data-name='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd 10' class='cls-1' width='16' height='16'/%3e %3cg id='%e7%bb%84_1223' data-name='%e7%bb%84 1223' transform='translate(-0.118 0.286)'%3e %3crect id='%e7%9f%a9%e5%bd%a2_402' data-name='%e7%9f%a9%e5%bd%a2 402' class='cls-2' width='1.5' height='6' rx='0.75' transform='translate(8.118 12.043) rotate(90)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_403' data-name='%e7%9f%a9%e5%bd%a2 403' class='cls-2' width='1.5' height='4' rx='0.75' transform='translate(6.118 9.043) rotate(90)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_404' data-name='%e7%9f%a9%e5%bd%a2 404' class='cls-2' width='1.5' height='3' rx='0.75' transform='translate(5.118 6.043) rotate(90)'/%3e %3cpath id='%e5%80%8d%e9%80%9f' class='cls-2' d='M219.687%2c4.153H217.4L218.806.2a.267.267%2c0%2c0%2c0%2c.017-.084.278.278%2c0%2c0%2c0-.289-.269h-2.872a.28.28%2c0%2c0%2c0-.269.186l-2.312%2c6.454a.267.267%2c0%2c0%2c0-.017.084.278.278%2c0%2c0%2c0%2c.289.269h2.552l-.541%2c4.539c0%2c.008-.008.02-.008.029a.278.278%2c0%2c0%2c0%2c.289.269.285.285%2c0%2c0%2c0%2c.253-.157l4.042-6.986a.248.248%2c0%2c0%2c0%2c.029-.111.272.272%2c0%2c0%2c0-.281-.273Z' transform='translate(-206.065 1.862)'/%3e %3c/g%3e%3c/svg%3e";export{e as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_speed_kj.svg.js","sources":["../../../../src/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg id='icon_speed_kj' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b fill: %23666%3b %7d %3c/style%3e %3c/defs%3e %3crect id='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd_10' data-name='%e7%9f%a9%e5%bd%a2%e5%a4%87%e4%bb%bd 10' class='cls-1' width='16' height='16'/%3e %3cg id='%e7%bb%84_1223' data-name='%e7%bb%84 1223' transform='translate(-0.118 0.286)'%3e %3crect id='%e7%9f%a9%e5%bd%a2_402' data-name='%e7%9f%a9%e5%bd%a2 402' class='cls-2' width='1.5' height='6' rx='0.75' transform='translate(8.118 12.043) rotate(90)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_403' data-name='%e7%9f%a9%e5%bd%a2 403' class='cls-2' width='1.5' height='4' rx='0.75' transform='translate(6.118 9.043) rotate(90)'/%3e %3crect id='%e7%9f%a9%e5%bd%a2_404' data-name='%e7%9f%a9%e5%bd%a2 404' class='cls-2' width='1.5' height='3' rx='0.75' transform='translate(5.118 6.043) rotate(90)'/%3e %3cpath id='%e5%80%8d%e9%80%9f' class='cls-2' d='M219.687%2c4.153H217.4L218.806.2a.267.267%2c0%2c0%2c0%2c.017-.084.278.278%2c0%2c0%2c0-.289-.269h-2.872a.28.28%2c0%2c0%2c0-.269.186l-2.312%2c6.454a.267.267%2c0%2c0%2c0-.017.084.278.278%2c0%2c0%2c0%2c.289.269h2.552l-.541%2c4.539c0%2c.008-.008.02-.008.029a.278.278%2c0%2c0%2c0%2c.289.269.285.285%2c0%2c0%2c0%2c.253-.157l4.042-6.986a.248.248%2c0%2c0%2c0%2c.029-.111.272.272%2c0%2c0%2c0-.281-.273Z' transform='translate(-206.065 1.862)'/%3e %3c/g%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
@@ -0,0 +1 @@
1
+ var c="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b opacity: 0.8%3b %7d .cls-2 %7b fill: white%3b %7d %3c/style%3e %3c/defs%3e %3cg id='icon_keyboard_h' class='cls-1'%3e %3cg id='%e5%9b%be%e6%a0%87_%e8%ae%be%e7%bd%ae_%e5%bf%ab%e6%8d%b7%e9%94%ae'%3e %3cpath id='%e5%bd%a2%e7%8a%b6' class='cls-2' d='M2.142%2c13a2.205%2c2.205%2c0%2c0%2c1-1.513-.585A1.949%2c1.949%2c0%2c0%2c1%2c0%2c11V2A2.083%2c2.083%2c0%2c0%2c1%2c2.149%2c0h10.7A2.083%2c2.083%2c0%2c0%2c1%2c15%2c2V11a1.927%2c1.927%2c0%2c0%2c1-.63%2c1.417A2.209%2c2.209%2c0%2c0%2c1%2c12.855%2c13H2.142ZM3.209%2c9a1%2c1%2c0%2c1%2c0%2c0%2c2h8.582a1%2c1%2c0%2c1%2c0%2c0-2ZM11%2c5c-.069%2c0-.287.058-.287.194V6.739c0%2c.085%2c0%2c.261.287.261h1.639c.217%2c0%2c.217-.156.217-.23V5.23A.243.243%2c0%2c0%2c0%2c12.6%2c5ZM6.716%2c5c-.069%2c0-.287.058-.287.194V6.739c0%2c.085%2c0%2c.261.287.261H8.355c.217%2c0%2c.217-.156.217-.23V5.23A.243.243%2c0%2c0%2c0%2c8.319%2c5ZM2.43%2c5c-.069%2c0-.287.058-.287.194V6.739c0%2c.085%2c0%2c.261.287.261H4.069c.217%2c0%2c.217-.156.217-.23V5.23A.243.243%2c0%2c0%2c0%2c4.033%2c5ZM11%2c2c-.069%2c0-.287.059-.287.2V3.739c0%2c.085%2c0%2c.261.287.261h1.639c.217%2c0%2c.217-.155.217-.23V2.23A.243.243%2c0%2c0%2c0%2c12.6%2c2ZM6.716%2c2c-.069%2c0-.287.059-.287.2V3.739c0%2c.085%2c0%2c.261.287.261H8.355c.217%2c0%2c.217-.155.217-.23V2.23A.243.243%2c0%2c0%2c0%2c8.319%2c2ZM2.43%2c2c-.069%2c0-.287.059-.287.2V3.739c0%2c.085%2c0%2c.261.287.261H4.069c.217%2c0%2c.217-.155.217-.23V2.23A.243.243%2c0%2c0%2c0%2c4.033%2c2Z'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e";export{c as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon_keyboard_h.svg.js","sources":["../../../../src/assets/annotation/video/icon_keyboard_h.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b opacity: 0.8%3b %7d .cls-2 %7b fill: white%3b %7d %3c/style%3e %3c/defs%3e %3cg id='icon_keyboard_h' class='cls-1'%3e %3cg id='%e5%9b%be%e6%a0%87_%e8%ae%be%e7%bd%ae_%e5%bf%ab%e6%8d%b7%e9%94%ae'%3e %3cpath id='%e5%bd%a2%e7%8a%b6' class='cls-2' d='M2.142%2c13a2.205%2c2.205%2c0%2c0%2c1-1.513-.585A1.949%2c1.949%2c0%2c0%2c1%2c0%2c11V2A2.083%2c2.083%2c0%2c0%2c1%2c2.149%2c0h10.7A2.083%2c2.083%2c0%2c0%2c1%2c15%2c2V11a1.927%2c1.927%2c0%2c0%2c1-.63%2c1.417A2.209%2c2.209%2c0%2c0%2c1%2c12.855%2c13H2.142ZM3.209%2c9a1%2c1%2c0%2c1%2c0%2c0%2c2h8.582a1%2c1%2c0%2c1%2c0%2c0-2ZM11%2c5c-.069%2c0-.287.058-.287.194V6.739c0%2c.085%2c0%2c.261.287.261h1.639c.217%2c0%2c.217-.156.217-.23V5.23A.243.243%2c0%2c0%2c0%2c12.6%2c5ZM6.716%2c5c-.069%2c0-.287.058-.287.194V6.739c0%2c.085%2c0%2c.261.287.261H8.355c.217%2c0%2c.217-.156.217-.23V5.23A.243.243%2c0%2c0%2c0%2c8.319%2c5ZM2.43%2c5c-.069%2c0-.287.058-.287.194V6.739c0%2c.085%2c0%2c.261.287.261H4.069c.217%2c0%2c.217-.156.217-.23V5.23A.243.243%2c0%2c0%2c0%2c4.033%2c5ZM11%2c2c-.069%2c0-.287.059-.287.2V3.739c0%2c.085%2c0%2c.261.287.261h1.639c.217%2c0%2c.217-.155.217-.23V2.23A.243.243%2c0%2c0%2c0%2c12.6%2c2ZM6.716%2c2c-.069%2c0-.287.059-.287.2V3.739c0%2c.085%2c0%2c.261.287.261H8.355c.217%2c0%2c.217-.155.217-.23V2.23A.243.243%2c0%2c0%2c0%2c8.319%2c2ZM2.43%2c2c-.069%2c0-.287.059-.287.2V3.739c0%2c.085%2c0%2c.261.287.261H4.069c.217%2c0%2c.217-.155.217-.23V2.23A.243.243%2c0%2c0%2c0%2c4.033%2c2Z'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
@@ -1 +1,53 @@
1
- import{ReloadOutlined as d}from"@ant-design/icons";import{Button as f}from"antd/es";import e from"react";const g=n=>{const{width:o,height:i,reloadImage:a,hideSetInvalidTips:s,ignoreOffsetY:u,backgroundColor:l,fileTypeName:r="\u56FE\u7247"}=n,c=u?0:40,t=n.layerStyle||{position:"absolute",left:0,top:c,cursor:"initial",zIndex:20,fontSize:12};o&&i?Object.assign(t,{width:o,height:i}):Object.assign(t,{bottom:0,right:0}),l&&Object.assign(t,{backgroundColor:l});const m={position:"absolute",top:"30%",left:"50%",transform:"translate(-50%, -50%)"};return e.createElement("div",{style:t},e.createElement("div",{style:m},e.createElement("div",{style:{textAlign:"center",marginBottom:10}},e.createElement(f,{type:"primary",shape:"circle",icon:e.createElement(d,null),onClick:a})),e.createElement("div",null,`${r}\u52A0\u8F7D\u5931\u8D25, \u8BF7\u91CD\u65B0\u52A0\u8F7D${s?"":` \u6216 \u5C06${r}\u6807\u4E3A\u65E0\u6548`}`)))};export{g as default};
1
+ import { ReloadOutlined } from '@ant-design/icons';
2
+ import { Button } from 'antd/es';
3
+ import React from 'react';
4
+
5
+ const ImageError = (props) => {
6
+ const {
7
+ width,
8
+ height,
9
+ reloadImage,
10
+ hideSetInvalidTips,
11
+ ignoreOffsetY,
12
+ backgroundColor,
13
+ fileTypeName = "\u56FE\u7247"
14
+ } = props;
15
+ const top = !ignoreOffsetY ? 40 : 0;
16
+ const layerStyle = props.layerStyle || {
17
+ position: "absolute",
18
+ left: 0,
19
+ top,
20
+ cursor: "initial",
21
+ zIndex: 20,
22
+ fontSize: 12
23
+ };
24
+ if (width && height) {
25
+ Object.assign(layerStyle, {width, height});
26
+ } else {
27
+ Object.assign(layerStyle, {bottom: 0, right: 0});
28
+ }
29
+ if (backgroundColor) {
30
+ Object.assign(layerStyle, {backgroundColor});
31
+ }
32
+ const buttonStyle = {
33
+ position: "absolute",
34
+ top: "30%",
35
+ left: "50%",
36
+ transform: "translate(-50%, -50%)"
37
+ };
38
+ return /* @__PURE__ */ React.createElement("div", {
39
+ style: layerStyle
40
+ }, /* @__PURE__ */ React.createElement("div", {
41
+ style: buttonStyle
42
+ }, /* @__PURE__ */ React.createElement("div", {
43
+ style: {textAlign: "center", marginBottom: 10}
44
+ }, /* @__PURE__ */ React.createElement(Button, {
45
+ type: "primary",
46
+ shape: "circle",
47
+ icon: /* @__PURE__ */ React.createElement(ReloadOutlined, null),
48
+ onClick: reloadImage
49
+ })), /* @__PURE__ */ React.createElement("div", null, `${fileTypeName}\u52A0\u8F7D\u5931\u8D25, \u8BF7\u91CD\u65B0\u52A0\u8F7D${hideSetInvalidTips ? "" : ` \u6216 \u5C06${fileTypeName}\u6807\u4E3A\u65E0\u6548`}`)));
50
+ };
51
+
52
+ export { ImageError as default };
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ import{ReloadOutlined as g}from"@ant-design/icons";import{Button as p}from"antd/es";import e from"react";import{useTranslation as u}from"react-i18next";const y=n=>{const{width:o,height:i,reloadImage:a,hideSetInvalidTips:s,ignoreOffsetY:c,backgroundColor:r,fileType:m="image"}=n,{t:l}=u(),d=c?0:40,t=n.layerStyle||{position:"absolute",left:0,top:d,cursor:"initial",zIndex:20,fontSize:12};o&&i?Object.assign(t,{width:o,height:i}):Object.assign(t,{bottom:0,right:0}),r&&Object.assign(t,{backgroundColor:r});const f={position:"absolute",top:"30%",left:"50%",transform:"translate(-50%, -50%)"};return e.createElement("div",{style:t},e.createElement("div",{style:f},e.createElement("div",{style:{textAlign:"center",marginBottom:10}},e.createElement(p,{type:"primary",shape:"circle",icon:e.createElement(g,null),onClick:a})),e.createElement("div",null,`${l(`${m}ErrorAndReload`)}${s?"":l("orMaskAsInvalid")}`)))};export{y as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileError.js","sources":["../../../src/components/fileException/FileError.tsx"],"sourcesContent":["import { ReloadOutlined } from '@ant-design/icons';\nimport { Button } from 'antd/es';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nexport interface IFileErrorProps {\n width?: number;\n height?: number;\n reloadImage: () => void;\n hideSetInvalidTips?: boolean;\n /** 忽略顶部的偏移,如: 多边形的容器已经计算好高度(容器不包含顶部标注提示语部分) */\n ignoreOffsetY?: boolean;\n layerStyle?: React.CSSProperties;\n backgroundColor: string;\n fileType?: string;\n isError?: boolean;\n}\n\nconst FileError = (props: IFileErrorProps) => {\n const {\n width,\n height,\n reloadImage,\n hideSetInvalidTips,\n ignoreOffsetY,\n backgroundColor,\n fileType = 'image',\n } = props;\n\n const { t } = useTranslation();\n\n const top = !ignoreOffsetY ? 40 : 0;\n\n const layerStyle: React.CSSProperties = props.layerStyle || {\n position: 'absolute',\n left: 0,\n top,\n cursor: 'initial',\n zIndex: 20,\n fontSize: 12,\n };\n if (width && height) {\n Object.assign(layerStyle, { width, height });\n } else {\n Object.assign(layerStyle, { bottom: 0, right: 0 });\n }\n\n if (backgroundColor) {\n Object.assign(layerStyle, { backgroundColor });\n }\n\n const buttonStyle: React.CSSProperties = {\n position: 'absolute',\n top: '30%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n\n return (\n <div style={layerStyle}>\n <div style={buttonStyle}>\n <div style={{ textAlign: 'center', marginBottom: 10 }}>\n <Button type='primary' shape='circle' icon={<ReloadOutlined />} onClick={reloadImage} />\n </div>\n <div>\n {`${t(`${fileType}ErrorAndReload`)}${hideSetInvalidTips ? '' : t('orMaskAsInvalid')}`}\n </div>\n </div>\n </div>\n );\n};\n\nexport default FileError;\n"],"names":[],"mappings":";;;;;AAkBM,MAAA,SAAA,GAAY,CAAC,KAA2B,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,kBAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,QAAW,GAAA,OAAA;AAAA,GACT,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAM,MAAA,GAAA,GAAM,CAAC,aAAA,GAAgB,EAAK,GAAA,CAAA,CAAA;AAElC,EAAM,MAAA,UAAA,GAAkC,MAAM,UAAc,IAAA;AAAA,IAC1D,QAAU,EAAA,UAAA;AAAA,IACV,IAAM,EAAA,CAAA;AAAA,IACN,GAAA;AAAA,IACA,MAAQ,EAAA,SAAA;AAAA,IACR,MAAQ,EAAA,EAAA;AAAA,IACR,QAAU,EAAA,EAAA;AAAA,GAAA,CAAA;AAEZ,EAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,IAAO,MAAA,CAAA,MAAA,CAAO,UAAY,EAAA,CAAE,KAAO,EAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAC9B,MAAA;AACL,IAAA,MAAA,CAAO,MAAO,CAAA,UAAA,EAAY,CAAE,MAAA,EAAQ,GAAG,KAAO,EAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGhD,EAAA,IAAI,eAAiB,EAAA;AACnB,IAAO,MAAA,CAAA,MAAA,CAAO,YAAY,CAAE,eAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAG9B,EAAA,MAAM,WAAmC,GAAA;AAAA,IACvC,QAAU,EAAA,UAAA;AAAA,IACV,GAAK,EAAA,KAAA;AAAA,IACL,IAAM,EAAA,KAAA;AAAA,IACN,SAAW,EAAA,uBAAA;AAAA,GAAA,CAAA;AAGb,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,UAAA;AAAA,GAAA,sCACT,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,WAAA;AAAA,GAAA,sCACT,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,CAAE,SAAW,EAAA,QAAA,EAAU,YAAc,EAAA,EAAA,CAAA;AAAA,GAAA,sCAC9C,MAAD,EAAA;AAAA,IAAQ,IAAK,EAAA,SAAA;AAAA,IAAU,KAAM,EAAA,QAAA;AAAA,IAAS,IAAA,sCAAO,cAAD,EAAA,IAAA,CAAA;AAAA,IAAoB,OAAS,EAAA,WAAA;AAAA,GAE3E,CAAA,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,OAAD,IACG,EAAA,CAAA,EAAG,EAAE,CAAG,EAAA,QAAA,CAAA,cAAA,CAAA,CAAA,CAAA,EAA4B,kBAAqB,GAAA,EAAA,GAAK,CAAE,CAAA,iBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ import i from"react";import{useTranslation as r}from"react-i18next";const a=({fileType:t="image",isValid:e})=>{const{t:n}=r();return e?null:i.createElement("div",{style:{position:"absolute",inset:0,color:"white",display:"flex",alignItems:"center",fontSize:30,opacity:.7,background:"rgba(255, 87, 34, 1)",justifyContent:"center"}},n(`${t}InvalidAndSkip`))};export{a as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileInvalid.js","sources":["../../../src/components/fileException/FileInvalid.tsx"],"sourcesContent":["/**\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @file File invalid layer, display while isValid equal false\n * @date 2022-06-07\n */\n\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nexport interface IFileInvalidProps {\n fileType?: string;\n isValid: boolean;\n}\n\nconst FileInvalid: React.FC<IFileInvalidProps> = ({ fileType = 'image', isValid }) => {\n const { t } = useTranslation();\n\n if (isValid) {\n return null;\n }\n\n return (\n <div\n style={{\n position: 'absolute',\n inset: 0,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n fontSize: 30,\n opacity: 0.7,\n background: 'rgba(255, 87, 34, 1)',\n justifyContent: 'center',\n }}\n >\n {t(`${fileType}InvalidAndSkip`)}\n </div>\n );\n};\n\nexport default FileInvalid;\n"],"names":[],"mappings":";;;AAcA,MAAM,WAA2C,GAAA,CAAC,CAAE,QAAA,GAAW,SAAS,OAAc,CAAA,KAAA;AACpF,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAA,IAAI,OAAS,EAAA;AACX,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA;AAGT,EAAA,2CACG,KAAD,EAAA;AAAA,IACE,KAAO,EAAA;AAAA,MACL,QAAU,EAAA,UAAA;AAAA,MACV,KAAO,EAAA,CAAA;AAAA,MACP,KAAO,EAAA,OAAA;AAAA,MACP,OAAS,EAAA,MAAA;AAAA,MACT,UAAY,EAAA,QAAA;AAAA,MACZ,QAAU,EAAA,EAAA;AAAA,MACV,OAAS,EAAA,GAAA;AAAA,MACT,UAAY,EAAA,sBAAA;AAAA,MACZ,cAAgB,EAAA,QAAA;AAAA,KAAA;AAAA,GAAA,EAGjB,EAAE,CAAG,EAAA,QAAA,CAAA,cAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ import a from"react";import n from"./FileError.js";import p from"./FileInvalid.js";var f=Object.defineProperty,l=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,i=(t,r,e)=>r in t?f(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,o=(t,r)=>{for(var e in r||(r={}))m.call(r,e)&&i(t,e,r[e]);if(l)for(var e of l(r))c.call(r,e)&&i(t,e,r[e]);return t};const u=({invalidProps:t,errorProps:r,fileType:e})=>t.isValid?r.isError?a.createElement(n,o({},o({fileType:e},r))):null:a.createElement(p,o({},o({fileType:e},t)));export{u as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/fileException/index.tsx"],"sourcesContent":["/**\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @file File exception layer, determine whether to render FileInvalid or FileError\n * @date 2022-06-07\n */\n\nimport React from 'react';\nimport FileError, { IFileErrorProps } from './FileError';\nimport FileInvalid, { IFileInvalidProps } from './FileInvalid';\n\ninterface IFileExceptionProps {\n errorProps: IFileErrorProps & { isError: boolean };\n invalidProps: IFileInvalidProps;\n fileType: string;\n}\n\nconst FileException: React.FC<IFileExceptionProps> = ({ invalidProps, errorProps, fileType }) => {\n if (!invalidProps.isValid) {\n return <FileInvalid {...{ fileType, ...invalidProps }} />;\n }\n\n if (errorProps.isError) {\n return <FileError {...{ fileType, ...errorProps }} />;\n }\n return null;\n};\n\nexport default FileException;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,aAA+C,GAAA,CAAC,CAAE,YAAA,EAAc,YAAY,QAAe,CAAA,KAAA;AAC/F,EAAI,IAAA,CAAC,aAAa,OAAS,EAAA;AACzB,IAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,WAAA,EAAD,cAAiB,CAAA,EAAA,EAAA,cAAA,CAAA,CAAE,QAAa,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGzC,EAAA,IAAI,WAAW,OAAS,EAAA;AACtB,IAAA,uBAAQ,KAAA,CAAA,aAAA,CAAA,SAAA,EAAD,cAAe,CAAA,EAAA,EAAA,cAAA,CAAA,CAAE,QAAa,CAAA,EAAA,UAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAEvC,EAAO,OAAA,IAAA,CAAA;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ import d from"react";import{connect as m,useDispatch as T}from"react-redux";import{ANNOTATION_ACTIONS as e}from"../../store/Actions.js";import{PageBackward as g,PageForward as u,PageJump as A}from"../../store/annotation/actionCreators.js";import{TagToolInstanceAdaptor as l}from"../videoPlayer/TagToolInstanceAdaptor.js";const O=o=>{const{imgList:n,imgIndex:r,stepList:s,step:p}=o.annotation,t=T(),c=a=>{t({type:e.SET_TOOL,payload:{instance:a}})},i=()=>{t({type:e.SET_TOOL,payload:{instance:void 0}})};return d.createElement(l,{imgIndex:r,imgList:n,pageBackward:()=>t(g()),pageForward:()=>t(u()),pageJump:a=>t(A(~~a)),onMounted:c,onUnmounted:i,stepList:s,step:p})};var f=m(({annotation:o})=>({annotation:o}))(O);export{f as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/videoAnnotate/index.tsx"],"sourcesContent":["/**\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @file connect store & TagToolInstanceAdaptor\n * @date 2022-06-02\n */\n\nimport React from 'react';\nimport { connect, useDispatch } from 'react-redux';\nimport { AppState } from '@/store';\nimport { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { AnnotationState } from '@/store/annotation/types';\nimport { PageBackward, PageForward, PageJump } from '@/store/annotation/actionCreators';\nimport { TagToolInstanceAdaptor } from '@/components/videoPlayer/TagToolInstanceAdaptor';\n\nconst VideoAnnotate: React.FC<{ annotation: AnnotationState }> = (props) => {\n const { imgList, imgIndex, stepList, step } = props.annotation;\n const dispatch = useDispatch();\n const onMounted = (instance: TagToolInstanceAdaptor) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TOOL,\n payload: {\n instance,\n },\n });\n };\n\n const onUnmounted = () => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TOOL,\n payload: {\n instance: undefined,\n },\n });\n };\n\n return (\n <TagToolInstanceAdaptor\n imgIndex={imgIndex}\n imgList={imgList}\n pageBackward={() => dispatch(PageBackward())}\n pageForward={() => dispatch(PageForward())}\n pageJump={(page) => dispatch(PageJump(~~page))}\n onMounted={onMounted}\n onUnmounted={onUnmounted}\n stepList={stepList}\n step={step}\n />\n );\n};\n\nexport default connect(({ annotation }: AppState) => ({ annotation }))(VideoAnnotate);\n"],"names":[],"mappings":";;;;;;AAcA,MAAM,aAAA,GAA2D,CAAC,KAAU,KAAA;AAC1E,EAAA,MAAM,CAAE,OAAA,EAAS,QAAU,EAAA,QAAA,EAAU,QAAS,KAAM,CAAA,UAAA,CAAA;AACpD,EAAA,MAAM,QAAW,GAAA,WAAA,EAAA,CAAA;AACjB,EAAM,MAAA,SAAA,GAAY,CAAC,QAAqC,KAAA;AACtD,IAAS,QAAA,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,QAAA;AAAA,MACzB,OAAS,EAAA;AAAA,QACP,QAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAKN,EAAA,MAAM,cAAc,MAAM;AACxB,IAAS,QAAA,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,QAAA;AAAA,MACzB,OAAS,EAAA;AAAA,QACP,QAAU,EAAA,KAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAKhB,EAAA,2CACG,sBAAD,EAAA;AAAA,IACE,QAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAA,EAAc,MAAM,QAAS,CAAA,YAAA,EAAA,CAAA;AAAA,IAC7B,WAAA,EAAa,MAAM,QAAS,CAAA,WAAA,EAAA,CAAA;AAAA,IAC5B,UAAU,CAAC,IAAA,KAAS,QAAS,CAAA,QAAA,CAAS,CAAC,CAAC,IAAA,CAAA,CAAA;AAAA,IACxC,SAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAKN,sBAAe,OAAQ,CAAA,CAAC,CAAE,UAAA,CAAA,OAA8B,UAAe,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA;;;;"}
@@ -0,0 +1 @@
1
+ import h from"react";import{CommonToolUtils as p,uuid as f}from"@labelbee/lb-annotation";import y from"../../utils/StepUtils.js";import{jsonParser as c}from"../../utils/index.js";import{VideoPlayer as L}from"./index.js";import{VideoTagLayer as R}from"./VideoTagLayer.js";import g from"lodash";import{getKeyCodeNumber as b}from"./utils.js";class S extends h.Component{constructor(i){super(i);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const s=e?this.state.tagResult.map(l=>((l==null?void 0:l.result[e])&&delete l.result[e],l)):[];this.setState({tagResult:s},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,s,l,r,n,o;const a=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0,d=(s=this.videoRef)==null?void 0:s.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,m=(r=(l=this.videoRef)==null?void 0:l.videoWidth)!=null?r:0,v=(o=(n=this.videoRef)==null?void 0:n.videoHeight)!=null?o:0;return[this.state.tagResult,{valid:this.state.valid,duration:a,frames:u,videoWidth:m,videoHeight:v}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var s,l;const{isMulti:r}=t,{key:n,value:o}=t.value;if(r){let a=(l=(s=e[n])==null?void 0:s.split(";"))!=null?l:[];a.includes(o)?a=a.filter(u=>u!==o):a.push(o);const d=new Set(a);return e[n]=Array.from(d).join(";"),g.pickBy(e,u=>u)}return e[n]=e[n]===o?void 0:o,g.pickBy(e,a=>a)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{const e=b(t.keyCode);if(e){const s=e-1;if(this.config.inputList.length===1){this.labelSelectedList=[0,s],this.setLabel(0,s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],s],this.setLabel(this.labelSelectedList[0],s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[s],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e;const{imgList:s,imgIndex:l,step:r}=t;if(!s[l])return;const n=c(s[l].result),o=n[`step_${r}`];this.setState({tagResult:(e=o==null?void 0:o.result)!=null?e:[],valid:(n==null?void 0:n.valid)===void 0?!0:n.valid})},this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){const i=y.getCurrentStepInfo(this.props.step,this.props.stepList);return c(i==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var i;return(i=this.state.tagResult[0])!=null?i:{}}get valid(){return this.state.valid}singleOn(i,t){this.fns[i]=t}on(i,t){this.singleOn(i,t)}getTagResultByCode(i,t){var e,s,l;try{const r=(s=(e=this.config)==null?void 0:e.inputList)!=null?s:[],n=r.length>1,o=t!==void 0?i:0,a=t!==void 0?t:i,d=n?r[o]:r[0],u=((l=d.subSelected)!=null?l:[])[a];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(r){return}}setLabelBySelectedList(i,t){var e,s,l,r;const n=this.getTagResultByCode(i,t);if(n){const o=this.combineResult(n,(s=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?s:{}),a=[{sourceID:p.getSourceID(),id:(r=(l=this.currentTagResult)==null?void 0:l.id)!=null?r:f(8,62),result:o}];this.setState({tagResult:a},()=>this.emitEvent("render"))}}componentDidMount(){document.addEventListener("keydown",this.keydown),this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){document.addEventListener("keydown",this.keydown),this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i;const{imgIndex:t,imgList:e,pageForward:s,pageJump:l,pageBackward:r}=this.props,{tagResult:n,valid:o}=this.state;return h.createElement("div",{style:{height:"100%",width:"100%",position:"relative"}},h.createElement(L,{imgIndex:t,imgList:e,pageBackward:r,pageForward:s,pageJump:l,valid:o,setVideoRef:a=>{this.videoRef=a}}),h.createElement(R,{result:n,inputList:(i=this.config)==null?void 0:i.inputList}))}}export{S as TagToolInstanceAdaptor};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagToolInstanceAdaptor.js","sources":["../../../src/components/videoPlayer/TagToolInstanceAdaptor.tsx"],"sourcesContent":["/**\n * @file Implement TagTool interaction through class components.\n * Refer to: packages/lb-annotation/src/core/toolOperation/tagOperation.ts\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @date 2022-05-31\n */\n\nimport React from 'react';\nimport { CommonToolUtils, uuid } from '@labelbee/lb-annotation';\nimport StepUtils from '@/utils/StepUtils';\nimport { jsonParser } from '@/utils';\nimport { VideoPlayer } from './index';\nimport { VideoTagLayer } from './VideoTagLayer';\nimport { IStepInfo } from '@/types/step';\nimport _ from 'lodash';\nimport type { ObjectString } from './types';\nimport { getKeyCodeNumber } from './utils';\nimport { IFileItem } from '@/types/data';\n\nexport interface IVideoTagInstanceAdaptorProps {\n imgIndex: number;\n imgList: IFileItem[];\n pageForward: () => void;\n pageJump: (page: string) => void;\n pageBackward: () => void;\n onMounted: (instance: TagToolInstanceAdaptor) => void;\n onUnmounted: () => void;\n step: number;\n stepList: IStepInfo[];\n}\n\ninterface IVideoTagInstanceAdaptorState {\n // TODO: Use ITagResult from 'lb-annotation'\n tagResult: any[];\n labelSelectedList: number[];\n valid: boolean;\n}\n\nexport class TagToolInstanceAdaptor extends React.Component<\n IVideoTagInstanceAdaptorProps,\n IVideoTagInstanceAdaptorState\n> {\n public fns: { [key: string]: () => void } = {};\n public videoRef?: HTMLVideoElement;\n public labelSelectedList: number[] = [];\n\n constructor(props: IVideoTagInstanceAdaptorProps) {\n super(props);\n this.state = {\n tagResult: [],\n labelSelectedList: [],\n valid: true,\n };\n }\n\n public get config() {\n const stepInfo = StepUtils.getCurrentStepInfo(this.props.step, this.props.stepList);\n return jsonParser(stepInfo?.config);\n }\n\n /** Just implementation, no actual logic */\n public get history() {\n return { initRecord: () => {}, pushHistory: () => {} };\n }\n\n public get currentTagResult() {\n return this.state.tagResult[0] ?? {};\n }\n\n public get valid() {\n return this.state.valid;\n }\n\n public clearResult = (sendMsg = true, value?: string) => {\n const newTag = value\n ? this.state.tagResult.map((v) => {\n if (v?.result[value]) {\n delete v.result[value];\n }\n return v;\n })\n : [];\n\n this.setState(\n {\n tagResult: newTag,\n },\n () => this.emitEvent('render'),\n );\n };\n\n public exportData = () => {\n const duration = this.videoRef?.duration ?? 0;\n const videoQulity = this.videoRef?.getVideoPlaybackQuality();\n const frames = videoQulity?.totalVideoFrames;\n const videoWidth = this.videoRef?.videoWidth ?? 0;\n const videoHeight = this.videoRef?.videoHeight ?? 0;\n\n return [\n this.state.tagResult,\n { valid: this.state.valid, duration, frames, videoWidth, videoHeight },\n ];\n };\n\n public singleOn(event: string, func: () => void) {\n this.fns[event] = func;\n }\n\n public on(event: string, func: () => void) {\n this.singleOn(event, func);\n }\n\n public getTagResultByCode(num1: number, num2?: number) {\n try {\n const inputList = this.config?.inputList ?? [];\n const mulitTags = inputList.length > 1;\n const keycode1 = num2 !== undefined ? num1 : 0;\n const keycode2 = num2 !== undefined ? num2 : num1;\n const primaryTagConfig = mulitTags ? inputList[keycode1] : inputList[0];\n const secondaryTagConfig = (primaryTagConfig.subSelected ?? [])[keycode2];\n\n if (primaryTagConfig && secondaryTagConfig) {\n return {\n value: {\n key: primaryTagConfig.value,\n value: secondaryTagConfig.value,\n },\n isMulti: primaryTagConfig.isMulti,\n };\n }\n } catch {\n return;\n }\n }\n\n public setLabelBySelectedList(num1: number, num2?: number) {\n const newTagConfig = this.getTagResultByCode(num1, num2);\n\n if (newTagConfig) {\n const tagRes = this.combineResult(newTagConfig, this.state.tagResult[0]?.result ?? {});\n\n const tagResult = [\n {\n sourceID: CommonToolUtils.getSourceID(),\n id: this.currentTagResult?.id ?? uuid(8, 62),\n result: tagRes,\n },\n ];\n\n this.setState(\n {\n tagResult,\n },\n () => this.emitEvent('render'),\n );\n }\n }\n\n public emitEvent = (event: string) => {\n if (this.fns[event]) {\n this.fns[event]();\n }\n };\n\n /**\n * Combine result with inputValue and existValue\n * @param inputValue\n * @param existValue\n * @returns newValue\n */\n public combineResult = (\n inputValue: { value: { key: string; value: string }; isMulti: boolean },\n existValue: ObjectString = {},\n ) => {\n const { isMulti } = inputValue;\n const { key, value } = inputValue.value;\n\n if (isMulti) {\n let valuesArray = existValue[key]?.split(';') ?? [];\n if (valuesArray.includes(value)) {\n valuesArray = valuesArray.filter((i) => i !== value);\n } else {\n valuesArray.push(value);\n }\n\n const valuesSet = new Set(valuesArray);\n existValue[key] = Array.from(valuesSet).join(';');\n return _.pickBy(existValue, (v) => v);\n }\n\n existValue[key] = existValue[key] === value ? undefined : value;\n\n return _.pickBy(existValue, (v) => v);\n };\n\n public setResult = (tagResult: any[]) => {\n this.setState({\n tagResult,\n });\n\n if (this.fns['render']) {\n this.fns['render']();\n }\n };\n\n public setLabel = (num1: number, num2: number) => {\n this.setLabelBySelectedList(num1, num2);\n };\n\n /**\n * Keydown event for recording keycode input(numeric only)\n * @param event\n */\n public keydown = (event: KeyboardEvent) => {\n const keyCode = getKeyCodeNumber(event.keyCode);\n\n if (keyCode) {\n const keyIndex = keyCode - 1;\n\n if (this.config.inputList.length === 1) {\n // 说明标签只有一层\n this.labelSelectedList = [0, keyIndex];\n this.setLabel(0, keyIndex);\n setTimeout(() => {\n this.labelSelectedList = [];\n this.emitEvent('render');\n }, 500);\n\n return;\n }\n\n if (this.labelSelectedList.length === 1) {\n this.labelSelectedList = [this.labelSelectedList[0], keyIndex];\n this.setLabel(this.labelSelectedList[0], keyIndex);\n setTimeout(() => {\n this.labelSelectedList = [];\n this.emitEvent('render');\n }, 500);\n } else {\n this.labelSelectedList = [keyIndex];\n this.emitEvent('expend');\n }\n }\n };\n\n public setValid = (valid: boolean) => {\n this.setState({ valid });\n if (valid === false) {\n this.setState({ tagResult: [] });\n }\n\n this.emitEvent('render');\n };\n\n public componentDidMount() {\n document.addEventListener('keydown', this.keydown);\n this.props.onMounted(this);\n this.setResultFromImgList(this.props);\n }\n\n public componentWillUnmount() {\n document.addEventListener('keydown', this.keydown);\n this.props.onUnmounted();\n }\n\n public setResultFromImgList = (props: IVideoTagInstanceAdaptorProps) => {\n const { imgList, imgIndex, step } = props;\n\n if (!imgList[imgIndex]) {\n return;\n }\n const res = jsonParser(imgList[imgIndex].result);\n const stepRes = res[`step_${step}`];\n\n this.setState({\n tagResult: stepRes?.result ?? [],\n valid: res?.valid === undefined ? true : res.valid,\n });\n };\n\n /** Observer imgIndex and set tagResult */\n public shouldComponentUpdate(props: IVideoTagInstanceAdaptorProps) {\n if (props.imgIndex !== this.props.imgIndex) {\n this.setResultFromImgList(props);\n }\n return true;\n }\n\n public render() {\n const { imgIndex, imgList, pageForward, pageJump, pageBackward } = this.props;\n const { tagResult, valid } = this.state;\n\n return (\n <div style={{ height: '100%', width: '100%', position: 'relative' }}>\n <VideoPlayer\n imgIndex={imgIndex}\n imgList={imgList}\n pageBackward={pageBackward}\n pageForward={pageForward}\n pageJump={pageJump}\n valid={valid}\n setVideoRef={(video) => {\n this.videoRef = video;\n }}\n />\n <VideoTagLayer result={tagResult} inputList={this.config?.inputList} />\n </div>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import o,{useEffect as c}from"react";import{i18n as a}from"@labelbee/lb-utils";import{I18nextProvider as i}from"react-i18next";import{TagToolInstanceAdaptor as p}from"./TagToolInstanceAdaptor.js";var f=Object.defineProperty,n=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,l=(e,r,t)=>r in e?f(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,u=(e,r)=>{for(var t in r||(r={}))m.call(r,t)&&l(e,t,r[t]);if(n)for(var t of n(r))s.call(r,t)&&l(e,t,r[t]);return e};const _=e=>(c(()=>{a.changeLanguage(e.lang)},[e.lang]),o.createElement(i,{i18n:a},o.createElement(p,u({},e))));export{_ as VideoTagTool};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagToolInstanceAdaptorI18nProvider.js","sources":["../../../src/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { i18n } from '@labelbee/lb-utils';\nimport { I18nextProvider } from 'react-i18next';\nimport { IVideoTagInstanceAdaptorProps, TagToolInstanceAdaptor } from './TagToolInstanceAdaptor';\n\n/**\n * I18n provider for InstanceAdaptorI18nProvider\n * @param props\n */\nexport const VideoTagTool = (props: IVideoTagInstanceAdaptorProps & { lang?: string }) => {\n useEffect(() => {\n i18n.changeLanguage(props.lang);\n }, [props.lang]);\n\n return (\n <I18nextProvider i18n={i18n}>\n <TagToolInstanceAdaptor {...props} />\n </I18nextProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AASa,MAAA,YAAA,GAAe,CAAC,KAA6D,KAAA;AACxF,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAA,CAAK,eAAe,KAAM,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA,EACzB,CAAC,KAAM,CAAA,IAAA,CAAA,CAAA,CAAA;AAEV,EAAA,2CACG,eAAD,EAAA;AAAA,IAAiB,IAAA;AAAA,GACf,kBAAA,KAAA,CAAA,aAAA,CAAC,wBAAD,cAA4B,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ import e from"react";import{result2LabelKey as n}from"./utils.js";const i={position:"absolute",zIndex:20,padding:"0 20px",color:"white",fontSize:15,lineHeight:"32px",background:"rgba(0, 255, 255, 0.32)",top:0,right:0,maxHeight:"calc(100% - 80px)",overflowY:"scroll"},c=({result:r,inputList:l})=>{const a=n(r,l);return e.createElement("div",{style:i},e.createElement("table",null,e.createElement("tbody",null,a.map(({keyLabel:t,valuesLabelArray:o})=>e.createElement("tr",{key:t},e.createElement("td",{style:{paddingRight:8}},`${t}:`),e.createElement("td",null,`${o.join("\u3001")}`))))))};export{c as VideoTagLayer};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoTagLayer.js","sources":["../../../src/components/videoPlayer/VideoTagLayer.tsx"],"sourcesContent":["import React from 'react';\nimport { result2LabelKey } from './utils';\nimport type { ITagLabelsArray } from './types';\nimport { IInputList } from '@/types/main';\n\ninterface IVideoTagLayerProps {\n result: Array<{ result: { [key: string]: string } }>;\n inputList: IInputList[];\n}\n\nconst tagLayerCSSProperty: React.CSSProperties = {\n position: 'absolute',\n zIndex: 20,\n padding: '0 20px',\n color: 'white',\n fontSize: 15,\n lineHeight: '32px',\n background: 'rgba(0, 255, 255, 0.32)',\n top: 0,\n right: 0,\n maxHeight: 'calc(100% - 80px)',\n overflowY: 'scroll',\n};\n\nexport const VideoTagLayer: React.FC<IVideoTagLayerProps> = ({ result, inputList }) => {\n const tagsLabel: ITagLabelsArray = result2LabelKey(result, inputList);\n return (\n <div style={tagLayerCSSProperty}>\n <table>\n <tbody>\n {tagsLabel.map(({ keyLabel, valuesLabelArray }) => (\n <tr key={keyLabel}>\n <td style={{ paddingRight: 8 }}>{`${keyLabel}:`}</td>\n <td>{`${valuesLabelArray.join('、')}`}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n};\n"],"names":[],"mappings":";;;AAUA,MAAM,mBAA2C,GAAA;AAAA,EAC/C,QAAU,EAAA,UAAA;AAAA,EACV,MAAQ,EAAA,EAAA;AAAA,EACR,OAAS,EAAA,QAAA;AAAA,EACT,KAAO,EAAA,OAAA;AAAA,EACP,QAAU,EAAA,EAAA;AAAA,EACV,UAAY,EAAA,MAAA;AAAA,EACZ,UAAY,EAAA,yBAAA;AAAA,EACZ,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,SAAW,EAAA,mBAAA;AAAA,EACX,SAAW,EAAA,QAAA;AAAA,CAAA,CAAA;AAGN,MAAM,aAA+C,GAAA,CAAC,CAAE,MAAA,EAAQ,SAAgB,CAAA,KAAA;AACrF,EAAM,MAAA,SAAA,GAA6B,gBAAgB,MAAQ,EAAA,SAAA,CAAA,CAAA;AAC3D,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,mBAAA;AAAA,GAAA,kBACT,KAAA,CAAA,aAAA,CAAA,OAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,OAAD,EAAA,IAAA,EACG,SAAU,CAAA,GAAA,CAAI,CAAC,CAAE,QAAU,EAAA,gBAAA,CAAA,yCACzB,IAAD,EAAA;AAAA,IAAI,GAAK,EAAA,QAAA;AAAA,GAAA,sCACN,IAAD,EAAA;AAAA,IAAI,KAAA,EAAO,CAAE,YAAc,EAAA,CAAA,CAAA;AAAA,GAAA,EAAM,GAAG,QACpC,CAAA,CAAA,CAAA,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,MAAD,IAAK,EAAA,CAAA,EAAG,iBAAiB,IAAK,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ import e from"react";import{getClassName as o}from"../../../../utils/dom.js";import{PauseOutlined as y,CaretRightOutlined as N,CaretUpOutlined as C,CaretDownOutlined as T}from"@ant-design/icons";import{VideoPlayerCtx as c}from"../../index.js";import{Pagination as x}from"../../../../views/MainView/toolFooter/Pagination.js";import P from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import h from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as u}from"react-i18next";import{decimalReserved as d}from"../../utils.js";import{cTool as w}from"@labelbee/lb-annotation";const{EVideoToolName:V}=w,p=t=>{const n=Math.floor(t/60),r=~~(t%60).toFixed(),a=(t*10).toString().split("").pop(),l=s=>s<10?`0${s}`:s;return`${l(n)}:${l(r)}:${a}`},k=()=>{const{currentTime:t,duration:n,buffered:r,setCurrentTime:a}=e.useContext(c),l=e.useRef(null),s=`${d(r/n*100,1)}%`,m=`${d(t/n*100,1)}%`,v=i=>{if(l.current){const E=i.clientX,f=l.current.clientWidth,g=d(E/f*n,1);a(g)}};return e.createElement("div",{className:o("video-progress"),ref:l,onClick:i=>{i.stopPropagation(),i.nativeEvent.stopImmediatePropagation(),v(i)}},e.createElement("div",{className:o("video-slider")},e.createElement("div",{className:o("video-slider","played"),style:{width:m}}),e.createElement("div",{className:o("video-slider","loaded"),style:{width:s}}),e.createElement("div",{className:o("video-slider","played"),style:{width:m}})),e.createElement("div",{className:o("video-slider-bar"),style:{left:m}}))},b=()=>{const{updateNextPlaybackRate:t,playbackRate:n}=e.useContext(c),{t:r}=u();return e.createElement("span",{className:o("video-controller","speed")},e.createElement("span",null,r("Speed")),e.createElement("span",{className:o("video-controller","speedNum")},`${n}x`),e.createElement("span",{className:o("video-controller","speedButton")},e.createElement(C,{onClick:()=>{t()}}),e.createElement(T,{onClick:()=>{t(!1)}})))},$=()=>{const{t}=u();return e.createElement(h,{title:e.createElement("span",{className:o("video-controller","hotkey")},e.createElement("img",{src:P}),t("Hotkeys")),style:{},toolName:V.VideoTagTool})},R=()=>{const{imgIndex:t,imgList:n,pageBackward:r,pageJump:a,pageForward:l}=e.useContext(c);return e.createElement(x,{isVideo:!0,pageBackward:r,imgIndex:t,pageJump:a,totalPage:n.length,pageForward:l,footerCls:o("video-controller")})},j=()=>{const{currentTime:t,duration:n}=e.useContext(c),r=(n*10-t*10)/10;return e.createElement("div",{className:o("video-controller","time")},`${p(t)} / -${p(r)}`)},F=()=>{const{playPause:t,isPlay:n}=e.useContext(c);return e.createElement("div",{className:o("video-controller","wrapper")},e.createElement(k,null),e.createElement("div",{className:o("video-controller")},e.createElement("span",{onClick:()=>{t()},className:o("video-controller","playButton")},n?e.createElement(y,null):e.createElement(N,null)),e.createElement(j,null),e.createElement(b,null),e.createElement("div",{className:o("video-controller","holder")}),e.createElement(R,null),e.createElement($,null)))};export{F as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/videoPlayer/components/controller/index.tsx"],"sourcesContent":["import React from 'react';\nimport { getClassName } from '@/utils/dom';\nimport {\n CaretRightOutlined,\n CaretUpOutlined,\n CaretDownOutlined,\n PauseOutlined,\n} from '@ant-design/icons';\nimport { VideoPlayerCtx } from '../..';\nimport { Pagination } from '@/views/MainView/toolFooter/Pagination';\nimport hotkey from '@/assets/annotation/video/icon_keyboard_h.svg';\nimport ToolHotKey from '@/views/MainView/toolFooter/FooterTips/ToolHotKey';\nimport { useTranslation } from 'react-i18next';\nimport { decimalReserved } from '../../utils';\nimport { cTool } from '@labelbee/lb-annotation';\nconst { EVideoToolName } = cTool;\n\n/**\n * Format video time to display\n * Such as 61.9 => 01:01:9\n * @param {Number} time\n * @returns {String} displayTime (min:sec:mircoSec)\n */\nconst videoTimeFormat = (time: number) => {\n const min = Math.floor(time / 60);\n const sec = ~~(time % 60).toFixed();\n const minSec = (time * 10).toString().split('').pop();\n const fillZero = (num: number) => (num < 10 ? `0${num}` : num);\n return `${fillZero(min)}:${fillZero(sec)}:${minSec}`;\n};\n\nconst VideoProgress = () => {\n const { currentTime, duration, buffered, setCurrentTime } = React.useContext(VideoPlayerCtx);\n const progressRef = React.useRef<HTMLDivElement>(null);\n const bufferLoadedPercent = `${decimalReserved((buffered / duration) * 100, 1)}%`;\n const playedPercent = `${decimalReserved((currentTime / duration) * 100, 1)}%`;\n const toCurrentTime = (event: React.MouseEvent<HTMLDivElement>) => {\n if (progressRef.current) {\n const offsetX = event.clientX;\n const width = progressRef.current.clientWidth;\n const toTime = decimalReserved((offsetX / width) * duration, 1);\n setCurrentTime(toTime);\n }\n };\n\n return (\n <div\n className={getClassName('video-progress')}\n ref={progressRef}\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation();\n toCurrentTime(event);\n }}\n >\n <div className={getClassName('video-slider')}>\n <div className={getClassName('video-slider', 'played')} style={{ width: playedPercent }} />\n <div\n className={getClassName('video-slider', 'loaded')}\n style={{ width: bufferLoadedPercent }}\n />\n <div className={getClassName('video-slider', 'played')} style={{ width: playedPercent }} />\n </div>\n\n <div className={getClassName('video-slider-bar')} style={{ left: playedPercent }}></div>\n </div>\n );\n};\n\nconst VideoSpeedButton = () => {\n const { updateNextPlaybackRate, playbackRate } = React.useContext(VideoPlayerCtx);\n const { t } = useTranslation();\n\n return (\n <span className={getClassName('video-controller', 'speed')}>\n <span>{t('Speed')}</span>\n <span className={getClassName('video-controller', 'speedNum')}>{`${playbackRate}x`}</span>\n <span className={getClassName('video-controller', 'speedButton')}>\n <CaretUpOutlined\n onClick={() => {\n updateNextPlaybackRate();\n }}\n />\n <CaretDownOutlined\n onClick={() => {\n updateNextPlaybackRate(false);\n }}\n />\n </span>\n </span>\n );\n};\n\nconst VideoHotKeys = () => {\n const { t } = useTranslation();\n return (\n <ToolHotKey\n title={\n <span className={getClassName('video-controller', 'hotkey')}>\n <img src={hotkey} />\n {t('Hotkeys')}\n </span>\n }\n style={{}}\n toolName={EVideoToolName.VideoTagTool}\n />\n );\n};\n\nconst VideoPageChange = () => {\n const { imgIndex, imgList, pageBackward, pageJump, pageForward } =\n React.useContext(VideoPlayerCtx);\n\n return (\n <Pagination\n isVideo={true}\n pageBackward={pageBackward}\n imgIndex={imgIndex}\n pageJump={pageJump}\n totalPage={imgList.length}\n pageForward={pageForward}\n footerCls={getClassName('video-controller')}\n />\n );\n};\n\nconst VideoTime = () => {\n const { currentTime, duration } = React.useContext(VideoPlayerCtx);\n const remaingTime = (duration * 10 - currentTime * 10) / 10;\n\n return (\n <div className={getClassName('video-controller', 'time')}>\n {`${videoTimeFormat(currentTime)} / -${videoTimeFormat(remaingTime)}`}\n </div>\n );\n};\n\nconst VideoController = () => {\n const { playPause, isPlay } = React.useContext(VideoPlayerCtx);\n\n return (\n <div className={getClassName('video-controller', 'wrapper')}>\n <VideoProgress />\n <div className={getClassName('video-controller')}>\n <span\n onClick={() => {\n playPause();\n }}\n className={getClassName('video-controller', 'playButton')}\n >\n {isPlay ? <PauseOutlined /> : <CaretRightOutlined />}\n </span>\n <VideoTime />\n <VideoSpeedButton />\n <div className={getClassName('video-controller', 'holder')} />\n <VideoPageChange />\n <VideoHotKeys />\n </div>\n </div>\n );\n};\n\nexport default VideoController;\n"],"names":["hotkey"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import r from"react";import D from"./components/controller/index.js";import{getClassName as d}from"../../utils/dom.js";import{cKeyCode as I}from"@labelbee/lb-annotation";import{decimalReserved as n}from"./utils.js";import N from"../fileException/index.js";const s=I.default,h=r.createContext({isPlay:!1,playPause:()=>{},updateNextPlaybackRate:()=>{},playbackRate:1,currentTime:0,duration:0,buffered:0,setCurrentTime:()=>{},imgList:[],imgIndex:-1,pageBackward:()=>{},pageJump:c=>{},pageForward:()=>{}}),L=50,u=.1,l=[.5,1,1.5,2,4,6,8,16];class m extends r.Component{constructor(i){super(i);this.changePlaybackPate=e=>{this.videoElm&&(this.videoElm.playbackRate=e,this.setState({playbackRate:e}))},this.playPause=()=>{var e,t,a;((e=this.videoElm)==null?void 0:e.paused)?(t=this.videoElm)==null||t.play():(a=this.videoElm)==null||a.pause()},this.updateNextPlaybackRate=(e=!0)=>{const t=l.findIndex(o=>o===this.state.playbackRate);let a=e?Math.min(t+1,l.length-1):Math.max(t-1,0);this.changePlaybackPate(l[a])},this.fastForward=()=>{this.videoElm&&this.setCurrentTime(this.videoElm.currentTime+u)},this.rewind=()=>{this.videoElm&&this.setCurrentTime(this.videoElm.currentTime-u)},this.keydown=e=>{e.keyCode===s.Space&&(e.preventDefault(),this.playPause()),e.keyCode===s.Up&&(e.preventDefault(),this.updateNextPlaybackRate()),e.keyCode===s.Down&&(e.preventDefault(),this.updateNextPlaybackRate(!1)),e.keyCode===s.Left&&(e.preventDefault(),this.rewind()),e.keyCode===s.Right&&(e.preventDefault(),this.fastForward())},this.onPlay=()=>{this.setState({isPlay:!0},this.onVideoStart)},this.onPause=()=>{this.setState({isPlay:!1},this.onVideoStopped)},this.onVideoStopped=()=>{this.timeInterval&&(clearInterval(this.timeInterval),this.timeInterval=void 0)},this.onVideoStart=()=>{this.timeInterval=window.setInterval(()=>{var e,t,a;if(this.videoElm)try{if(((e=this.videoElm)==null?void 0:e.buffered.length)>0){const o=(t=this.videoElm)==null?void 0:t.buffered.end(0);this.setState({currentTime:n((a=this.videoElm)==null?void 0:a.currentTime,1),buffered:o})}}catch(o){console.error(o)}},L)},this.resetVideoData=()=>{this.setState({currentTime:0,buffered:0,error:!1}),this.onVideoStopped()},this.setDuration=()=>{var e;if(this.videoElm){const t=n((e=this.videoElm)==null?void 0:e.duration,1);this.setState({duration:t})}},this.setCurrentTime=e=>{this.videoElm&&(this.videoElm.currentTime=e,this.setState({currentTime:e}))},this.reload=()=>{var e;(e=this.videoElm)==null||e.load()},this.onError=()=>{this.resetVideoData(),this.setState({error:!0})},this.state={playbackRate:1,currentTime:0,isPlay:!1,duration:0,buffered:0,error:!1},this.videoRef=r.createRef()}get videoElm(){var i;return(i=this.videoRef)==null?void 0:i.current}get videoSrc(){var i,e;const{imgIndex:t,imgList:a}=this.props;return t>-1&&(e=(i=a[t])==null?void 0:i.url)!=null?e:""}componentDidMount(){var i,e;window.addEventListener("keydown",this.keydown),((i=this.videoRef)==null?void 0:i.current)&&this.props.setVideoRef&&this.props.setVideoRef((e=this.videoRef)==null?void 0:e.current)}componentWillUnmount(){window.removeEventListener("keydown",this.keydown)}render(){const{isPlay:i,playbackRate:e,currentTime:t,duration:a,buffered:o,error:f}=this.state,{imgList:p,imgIndex:v,pageBackward:y,pageJump:E,pageForward:P,valid:R}=this.props,{playPause:b,updateNextPlaybackRate:g,onPause:k,onPlay:w,resetVideoData:x,setDuration:C,setCurrentTime:S,onError:T,videoRef:_,videoSrc:V}=this;return r.createElement(h.Provider,{value:{videoRef:this.videoRef,isPlay:i,playPause:b,updateNextPlaybackRate:g,playbackRate:e,currentTime:t,duration:a,buffered:o,setCurrentTime:S,imgIndex:v,imgList:p,pageBackward:y,pageJump:E,pageForward:P}},r.createElement("div",{className:d("video-wrapper")},r.createElement("div",{className:d("video-container")},r.createElement("video",{ref:_,className:d("video"),src:V,onPause:k,onPlay:w,onLoadedMetadata:x,onError:T,onDurationChange:C,width:"100%",height:"100%"}),r.createElement(N,{fileType:"video",errorProps:{reloadImage:this.reload,backgroundColor:"#e2e2e2",ignoreOffsetY:!0,isError:f},invalidProps:{isValid:R}})),r.createElement(D,null)))}}export{m as VideoPlayer,h as VideoPlayerCtx,m as default};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/videoPlayer/index.tsx"],"sourcesContent":["/**\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @file Implement video player, including mouse and keyboard event\n * @date 2022-06-02\n */\n\nimport React from 'react';\nimport VideoController from './components/controller';\nimport { getClassName } from '@/utils/dom';\nimport { cKeyCode } from '@labelbee/lb-annotation';\nimport { IFileItem } from '@/types/data';\nimport { decimalReserved } from './utils';\nimport FileException from '../fileException';\n\nconst EKeyCode = cKeyCode.default;\n\nexport const VideoPlayerCtx = React.createContext<{\n videoRef?: React.RefObject<HTMLVideoElement> | null;\n isPlay: boolean;\n playPause: () => void;\n updateNextPlaybackRate: (isForward?: boolean) => void;\n setCurrentTime: (time: number) => void;\n playbackRate: number;\n currentTime: number;\n duration: number;\n buffered: number;\n imgList: IFileItem[];\n imgIndex: number;\n pageBackward: () => void;\n pageJump: (page: string) => void;\n pageForward: () => void;\n}>({\n isPlay: false,\n playPause: () => {},\n updateNextPlaybackRate: () => {},\n playbackRate: 1,\n currentTime: 0,\n duration: 0,\n buffered: 0,\n setCurrentTime: () => {},\n imgList: [],\n imgIndex: -1,\n pageBackward: () => {},\n pageJump: (page: string) => {},\n pageForward: () => {},\n});\n\nconst PER_INTERVAL = 50;\nconst PER_FORWARD = 0.1;\nconst PLAYBACK_RATES = [0.5, 1, 1.5, 2, 4, 6, 8, 16];\n\ninterface IVideoPlayerProps {\n imgList: IFileItem[];\n imgIndex: number;\n pageBackward: () => void;\n pageJump: (page: string) => void;\n pageForward: () => void;\n valid: boolean;\n setVideoRef?: (video: HTMLVideoElement) => void;\n}\n\ninterface IVideoPlayerState {\n playbackRate: number;\n currentTime: number;\n isPlay: boolean;\n duration: number;\n buffered: number;\n error: boolean;\n}\n\nexport class VideoPlayer extends React.Component<IVideoPlayerProps, IVideoPlayerState> {\n public videoRef?: React.RefObject<HTMLVideoElement>;\n public timeInterval?: number;\n\n constructor(props: IVideoPlayerProps) {\n super(props);\n this.state = {\n playbackRate: 1,\n currentTime: 0,\n isPlay: false,\n duration: 0,\n buffered: 0,\n error: false,\n };\n this.videoRef = React.createRef();\n }\n\n get videoElm() {\n return this.videoRef?.current;\n }\n\n get videoSrc() {\n const { imgIndex, imgList } = this.props;\n return imgIndex > -1 ? imgList[imgIndex]?.url ?? '' : '';\n }\n\n public changePlaybackPate = (playbackRate: number) => {\n if (this.videoElm) {\n this.videoElm.playbackRate = playbackRate;\n this.setState({\n playbackRate,\n });\n }\n };\n\n public playPause = () => {\n if (this.videoElm?.paused) {\n this.videoElm?.play();\n } else {\n this.videoElm?.pause();\n }\n };\n\n public updateNextPlaybackRate = (isForward: boolean = true) => {\n const idx = PLAYBACK_RATES.findIndex((r) => r === this.state.playbackRate);\n let nextIdx = isForward ? Math.min(idx + 1, PLAYBACK_RATES.length - 1) : Math.max(idx - 1, 0);\n this.changePlaybackPate(PLAYBACK_RATES[nextIdx]);\n };\n\n public fastForward = () => {\n if (this.videoElm) {\n this.setCurrentTime(this.videoElm.currentTime + PER_FORWARD);\n }\n };\n\n public rewind = () => {\n if (this.videoElm) {\n this.setCurrentTime(this.videoElm.currentTime - PER_FORWARD);\n }\n };\n\n /**\n * Implement Video's keydown\n * Play / Pause - Space\n * Rewind / FastForward - ⬅️ / ➡️\n * Speed - ⬆️ / ⬇\n * @param event\n */\n public keydown = (event: KeyboardEvent) => {\n if (event.keyCode === EKeyCode.Space) {\n event.preventDefault();\n this.playPause();\n }\n\n if (event.keyCode === EKeyCode.Up) {\n event.preventDefault();\n this.updateNextPlaybackRate();\n }\n\n if (event.keyCode === EKeyCode.Down) {\n event.preventDefault();\n this.updateNextPlaybackRate(false);\n }\n\n if (event.keyCode === EKeyCode.Left) {\n event.preventDefault();\n this.rewind();\n }\n\n if (event.keyCode === EKeyCode.Right) {\n event.preventDefault();\n this.fastForward();\n }\n };\n\n public onPlay = () => {\n this.setState(\n {\n isPlay: true,\n },\n this.onVideoStart,\n );\n };\n\n public onPause = () => {\n this.setState(\n {\n isPlay: false,\n },\n this.onVideoStopped,\n );\n };\n\n public onVideoStopped = () => {\n if (this.timeInterval) {\n clearInterval(this.timeInterval);\n this.timeInterval = undefined;\n }\n };\n\n public onVideoStart = () => {\n this.timeInterval = window.setInterval(() => {\n if (this.videoElm) {\n try {\n if (this.videoElm?.buffered.length > 0) {\n const buffered = this.videoElm?.buffered.end(0);\n\n this.setState({\n currentTime: decimalReserved(this.videoElm?.currentTime, 1),\n buffered,\n });\n }\n } catch (error) {\n console.error(error);\n }\n }\n }, PER_INTERVAL);\n };\n\n public resetVideoData = () => {\n this.setState({\n currentTime: 0,\n buffered: 0,\n error: false,\n });\n this.onVideoStopped();\n };\n\n public setDuration = () => {\n if (this.videoElm) {\n const duration = decimalReserved(this.videoElm?.duration, 1);\n\n this.setState({\n duration,\n });\n }\n };\n\n public setCurrentTime = (currentTime: number) => {\n if (this.videoElm) {\n this.videoElm.currentTime = currentTime;\n this.setState({\n currentTime,\n });\n }\n };\n\n public reload = () => {\n this.videoElm?.load();\n };\n\n public onError = () => {\n this.resetVideoData();\n this.setState({ error: true });\n };\n\n public componentDidMount() {\n window.addEventListener('keydown', this.keydown);\n if (this.videoRef?.current && this.props.setVideoRef) {\n this.props.setVideoRef(this.videoRef?.current as HTMLVideoElement);\n }\n }\n\n public componentWillUnmount() {\n window.removeEventListener('keydown', this.keydown);\n }\n\n public render() {\n const { isPlay, playbackRate, currentTime, duration, buffered, error } = this.state;\n const { imgList, imgIndex, pageBackward, pageJump, pageForward, valid } = this.props;\n\n const {\n playPause,\n updateNextPlaybackRate,\n onPause,\n onPlay,\n resetVideoData,\n setDuration,\n setCurrentTime,\n onError,\n videoRef,\n videoSrc,\n } = this;\n\n return (\n <VideoPlayerCtx.Provider\n value={{\n videoRef: this.videoRef,\n isPlay,\n playPause,\n updateNextPlaybackRate,\n playbackRate,\n currentTime,\n duration,\n buffered,\n setCurrentTime,\n imgIndex,\n imgList,\n pageBackward,\n pageJump,\n pageForward,\n }}\n >\n <div className={getClassName('video-wrapper')}>\n <div className={getClassName('video-container')}>\n <video\n ref={videoRef}\n className={getClassName('video')}\n src={videoSrc}\n onPause={onPause}\n onPlay={onPlay}\n onLoadedMetadata={resetVideoData}\n onError={onError}\n onDurationChange={setDuration}\n width='100%'\n height='100%'\n />\n\n <FileException\n fileType='video'\n errorProps={{\n reloadImage: this.reload,\n backgroundColor: '#e2e2e2',\n ignoreOffsetY: true,\n isError: error,\n }}\n invalidProps={{\n isValid: valid,\n }}\n />\n </div>\n <VideoController />\n </div>\n </VideoPlayerCtx.Provider>\n );\n }\n}\n\nexport default VideoPlayer;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ const v=(e,r,t)=>{const a=t.find(n=>n.value===e),l=a.subSelected.find(n=>n.value===r);return{keyLabel:a.key,valueLabel:l.key}},f=(e,r)=>e.sort((t,a)=>{const l=r.findIndex(s=>t===s.value),n=r.findIndex(s=>a===s.value);return l-n}),i=(e,r)=>{var t;try{return(t=e==null?void 0:e.reduce((a,l)=>(f(Object.keys(l.result),r).forEach(n=>{l.result[n].split(";").forEach(b=>{const{keyLabel:u,valueLabel:c}=v(n,b,r),o=a.find(d=>d.keyLabel===u);o?o.valuesLabelArray.push(c):a.push({keyLabel:u,valuesLabelArray:[c]})})}),a),[]))!=null?t:[]}catch(a){return[]}},y=e=>e<=57&&e>=49?e-48:e<=105&&e>=97?e-96:0,L=(e,r=2)=>typeof e=="number"?parseFloat(e.toFixed(r)):e;export{L as decimalReserved,v as findTagLabel,y as getKeyCodeNumber,i as result2LabelKey,f as tagsSortThruInputList};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../src/components/videoPlayer/utils.ts"],"sourcesContent":["import type { ITagLabelsArray } from './types';\n\n/**\n * Find key and value to display label through inputList\n * @param key\n * @param value\n * @param inputList\n */\nexport const findTagLabel = (key: string, value: string, inputList: any[]) => {\n const primaryTagConfig = inputList.find((i) => i.value === key);\n const secondaryTagConfig = primaryTagConfig.subSelected.find(\n (i: { value: string }) => i.value === value,\n );\n return { keyLabel: primaryTagConfig.key, valueLabel: secondaryTagConfig.key };\n};\n\n/**\n * Sort tags through inputList\n * @param tagsKeys\n * @param inputList\n */\nexport const tagsSortThruInputList = (tagsKeys: string[], inputList: any[]) => {\n return tagsKeys.sort((key1, key2) => {\n const key1Idx = inputList.findIndex((input) => key1 === input.value);\n const key2Idx = inputList.findIndex((input) => key2 === input.value);\n return key1Idx - key2Idx;\n });\n};\n\n/**\n * Convent result's array to array of showing the labels\n * @param result\n * @param inputList\n * @returns {ITagLabelsArray}\n */\nexport const result2LabelKey = (result: any[], inputList: any[]) => {\n try {\n return (\n result?.reduce((exitsTags: ITagLabelsArray, res: { result: { [key: string]: string } }) => {\n tagsSortThruInputList(Object.keys(res.result), inputList).forEach((key) => {\n const values = res.result[key];\n const valuesArray = values.split(';');\n valuesArray.forEach((value) => {\n const { keyLabel, valueLabel } = findTagLabel(key, value, inputList);\n const tagHasAssign = exitsTags.find((i) => i.keyLabel === keyLabel);\n if (tagHasAssign) {\n tagHasAssign.valuesLabelArray.push(valueLabel);\n } else {\n exitsTags.push({ keyLabel, valuesLabelArray: [valueLabel] });\n }\n });\n });\n return exitsTags;\n }, []) ?? []\n );\n } catch (error) {\n return [];\n }\n};\n\n/**\n * Get key number through keyCode, Such as 49(keycode) => 1(number)\n * @param {Number} keyCode\n * @returns {Number} keyCode in scope if it greater than 0\n */\nexport const getKeyCodeNumber = (keyCode: number) => {\n if (keyCode <= 57 && keyCode >= 49) {\n return keyCode - 48;\n }\n\n if (keyCode <= 105 && keyCode >= 97) {\n return keyCode - 96;\n }\n\n return 0;\n};\n\n/**\n * Preserve decimals for number\n * @param num\n * @param places\n * @returns {Number}\n */\nexport const decimalReserved = (num: number, places: number = 2) =>\n typeof num === 'number' ? parseFloat(num.toFixed(places)) : num;\n"],"names":[],"mappings":"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"}
package/es/index.js CHANGED
@@ -1 +1 @@
1
- export{default as AnnotationView}from"./components/AnnotationView/index.js";import{i18n as l}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import a,{useState as m,useImperativeHandle as f}from"react";import{I18nextProvider as d}from"react-i18next";import{Provider as u}from"react-redux";import _ from"./App.js";import P from"./configureStore.js";import{PageBackward as g,PageForward as v,PageJump as w}from"./store/annotation/actionCreators.js";var O=Object.defineProperty,b=Object.defineProperties,x=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,p=(t,e,r)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,y=(t,e)=>{for(var r in e||(e={}))j.call(e,r)&&p(t,r,e[r]);if(n)for(var r of n(e))h.call(e,r)&&p(t,r,e[r]);return t},A=(t,e)=>b(t,x(e));const o=P(),I=(t,e)=>{const[r,i]=m();return f(e,()=>({toolInstance:r,pageBackwardActions:()=>o.dispatch(g()),pageForwardActions:()=>o.dispatch(v()),pageJump:s=>{const c=~~s-1;o.dispatch(w(c))},hello:()=>alert("hello labelBee!!!")}),[r]),a.createElement(u,{store:o},a.createElement(d,{i18n:l},a.createElement(_,A(y({},t),{setToolInstance:i}))))};var E=a.forwardRef(I);export{E as default,o as store};
1
+ export{default as AnnotationView}from"./components/AnnotationView/index.js";import{i18n as l}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import a,{useState as m,useImperativeHandle as d}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import P from"./App.js";import _ from"./configureStore.js";import{PageBackward as g,PageForward as v,PageJump as w}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js";var O=Object.defineProperty,b=Object.defineProperties,x=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,p=(t,e,r)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,y=(t,e)=>{for(var r in e||(e={}))j.call(e,r)&&p(t,r,e[r]);if(n)for(var r of n(e))I.call(e,r)&&p(t,r,e[r]);return t},A=(t,e)=>b(t,x(e));const o=_(),h=(t,e)=>{const[r,i]=m();return d(e,()=>({toolInstance:r,pageBackwardActions:()=>o.dispatch(g()),pageForwardActions:()=>o.dispatch(v()),pageJump:s=>{const c=~~s-1;o.dispatch(w(c))},hello:()=>alert("hello labelBee!!!")}),[r]),a.createElement(u,{store:o},a.createElement(f,{i18n:l},a.createElement(P,A(y({},t),{setToolInstance:i}))))};var E=a.forwardRef(h);export{E as default,o as store};