@labelbee/lb-components 1.20.0 → 1.21.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/assets/annotation/video/icon_timePoint.svg.js +1 -0
  2. package/dist/assets/annotation/video/icon_videoCut.svg.js +1 -0
  3. package/dist/assets/annotation/video/icon_videoCutting.svg.js +1 -0
  4. package/dist/components/audioAnnotate/textInput/index.js +1 -1
  5. package/dist/components/videoAnnotate/index.js +1 -1
  6. package/dist/components/videoAnnotate/videoClipTool/VideoClipToolContext.js +1 -0
  7. package/dist/components/videoAnnotate/videoClipTool/components/ToolTipForClip.js +1 -0
  8. package/dist/components/videoAnnotate/videoClipTool/components/annotatedList/index.js +1 -0
  9. package/dist/components/videoAnnotate/videoClipTool/components/annotatedList/index.module.scss.js +1 -0
  10. package/dist/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.js +1 -0
  11. package/dist/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.module.scss.js +1 -0
  12. package/dist/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.js +1 -0
  13. package/dist/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.module.scss.js +1 -0
  14. package/dist/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js +1 -0
  15. package/dist/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.module.scss.js +1 -0
  16. package/dist/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js +1 -0
  17. package/dist/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.module.scss.js +1 -0
  18. package/dist/components/videoAnnotate/videoClipTool/components/videoTrack/index.js +1 -0
  19. package/dist/components/videoAnnotate/videoClipTool/components/videoTrack/index.module.scss.js +1 -0
  20. package/dist/components/videoAnnotate/videoClipTool/constant.js +1 -0
  21. package/dist/components/videoAnnotate/videoClipTool/index.js +1 -0
  22. package/dist/components/videoAnnotate/videoClipTool/index.module.scss.js +1 -0
  23. package/dist/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.js +1 -0
  24. package/dist/components/videoAnnotate/videoTextTool/index.js +1 -0
  25. package/dist/components/videoPlayer/VideoTagLayer.js +1 -1
  26. package/dist/components/videoPlayer/VideoTextLayer.js +2 -0
  27. package/dist/components/videoPlayer/components/controller/index.js +1 -1
  28. package/dist/components/videoPlayer/index.js +1 -1
  29. package/dist/components/videoPlayer/utils.js +1 -1
  30. package/dist/index.css +261 -2
  31. package/dist/index.js +1 -1
  32. package/dist/store/annotation/reducer.js +1 -1
  33. package/dist/types/App.d.ts +2 -2
  34. package/dist/types/components/audioAnnotate/index.d.ts +1 -1
  35. package/dist/types/components/pointCloudView/PointCloud2DView.d.ts +1 -1
  36. package/dist/types/components/pointCloudView/PointCloud3DView.d.ts +1 -1
  37. package/dist/types/components/pointCloudView/PointCloudBackView.d.ts +1 -1
  38. package/dist/types/components/pointCloudView/PointCloudListener.d.ts +1 -1
  39. package/dist/types/components/pointCloudView/PointCloudSegment.d.ts +1 -1
  40. package/dist/types/components/pointCloudView/PointCloudSegment2DView.d.ts +1 -1
  41. package/dist/types/components/pointCloudView/PointCloudSegmentListener.d.ts +1 -1
  42. package/dist/types/components/pointCloudView/PointCloudSideView.d.ts +1 -1
  43. package/dist/types/components/pointCloudView/PointCloudTopView.d.ts +3 -3
  44. package/dist/types/components/pointCloudView/index.d.ts +3 -3
  45. package/dist/types/components/videoAnnotate/index.d.ts +18 -7
  46. package/dist/types/components/videoAnnotate/videoClipTool/VideoClipToolContext.d.ts +27 -0
  47. package/dist/types/components/videoAnnotate/videoClipTool/components/ToolTipForClip.d.ts +8 -0
  48. package/dist/types/components/videoAnnotate/videoClipTool/components/annotatedList/index.d.ts +7 -0
  49. package/dist/types/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.d.ts +14 -0
  50. package/dist/types/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.d.ts +18 -0
  51. package/dist/types/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.d.ts +6 -0
  52. package/dist/types/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.d.ts +3 -0
  53. package/dist/types/components/videoAnnotate/videoClipTool/components/videoTrack/index.d.ts +11 -0
  54. package/dist/types/components/videoAnnotate/videoClipTool/constant.d.ts +26 -0
  55. package/dist/types/components/videoAnnotate/videoClipTool/index.d.ts +131 -0
  56. package/dist/types/components/{videoPlayer → videoAnnotate/videoTagTool}/TagToolInstanceAdaptor.d.ts +6 -10
  57. package/dist/types/components/videoAnnotate/videoTextTool/index.d.ts +56 -0
  58. package/dist/types/components/videoPlayer/VideoTagLayer.d.ts +1 -0
  59. package/dist/types/components/videoPlayer/VideoTextLayer.d.ts +2 -0
  60. package/dist/types/components/videoPlayer/components/controller/index.d.ts +4 -2
  61. package/dist/types/components/videoPlayer/index.d.ts +11 -0
  62. package/dist/types/components/videoPlayer/utils.d.ts +6 -0
  63. package/dist/types/index.d.ts +1 -1
  64. package/dist/types/views/MainView/sidebar/TextToolSidebar/index.d.ts +2 -1
  65. package/dist/utils/audio.js +1 -1
  66. package/dist/views/MainView/LLMLayout/index.js +1 -1
  67. package/dist/views/MainView/index.js +1 -1
  68. package/dist/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
  69. package/dist/views/MainView/sidebar/index.js +1 -1
  70. package/es/assets/annotation/video/icon_timePoint.svg.js +1 -0
  71. package/es/assets/annotation/video/icon_videoCut.svg.js +1 -0
  72. package/es/assets/annotation/video/icon_videoCutting.svg.js +1 -0
  73. package/es/components/audioAnnotate/textInput/index.js +1 -1
  74. package/es/components/videoAnnotate/index.js +1 -1
  75. package/es/components/videoAnnotate/videoClipTool/VideoClipToolContext.js +1 -0
  76. package/es/components/videoAnnotate/videoClipTool/components/ToolTipForClip.js +1 -0
  77. package/es/components/videoAnnotate/videoClipTool/components/annotatedList/index.js +1 -0
  78. package/es/components/videoAnnotate/videoClipTool/components/annotatedList/index.module.scss.js +1 -0
  79. package/es/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.js +1 -0
  80. package/es/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.module.scss.js +1 -0
  81. package/es/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.js +1 -0
  82. package/es/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.module.scss.js +1 -0
  83. package/es/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js +1 -0
  84. package/es/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.module.scss.js +1 -0
  85. package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js +1 -0
  86. package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.module.scss.js +1 -0
  87. package/es/components/videoAnnotate/videoClipTool/components/videoTrack/index.js +1 -0
  88. package/es/components/videoAnnotate/videoClipTool/components/videoTrack/index.module.scss.js +1 -0
  89. package/es/components/videoAnnotate/videoClipTool/constant.js +1 -0
  90. package/es/components/videoAnnotate/videoClipTool/index.js +1 -0
  91. package/es/components/videoAnnotate/videoClipTool/index.module.scss.js +1 -0
  92. package/es/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.js +1 -0
  93. package/es/components/videoAnnotate/videoTextTool/index.js +1 -0
  94. package/es/components/videoPlayer/VideoTagLayer.js +1 -1
  95. package/es/components/videoPlayer/VideoTextLayer.js +2 -0
  96. package/es/components/videoPlayer/components/controller/index.js +1 -1
  97. package/es/components/videoPlayer/index.js +1 -1
  98. package/es/components/videoPlayer/utils.js +1 -1
  99. package/es/index.css +261 -2
  100. package/es/index.js +1 -1
  101. package/es/store/annotation/reducer.js +1 -1
  102. package/es/utils/audio.js +1 -1
  103. package/es/views/MainView/index.js +1 -1
  104. package/es/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
  105. package/es/views/MainView/sidebar/index.js +1 -1
  106. package/package.json +6 -4
  107. package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +0 -1
  108. package/es/components/videoPlayer/TagToolInstanceAdaptor.js +0 -1
  109. /package/dist/components/{videoPlayer → videoAnnotate/videoTagTool}/TagToolInstanceAdaptorI18nProvider.js +0 -0
  110. /package/dist/types/components/{videoPlayer → videoAnnotate/videoTagTool}/TagToolInstanceAdaptorI18nProvider.d.ts +0 -0
  111. /package/es/components/{videoPlayer → videoAnnotate/videoTagTool}/TagToolInstanceAdaptorI18nProvider.js +0 -0
@@ -0,0 +1 @@
1
+ import{timeFormat as E}from"../../../../../utils/audio.js";import{classnames as d}from"../../../../../utils/index.js";import{CloseCircleFilled as y,EnvironmentFilled as S,ScissorOutlined as I}from"@ant-design/icons";import t,{useState as L,useEffect as g}from"react";import{EClipStatus as N,TIME_SLICE_TYPE as j,ETimeSliceType as v}from"../../constant.js";import A from"../timeSliceRange/index.js";import k from"../ToolTipForClip.js";import{getDisplayContent as b}from"../videoTrack/index.js";import l from"./index.module.scss.js";import{decimalReserved as F}from"../../../../videoPlayer/utils.js";import{LabelBeeContext as $}from"../../../../../store/ctx.js";import{connect as D}from"react-redux";import{useTranslation as C}from"react-i18next";const R=({type:e})=>e===v.Time?t.createElement(S,null):t.createElement(I,{rotate:270}),V=()=>{const{t:e}=C();return t.createElement("div",{className:l.noContent},t.createElement("div",null,e("NoClippedData")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"X"),e("ClipSlice")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"E"),e("TimeStamp")))},h=({children:e})=>{const n=e.length===0;return t.createElement("div",{className:d({[l.empty]:n,[l.timeSliceListContent]:!0})},n?t.createElement(V,null):e)},O=({timeSliceProps:e,index:n,exportContext:r})=>{const{selectedID:o,attributeList:a,onSelectedTimeSlice:s,removeTimeSlice:c}=r;return t.createElement("div",{key:n,className:d({[l.timeSliceItem]:!0,[l.timeSliceItemActivated]:e.id===o}),onClick:()=>{s(e)}},t.createElement(k,{slot:t.createElement("div",{className:l.timeSliceItemContent},t.createElement("div",{className:l.textOverflow},`${n+1}\u3001\u3010${j[e.type]}\u3011 ${b(e,a)}`),t.createElement("div",{className:d({[l.textOverflow]:!0})},t.createElement(R,{type:e.type}),t.createElement("span",{style:{marginLeft:10}},`${E(e.start,"ss:SS")} ${e.end&&e.type===v.Period?"~ "+E(e.end,"ss:SS")+", "+F(e.end-e.start,2)+"s":""}`))),item:e,attributeList:a}),t.createElement(y,{className:l.timeSliceItemDeleteIcon,onClick:u=>{u.stopPropagation(),c(e)}}))},_=e=>{const{toolInstance:n}=e,{selectedID:r,result:o,videoPlayer:a,clipStatus:s,updateSelectedSliceTimeProperty:c}=(n==null?void 0:n.exportContext)||{},[u,f]=L(0),{t:x}=C();g(()=>(n&&n.singleOn("changeClipSidebar",i=>{f(m=>m+1)}),()=>{var i;(i=n==null?void 0:n.unbindAll)==null||i.call(n,"changeClipSidebar")}),[n]);const T=o==null?void 0:o.find(i=>i.id===r),p=o==null?void 0:o.filter(i=>i.end!==null);return(n==null?void 0:n.exportContext)?t.createElement("div",null,t.createElement("div",{className:l.timeSliceListHeader},x("AnnotatedList")),t.createElement(h,null,p==null?void 0:p.map((i,m)=>t.createElement(O,{timeSliceProps:i,index:m,key:i.id,exportContext:(n==null?void 0:n.exportContext)||{}}))),t.createElement(A,{selectedTimeSlice:T,videoPlayer:a,updateTimeForSelected:c,disabled:s===N.Clipping})):null},w=({annotation:e})=>{const{toolInstance:n}=e;return{toolInstance:n}};var B=D(w,null,null,{context:$})(_);export{B as default};
@@ -0,0 +1 @@
1
+ var e={timeSliceListContent:"index-module_timeSliceListContent__gvFHy",empty:"index-module_empty__wcFM6",noContent:"index-module_noContent__zjGb0",hotkey:"index-module_hotkey__dDkgv",timeSliceItem:"index-module_timeSliceItem__Xa-cQ",timeSliceItemActivated:"index-module_timeSliceItemActivated__Zlb3b",timeSliceAttribute:"index-module_timeSliceAttribute__Q5E-f",timeSliceItemContent:"index-module_timeSliceItemContent__Aqa8l",timeSliceItemDeleteIcon:"index-module_timeSliceItemDeleteIcon__nlQ6B"};export{e as default};
@@ -0,0 +1 @@
1
+ import{Resizable as D}from"re-resizable";import i,{useState as N}from"react";import W from"../ToolTipForClip.js";import{getDisplayContent as I}from"../videoTrack/index.js";import u from"./index.module.scss.js";import{decimalReserved as L}from"../../../../videoPlayer/utils.js";var k=Object.defineProperty,F=Object.defineProperties,H=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,n=(e,t)=>{for(var r in t||(t={}))A.call(t,r)&&w(e,r,t[r]);if(_)for(var r of _(t))G.call(t,r)&&w(e,r,t[r]);return e},g=(e,t)=>F(e,H(t));const y=45,K=e=>{var t;const{track:r,currentTime:s,attributeList:l,readonly:O,onClipping:b,onTrackResizeStart:c}=e,{start:d,end:P}=r,R=P||s,[S,f]=N({width:0,height:0}),z=(o,E,j,h)=>{var v;const C=(h.width-S.width)/((v=j.parentNode)==null?void 0:v.clientWidth);f(h),e.onResize(E,C)},T=()=>{f({width:0,height:0}),c==null||c()},m=n({transform:"none",overflow:"hidden",textOverflow:"ellipsis",fontSize:12},e.style),x={top:!1,right:!0,left:!0,bottom:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},p=i.createElement("div",{style:{margin:"10px 5px"}},i.createElement("div",{className:u.textOverflow},`${L(Math.max(R-d,1),0)}s`),i.createElement("div",{className:u.textOverflow},I(r,l)));let a;if(b||O||!e.isSelected){const o=g(n({},m),{height:y});e.isSelected&&s-d<0&&(o.width=100,o.backgroundColor="transparent"),a=i.createElement("div",{style:o},p)}else a=i.createElement(D,{size:{width:(t=e.style.width)!=null?t:0,height:y},minWidth:1,onResize:z,onResizeStart:T,enable:x,style:m},p);return i.createElement(W,{slot:a,item:g(n({},r),{end:r.end===null?s:r.end}),attributeList:l})};export{K as default};
@@ -0,0 +1 @@
1
+ var e={textOverflow:"index-module_textOverflow__HcSP3"};export{e as default};
@@ -0,0 +1 @@
1
+ import{classnames as h}from"../../../../../utils/index.js";import{Input as I,message as T}from"antd";import j from"lodash";import e,{useState as O,useEffect as y}from"react";import{ETimeSliceType as A,PER_SLICE_CHANGE as g}from"../../constant.js";import a from"./index.module.scss.js";import{precisionMinus as G,precisionAdd as M,timeFormat as l}from"../../../../../utils/audio.js";import{decimalReserved as _}from"../../../../videoPlayer/utils.js";import{useTranslation as v}from"react-i18next";const p=({initialVal:t,timeType:E="",videoPlayer:r,min:F,max:m,updateTime:i,disabled:c})=>{const[f,d]=O(""),{t:B}=v(),C=()=>{S(f).then(u=>{i(u)}).catch(u=>{T.error(u),x()})},R=u=>{const[s,o]=u.split(":");return~~s*60+parseFloat(o)},D=(u,s=!1)=>{if(F!==void 0&&u<F){const n=l(F,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`}if(m!==void 0&&u>m){const n=l(m,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}const o=r==null?void 0:r.duration;if(r&&o&&u>o){const n=l(o,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}},S=u=>new Promise((s,o)=>{if(u.match(/^\d+\:\d\d\.\d\d$/)){const n=R(u),N=D(n);if(N){o(N);return}s(n)}else o(new Error("\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u65F6\u95F4\u683C\u5F0F\u5E94\u4E3Axx:xx.xx"))}),x=()=>{j.isNumber(t)&&d(l(t,"ss.SS"))},$=()=>{if(!c&&r){const u=_(r==null?void 0:r.currentTime,2),s=D(u,!0);if(s){T.error(s);return}i(u)}};return y(()=>{x()},[t]),e.createElement("div",{className:a.inputWrapper},e.createElement(I,{placeholder:"00:00.00",value:f,onChange:u=>d(u.target.value),onBlur:C,onPressEnter:C,disabled:c}),e.createElement("span",{className:h({[a.getCurr]:!0,[a.disabled]:c!=null?c:!1}),onClick:$},B(E==="start"?"GetStartTime":"GetEndTime")))},w=({selectedTimeSlice:t,videoPlayer:E,updateTimeForSelected:r,disabled:F})=>{if(!t)return null;const{t:m}=v();return(t==null?void 0:t.type)===A.Period?e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("ClipTime")),e.createElement("div",{className:a.inputContainer},e.createElement(p,{initialVal:t.start,timeType:"start",videoPlayer:E,max:G(t.end,g),updateTime:i=>{r(i,"start")},disabled:F}),e.createElement("span",{className:a.spliter}),e.createElement(p,{initialVal:t.end,timeType:"end",videoPlayer:E,min:M(t.start,g),updateTime:i=>{r(i,"end")},disabled:F}))):e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("StampTime")),e.createElement(p,{initialVal:t.start,videoPlayer:E,updateTime:i=>{r(i,"start")}}))};export{w as default};
@@ -0,0 +1 @@
1
+ var e={timeSliceInputContainer:"index-module_timeSliceInputContainer__579hr",title:"index-module_title__9kdsk",inputWrapper:"index-module_inputWrapper__uXmv-",getCurr:"index-module_getCurr__-dchP",disabled:"index-module_disabled__j6aK6",inputContainer:"index-module_inputContainer__PqtI8",spliter:"index-module_spliter__wXZhC"};export{e as default};
@@ -0,0 +1 @@
1
+ import e from"react";import t from"./index.module.scss.js";import s from"../../../../../assets/annotation/video/icon_videoCut.svg.js";import n from"../../../../../assets/annotation/video/icon_timePoint.svg.js";const i=({toggleClipStatus:o,addTime:a})=>e.createElement("div",{className:t.clipToolbar},e.createElement("span",{className:t.buttonWrapper},e.createElement("i",{className:t.cutButton,onClick:()=>{o==null||o()},style:{backgroundImage:s}}),"\u622A\u53D6"),e.createElement("span",{className:t.buttonWrapper},e.createElement("i",{className:t.localButton,onClick:a,style:{backgroundImage:n}}),"\u6807\u65F6\u95F4\u70B9"));export{i as default};
@@ -0,0 +1 @@
1
+ var o={clipToolbar:"index-module_clipToolbar__amC2X",buttonWrapper:"index-module_buttonWrapper__o1C44",cutButton:"index-module_cutButton__M6mOs",localButton:"index-module_localButton__6D1-H"};export{o as default};
@@ -0,0 +1 @@
1
+ import{classnames as S}from"../../../../../utils/index.js";import{AttributeUtils as u,MathUtils as d}from"@labelbee/lb-annotation";import s from"react";import{CSSTransition as g,TransitionGroup as E}from"react-transition-group";import{TIME_SLICE_TYPE as h,ETimeSliceType as w}from"../../constant.js";import a from"./index.module.scss.js";var O=Object.defineProperty,P=Object.defineProperties,x=Object.getOwnPropertyDescriptors,f=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,T=(i,e,r)=>e in i?O(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r,A=(i,e)=>{for(var r in e||(e={}))I.call(e,r)&&T(i,r,e[r]);if(f)for(var r of f(e))j.call(e,r)&&T(i,r,e[r]);return i},N=(i,e)=>P(i,x(e));const C=i=>{const{attributeList:e,result:r,currentTime:m,extraStyle:_}=i,y=t=>{const{type:o,start:n,end:p}=t;let l=!1;return o===w.Time?l=d.isInRange(m,[n-.1,n+.1]):l=p===null||d.isInRange(m,[n,p]),l},b=[],c=[];r.forEach(t=>{(y(t)?c:b).push(t)});const v=c.sort((t,o)=>t.start-o.start).map(t=>N(A({},t),{withinTime:!0})).map(t=>s.createElement(g,{classNames:"fade",key:t.id,timeout:500},s.createElement("div",{className:S({[a.timeSliceWrapper]:!0,[a.active]:t.withinTime})},s.createElement("div",{className:a.timeSliceItemAttribute,style:{textAlign:"right"}},s.createElement("span",{style:{backgroundColor:u.getAttributeColor(t.attribute,e)}},`${h[t.type]}: ${u.getAttributeShowText(t.attribute,e)||"\u65E0\u5C5E\u6027"}`)),t.textAttribute&&s.createElement("div",{className:a.timeSliceItemText},`\u6587\u672C: ${t.textAttribute}`))));return s.createElement("div",{className:a.videoTimeSlices,style:_},s.createElement(E,{className:"fade-group"},v))};export{C as default};
@@ -0,0 +1 @@
1
+ var e={videoTimeSlices:"index-module_videoTimeSlices__v-2k1",timeSliceWrapper:"index-module_timeSliceWrapper__kebC3",active:"index-module_active__cIGVq",timeSliceItemText:"index-module_timeSliceItemText__FJFwH",timeSliceItemAttribute:"index-module_timeSliceItemAttribute__--3E1"};export{e as default};
@@ -0,0 +1 @@
1
+ import{timeFormat as $}from"../../../../../utils/audio.js";import{AttributeUtils as b,MathUtils as g}from"@labelbee/lb-annotation";import{EnvironmentFilled as z}from"@ant-design/icons";import i,{useContext as R,useRef as D,useMemo as S}from"react";import X from"../resizableSnippet/index.js";import{ETimeSliceType as N,EClipStatus as U}from"../../constant.js";import W from"../ToolTipForClip.js";import u from"./index.module.scss.js";import{decimalReserved as x,hashCode as L}from"../../../../videoPlayer/utils.js";import{VideoClipToolContext as q}from"../../VideoClipToolContext.js";import{VideoPlayerCtx as B}from"../../../../videoPlayer/index.js";import{useTranslation as G}from"react-i18next";var H=Object.defineProperty,K=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,w=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,A=(o,r,t)=>r in o?H(o,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[r]=t,J=(o,r)=>{for(var t in r||(r={}))Y.call(r,t)&&A(o,t,r[t]);if(w)for(var t of w(r))Z.call(r,t)&&A(o,t,r[t]);return o},tt=(o,r)=>K(o,Q(r));const et=(o,r)=>{const{t}=G(),{attribute:p,textAttribute:n}=o;return[b.getAttributeShowText(p,r)||t("NoAttribute"),n?`${t("textTool")}: ${n}`:""].filter(y=>y).join("\uFF0C")},rt=(o,r)=>{const t=(o||[]).filter(n=>n).map(()=>[]);o.forEach(n=>{if(n.id!==r){const s=t.findIndex(y=>{const l=n.start,c=n.end;return y.every(f=>{const T=[f.start,f.end],m=[l,c];return!g.isInRange(l,T)&&!g.isInRange(c,T)&&!g.isInRange(f.start,m)&&!g.isInRange(f.end,m)})});s>-1&&t[s].push(n)}});const p=ot(t.filter(n=>n.length>0));return p==null?void 0:p.map(n=>({data:n,id:L(n==null?void 0:n.map(s=>s.id).join("_"))}))},ot=(o,r=2)=>{let t=o;return t.length-r<0&&(t=t.concat(Array.from({length:r-t.length}))),t},nt=o=>{var r;const{currentTime:t,readonly:p,onTrackResizeStart:n}=o,{result:s,selectedAttribute:y,attributeList:l,selectedID:c,clipStatus:f,contextToCancel:T}=R(q),{duration:m}=R(B),C=D(null),I=t/m,h=(e,a=4)=>`${x(e*100,a)}%`,k=e=>{if(e){const a=b.getAttributeColor(e.attribute,l),v=Math.max((e.end||t)-e.start,0)/m,d={backgroundColor:a,left:h(e.start/m,2),width:h(e.end?Math.max(v,.001):v,2),position:"absolute",borderRadius:5};return e.type===N.Time&&(delete d.width,delete d.backgroundColor,d.top="50%",d.transform="translate(-50%)",d.color=a),d}return{}},_=b.getAttributeColor(y,l),E=((r=C.current)==null?void 0:r.clientWidth)||0,P=x(Math.max(E*I,0),0),F=x(Math.min(P,Math.floor(E-68)),0),j=e=>{if(e)return e.type===N.Time?i.createElement(W,{slot:i.createElement(z,{style:k(e)}),item:tt(J({},e),{end:e.end===null?t:e.end}),attributeList:l}):i.createElement(X,{track:e,currentTime:t,style:k(e),onResize:(a,v)=>o.onTrackResize(e.id,a,v),onTrackResizeStart:n,onClipping:f===U.Clipping,isSelected:e.id===c,readonly:p,attributeList:l})},M=S(()=>{const e=rt(s,c);return e==null?void 0:e.map((a,v)=>{var d;return i.createElement("div",{className:u.track,key:(a==null?void 0:a.id)||v},(d=a.data)==null?void 0:d.map(O=>j(O)))})},[s,c,m,JSON.stringify(l)]),V=S(()=>{const e=s.find(a=>(a==null?void 0:a.id)===c);return c&&e?i.createElement("div",{className:u.track,key:e==null?void 0:e.id},j(e)):null},[s,c,m,t,JSON.stringify(l)]);return i.createElement("div",{className:u.videoTrackContainer,ref:C,onContextMenu:T},i.createElement("div",{className:u.timeTrack}),i.createElement("div",{className:u.videoTrack},V,M),i.createElement("div",{className:u.timeline,style:{transform:`translate3d(${P}px, 0px, 0px)`,backgroundColor:_}}),i.createElement("div",{className:u.displayTime,style:{backgroundColor:_,transform:`translateX(${F}px, 0px, 0px)`}},$(t)))};var at=nt;export{at as default,et as getDisplayContent};
@@ -0,0 +1 @@
1
+ var e={videoTrackContainer:"index-module_videoTrackContainer__0oBy3",timeTrack:"index-module_timeTrack__f--CU",videoTrack:"index-module_videoTrack__auEud",track:"index-module_track__N8mLd",timeline:"index-module_timeline__GppcX",displayTime:"index-module_displayTime__h0Lg7",textOverflow:"index-module_textOverflow__jf6jA"};export{e as default};
@@ -0,0 +1 @@
1
+ var n;(function(o){o[o.AHEAD=1]="AHEAD",o[o.BACK=-1]="BACK"})(n||(n={}));var t;(function(o){o.Left="left",o.Right="right"})(t||(t={}));var i;(function(o){o[o.Clipping=0]="Clipping",o[o.Stop=1]="Stop"})(i||(i={}));var r;(function(o){o[o.Period=0]="Period",o[o.Time=1]="Time"})(r||(r={}));const u={[0]:"\u7247\u6BB5",[1]:"\u65F6\u95F4\u70B9"},A=.05,f=.05;export{i as EClipStatus,t as EDirection,n as EPageChanges,r as ETimeSliceType,f as PER_SLICE_CHANGE,A as SLICE_MIN_TIME,u as TIME_SLICE_TYPE};
@@ -0,0 +1 @@
1
+ import{MathUtils as I,CommonToolUtils as V,uuid as w,AttributeUtils as k}from"@labelbee/lb-annotation";import{jsonParser as C}from"../../../utils/index.js";import{precisionAdd as D,precisionMinus as j,isImageValue as B}from"../../../utils/audio.js";import{message as m}from"antd";import y from"lodash";import v from"react";import A from"./index.module.scss.js";import{VideoClipToolContextProvider as M}from"./VideoClipToolContext.js";import{EClipStatus as u,ETimeSliceType as x,PER_SLICE_CHANGE as b,SLICE_MIN_TIME as T}from"./constant.js";import{VideoPlayer as N}from"../../videoPlayer/index.js";import U from"./components/videoTimeSlicesOverVideo/index.js";import J from"../../../assets/annotation/video/icon_videoCutting.svg.js";import{decimalReserved as F}from"../../videoPlayer/utils.js";var $=Object.defineProperty,z=Object.defineProperties,G=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,O=(c,r,t)=>r in c?$(c,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[r]=t,q=(c,r)=>{for(var t in r||(r={}))H.call(r,t)&&O(c,t,r[t]);if(L)for(var t of L(r))W.call(r,t)&&O(c,t,r[t]);return c},K=(c,r)=>z(c,G(r));class Q extends v.Component{constructor(r){super(r);this.fns=new Map,this.throttledUpdateTime=y.throttle(t=>{this.videoPlayer.currentTime=t},100,{trailing:!0}),this.stepInfo=()=>this.props.stepInfo,this.emitEvent=t=>{const e=this.fns.get(t);e&&e.forEach(i=>{i&&i()})},this.setValid=t=>{this.setState({valid:t}),t===!1&&(this.clearResult(),this.updateSidebar())},this.updateSidebar=()=>{this.emitEvent("changeClipSidebar")},this.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(s=>s.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===u.Clipping){m.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:o,type:l}=this.state.result[this.selectedSliceIndex],n=I.withinRange(D(o,t),[0,j(l===x.Time?s:a,b)]);this.updateSelectedSliceTimeProperty(n,"start")}},this.updateSelectedSliceTimeEndByPer=t=>{var e,i;if(this.state.clipStatus===u.Clipping){m.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u7ED3\u675F\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(s.type===x.Time){m.info("\u65F6\u95F4\u70B9\u4EC5\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}const{end:o,start:l}=s,n=I.withinRange(D(o,t),[D(l,b),a]);this.updateSelectedSliceTimeProperty(n,"end")}},this.updateSelectedSliceTimeProperty=(t,e)=>{if(this.selectedSliceIndex>-1){const{result:i}=this.state;i[this.selectedSliceIndex][e]=t,this.setState({result:y.cloneDeep(i)}),this.updateSidebar()}},this.keyDownEvents=t=>{if(!V.hotkeyFilter(t))return;const e=t.target;switch(e&&(e==null?void 0:e.tag)==="INPUT"&&(e==null?void 0:e.type)==="radio"&&t.preventDefault(),t.key.toLocaleLowerCase()){case"x":this.toggleClipStatus();break;case"e":this.addTime();break;case"escape":this.cancelClipped();break;case"-":this.updateSelectedSliceTimeStartByPer(-b);break;case"=":this.updateSelectedSliceTimeStartByPer(b);break;case"[":this.updateSelectedSliceTimeEndByPer(-b);break;case"]":this.updateSelectedSliceTimeEndByPer(b);break}},this.videoLoaded=t=>{var e;const i=this.resultJSON,s=i&&!["","{}"].includes(i),a=t?parseFloat(t.toFixed(2)):0,o={loading:!1};((e=C(i))==null?void 0:e.duration)||Object.assign(o,{result:JSON.stringify(K(q({},C(i)),{duration:a}))}),s||Object.assign(o,{result:JSON.stringify({width:0,height:0,rotate:0,valid:!0,duration:a})}),this.setState({loading:!1})},this.setVideoError=(t,e,i)=>{if(t){const{clipStatus:s}=this.state;s===u.Clipping&&this.toggleClipStatus(i)}this.setState({videoError:t,loading:!1})},this.clearResult=()=>{this.setState({result:[],selectedID:"",textValue:""}),this.updateSidebar()},this.cancelClipped=()=>{const{result:t,selectedID:e,clipStatus:i}=this.state;if(i!==u.Clipping)return;const s=t.findIndex(a=>a.id===e);s>-1&&(t.splice(s,1),this.setState({result:t,selectedID:"",clipStatus:u.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,s;if(this.disabled)return;const{clipStatus:a,selectedAttribute:o}=this.state,l=a!==u.Clipping;let n=l?u.Clipping:u.Stop,{result:d,selectedID:p,textValue:S}=this.state;const h=y.cloneDeep(d),f=t||((e=this.videoPlayer)==null?void 0:e.currentTime),E=(i=this.videoPlayer)==null?void 0:i.duration;if(E===void 0||f===void 0)return;const R=F(f,2);if(l){const g=w();p=g,h.push({start:R,end:null,attribute:o,textAttribute:this.defaultTextAttribute,duration:E,id:g,type:x.Period}),S=this.defaultTextAttribute}else{const g=h.findIndex(_=>_.id===p),P=h[g];P&&(f-P.start<T?(h.splice(g,1),m.info(`\u622A\u53D6\u7247\u6BB5\u4E0D\u80FD\u77ED\u4E8E${T}s`),n=u.Stop,p="",S=""):(h[g].end=F(f,2),(s=this.videoPlayer)==null||s.pause(),m.success(`\u5DF2\u622A\u53D6\u7247\u6BB5${d.length}`)))}this.setState({clipStatus:n,result:h,selectedID:p,textValue:S}),this.updateSidebar()},this.addTime=()=>{var t,e,i,s;if(this.disabled)return;const{result:a,selectedAttribute:o,selectedID:l}=this.state,n=w(),d=y.cloneDeep(a),p=((t=this.videoPlayer)==null?void 0:t.currentTime)||0;d.push({start:p,end:p,attribute:o,textAttribute:this.defaultTextAttribute,id:n,type:x.Time,duration:(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0});const S={result:d,selectedID:n,textValue:this.defaultTextAttribute},h=d.find(f=>f.id===l);this.isClipping&&h?(delete S.selectedID,delete S.textValue,m.success(`\u5DF2\u622A\u53D6\u65F6\u95F4\u70B9${d.length-1}`)):(s=this.videoPlayer)==null||s.pause(),this.setState(S),this.updateSidebar()},this.contextToCancel=t=>{this.state.clipStatus===u.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var s,a;const{result:o}=this.state,l=o.find(n=>n.id===t);if(l){const n=l.duration,d=e==="left",p=d?"start":"end",S=d?-n*i:n*i,h=d?[0,Math.max(((s=l.end)!=null?s:0)-T,0)]:[l.start+T,n],f=I.withinRange(S+((a=l==null?void 0:l[p])!=null?a:0),h);l[p]=f,this.throttledUpdateTime(f)}this.setState({result:[...o]}),this.updateSidebar()},this.renderMediaContent=()=>{const{pageForward:t,pageJump:e,pageBackward:i}=this.props,{result:s,currentTime:a,videoError:o,valid:l}=this.state;return v.createElement("div",{className:A.clipContainer},v.createElement(N,{imgIndex:this.props.imgIndex,imgList:this.props.imgList,pageBackward:i,pageForward:t,pageJump:e,valid:l,setVideoRef:n=>{this.videoPlayer=n},showVideoTrack:!o,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded}),v.createElement(U,{result:s,currentTime:a,attributeList:this.props.config.attributeList,extraStyle:{top:this.props.drawLayerSlot?40:0}}),this.isClipping&&v.createElement("i",{className:A.clipping,style:{backgroundImage:J}}))},this.onSelectedTimeSlice=t=>{var e;this.isClipping||(this.setState({selectedID:t.id,selectedAttribute:t.attribute,textValue:t.textAttribute}),this.updateSidebar(),(e=this.videoPlayer)==null||e.pause(),this.videoPlayer.currentTime=t.start)},this.removeTimeSlice=t=>{const{result:e}=this.state,i=this.state.selectedID===t.id?"":this.state.selectedID,s=e.findIndex(a=>a.id===t.id);s>-1&&(e.splice(s,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:s}=e;if(!s[i])return;const o=C(s[i].result)[`step_${this.stepInfo().step}`],l=(o==null?void 0:o.result)||[],n=B(s[i].result||"[]");this.setState({result:l,loading:t,selectedID:"",textValue:"",selectedAttribute:"",clipStatus:u.Stop,valid:n},()=>{this.updateSidebar(),n||m.info("\u65E0\u6548\u89C6\u9891\uFF0C\u8BF7\u8DF3\u8FC7")})}catch(i){console.error("\u6570\u636E\u89E3\u6790\u5931\u8D25"),this.setState({result:[],loading:!1,selectedID:"",textValue:"",selectedAttribute:"",valid:!0},()=>{this.updateSidebar()})}},this.setDefaultAttribute=t=>{const{result:e,selectedID:i}=this.state,s=e.find(a=>a.id===i);s&&i&&(s.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.setTextAttribute=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const s=e.find(a=>a.id===i);s&&(s.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:u.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var r;const{imgIndex:t,imgList:e}=this.props;return((r=e[t])==null?void 0:r.url)||""}get isClipping(){return this.state.clipStatus===u.Clipping}get resultJSON(){const{imgIndex:r,imgList:t}=this.props;return t.length===0||!t[r]?"[]":t[r].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return k.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedSliceIndex(){return this.state.result.findIndex(r=>r.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(r,t){const e=r.imgIndex-this.props.imgIndex,i=r.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,r),i!==0&&this.setState({loading:!1})),!0}singleOn(r,t){this.fns.set(r,[t])}on(r,t){this.singleOn(r,t)}unbindAll(r){this.fns.delete(r)}render(){const{selectedID:r,result:t,clipStatus:e,selectedAttribute:i}=this.state;return v.createElement(M,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:r,attributeList:this.props.config.attributeList,clipStatus:e,selectedAttribute:i,contextToCancel:this.contextToCancel}},this.renderMediaContent())}}export{Q as default};
@@ -0,0 +1 @@
1
+ var e={clipContainer:"index-module_clipContainer__L8DlL",containerWrapper:"index-module_containerWrapper__49TNa",clipping:"index-module_clipping__M-9B2"};export{e as default};
@@ -0,0 +1 @@
1
+ import h from"react";import{CommonToolUtils as p,uuid as f}from"@labelbee/lb-annotation";import{jsonParser as c}from"../../../utils/index.js";import{VideoPlayer as y}from"../../videoPlayer/index.js";import{VideoTagLayer as L}from"../../videoPlayer/VideoTagLayer.js";import g from"lodash";import{getKeyCodeNumber as b}from"../../videoPlayer/utils.js";class R extends h.Component{constructor(s){super(s);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const i=e?this.state.tagResult.map(l=>((l==null?void 0:l.result[e])&&delete l.result[e],l)):[];this.setState({tagResult:i},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,i,l,r,o,n;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(i=this.videoPlayer)==null?void 0:i.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,v=(r=(l=this.videoPlayer)==null?void 0:l.videoWidth)!=null?r:0,m=(n=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?n:0;return[this.state.tagResult,{valid:this.state.valid,duration:a,frames:u,videoWidth:v,videoHeight:m}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var i,l;const{isMulti:r}=t,{key:o,value:n}=t.value;if(r){let a=(l=(i=e[o])==null?void 0:i.split(";"))!=null?l:[];a.includes(n)?a=a.filter(u=>u!==n):a.push(n);const d=new Set(a);return e[o]=Array.from(d).join(";"),g.pickBy(e,u=>u)}return e[o]=e[o]===n?void 0:n,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 i=e-1;if(this.config.inputList.length===1){this.labelSelectedList=[0,i],this.setLabel(0,i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],i],this.setLabel(this.labelSelectedList[0],i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[i],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:i,imgIndex:l,step:r}=t;if(!i[l])return;const o=c(i[l].result),n=o[`step_${r}`];this.setState({tagResult:(e=n==null?void 0:n.result)!=null?e:[],valid:(o==null?void 0:o.valid)===void 0?!0:o.valid})},this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var s;return c((s=this.props.stepInfo)==null?void 0:s.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var s;return(s=this.state.tagResult[0])!=null?s:{}}get valid(){return this.state.valid}singleOn(s,t){this.fns[s]=t}on(s,t){this.singleOn(s,t)}unbindAll(s){delete this.fns[s]}getTagResultByCode(s,t){var e,i,l;try{const r=(i=(e=this.config)==null?void 0:e.inputList)!=null?i:[],o=r.length>1,n=t!==void 0?s:0,a=t!==void 0?t:s,d=o?r[n]: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(s,t){var e,i,l,r;const o=this.getTagResultByCode(s,t);if(o){const n=this.combineResult(o,(i=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?i:{}),a=[{sourceID:p.getSourceID(),id:(r=(l=this.currentTagResult)==null?void 0:l.id)!=null?r:f(8,62),result:n}];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(s){return s.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(s),!0}render(){var s;const{imgIndex:t,imgList:e,pageForward:i,pageJump:l,pageBackward:r}=this.props,{tagResult:o,valid:n}=this.state;return h.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},h.createElement(y,{imgIndex:t,imgList:e,pageBackward:r,pageForward:i,pageJump:l,valid:n,setVideoRef:a=>{this.videoPlayer=a},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),h.createElement(L,{result:o,inputList:(s=this.config)==null?void 0:s.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}export{R as TagToolInstanceAdaptor};
@@ -0,0 +1 @@
1
+ import u from"react";import{jsonParser as v}from"../../../utils/index.js";import{VideoPlayer as g}from"../../videoPlayer/index.js";import c from"lodash";import{VideoTextLayer as f}from"../../videoPlayer/VideoTextLayer.js";import{toolStyleConverter as y}from"@labelbee/lb-utils";class x extends u.Component{constructor(e){super(e);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,l,s,o,i,n,r;const a=(l=(t=this.videoPlayer)==null?void 0:t.duration)!=null?l:0,d=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,p=(i=(o=this.videoPlayer)==null?void 0:o.videoWidth)!=null?i:0,m=(r=(n=this.videoPlayer)==null?void 0:n.videoHeight)!=null?r:0;return[[this.state.result],{valid:this.state.valid,duration:a,frames:h,videoWidth:p,videoHeight:m}]},this.toggleShowText=t=>{this.setState({showText:t})},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,l,s)=>{var o;const i=c.cloneDeep(s!=null?s:{});i.value=Object.assign((o=i.value)!=null?o:{},{[t]:l}),this.setState({result:i})},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var l,s;const{imgList:o,imgIndex:i,step:n}=t;if(!o[i])return;const r=v(o[i].result),a=r[`step_${n}`];this.setState({result:(s=(l=a==null?void 0:a.result)==null?void 0:l[0])!=null?s:{},valid:(r==null?void 0:r.valid)===void 0?!0:r.valid},()=>this.updateSidebar())},this.state={result:{},valid:!0,showText:!0}}get config(){var e;return v((e=this.props.stepInfo)==null?void 0:e.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get textList(){return[this.state.result]}getColor(e=this.config,t=""){return y.getColorByConfig({attribute:t,config:e})}singleOn(e,t){this.fns[e]=t}on(e,t){this.singleOn(e,t)}unbindAll(e){delete this.fns[e]}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(e){return e.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(e),!0}render(){var e,t;const{imgIndex:l,imgList:s,pageForward:o,pageJump:i,pageBackward:n}=this.props,{result:r,valid:a,showText:d}=this.state;return u.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&r.value&&u.createElement(f,{value:r.value,toolColor:(t=(e=this.getColor(this.config))==null?void 0:e.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),u.createElement(g,{imgIndex:l,imgList:s,pageBackward:n,pageForward:o,pageJump:i,valid:a,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}export{x as VideoTextTool};
@@ -1 +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};
1
+ import e from"react";import{result2LabelKey as c}from"./utils.js";const m=({result:r,inputList:l,hasPromptLayer:a})=>{const o=c(r,l),n={position:"absolute",zIndex:20,padding:"0 20px",color:"white",fontSize:15,lineHeight:"32px",background:"rgba(0, 255, 255, 0.32)",top:a?40:0,right:0,maxHeight:"calc(100% - 80px)",overflowY:"scroll"};return e.createElement("div",{style:n},e.createElement("table",null,e.createElement("tbody",null,o.map(({keyLabel:t,valuesLabelArray:i})=>e.createElement("tr",{key:t},e.createElement("td",{style:{paddingRight:8}},`${t}:`),e.createElement("td",null,`${i.join("\u3001")}`))))))};export{m as VideoTagLayer};
@@ -0,0 +1,2 @@
1
+ import t,{useRef as y}from"react";const x=n=>{const{toolColor:i,value:l,configList:a,showEmptyValue:c,hasPromptLayer:u}=n,p=y(null),s=e=>{var o;const r=a==null?void 0:a.find(m=>m.key===e);return(o=r==null?void 0:r.label)!=null?o:e},d=e=>e.endsWith(`
2
+ `)?e+" ":e;return t.createElement("div",{ref:p,style:{position:"absolute",right:0,top:u?40:0,zIndex:22,maxWidth:416,fontFamily:"SourceHanSansCN-Regular",background:i,color:"white",wordBreak:"break-all",lineHeight:"24px",whiteSpace:"pre-wrap",maxHeight:"80%",overflowY:"auto",opacity:.9}},Object.keys(l).filter(e=>c?!0:l[e]).map(e=>t.createElement("div",{key:e,style:{padding:"8px 16px"}},t.createElement("div",null,`${s(e)}:`),t.createElement("div",null,d(l[e])||"(\u7A7A)"))))};export{x as VideoTextLayer};
@@ -1 +1 @@
1
- import e from"react";import{getClassName as o}from"../../../../utils/dom.js";import{PauseOutlined as C,CaretRightOutlined as y,CaretUpOutlined as x,CaretDownOutlined as T}from"@ant-design/icons";import{VideoPlayerCtx as c}from"../../index.js";import{Pagination as V}from"../../../../views/MainView/toolFooter/Pagination.js";import h from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import w from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as v}from"react-i18next";import{decimalReserved as m}from"../../utils.js";import{cTool as P}from"@labelbee/lb-annotation";const{EVideoToolName:k}=P,u=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}`};var p;(function(t){t[t.Video=0]="Video",t[t.Audio=1]="Audio"})(p||(p={}));const b=()=>{const{currentTime:t,duration:n,buffered:r,setCurrentTime:a}=e.useContext(c),l=e.useRef(null),s=`${m(r/n*100,1)}%`,d=`${m(t/n*100,1)}%`,E=i=>{if(l.current){const f=i.clientX,g=l.current.clientWidth,N=m(f/g*n,1);a(N)}};return e.createElement("div",{className:o("video-progress"),ref:l,onClick:i=>{i.stopPropagation(),i.nativeEvent.stopImmediatePropagation(),E(i)}},e.createElement("div",{className:o("video-slider")},e.createElement("div",{className:o("video-slider","played"),style:{width:d}}),e.createElement("div",{className:o("video-slider","loaded"),style:{width:s}}),e.createElement("div",{className:o("video-slider","played"),style:{width:d}})),e.createElement("div",{className:o("video-slider-bar"),style:{left:d}}))},$=()=>{const{updateNextPlaybackRate:t,playbackRate:n}=e.useContext(c),{t:r}=v();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(x,{onClick:()=>{t()}}),e.createElement(T,{onClick:()=>{t(!1)}})))},R=()=>{const{t}=v();return e.createElement(w,{title:e.createElement("span",{className:o("video-controller","hotkey")},e.createElement("img",{src:h}),t("Hotkeys")),style:{},toolName:k.VideoTagTool})},j=()=>{const{imgIndex:t,imgList:n,pageBackward:r,pageJump:a,pageForward:l}=e.useContext(c);return e.createElement(V,{isVideo:!0,pageBackward:r,imgIndex:t,pageJump:a,totalPage:n.length,pageForward:l,footerCls:o("video-controller")})},F=()=>{const{currentTime:t,duration:n}=e.useContext(c),r=n*10-t*10,a=(r>0?r:0)/10;return e.createElement("div",{className:o("video-controller","time")},`${u(t)} / -${u(a)}`)},B=()=>{const{playPause:t,isPlay:n}=e.useContext(c);return e.createElement("div",{className:o("video-controller","wrapper")},e.createElement(b,null),e.createElement("div",{className:o("video-controller")},e.createElement("span",{onClick:()=>{t()},className:o("video-controller","playButton")},n?e.createElement(C,null):e.createElement(y,null)),e.createElement(F,null),e.createElement($,null),e.createElement("div",{className:o("video-controller","holder")}),e.createElement(j,null),e.createElement(R,null)))};export{p as EPlayerType,B as default,u as videoTimeFormat};
1
+ import e,{useContext as $,useMemo as h}from"react";import{getClassName as l}from"../../../../utils/dom.js";import{CaretUpOutlined as b,CaretDownOutlined as j,PauseOutlined as H,CaretRightOutlined as R}from"@ant-design/icons";import{VideoPlayerCtx as d}from"../../index.js";import{Pagination as S}from"../../../../views/MainView/toolFooter/Pagination.js";import F from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import K from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as f}from"react-i18next";import{decimalReserved as g}from"../../utils.js";import{cTool as O}from"@labelbee/lb-annotation";import A from"../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js";import{VideoClipToolContext as B}from"../../../videoAnnotate/videoClipTool/VideoClipToolContext.js";const{EVideoToolName:I}=O,C=t=>{const o=Math.floor(t/60),n=~~(t%60).toFixed(),i=(t*10).toString().split("").pop(),r=a=>a<10?`0${a}`:a;return`${r(o)}:${r(n)}:${i}`};var E;(function(t){t[t.Video=0]="Video",t[t.Audio=1]="Audio"})(E||(E={}));const M=()=>{const{currentTime:t,duration:o,buffered:n,setCurrentTime:i}=e.useContext(d),r=e.useRef(null),a=h(()=>`${g(n/o*100,1)}%`,[n,o]),c=h(()=>`${g(t/o*100,1)}%`,[t,o]),u=s=>{if(r.current){const p=s.clientX,v=r.current.clientWidth,m=g(p/v*o,1);i(m)}};return e.createElement("div",{className:l("video-progress"),ref:r,onClick:s=>{s.stopPropagation(),s.nativeEvent.stopImmediatePropagation(),u(s)}},e.createElement("div",{className:l("video-slider")},e.createElement("div",{className:l("video-slider","played"),style:{width:c}}),e.createElement("div",{className:l("video-slider","loaded"),style:{width:a}}),e.createElement("div",{className:l("video-slider","played"),style:{width:c}})),e.createElement("div",{className:l("video-slider-bar"),style:{left:c}}))},_=()=>{const{updateNextPlaybackRate:t,playbackRate:o}=e.useContext(d),{t:n}=f();return e.createElement("span",{className:l("video-controller","speed")},e.createElement("span",null,n("Speed")),e.createElement("span",{className:l("video-controller","speedNum")},`${o}x`),e.createElement("span",{className:l("video-controller","speedButton")},e.createElement(b,{onClick:()=>{t()}}),e.createElement(j,{onClick:()=>{t(!1)}})))},L=()=>{const{t}=f();return e.createElement(K,{title:e.createElement("span",{className:l("video-controller","hotkey")},e.createElement("img",{src:F}),t("Hotkeys")),style:{},toolName:I.VideoTagTool})},X=()=>{const{imgIndex:t,imgList:o,pageBackward:n,pageJump:i,pageForward:r}=e.useContext(d);return e.createElement(S,{isVideo:!0,pageBackward:n,imgIndex:t,pageJump:i,totalPage:o.length,pageForward:r,footerCls:l("video-controller")})},z=()=>{const{currentTime:t,duration:o}=e.useContext(d),n=o*10-t*10,i=(n>0?n:0)/10;return e.createElement("div",{className:l("video-controller","time")},`${C(t)} / -${C(i)}`)},D=t=>{const{playPause:o,isPlay:n}=t;return e.createElement("span",{onClick:()=>{o()},className:l("video-controller","playButton")},n?e.createElement(H,null):e.createElement(R,null))},J=t=>{var o,n;const{footer:i}=t,{playPause:r,isPlay:a,addTime:c,toggleClipStatus:u}=e.useContext(d),{result:s}=$(B),p=(n=(o=s==null?void 0:s.filter(w=>w.end!==null))==null?void 0:o.length)!=null?n:0,{t:v}=f(),m=e.createElement(M,null),y=e.createElement(D,{playPause:r,isPlay:a}),T=e.createElement(z,null),x=e.createElement(_,null),N=e.createElement(X,null),P=e.createElement(L,null),k=e.createElement(A,{addTime:c,toggleClipStatus:u}),V=e.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${v("ItemsOfThisPage")}: ${p}`);return i?typeof i=="function"?i({videoProgress:m,videoPlayIcon:y,videoTime:T,videoSpeed:x,videoPageChange:N,videoHotKeys:P,videoClipHotKey:k,videoResultCount:V}):i:e.createElement("div",{className:l("video-controller","wrapper")},m,e.createElement("div",{className:l("video-controller")},y,T,x,e.createElement("div",{className:l("video-controller","holder")}),V,N,P))};export{E as EPlayerType,J as default,C as videoTimeFormat};
@@ -1 +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 h}from"./utils.js";import N from"../fileException/index.js";const s=I.default,u=r.createContext({isPlay:!1,playPause:()=>{},updateNextPlaybackRate:()=>{},playbackRate:1,currentTime:0,duration:0,buffered:0,setCurrentTime:()=>{},imgList:[],imgIndex:-1,pageBackward:()=>{},pageJump:f=>{},pageForward:()=>{}}),L=50,m=.1,l=[.5,1,1.5,2,4,6,8,16];class c 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+m)},this.rewind=()=>{this.videoElm&&this.setCurrentTime(this.videoElm.currentTime-m)},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.onVideoStopped()},this.onVideoStopped=()=>{this.setState({isPlay:!1}),this.timeInterval&&(clearInterval(this.timeInterval),this.timeInterval=void 0),this.videoElm&&this.setCurrentTime(this.videoElm.currentTime)},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:h((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,isPlay:!1}),this.videoElm&&(this.videoElm.playbackRate=this.state.playbackRate),this.onVideoStopped()},this.setDuration=()=>{var e;if(this.videoElm){const t=h((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:v}=this.state,{imgList:p,imgIndex:y,pageBackward:E,pageJump:P,pageForward:R,valid:b}=this.props,{playPause:n,updateNextPlaybackRate:k,onPause:g,onPlay:w,resetVideoData:C,setDuration:x,setCurrentTime:T,onError:S,videoRef:_,videoSrc:V}=this;return r.createElement(u.Provider,{value:{videoRef:this.videoRef,isPlay:i,playPause:n,updateNextPlaybackRate:k,playbackRate:e,currentTime:t,duration:a,buffered:o,setCurrentTime:T,imgIndex:y,imgList:p,pageBackward:E,pageJump:P,pageForward:R}},r.createElement("div",{className:d("video-wrapper")},r.createElement("div",{className:d("video-container")},r.createElement("video",{ref:_,className:d("video"),src:V,onPause:g,onPlay:w,onLoadedMetadata:C,onError:S,onDurationChange:x,width:"100%",height:"100%",onClick:n}),r.createElement(N,{fileType:"video",errorProps:{reloadImage:this.reload,backgroundColor:"#e2e2e2",ignoreOffsetY:!0,isError:v},invalidProps:{isValid:b}})),r.createElement(D,null)))}}export{c as VideoPlayer,u as VideoPlayerCtx,c as default};
1
+ import o from"react";import A from"./components/controller/index.js";import j from"../videoAnnotate/videoClipTool/components/videoTrack/index.js";import{getClassName as l}from"../../utils/dom.js";import{cKeyCode as M}from"@labelbee/lb-annotation";import{decimalReserved as d}from"./utils.js";import z from"../fileException/index.js";const s=M.default,c=o.createContext({isPlay:!1,playPause:()=>{},updateNextPlaybackRate:()=>{},playbackRate:1,currentTime:0,duration:0,buffered:0,setCurrentTime:()=>{},imgList:[],imgIndex:-1,pageBackward:()=>{},pageJump:f=>{},pageForward:()=>{},addTime:()=>{},toggleClipStatus:()=>{}}),U=50,p=.1,n=[.5,1,1.5,2,4,6,8,16];class v extends o.Component{constructor(a){super(a);this.changePlaybackPate=e=>{this.videoElm&&(this.videoElm.playbackRate=e,this.setState({playbackRate:e}))},this.playPause=()=>{var e,t,i;((e=this.videoElm)==null?void 0:e.paused)?(t=this.videoElm)==null||t.play():(i=this.videoElm)==null||i.pause()},this.updateNextPlaybackRate=(e=!0)=>{const t=n.findIndex(r=>r===this.state.playbackRate);let i=e?Math.min(t+1,n.length-1):Math.max(t-1,0);this.changePlaybackPate(n[i])},this.fastForward=()=>{this.videoElm&&this.setCurrentTime(this.videoElm.currentTime+p)},this.rewind=()=>{this.videoElm&&this.setCurrentTime(this.videoElm.currentTime-p)},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.onVideoStopped()},this.onTimeUpdate=()=>{var e;this.videoElm&&this.setState({currentTime:d((e=this.videoElm)==null?void 0:e.currentTime,1)})},this.onVideoStopped=()=>{this.setState({isPlay:!1}),this.timeInterval&&(clearInterval(this.timeInterval),this.timeInterval=void 0),this.videoElm&&this.setCurrentTime(this.videoElm.currentTime)},this.onVideoStart=()=>{this.timeInterval=window.setInterval(()=>{var e,t,i;if(this.videoElm)try{if(((e=this.videoElm)==null?void 0:e.buffered.length)>0){const r=(t=this.videoElm)==null?void 0:t.buffered.end(0);this.setState({currentTime:d((i=this.videoElm)==null?void 0:i.currentTime,1),buffered:r})}}catch(r){console.error(r)}},U)},this.resetVideoData=()=>{this.setState({currentTime:0,buffered:0,error:!1,isPlay:!1}),this.videoElm&&(this.videoElm.playbackRate=this.state.playbackRate),this.onVideoStopped()},this.setDuration=()=>{var e,t,i;if(this.videoElm){const r=d((e=this.videoElm)==null?void 0:e.duration,1);(i=(t=this.props).dataLoaded)==null||i.call(t,r),this.setState({duration:r})}},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=o.createRef()}get videoElm(){var a;return(a=this.videoRef)==null?void 0:a.current}get videoSrc(){var a,e;const{imgIndex:t,imgList:i}=this.props;return t>-1&&(e=(a=i[t])==null?void 0:a.url)!=null?e:""}componentDidMount(){var a,e;window.addEventListener("keydown",this.keydown),((a=this.videoRef)==null?void 0:a.current)&&this.props.setVideoRef&&this.props.setVideoRef((e=this.videoRef)==null?void 0:e.current)}componentWillUnmount(){window.removeEventListener("keydown",this.keydown)}render(){const{isPlay:a,playbackRate:e,currentTime:t,duration:i,buffered:r,error:E}=this.state,{imgList:y,imgIndex:k,pageBackward:g,pageJump:T,pageForward:R,valid:P,footer:b,drawLayerSlot:h}=this.props,C=isNaN(i)?0:Math.max(d(i,1)-t,0),{playPause:m,updateNextPlaybackRate:w,onPause:x,onPlay:S,onTimeUpdate:_,resetVideoData:V,setDuration:D,setCurrentTime:I,onError:N,videoRef:L,videoSrc:F}=this;return o.createElement(c.Provider,{value:{videoRef:this.videoRef,addTime:this.props.addTime,toggleClipStatus:this.props.toggleClipStatus,isPlay:a,playPause:m,updateNextPlaybackRate:w,playbackRate:e,currentTime:t,duration:i,buffered:r,setCurrentTime:I,imgIndex:k,imgList:y,pageBackward:g,pageJump:T,pageForward:R}},o.createElement(o.Fragment,null,h==null?void 0:h({currentTime:t,remainingTime:C,zoom:1,currentPos:{x:0,y:0}}),o.createElement("div",{className:l("video-wrapper")},o.createElement("div",{className:l("video-container")},o.createElement("video",{ref:L,className:l(this.props.showVideoTrack?"video-track":"video"),src:F,onPause:x,onPlay:S,onTimeUpdate:_,onLoadedMetadata:V,onError:N,onDurationChange:D,width:"100%",height:"100%",onClick:m}),this.props.showVideoTrack&&o.createElement(j,{currentTime:t,onTrackResize:this.props.onTrackResize,onTrackResizeStart:()=>{var u;(u=this.videoElm)==null||u.pause()},readonly:!1}),o.createElement(z,{fileType:"video",errorProps:{reloadImage:this.reload,backgroundColor:"#e2e2e2",ignoreOffsetY:!0,isError:E},invalidProps:{isValid:P}})),o.createElement(A,{footer:b}))))}}export{v as VideoPlayer,c as VideoPlayerCtx,v as default};
@@ -1 +1 @@
1
- const o=(e,r,l)=>{const a=l.find(n=>n.value===e),u=a.subSelected.find(n=>n.value===r);return{keyLabel:a.key,valueLabel:u.key}},c=(e,r)=>e.sort((l,a)=>{const u=r.findIndex(t=>l===t.value),n=r.findIndex(t=>a===t.value);return u-n}),f=(e,r)=>{var l;try{return(l=e==null?void 0:e.reduce((a,u)=>(c(Object.keys(u.result),r).forEach(n=>{var t;const s=(t=u.result[n])==null?void 0:t.split(";");b(s,n,r,a)}),a),[]))!=null?l:[]}catch(a){return[]}},b=(e,r,l,a)=>{e.forEach(u=>{const{keyLabel:n,valueLabel:t}=o(r,u,l),s=a.find(d=>d.keyLabel===n);s?s.valuesLabelArray.push(t):a.push({keyLabel:n,valuesLabelArray:[t]})})},i=e=>e<=57&&e>=49?e-48:e<=105&&e>=97?e-96:0,v=(e,r=2)=>typeof e=="number"?parseFloat(e.toFixed(r)):e;export{v as decimalReserved,o as findTagLabel,i as getKeyCodeNumber,f as result2LabelKey,c as tagsSortThruInputList};
1
+ const c=(e,r,a)=>{const n=a.find(t=>t.value===e),u=n.subSelected.find(t=>t.value===r);return{keyLabel:n.key,valueLabel:u.key}},s=(e,r)=>e.sort((a,n)=>{const u=r.findIndex(l=>a===l.value),t=r.findIndex(l=>n===l.value);return u-t}),i=(e,r)=>{var a;try{return(a=e==null?void 0:e.reduce((n,u)=>(s(Object.keys(u.result),r).forEach(t=>{var l;const o=(l=u.result[t])==null?void 0:l.split(";");d(o,t,r,n)}),n),[]))!=null?a:[]}catch(n){return[]}},d=(e,r,a,n)=>{e.forEach(u=>{const{keyLabel:t,valueLabel:l}=c(r,u,a),o=n.find(f=>f.keyLabel===t);o?o.valuesLabelArray.push(l):n.push({keyLabel:t,valuesLabelArray:[l]})})},v=e=>e<=57&&e>=49?e-48:e<=105&&e>=97?e-96:0,b=(e,r=2)=>typeof e=="number"?parseFloat(e.toFixed(r)):e,h=function(e){if(e===void 0)return e;let r=0,a,n;if(e.length===0)return r;for(a=0;a<e.length;a++)n=e.charCodeAt(a),r=(r<<5)-r+n,r|=0;return r};export{b as decimalReserved,c as findTagLabel,v as getKeyCodeNumber,h as hashCode,i as result2LabelKey,s as tagsSortThruInputList};
package/es/index.css CHANGED
@@ -128,6 +128,246 @@
128
128
  white-space: pre-wrap;
129
129
  word-break: break-all;
130
130
  }
131
+ .index-module_timeSliceInputContainer__579hr {
132
+ height: 120px;
133
+ padding: 16px;
134
+ }
135
+ .index-module_timeSliceInputContainer__579hr .index-module_title__9kdsk {
136
+ margin-bottom: 16px;
137
+ margin-bottom: 8px;
138
+ color: rgba(0, 0, 0, 0.85);
139
+ font-weight: 500;
140
+ font-size: 14px;
141
+ font-family: SourceHanSansCN-Medium;
142
+ }
143
+ .index-module_timeSliceInputContainer__579hr .index-module_inputWrapper__uXmv- {
144
+ display: flex;
145
+ flex-direction: column;
146
+ align-items: center;
147
+ }
148
+ .index-module_timeSliceInputContainer__579hr .index-module_inputWrapper__uXmv- .index-module_getCurr__-dchP {
149
+ margin-top: 8px;
150
+ color: #666fff;
151
+ font-size: 12px;
152
+ cursor: pointer;
153
+ }
154
+ .index-module_timeSliceInputContainer__579hr .index-module_inputWrapper__uXmv- .index-module_getCurr__-dchP.index-module_disabled__j6aK6 {
155
+ color: #ccc;
156
+ cursor: not-allowed;
157
+ }
158
+ .index-module_timeSliceInputContainer__579hr .index-module_inputContainer__PqtI8 {
159
+ display: flex;
160
+ }
161
+ .index-module_timeSliceInputContainer__579hr .index-module_inputContainer__PqtI8 .index-module_inputWrapper__uXmv- {
162
+ width: 92px;
163
+ }
164
+ .index-module_timeSliceInputContainer__579hr .index-module_inputContainer__PqtI8 .index-module_spliter__wXZhC {
165
+ flex: 1;
166
+ }
167
+ .index-module_textOverflow__HcSP3 {
168
+ overflow: hidden;
169
+ white-space: nowrap;
170
+ text-overflow: ellipsis;
171
+ }
172
+ .index-module_videoTrackContainer__0oBy3 {
173
+ position: absolute;
174
+ bottom: 0px;
175
+ width: 100%;
176
+ overflow-x: hidden;
177
+ overflow-y: auto;
178
+ background-color: #333333;
179
+ }
180
+ .index-module_videoTrackContainer__0oBy3 .index-module_timeTrack__f--CU {
181
+ height: 24px;
182
+ border-bottom: 1px solid #555555;
183
+ box-sizing: border-box;
184
+ }
185
+ .index-module_videoTrackContainer__0oBy3 .index-module_videoTrack__auEud {
186
+ display: flex;
187
+ flex-direction: column-reverse;
188
+ height: 90px;
189
+ overflow-x: hidden;
190
+ overflow-y: auto;
191
+ }
192
+ .index-module_videoTrackContainer__0oBy3 .index-module_videoTrack__auEud .index-module_track__N8mLd {
193
+ position: relative;
194
+ flex: 0 0 45px;
195
+ border-bottom: 1px solid #555555;
196
+ box-sizing: border-box;
197
+ }
198
+ .index-module_videoTrackContainer__0oBy3 .index-module_timeline__GppcX {
199
+ position: absolute;
200
+ top: 50%;
201
+ transform: translateY(-50%);
202
+ display: inline-block;
203
+ height: 100%;
204
+ top: 0;
205
+ left: 0;
206
+ width: 2px;
207
+ z-index: 10;
208
+ height: 100%;
209
+ }
210
+ .index-module_videoTrackContainer__0oBy3 .index-module_displayTime__h0Lg7 {
211
+ position: absolute;
212
+ top: 0;
213
+ left: -1;
214
+ z-index: 11;
215
+ width: 68px;
216
+ padding: 5px;
217
+ color: black;
218
+ font-size: 14px;
219
+ }
220
+
221
+ .index-module_textOverflow__jf6jA {
222
+ white-space: nowrap;
223
+ overflow: hidden;
224
+ text-overflow: ellipsis;
225
+ }
226
+ .index-module_clipToolbar__amC2X {
227
+ display: flex;
228
+ vertical-align: middle;
229
+ }
230
+ .index-module_clipToolbar__amC2X .index-module_buttonWrapper__o1C44 {
231
+ display: flex;
232
+ margin-left: 16px;
233
+ }
234
+ .index-module_clipToolbar__amC2X .index-module_cutButton__M6mOs,
235
+ .index-module_clipToolbar__amC2X .index-module_localButton__6D1-H {
236
+ display: inline-block;
237
+ align-self: center;
238
+ width: 20px;
239
+ height: 20px;
240
+ margin-right: 5px;
241
+ color: #bbbbbb;
242
+ cursor: pointer;
243
+ }
244
+ .index-module_clipToolbar__amC2X .index-module_cutButton__M6mOs {
245
+ margin-left: 20px;
246
+ }
247
+ .index-module_clipToolbar__amC2X .index-module_localButton__6D1-H {
248
+ margin-left: 10px;
249
+ }
250
+ .index-module_timeSliceListContent__gvFHy {
251
+ height: 224px;
252
+ overflow-y: auto;
253
+ font-size: 12px;
254
+ background-color: #fafafa;
255
+ }
256
+ .index-module_timeSliceListContent__gvFHy.index-module_empty__wcFM6 {
257
+ display: flex;
258
+ justify-content: center;
259
+ }
260
+ .index-module_timeSliceListContent__gvFHy.index-module_empty__wcFM6 .index-module_noContent__zjGb0 {
261
+ align-self: center;
262
+ color: #999999;
263
+ }
264
+ .index-module_timeSliceListContent__gvFHy.index-module_empty__wcFM6 .index-module_noContent__zjGb0 > div {
265
+ margin-bottom: 10px;
266
+ text-align: center;
267
+ }
268
+ .index-module_timeSliceListContent__gvFHy.index-module_empty__wcFM6 .index-module_noContent__zjGb0 .index-module_hotkey__dDkgv {
269
+ display: inline-block;
270
+ width: 20px;
271
+ height: 20px;
272
+ margin-right: 5px;
273
+ line-height: 20px;
274
+ text-align: center;
275
+ border: 1px #ccc solid;
276
+ }
277
+ .index-module_timeSliceListContent__gvFHy .index-module_timeSliceItem__Xa-cQ {
278
+ display: flex;
279
+ padding: 12px;
280
+ cursor: pointer;
281
+ }
282
+ .index-module_timeSliceListContent__gvFHy .index-module_timeSliceItem__Xa-cQ.index-module_timeSliceItemActivated__Zlb3b {
283
+ color: #666fff;
284
+ background-color: #ebecfb;
285
+ }
286
+ .index-module_timeSliceListContent__gvFHy .index-module_timeSliceItem__Xa-cQ .index-module_timeSliceAttribute__Q5E-f {
287
+ overflow: hidden;
288
+ white-space: nowrap;
289
+ text-overflow: ellipsis;
290
+ }
291
+ .index-module_timeSliceListContent__gvFHy .index-module_timeSliceItem__Xa-cQ .index-module_timeSliceItemContent__Aqa8l {
292
+ flex: 1;
293
+ white-space: nowrap;
294
+ overflow: hidden;
295
+ text-overflow: ellipsis;
296
+ }
297
+ .index-module_timeSliceListContent__gvFHy .index-module_timeSliceItem__Xa-cQ .index-module_timeSliceItemDeleteIcon__nlQ6B {
298
+ align-self: center;
299
+ padding: 5px;
300
+ opacity: 0;
301
+ transition: opacity 0.3s ease-in-out;
302
+ }
303
+ .index-module_timeSliceListContent__gvFHy .index-module_timeSliceItem__Xa-cQ:hover .index-module_timeSliceItemDeleteIcon__nlQ6B {
304
+ opacity: 1;
305
+ }
306
+ .index-module_clipContainer__L8DlL {
307
+ width: 100%;
308
+ height: 100%;
309
+ position: relative;
310
+ display: flex;
311
+ flex-direction: column;
312
+ }
313
+
314
+ .index-module_containerWrapper__49TNa {
315
+ position: relative;
316
+ flex: 1;
317
+ overflow: hidden;
318
+ display: flex;
319
+ flex-direction: column;
320
+ }
321
+
322
+ .video-tool-spinner {
323
+ height: calc(100vh - 60px);
324
+ }
325
+ .video-tool-spinner .ant-spin-container {
326
+ height: 100%;
327
+ }
328
+
329
+ .index-module_clipping__M-9B2 {
330
+ position: absolute;
331
+ top: 80px;
332
+ left: 56px;
333
+ width: 72px;
334
+ height: 24px;
335
+ }
336
+ .index-module_videoTimeSlices__v-2k1 {
337
+ position: absolute;
338
+ top: 0;
339
+ right: 0;
340
+ max-height: calc(100% - 80px - 90px - 24px);
341
+ padding-right: 4px;
342
+ overflow: auto;
343
+ z-index: 22;
344
+ }
345
+
346
+ .index-module_timeSliceWrapper__kebC3 {
347
+ height: 80px;
348
+ margin-bottom: 8px;
349
+ transition: opacity 0.4s ease-in-out;
350
+ opacity: 0.3;
351
+ }
352
+ .index-module_timeSliceWrapper__kebC3.index-module_active__cIGVq {
353
+ opacity: 1;
354
+ }
355
+ .index-module_timeSliceWrapper__kebC3 .index-module_timeSliceItemText__FJFwH,
356
+ .index-module_timeSliceWrapper__kebC3 .index-module_timeSliceItemAttribute__--3E1 {
357
+ height: 40px;
358
+ font-size: 16px;
359
+ color: white;
360
+ }
361
+ .index-module_timeSliceWrapper__kebC3 .index-module_timeSliceItemText__FJFwH {
362
+ background-color: #CCC;
363
+ padding: 8px 24px;
364
+ }
365
+ .index-module_timeSliceWrapper__kebC3 .index-module_timeSliceItemAttribute__--3E1 span {
366
+ display: inline-block;
367
+ height: 40px;
368
+ line-height: 40px;
369
+ padding: 0 24px;
370
+ }
131
371
  .index-module_speedControllerWrap__aFz7r {
132
372
  display: flex;
133
373
  color: white;
@@ -1754,6 +1994,13 @@
1754
1994
  overflow-y: scroll;
1755
1995
  }
1756
1996
 
1997
+ .textToolSwitchItem {
1998
+ display: flex;
1999
+ justify-content: space-between;
2000
+ margin-top: 20px;
2001
+ font-size: 12px;
2002
+ }
2003
+
1757
2004
  .textareaContainer {
1758
2005
  position: relative;
1759
2006
  padding: 0;
@@ -1978,11 +2225,20 @@
1978
2225
  flex-direction: column;
1979
2226
  background-color: black;
1980
2227
  overflow: hidden;
2228
+ flex: 1 1;
1981
2229
  }
1982
2230
  .bee-video-wrapper .bee-video-container {
1983
- flex: 1;
2231
+ height: calc(100% - 80px);
1984
2232
  overflow: hidden;
1985
2233
  position: relative;
2234
+ display: flex;
2235
+ flex-direction: column;
2236
+ }
2237
+ .bee-video-wrapper .bee-video-container .bee-video {
2238
+ flex: 1 1;
2239
+ }
2240
+ .bee-video-wrapper .bee-video-container .bee-video-track {
2241
+ height: calc(100% - 90px - 24px);
1986
2242
  }
1987
2243
 
1988
2244
  .bee-video-progress {
@@ -2030,7 +2286,10 @@
2030
2286
  }
2031
2287
 
2032
2288
  .bee-video-controller__wrapper {
2033
- position: relative;
2289
+ position: absolute;
2290
+ bottom: 0px;
2291
+ left: 0px;
2292
+ right: 0px;
2034
2293
  }
2035
2294
 
2036
2295
  .bee-video-controller {
package/es/index.js CHANGED
@@ -1 +1 @@
1
- export{default as AnnotationView}from"./components/AnnotationView/index.js";export{default as PointCloudAnnotationView}from"./components/AnnotationView/pointCloudAnnotationView.js";export{default as QuestionView}from"./components/LLMToolView/questionView/index.js";import{i18n as c}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import n,{useState as d,useImperativeHandle as m}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import w from"./App.js";import x from"./configureStore.js";import{PageBackward as P,PageForward as g,PageJump as v}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js";import{PointCloudProvider as _}from"./components/pointCloudView/PointCloudContext.js";import{LabelBeeContext as j}from"./store/ctx.js";export{default as PredictTracking}from"./components/predictTracking/predictTrackingIcon/index.js";export{default as LLMToolView}from"./components/LLMToolView/index.js";export{default as SwitchCuboidBoxIn2DView}from"./views/MainView/toolFooter/SwitchCuboidBoxIn2DView/index.js";export{EDataFormatType,ELLMDataType,EStepType,ESubmitType,componentCls,prefix}from"./constant/index.js";var T=Object.defineProperty,V=Object.defineProperties,b=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,s=(o,e,t)=>e in o?T(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,y=(o,e)=>{for(var t in e||(e={}))I.call(e,t)&&s(o,t,e[t]);if(p)for(var t of p(e))O.call(e,t)&&s(o,t,e[t]);return o},E=(o,e)=>V(o,b(e));const r=x(),A=(o,e)=>{const[t,l]=d();return m(e,()=>({toolInstance:t,annotationEngine:r.getState().annotation.annotationEngine,pageBackwardActions:()=>r.dispatch(P()),pageForwardActions:()=>r.dispatch(g()),pageJump:a=>{const i=~~a-1;r.dispatch(v(i))},hello:()=>alert("hello labelBee!!!")}),[t]),n.createElement(u,{store:r,context:j},n.createElement(f,{i18n:c},n.createElement(_,null,n.createElement(w,E(y({},o),{setToolInstance:a=>{var i;l(a),(i=o.onLoad)==null||i.call(o,{toolInstance:a})}})))))};var C=n.forwardRef(A);export{C as default,r as store};
1
+ export{default as AnnotationView}from"./components/AnnotationView/index.js";export{default as PointCloudAnnotationView}from"./components/AnnotationView/pointCloudAnnotationView.js";export{default as QuestionView}from"./components/LLMToolView/questionView/index.js";import{i18n as c}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import n,{useState as d,useImperativeHandle as m}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import w from"./App.js";import x from"./configureStore.js";import{PageBackward as g,PageForward as P,PageJump as v}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoAnnotate/videoTagTool/TagToolInstanceAdaptorI18nProvider.js";import{PointCloudProvider as _}from"./components/pointCloudView/PointCloudContext.js";import{LabelBeeContext as T}from"./store/ctx.js";export{default as PredictTracking}from"./components/predictTracking/predictTrackingIcon/index.js";export{default as LLMToolView}from"./components/LLMToolView/index.js";export{default as SwitchCuboidBoxIn2DView}from"./views/MainView/toolFooter/SwitchCuboidBoxIn2DView/index.js";export{EDataFormatType,ELLMDataType,EStepType,ESubmitType,componentCls,prefix}from"./constant/index.js";var j=Object.defineProperty,V=Object.defineProperties,b=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,s=(o,e,t)=>e in o?j(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,A=(o,e)=>{for(var t in e||(e={}))I.call(e,t)&&s(o,t,e[t]);if(p)for(var t of p(e))O.call(e,t)&&s(o,t,e[t]);return o},E=(o,e)=>V(o,b(e));const r=x(),y=(o,e)=>{const[t,l]=d();return m(e,()=>({toolInstance:t,annotationEngine:r.getState().annotation.annotationEngine,pageBackwardActions:()=>r.dispatch(g()),pageForwardActions:()=>r.dispatch(P()),pageJump:a=>{const i=~~a-1;r.dispatch(v(i))},hello:()=>alert("hello labelBee!!!")}),[t]),n.createElement(u,{store:r,context:T},n.createElement(f,{i18n:c},n.createElement(_,null,n.createElement(w,E(A({},o),{setToolInstance:a=>{var i;l(a),(i=o.onLoad)==null||i.call(o,{toolInstance:a})}})))))};var C=n.forwardRef(y);export{C as default,r as store};
@@ -1 +1 @@
1
- import{getFormatSize as Et}from"../../components/customResizeHook/index.js";import{ESubmitType as K}from"../../constant/index.js";import St from"../../constant/styleString.js";import{ANNOTATION_ACTIONS as i}from"../Actions.js";import{jsonParser as U}from"../../utils/index.js";import W from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as At}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as lt,composeResult as Y}from"../../utils/data.js";import N from"../../utils/StepUtils.js";import J from"../../utils/ToolUtils.js";import{MathUtils as it,CommonToolUtils as Dt,AnnotationEngine as vt,ImgUtils as yt}from"@labelbee/lb-annotation";import{PointCloudUtils as rt,i18n as F}from"@labelbee/lb-utils";import{Modal as ut}from"antd";import{message as at}from"antd/es";import ct from"lodash";import{SetAnnotationLoading as $}from"./actionCreators.js";import{EToolName as dt}from"../../data/enums/ToolType.js";var Rt=Object.defineProperty,Pt=Object.defineProperties,Ct=Object.getOwnPropertyDescriptors,pt=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,Ot=Object.prototype.propertyIsEnumerable,gt=(t,e,r)=>e in t?Rt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,n=(t,e)=>{for(var r in e||(e={}))ht.call(e,r)&&gt(t,r,e[r]);if(pt)for(var r of pt(e))Ot.call(e,r)&&gt(t,r,e[r]);return t},l=(t,e)=>Pt(t,Ct(e)),_t=(t,e,r)=>new Promise((E,d)=>{var f=m=>{try{A(r.next(m))}catch(y){d(y)}},S=m=>{try{A(r.throw(m))}catch(y){d(y)}},A=m=>m.done?E(m.value):Promise.resolve(m.value).then(f,S);A((r=r.apply(t,e)).next())});const B=(t,e)=>t.find(r=>r.step===e),It={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,loadPCDFileLoading:!0,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1,checkMode:!1,predictionResult:[],predictionResultVisible:!1,highlightAttribute:""},bt=t=>{const{imgList:e,imgPageSize:r}=t;return Math.ceil(e.length/r)},mt=(t,e)=>t.reduce((r,E)=>{if(E){const d=E.result;if(U(d)[`step_${e}`])return r+1}return r},0)/t.length,Ut=(t,e)=>{const{step:r,stepList:E}=t,d=N.getCurrentStepInfo(r,E),f=At.jsonParser(d.config);if(J.isVideoTool(d==null?void 0:d.tool)||J.isAudioTool(d==null?void 0:d.tool)||J.isPointCloudTool(d==null?void 0:d.tool)||dt.LLM===(d==null?void 0:d.tool))return;const S=document.getElementById("toolContainer");if(!S)throw"Not exist dom named id-toolContainer";const A=Et({width:window.innerWidth,height:window.innerHeight}),m=new vt({container:S,toolName:d.tool,size:A,imgNode:e,config:f,style:JSON.parse(St)});return{toolInstance:m==null?void 0:m.toolInstance,annotationEngine:m}},Nt=(t,e)=>(r,E)=>_t(void 0,null,function*(){var d;const{stepList:f,step:S}=E().annotation,A=N.currentToolIsVideo(S,f),m=N.currentToolIsPointCloud(S,f),y=((d=N.getCurrentStepInfo(S,f))==null?void 0:d.tool)===dt.LLM,h=N.currentToolIsAudio(S,f);if($(r,!0),yield r(Bt(t)),A||m||y||h){r(wt(t));return}r(xt(t,e))}),Bt=t=>(e,r)=>_t(void 0,null,function*(){const{getFileData:E,imgList:d}=r().annotation;if(E){const f=yield E(d[t],t);e({type:i.SET_FILE_DATA,payload:{fileData:f,index:t}})}}),wt=t=>e=>{$(e,!1),e({type:i.LOAD_FILE_DATA,payload:{nextIndex:t}})},xt=(t,e)=>(r,E)=>{var d;const{toolInstance:f,imgList:S}=E().annotation,A=(d=S==null?void 0:S[t])==null?void 0:d.url;yt.load(A).then(m=>{$(r,!1),r({type:i.LOAD_FILE_DATA,payload:{imgNode:m,nextIndex:t,nextBasicIndex:e}})}).catch(()=>{$(r,!1),f==null||f.setErrorImg(),r({type:i.LOAD_FILE_DATA,payload:{nextIndex:t,nextBasicIndex:e}})})},Ft=({toolInstance:t,imgList:e,imgIndex:r,stepList:E,step:d=1})=>{var f,S,A,m;const y=((f=e[r])==null?void 0:f.result)||"",[h,j,G]=(S=t==null?void 0:t.exportData())!=null?S:[],V=(m=(A=t==null?void 0:t.exportCustomData)==null?void 0:A.call(t))!=null?m:{},M=lt(y,j),k=Y(M,{step:d,stepList:E},{rect:h},V);return e.map((w,H)=>H===r?n(l(n({},w),{result:k}),G):n({},w))},jt=(t=n({},It),e)=>{var r,E,d,f,S,A,m,y,h,j,G,V,M,k,w,H,X,q,Z,Q,tt,et,ot;switch(e.type){case i.INIT_ALL_STATE:return n(n({},t),It);case i.UPDATE_TOOL_INSTANCE:return l(n({},t),{toolInstance:e.payload.toolInstance});case i.UPDATE_IMG_LIST:return l(n({},t),{imgList:e.payload.imgList});case i.CALC_STEP_PROGRESS:{const{imgList:o,step:s}=t,u=mt(o,s);return l(n({},t),{stepProgress:u})}case i.SUBMIT_FILE_DATA:{const{imgList:o,imgIndex:s,step:u,stepList:a,toolInstance:p,onSubmit:c,resultList:T}=t;if(!p||!o[s])return t;const _=((r=o[s])==null?void 0:r.result)||"",[,g,I]=(E=p==null?void 0:p.exportData())!=null?E:[],L=(f=(d=p==null?void 0:p.exportCustomData)==null?void 0:d.call(p))!=null?f:{},D=lt(_,g),R=Y(D,{step:u,stepList:a},{rect:T},L),v=t.imgList.map((C,P)=>{if(P===s){const x=W.dataCorrection(R,_,u,a);return n(l(n({},C),{result:x}),I)}return C});if(((S=e.payload)==null?void 0:S.submitType)===K.SyncImgList)return l(n({},t),{imgList:v});c&&c([v[s]],(A=e.payload)==null?void 0:A.submitType,s,v);const O=mt(v,u);return l(n({},t),{stepProgress:O,imgList:v})}case i.SAVE_RESULT:{const{imgList:o,imgIndex:s,onSave:u}=t;return u==null||u(o[s],s,o),n({},t)}case i.SUBMIT_RESULT:{const{imgList:o,basicIndex:s,resultList:u,toolInstance:a,basicResultList:p}=t;if(!a)return t;const[c]=(m=a==null?void 0:a.exportData())!=null?m:[];let T=c;if((p==null?void 0:p.length)>0){const _=(y=p[s])==null?void 0:y.id,g=c.map(I=>l(n({},I),{sourceID:_}));T=ct.cloneDeep(u).filter(I=>I.sourceID!==_),T.push(...g)}return l(n({},t),{resultList:T,imgList:o})}case i.SET_BASIC_INDEX:{const{toolInstance:o,step:s,imgList:u,imgIndex:a,stepList:p,annotationEngine:c,resultList:T,basicResultList:_}=t;if(!o||!c)return t;const g=e.payload.basicIndex,I=(h=_[g])==null?void 0:h.id,L=U((j=u[a])==null?void 0:j.result),D=(T||[]).filter(x=>x.sourceID===I),R=B(p,s),{dataSourceStep:v,tool:O}=R,C=B(p,v);let P=[];return v&&O&&(P=(G=L[`step_${v}`])==null?void 0:G.result,(P==null?void 0:P.length)>0?(c==null||c.setBasicInfo(C.tool,P[g]),c==null||c.launchOperation()):(c==null||c.setBasicInfo(C.tool),c==null||c.forbidOperation(),at.info(F.t("NoDependency")))),o==null||o.setResult(D),o==null||o.history.initRecord(D,!0),l(n({},t),{basicIndex:g})}case i.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:o}=e.payload;return l(n({},t),{triggerEventAfterIndexChanged:!!o})}case i.LOAD_FILE_DATA:{const{imgList:o,step:s,toolInstance:u,annotationEngine:a,stepList:p}=t;if(!u)return l(n({},t),{imgIndex:e.payload.nextIndex});const c=N.getCurrentStepInfo(s,p),{nextIndex:T,imgNode:_,nextBasicIndex:g,imgError:I}=e.payload,L=g!=null?g:0,D=U((V=o[T])==null?void 0:V.result),R=D[`step_${c.step}`],v=!R,O={rotate:(M=D.rotate)!=null?M:0,valid:(k=D.valid)!=null?k:!0};_&&I!==!0?a==null||a.setImgNode(_,O):u==null||u.setValid(O.valid);const C=B(p,c.step),{dataSourceStep:P,tool:x}=C,nt=B(p,P),st=P&&x,b=(H=(w=D[`step_${P}`])==null?void 0:w.result)!=null?H:[],z=W.getInitialResultList(R==null?void 0:R.result,u,C,b,v);if(a==null||a.launchOperation(),st&&((b==null?void 0:b.length)>0?a==null||a.setBasicInfo(nt.tool,b[L]):(a==null||a.setBasicInfo(nt.tool),a==null||a.forbidOperation(),at.info(F.t("NoDependency")))),c.tool!=="check"){const ft=(q=(X=b[L])==null?void 0:X.id)!=null?q:"",Tt=st?z.filter(Lt=>Dt.isSameSourceID(Lt.sourceID,ft)):z;u==null||u.history.initRecord(z,!0),u==null||u.setResult(Tt)}return l(n({},t),{imgIndex:T,basicIndex:L,basicResultList:b,resultList:z})}case i.UPDATE_ANNOTATION_CONFIG:return l(n({},t),{config:(Z=e.payload.config)!=null?Z:"{}"});case i.SET_TASK_STEP_LIST:{const{stepList:o}=e.payload;return l(n({},t),{stepList:o})}case i.SET_TASK_CONFIG:{const{stepList:o,step:s}=e.payload;return l(n({},t),{stepList:o,step:s})}case i.INIT_TOOL:{const{imgNode:o}=t,s=Ut(t,o);if(s){const{toolInstance:u,annotationEngine:a}=s;return l(n({},t),{toolInstance:u,annotationEngine:a})}return n({},t)}case i.SET_TOOL:{const o=(Q=e.payload)==null?void 0:Q.instance;return o?l(n({},t),{toolInstance:o}):n({},t)}case i.UPDATE_ON_SUBMIT:return l(n({},t),{onSubmit:e.payload.onSubmit});case i.UPDATE_ON_SAVE:return l(n({},t),{onSave:e.payload.onSave});case i.UPDATE_ON_PAGE_CHANGE:return l(n({},t),{onPageChange:e.payload.onPageChange});case i.SET_PREDICT_RESULT:return l(n({},t),{predictionResult:e.payload.result});case i.SET_PREDICT_RESULT_VISIBLE:return l(n({},t),{predictionResultVisible:e.payload.visible});case i.UPDATE_ON_STEP_CHANGE:return l(n({},t),{onStepChange:e.payload.onStepChange});case i.UPDATE_GET_FILE_DATA:return l(n({},t),{getFileData:e.payload.getFileData});case i.UPDATE_PAGE_SIZE:return l(n({},t),{pageSize:e.payload.pageSize});case i.UPDATE_LOAD_FILE_LIST:return l(n({},t),{loadFileList:e.payload.loadFileList});case i.UPDATE_BEFORE_ROTATE:return l(n({},t),{beforeRotate:e.payload.beforeRotate});case i.UPDATE_PRE_DATA_PROCESS:return l(n({},t),{preDataProcess:e.payload.preDataProcess});case i.SKIP_BEFORE_PAGE_TURNING:return l(n({},t),{skipBeforePageTurning:e.payload.skipBeforePageTurning});case i.SET_FILE_DATA:{const{fileData:o,index:s}=e.payload,{imgList:u}=t,a=[...u];return a[s]=n(n({},a[s]),o),l(n({},t),{imgList:a})}case i.UPDATE_ROTATE:{const{toolInstance:o,beforeRotate:s}=t;return s&&s()===!1||o==null||o.updateRotate(),t}case i.UPDATE_ANNOTATION_VALID:{const{toolInstance:o}=t,s=(tt=o==null?void 0:o.valid)!=null?tt:!0;return ut.destroyAll(),ut.confirm({content:F.t(s?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{o==null||o.setValid(!s)},okText:F.t("Confirm"),cancelText:F.t("Cancel")}),t}case i.COPY_BACKWARD_RESULT:{const{toolInstance:o,imgIndex:s,imgList:u,step:a}=t;if(!o)return t;if(s===0||s>=u.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),t;const p=u[s-1].result;if(!p)return t;const c=W.copyResultChange(p,a,(et=u[s].result)!=null?et:"");u[s]=l(n({},u[s]),{result:c});const _=U(c)[`step_${a}`],g=(_==null?void 0:_.result)||[];return o==null||o.setResult(g),o==null||o.history.pushHistory(g),(ot=o==null?void 0:o.asyncData)==null||ot.call(o,u[s]),l(n({},t),{imgList:[...u]})}case i.SET_STEP:{const{stepList:o,annotationEngine:s}=t,{toStep:u}=e.payload;if(!s)return t;const a=B(o,u);return s==null||s.setToolName(a.tool,a.config),l(n({},t),{step:u,toolInstance:s==null?void 0:s.toolInstance})}case i.SET_LOADPCDFILE_LOADING:{const{loadPCDFileLoading:o}=e.payload;return l(n({},t),{loadPCDFileLoading:!!o})}case i.SET_LOADING:{const{loading:o}=e.payload;return l(n({},t),{loading:!!o})}case i.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:o}=e.payload;return l(n({},t),{pointCloudLoading:!!o})}case i.SET_CHECK_MODE:{const{checkMode:o}=e.payload;return l(n({},t),{checkMode:!!o})}case i.SET_HIGHLIGHT_ATTRIBUTE:{const{attribute:o}=e.payload;return l(n({},t),{highlightAttribute:o})}case i.BATCH_UPDATE_TRACK_ID:{const{id:o,newID:s,rangeIndex:u,imgList:a}=e.payload,{imgIndex:p,onSubmit:c}=t,T=[],_=a.map((g,I)=>{if(it.isInRange(I,u)){const L=l(n({},g),{result:rt.batchUpdateTrackID({id:o,newID:s,result:g.result})});return T.push({imgIndex:I,newInfo:L}),L}return g});return c&&c([_[p]],K.BatchUpdateTrackID,p,_,{updateImgList:T}),l(n({},t),{imgList:_})}case i.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const{id:o,newData:s,rangeIndex:u}=e.payload,{imgList:a,imgIndex:p,onSubmit:c}=t,T=[],_=a.map((g,I)=>{if(it.isInRange(I,u)){const L=l(n({},g),{result:rt.batchUpdateResultByTrackID({id:o,newData:s,result:g.result})});return T.push({imgIndex:I,newInfo:L}),L}return g});return c&&c([_[p]],K.BatchUpdateTrackID,p,_,{updateImgList:T}),l(n({},t),{imgList:_})}case i.BATCH_UPDATE_IMG_LIST_RESULT_BY_PREDICT_RESULT:{const{onSubmit:o,imgList:s,stepList:u,step:a,predictionResult:p}=t,c={};p.forEach(I=>{const{index:L}=I;c[L]=ct.pick(I,["center","width","height","depth","rotation","id","attribute","valid","trackID"])});const T=`step_${a}`,_=[],g=s.map((I,L)=>{if(c[L]){const D=I.result==="{}"?U(Y("",{step:a,stepList:u},{rect:[]},{})):U(I.result);D[T].result.push(c[L]);const R=l(n({},I),{result:JSON.stringify(D)});return _.push({imgIndex:L,newInfo:R}),R}return I});return o==null||o(g,K.BatchUpdateImgList,-1,g,{updateImgList:_}),l(n({},t),{imgList:g})}default:return t}};export{Nt as LoadFileAndFileData,jt as annotationReducer,Ft as composeResultByToolInstance,B as getStepConfig,bt as getTotalPage};
1
+ import{getFormatSize as At}from"../../components/customResizeHook/index.js";import{ESubmitType as K}from"../../constant/index.js";import Dt from"../../constant/styleString.js";import{ANNOTATION_ACTIONS as i}from"../Actions.js";import{jsonParser as U}from"../../utils/index.js";import W from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as vt}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as rt,composeResult as Y}from"../../utils/data.js";import N from"../../utils/StepUtils.js";import J from"../../utils/ToolUtils.js";import{MathUtils as ut,CommonToolUtils as yt,AnnotationEngine as Rt,ImgUtils as Pt}from"@labelbee/lb-annotation";import{PointCloudUtils as at,i18n as F}from"@labelbee/lb-utils";import{Modal as ct}from"antd";import{message as dt}from"antd/es";import pt from"lodash";import{SetAnnotationLoading as $}from"./actionCreators.js";import{EToolName as _t}from"../../data/enums/ToolType.js";var Ct=Object.defineProperty,ht=Object.defineProperties,Ot=Object.getOwnPropertyDescriptors,gt=Object.getOwnPropertySymbols,bt=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable,It=(t,e,r)=>e in t?Ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,n=(t,e)=>{for(var r in e||(e={}))bt.call(e,r)&&It(t,r,e[r]);if(gt)for(var r of gt(e))Ut.call(e,r)&&It(t,r,e[r]);return t},l=(t,e)=>ht(t,Ot(e)),mt=(t,e,r)=>new Promise((E,d)=>{var f=m=>{try{A(r.next(m))}catch(y){d(y)}},S=m=>{try{A(r.throw(m))}catch(y){d(y)}},A=m=>m.done?E(m.value):Promise.resolve(m.value).then(f,S);A((r=r.apply(t,e)).next())});const B=(t,e)=>t.find(r=>r.step===e),ft={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,loadPCDFileLoading:!0,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1,checkMode:!1,predictionResult:[],predictionResultVisible:!1,highlightAttribute:""},Nt=t=>{const{imgList:e,imgPageSize:r}=t;return Math.ceil(e.length/r)},Tt=(t,e)=>t.reduce((r,E)=>{if(E){const d=E.result;if(U(d)[`step_${e}`])return r+1}return r},0)/t.length,Bt=(t,e)=>{const{step:r,stepList:E}=t,d=N.getCurrentStepInfo(r,E),f=vt.jsonParser(d.config);if(J.isVideoTool(d==null?void 0:d.tool)||J.isAudioTool(d==null?void 0:d.tool)||J.isPointCloudTool(d==null?void 0:d.tool)||_t.LLM===(d==null?void 0:d.tool))return;const S=document.getElementById("toolContainer");if(!S)throw"Not exist dom named id-toolContainer";const A=At({width:window.innerWidth,height:window.innerHeight}),m=new Rt({container:S,toolName:d.tool,size:A,imgNode:e,config:f,style:JSON.parse(Dt)});return{toolInstance:m==null?void 0:m.toolInstance,annotationEngine:m}},wt=(t,e)=>(r,E)=>mt(void 0,null,function*(){var d;const{stepList:f,step:S}=E().annotation,A=N.currentToolIsVideo(S,f),m=N.currentToolIsPointCloud(S,f),y=((d=N.getCurrentStepInfo(S,f))==null?void 0:d.tool)===_t.LLM,h=N.currentToolIsAudio(S,f);if($(r,!0),yield r(xt(t)),A||m||y||h){r(Ft(t));return}r(jt(t,e))}),xt=t=>(e,r)=>mt(void 0,null,function*(){const{getFileData:E,imgList:d}=r().annotation;if(E){const f=yield E(d[t],t);e({type:i.SET_FILE_DATA,payload:{fileData:f,index:t}})}}),Ft=t=>e=>{$(e,!1),e({type:i.LOAD_FILE_DATA,payload:{nextIndex:t}})},jt=(t,e)=>(r,E)=>{var d;const{toolInstance:f,imgList:S}=E().annotation,A=(d=S==null?void 0:S[t])==null?void 0:d.url;Pt.load(A).then(m=>{$(r,!1),r({type:i.LOAD_FILE_DATA,payload:{imgNode:m,nextIndex:t,nextBasicIndex:e}})}).catch(()=>{$(r,!1),f==null||f.setErrorImg(),r({type:i.LOAD_FILE_DATA,payload:{nextIndex:t,nextBasicIndex:e}})})},Gt=({toolInstance:t,imgList:e,imgIndex:r,stepList:E,step:d=1})=>{var f,S,A,m;const y=((f=e[r])==null?void 0:f.result)||"",[h,j,G]=(S=t==null?void 0:t.exportData())!=null?S:[],V=(m=(A=t==null?void 0:t.exportCustomData)==null?void 0:A.call(t))!=null?m:{},M=rt(y,j),k=Y(M,{step:d,stepList:E},{rect:h},V);return e.map((w,H)=>H===r?n(l(n({},w),{result:k}),G):n({},w))},Vt=(t=n({},ft),e)=>{var r,E,d,f,S,A,m,y,h,j,G,V,M,k,w,H,X,q,Z,Q,tt,et,ot,nt,st;switch(e.type){case i.INIT_ALL_STATE:return n(n({},t),ft);case i.UPDATE_TOOL_INSTANCE:return l(n({},t),{toolInstance:e.payload.toolInstance});case i.UPDATE_IMG_LIST:return l(n({},t),{imgList:e.payload.imgList});case i.CALC_STEP_PROGRESS:{const{imgList:o,step:s}=t,u=Tt(o,s);return l(n({},t),{stepProgress:u})}case i.SUBMIT_FILE_DATA:{const{imgList:o,imgIndex:s,step:u,stepList:a,toolInstance:p,onSubmit:c,resultList:T}=t;if(!p||!o[s])return t;const g=((r=o[s])==null?void 0:r.result)||"",[,_,I]=(E=p==null?void 0:p.exportData())!=null?E:[],L=(f=(d=p==null?void 0:p.exportCustomData)==null?void 0:d.call(p))!=null?f:{},D=rt(g,_),R=Y(D,{step:u,stepList:a},{rect:T},L),v=t.imgList.map((C,P)=>{if(P===s){const x=W.dataCorrection(R,g,u,a);return n(l(n({},C),{result:x}),I)}return C});if(((S=e.payload)==null?void 0:S.submitType)===K.SyncImgList)return l(n({},t),{imgList:v});c&&c([v[s]],(A=e.payload)==null?void 0:A.submitType,s,v);const O=Tt(v,u);return l(n({},t),{stepProgress:O,imgList:v})}case i.SAVE_RESULT:{const{imgList:o,imgIndex:s,onSave:u}=t;return u==null||u(o[s],s,o),n({},t)}case i.SUBMIT_RESULT:{const{imgList:o,basicIndex:s,resultList:u,toolInstance:a,basicResultList:p}=t;if(!a)return t;const[c]=(m=a==null?void 0:a.exportData())!=null?m:[];let T=c;if((p==null?void 0:p.length)>0){const g=(y=p[s])==null?void 0:y.id,_=c.map(I=>l(n({},I),{sourceID:g}));T=pt.cloneDeep(u).filter(I=>I.sourceID!==g),T.push(..._)}return l(n({},t),{resultList:T,imgList:o})}case i.SET_BASIC_INDEX:{const{toolInstance:o,step:s,imgList:u,imgIndex:a,stepList:p,annotationEngine:c,resultList:T,basicResultList:g}=t;if(!o||!c)return t;const _=e.payload.basicIndex,I=(h=g[_])==null?void 0:h.id,L=U((j=u[a])==null?void 0:j.result),D=(T||[]).filter(x=>x.sourceID===I),R=B(p,s),{dataSourceStep:v,tool:O}=R,C=B(p,v);let P=[];return v&&O&&(P=(G=L[`step_${v}`])==null?void 0:G.result,(P==null?void 0:P.length)>0?(c==null||c.setBasicInfo(C.tool,P[_]),c==null||c.launchOperation()):(c==null||c.setBasicInfo(C.tool),c==null||c.forbidOperation(),dt.info(F.t("NoDependency")))),o==null||o.setResult(D),o==null||o.history.initRecord(D,!0),l(n({},t),{basicIndex:_})}case i.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:o}=e.payload;return l(n({},t),{triggerEventAfterIndexChanged:!!o})}case i.LOAD_FILE_DATA:{const{imgList:o,step:s,toolInstance:u,annotationEngine:a,stepList:p}=t;if(!u)return l(n({},t),{imgIndex:e.payload.nextIndex});const c=N.getCurrentStepInfo(s,p),{nextIndex:T,imgNode:g,nextBasicIndex:_,imgError:I}=e.payload,L=_!=null?_:0,D=U((V=o[T])==null?void 0:V.result),R=D[`step_${c.step}`],v=!R,O={rotate:(M=D.rotate)!=null?M:0,valid:(k=D.valid)!=null?k:!0};g&&I!==!0?a==null||a.setImgNode(g,O):u==null||u.setValid(O.valid);const C=B(p,c.step),{dataSourceStep:P,tool:x}=C,lt=B(p,P),it=P&&x,b=(H=(w=D[`step_${P}`])==null?void 0:w.result)!=null?H:[],z=W.getInitialResultList(R==null?void 0:R.result,u,C,b,v);if(a==null||a.launchOperation(),it&&((b==null?void 0:b.length)>0?a==null||a.setBasicInfo(lt.tool,b[L]):(a==null||a.setBasicInfo(lt.tool),a==null||a.forbidOperation(),dt.info(F.t("NoDependency")))),c.tool!=="check"){const Lt=(q=(X=b[L])==null?void 0:X.id)!=null?q:"",Et=it?z.filter(St=>yt.isSameSourceID(St.sourceID,Lt)):z;(Z=u==null?void 0:u.history)==null||Z.initRecord(z,!0),u==null||u.setResult(Et)}return l(n({},t),{imgIndex:T,basicIndex:L,basicResultList:b,resultList:z})}case i.UPDATE_ANNOTATION_CONFIG:return l(n({},t),{config:(Q=e.payload.config)!=null?Q:"{}"});case i.SET_TASK_STEP_LIST:{const{stepList:o}=e.payload;return l(n({},t),{stepList:o})}case i.SET_TASK_CONFIG:{const{stepList:o,step:s}=e.payload;return l(n({},t),{stepList:o,step:s})}case i.INIT_TOOL:{const{imgNode:o}=t,s=Bt(t,o);if(s){const{toolInstance:u,annotationEngine:a}=s;return l(n({},t),{toolInstance:u,annotationEngine:a})}return n({},t)}case i.SET_TOOL:{const o=(tt=e.payload)==null?void 0:tt.instance;return o?l(n({},t),{toolInstance:o}):n({},t)}case i.UPDATE_ON_SUBMIT:return l(n({},t),{onSubmit:e.payload.onSubmit});case i.UPDATE_ON_SAVE:return l(n({},t),{onSave:e.payload.onSave});case i.UPDATE_ON_PAGE_CHANGE:return l(n({},t),{onPageChange:e.payload.onPageChange});case i.SET_PREDICT_RESULT:return l(n({},t),{predictionResult:e.payload.result});case i.SET_PREDICT_RESULT_VISIBLE:return l(n({},t),{predictionResultVisible:e.payload.visible});case i.UPDATE_ON_STEP_CHANGE:return l(n({},t),{onStepChange:e.payload.onStepChange});case i.UPDATE_GET_FILE_DATA:return l(n({},t),{getFileData:e.payload.getFileData});case i.UPDATE_PAGE_SIZE:return l(n({},t),{pageSize:e.payload.pageSize});case i.UPDATE_LOAD_FILE_LIST:return l(n({},t),{loadFileList:e.payload.loadFileList});case i.UPDATE_BEFORE_ROTATE:return l(n({},t),{beforeRotate:e.payload.beforeRotate});case i.UPDATE_PRE_DATA_PROCESS:return l(n({},t),{preDataProcess:e.payload.preDataProcess});case i.SKIP_BEFORE_PAGE_TURNING:return l(n({},t),{skipBeforePageTurning:e.payload.skipBeforePageTurning});case i.SET_FILE_DATA:{const{fileData:o,index:s}=e.payload,{imgList:u}=t,a=[...u];return a[s]=n(n({},a[s]),o),l(n({},t),{imgList:a})}case i.UPDATE_ROTATE:{const{toolInstance:o,beforeRotate:s}=t;return s&&s()===!1||(et=o==null?void 0:o.updateRotate)==null||et.call(o),t}case i.UPDATE_ANNOTATION_VALID:{const{toolInstance:o}=t,s=(ot=o==null?void 0:o.valid)!=null?ot:!0;return ct.destroyAll(),ct.confirm({content:F.t(s?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{o==null||o.setValid(!s)},okText:F.t("Confirm"),cancelText:F.t("Cancel")}),t}case i.COPY_BACKWARD_RESULT:{const{toolInstance:o,imgIndex:s,imgList:u,step:a}=t;if(!o)return t;if(s===0||s>=u.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),t;const p=u[s-1].result;if(!p)return t;const c=W.copyResultChange(p,a,(nt=u[s].result)!=null?nt:"");u[s]=l(n({},u[s]),{result:c});const g=U(c)[`step_${a}`],_=(g==null?void 0:g.result)||[];return o==null||o.setResult(_),o==null||o.history.pushHistory(_),(st=o==null?void 0:o.asyncData)==null||st.call(o,u[s]),l(n({},t),{imgList:[...u]})}case i.SET_STEP:{const{stepList:o,annotationEngine:s}=t,{toStep:u}=e.payload;if(!s)return t;const a=B(o,u);return s==null||s.setToolName(a.tool,a.config),l(n({},t),{step:u,toolInstance:s==null?void 0:s.toolInstance})}case i.SET_LOADPCDFILE_LOADING:{const{loadPCDFileLoading:o}=e.payload;return l(n({},t),{loadPCDFileLoading:!!o})}case i.SET_LOADING:{const{loading:o}=e.payload;return l(n({},t),{loading:!!o})}case i.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:o}=e.payload;return l(n({},t),{pointCloudLoading:!!o})}case i.SET_CHECK_MODE:{const{checkMode:o}=e.payload;return l(n({},t),{checkMode:!!o})}case i.SET_HIGHLIGHT_ATTRIBUTE:{const{attribute:o}=e.payload;return l(n({},t),{highlightAttribute:o})}case i.BATCH_UPDATE_TRACK_ID:{const{id:o,newID:s,rangeIndex:u,imgList:a}=e.payload,{imgIndex:p,onSubmit:c}=t,T=[],g=a.map((_,I)=>{if(ut.isInRange(I,u)){const L=l(n({},_),{result:at.batchUpdateTrackID({id:o,newID:s,result:_.result})});return T.push({imgIndex:I,newInfo:L}),L}return _});return c&&c([g[p]],K.BatchUpdateTrackID,p,g,{updateImgList:T}),l(n({},t),{imgList:g})}case i.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const{id:o,newData:s,rangeIndex:u}=e.payload,{imgList:a,imgIndex:p,onSubmit:c}=t,T=[],g=a.map((_,I)=>{if(ut.isInRange(I,u)){const L=l(n({},_),{result:at.batchUpdateResultByTrackID({id:o,newData:s,result:_.result})});return T.push({imgIndex:I,newInfo:L}),L}return _});return c&&c([g[p]],K.BatchUpdateTrackID,p,g,{updateImgList:T}),l(n({},t),{imgList:g})}case i.BATCH_UPDATE_IMG_LIST_RESULT_BY_PREDICT_RESULT:{const{onSubmit:o,imgList:s,stepList:u,step:a,predictionResult:p}=t,c={};p.forEach(I=>{const{index:L}=I;c[L]=pt.pick(I,["center","width","height","depth","rotation","id","attribute","valid","trackID"])});const T=`step_${a}`,g=[],_=s.map((I,L)=>{if(c[L]){const D=I.result==="{}"?U(Y("",{step:a,stepList:u},{rect:[]},{})):U(I.result);D[T].result.push(c[L]);const R=l(n({},I),{result:JSON.stringify(D)});return g.push({imgIndex:L,newInfo:R}),R}return I});return o==null||o(_,K.BatchUpdateImgList,-1,_,{updateImgList:g}),l(n({},t),{imgList:_})}default:return t}};export{wt as LoadFileAndFileData,Vt as annotationReducer,Gt as composeResultByToolInstance,B as getStepConfig,Nt as getTotalPage};
package/es/utils/audio.js CHANGED
@@ -1 +1 @@
1
- import"antd";import{cStyle as b}from"@labelbee/lb-annotation";import"lodash";import l from"decimal.js";import c from"moment";const{COLORS_ARRAY:a,ICON_ARRAY:$,INVALID_ICON:F,NULL_COLOR:d,NULL_ICON:k,WHITE_FONT_COLOR_ARRAY:h}=b,C={label:"\u6587\u672C",key:"text",required:!1,default:"",maxLength:1e3},I=(t,e)=>{var r,n;try{const o=i(t,e);return(n=(r=e[o])==null?void 0:r.key)!=null?n:t}catch(o){return t}},i=(t,e)=>{try{return e.findIndex(n=>n.value===t)}catch(r){return-1}},m=(t,e)=>{try{const r=i(t,e);return r===-1?d:a[r%a.length]}catch(r){return d}},p=(t,e)=>{try{const r=m(t,e);return h.includes(r)?"#fff":"#333"}catch(r){return"#333"}},g=(t,e)=>{var r;try{const n=((r=t.match(/\((.*)\)/))==null?void 0:r[1].split(","))||[];return n.splice(3,1,e.toString()),`rgba(${n.join(",")})`}catch(n){return t}},A=(t,e)=>new l(Number(t)||0).minus(Number(e)||0).toNumber(),_=(t,e)=>new l(t).add(e).toNumber(),v=t=>{let e=null;return n=>e?n.target===(e==null?void 0:e.target):(e=n,setTimeout(()=>{e=null},t),!1)},x=v(300),N=t=>{const e=Math.floor(t*1e3),r=c.duration(e);return`${Math.floor(r.asMinutes())}:${c.utc(e).format("ss")}`},O=(t,e="ss.S")=>{const r=Math.floor(t*1e3),n=c.duration(r);return`${E(Math.floor(n.asMinutes()))}:${c.utc(r).format(e)}`},E=t=>t<10?`0${t}`:t,R=(t,e)=>{let r=null,n=null;const o=t.length;if(o===0)return{min:r,max:n};let u=0;return e<t[u]?n=t[u]:(t.forEach((s,f)=>{e>s&&(r=s,u=f)}),r&&u<o-1&&(n=t[u+1])),{min:r,max:n}},y=()=>{const t=document.createEvent("Event");t.initEvent("resize",!0,!0),window.dispatchEvent(t)};export{C as DEFAULT_TEXT_CONFIG_ITEM,y as dispatchResizeEvent,N as formatTime,m as getAttributeColor,p as getAttributeFontColor,i as getAttributeIndex,I as getAttributeShowText,R as getCanMoveRange,x as isDoubleClick,_ as precisionAdd,A as precisionMinus,O as timeFormat,g as updateColorOpacity};
1
+ import"antd";import{cStyle as b}from"@labelbee/lb-annotation";import"lodash";import s from"decimal.js";import c from"moment";const{COLORS_ARRAY:a,ICON_ARRAY:F,INVALID_ICON:k,NULL_COLOR:d,NULL_ICON:D,WHITE_FONT_COLOR_ARRAY:h}=b,p={label:"\u6587\u672C",key:"text",required:!1,default:"",maxLength:1e3},C=(t,e)=>{var r,n;try{const o=i(t,e);return(n=(r=e[o])==null?void 0:r.key)!=null?n:t}catch(o){return t}},i=(t,e)=>{try{return e.findIndex(n=>n.value===t)}catch(r){return-1}},m=(t,e)=>{try{const r=i(t,e);return r===-1?d:a[r%a.length]}catch(r){return d}},I=(t,e)=>{try{const r=m(t,e);return h.includes(r)?"#fff":"#333"}catch(r){return"#333"}},g=(t,e)=>{var r;try{const n=((r=t.match(/\((.*)\)/))==null?void 0:r[1].split(","))||[];return n.splice(3,1,e.toString()),`rgba(${n.join(",")})`}catch(n){return t}},v=(t,e)=>new s(Number(t)||0).minus(Number(e)||0).toNumber(),A=(t,e)=>new s(t).add(e).toNumber(),_=t=>{let e=null;return n=>e?n.target===(e==null?void 0:e.target):(e=n,setTimeout(()=>{e=null},t),!1)},N=_(300),O=t=>{const e=Math.floor(t*1e3),r=c.duration(e);return`${Math.floor(r.asMinutes())}:${c.utc(e).format("ss")}`},x=(t,e="ss.S")=>{const r=Math.floor(t*1e3),n=c.duration(r);return`${y(Math.floor(n.asMinutes()))}:${c.utc(r).format(e)}`},y=t=>t<10?`0${t}`:t,E=(t,e)=>{let r=null,n=null;const o=t.length;if(o===0)return{min:r,max:n};let u=0;return e<t[u]?n=t[u]:(t.forEach((l,f)=>{e>l&&(r=l,u=f)}),r&&u<o-1&&(n=t[u+1])),{min:r,max:n}},R=()=>{const t=document.createEvent("Event");t.initEvent("resize",!0,!0),window.dispatchEvent(t)};function L(t){try{const e=JSON.parse(t);return typeof e.valid=="boolean"?e.valid:!0}catch(e){return!0}}export{p as DEFAULT_TEXT_CONFIG_ITEM,R as dispatchResizeEvent,O as formatTime,m as getAttributeColor,I as getAttributeFontColor,i as getAttributeIndex,C as getAttributeShowText,E as getCanMoveRange,N as isDoubleClick,L as isImageValue,A as precisionAdd,v as precisionMinus,x as timeFormat,g as updateColorOpacity};