@labelbee/lb-components 1.23.0-alpha.21 → 1.23.0-alpha.23

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 (33) hide show
  1. package/dist/components/audioAnnotate/audioContext/index.js +1 -1
  2. package/dist/components/audioAnnotate/audioSide/clipSidebar/index.js +1 -1
  3. package/dist/components/audioAnnotate/index.js +1 -1
  4. package/dist/components/audioAnnotate/textInput/index.js +1 -1
  5. package/dist/components/audioPlayer/clipRegion/index.js +1 -1
  6. package/dist/components/audioPlayer/index.js +1 -1
  7. package/dist/components/pointCloud2DRectOperationView/index.js +1 -1
  8. package/dist/components/pointCloudView/PointCloud3DView.js +1 -1
  9. package/dist/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  10. package/dist/store/annotation/reducer.js +1 -1
  11. package/dist/types/components/audioAnnotate/audioContext/index.d.ts +9 -1
  12. package/dist/types/components/audioAnnotate/textInput/index.d.ts +1 -0
  13. package/dist/types/components/audioPlayer/index.d.ts +3 -2
  14. package/dist/types/components/pointCloudView/hooks/usePointCloudViews.d.ts +5 -0
  15. package/dist/types/components/videoAnnotate/index.d.ts +1 -1
  16. package/dist/types/utils/AnnotationDataUtils.d.ts +54 -1
  17. package/dist/types/views/MainView/sidebar/TextToolSidebar/index.d.ts +1 -1
  18. package/dist/types/views/MainView/toolFooter/index.d.ts +1 -1
  19. package/dist/types/views/MainView/toolHeader/StepSwitch/index.d.ts +1 -1
  20. package/dist/types/views/MainView/toolHeader/index.d.ts +1 -1
  21. package/dist/utils/AnnotationDataUtils.js +1 -1
  22. package/es/components/audioAnnotate/audioContext/index.js +1 -1
  23. package/es/components/audioAnnotate/audioSide/clipSidebar/index.js +1 -1
  24. package/es/components/audioAnnotate/index.js +1 -1
  25. package/es/components/audioAnnotate/textInput/index.js +1 -1
  26. package/es/components/audioPlayer/clipRegion/index.js +1 -1
  27. package/es/components/audioPlayer/index.js +1 -1
  28. package/es/components/pointCloud2DRectOperationView/index.js +1 -1
  29. package/es/components/pointCloudView/PointCloud3DView.js +1 -1
  30. package/es/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  31. package/es/store/annotation/reducer.js +1 -1
  32. package/es/utils/AnnotationDataUtils.js +1 -1
  33. package/package.json +3 -3
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var icons=require("@ant-design/icons"),React=require("react"),antd=require("antd"),ahooks=require("ahooks"),index_module=require("./index.module.scss.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);exports.EContextType=void 0,function(e){e.before="\u524D\u6587",e.after="\u540E\u6587"}(exports.EContextType||(exports.EContextType={}));const AudioContext=e=>{const{audioContext:t}=e;if(!t||!t.visible)return null;const{content:o,type:i}=t;return React__default.default.createElement(AudioContextInfo,{title:exports.EContextType==null?void 0:exports.EContextType[i],content:o})},AudioContextInfo=e=>{const[t,o]=React.useState(!0),[i,r]=React.useState(""),{title:u,content:n}=e,a=()=>{o(!t)};return React.useEffect(()=>{r(n),o(!0)},[n]),React__default.default.createElement("div",{className:index_module.audioContextContainer},React__default.default.createElement("div",{className:index_module.title},React__default.default.createElement(icons.RightOutlined,{style:{marginRight:8},rotate:t?90:0,onClick:a}),React__default.default.createElement("span",{onClick:a},u)),t&&React__default.default.createElement("div",{className:index_module.content},React__default.default.createElement(antd.Input.TextArea,{bordered:!1,value:i,disabled:!0,style:{padding:0},autoSize:!0})))},DEFAULT_AUDIO_CLIP={selectedAttribute:"",selectedRegion:{},attributeLockList:[],clipConfigurable:!1,clipAttributeConfigurable:!1,clipAttributeList:[],clipTextConfigurable:!1,combined:!1,segment:!1},AudioClipContext=React__default.default.createContext({audioClipState:DEFAULT_AUDIO_CLIP,setAudioClipState:()=>{}}),useAudioClipStore=()=>React.useContext(AudioClipContext),AudioClipProvider=({children:e})=>{const[t,o]=ahooks.useSetState(DEFAULT_AUDIO_CLIP),i=React.useMemo(()=>({audioClipState:t,setAudioClipState:o}),[t,o]);return React__default.default.createElement(AudioClipContext.Provider,{value:i},e)};exports.AudioClipProvider=AudioClipProvider,exports.default=AudioContext,exports.useAudioClipStore=useAudioClipStore;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var icons=require("@ant-design/icons"),React=require("react"),antd=require("antd"),ahooks=require("ahooks"),index_module=require("./index.module.scss.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);exports.EContextType=void 0,function(e){e.before="\u524D\u6587",e.after="\u540E\u6587"}(exports.EContextType||(exports.EContextType={}));const DEFAULT_CLIP_TEXT_CONFIG_ITEM=[{label:"\u6587\u672C",key:"text",required:!1,default:"",maxLength:3e3}],AudioContext=e=>{const{audioContext:t}=e;if(!t||!t.visible)return null;const{content:o,type:i}=t;return React__default.default.createElement(AudioContextInfo,{title:exports.EContextType==null?void 0:exports.EContextType[i],content:o})},AudioContextInfo=e=>{const[t,o]=React.useState(!0),[i,r]=React.useState(""),{title:u,content:n}=e,a=()=>{o(!t)};return React.useEffect(()=>{r(n),o(!0)},[n]),React__default.default.createElement("div",{className:index_module.audioContextContainer},React__default.default.createElement("div",{className:index_module.title},React__default.default.createElement(icons.RightOutlined,{style:{marginRight:8},rotate:t?90:0,onClick:a}),React__default.default.createElement("span",{onClick:a},u)),t&&React__default.default.createElement("div",{className:index_module.content},React__default.default.createElement(antd.Input.TextArea,{bordered:!1,value:i,disabled:!0,style:{padding:0},autoSize:!0})))},DEFAULT_AUDIO_CLIP={selectedAttribute:"",selectedRegion:{},attributeLockList:[],clipConfigurable:!1,clipAttributeConfigurable:!1,clipAttributeList:[],clipTextConfigurable:!1,combined:!1,segment:!1,clipTextList:DEFAULT_CLIP_TEXT_CONFIG_ITEM},AudioClipContext=React__default.default.createContext({audioClipState:DEFAULT_AUDIO_CLIP,setAudioClipState:()=>{}}),useAudioClipStore=()=>React.useContext(AudioClipContext),AudioClipProvider=({children:e})=>{const[t,o]=ahooks.useSetState(DEFAULT_AUDIO_CLIP),i=React.useMemo(()=>({audioClipState:t,setAudioClipState:o}),[t,o]);return React__default.default.createElement(AudioClipContext.Provider,{value:i},e)};exports.AudioClipProvider=AudioClipProvider,exports.DEFAULT_CLIP_TEXT_CONFIG_ITEM=DEFAULT_CLIP_TEXT_CONFIG_ITEM,exports.default=AudioContext,exports.useAudioClipStore=useAudioClipStore;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),index$2=require("../../../attributeList/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),clipSmall=require("../../../../assets/annotation/audio/clipSmall.svg.js"),clipASmall=require("../../../../assets/annotation/audio/clipASmall.svg.js"),_delete=require("../../../../assets/annotation/audio/delete.svg.js"),loopA=require("../../../../assets/annotation/audio/loopA.svg.js"),audio=require("../../../../utils/audio.js"),index$1=require("../../../longText/index.js"),index=require("../../../../utils/index.js"),index_module=require("./index.module.scss.js"),reactI18next=require("react-i18next"),index$3=require("../../../subAttributeList/index.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,e,r)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,__spreadValues=(t,e)=>{for(var r in e||(e={}))__hasOwnProp.call(e,r)&&__defNormalProp(t,r,e[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(e))__propIsEnum.call(e,r)&&__defNormalProp(t,r,e[r]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e));const ClipSidebar=t=>{const{regions:e=[],updateRegion:r,useAudioClipStore:f}=t,{audioClipState:g,setAudioClipState:m}=f(),{t:n}=reactI18next.useTranslation(),{selectedAttribute:E,selectedRegion:p,clipTextConfigurable:v,clipAttributeList:o,clipAttributeConfigurable:d,secondaryAttributeConfigurable:_,subAttributeList:A}=g,{id:l}=p,s=React.useMemo(()=>e.find(a=>a.id===l),[e,l]),x=a=>{e.length&&l&&r(__spreadProps(__spreadValues({},s),{attribute:a})),m({selectedAttribute:a})},S=(a,i)=>{var u;if(e.length&&l){const c=(u=s==null?void 0:s.subAttribute)!=null?u:{};r(__spreadProps(__spreadValues({},s),{subAttribute:__spreadProps(__spreadValues({},c),{[a]:i})}))}},b=[{label:"\u65E0\u5C5E\u6027",value:"",key:"\u65E0\u5C5E\u6027"},...o.map(a=>__spreadProps(__spreadValues({},a),{label:a.key}))];return React__default.default.createElement("div",{className:index_module.clipSidebar},React__default.default.createElement("div",{className:index_module.clipResults},React__default.default.createElement("div",{className:index_module.title},n("ClippedAudio")),e.length>0?React__default.default.createElement("div",{className:index_module.regions},e.map(a=>{const{id:i,attribute:u,text:c,start:y,end:C}=a,j=i===l&&p.loop,q=`${d?audio.getAttributeShowText(u,b):""}${d&&v?"\uFF0C":""}${v?`${n("textTool")}\uFF1A${c}`:""}`;return React__default.default.createElement("div",{className:index.classnames({[index_module.region]:!0,[index_module.selected]:i===l}),key:i,onClick:()=>{lbAnnotation.EventBus.emit("setSelectedRegion",{id:i,playImmediately:!0})}},React__default.default.createElement("div",{className:index_module.label},j&&React__default.default.createElement("img",{src:loopA}),React__default.default.createElement("div",{className:index_module.text},React__default.default.createElement(index$1,{text:q}))),React__default.default.createElement("div",{className:index_module.time},React__default.default.createElement("img",{src:l===i?clipASmall:clipSmall}),audio.timeFormat(y,"ss.SSS")," -",audio.timeFormat(C,"ss.SSS")),React__default.default.createElement("div",{className:index_module.delete,onClick:()=>{lbAnnotation.EventBus.emit("removeRegionById",i)}},React__default.default.createElement("img",{src:_delete})))})):React__default.default.createElement("div",{className:index_module.empty},n("NoClippedData"))),d&&(o==null?void 0:o.length)>0&&React__default.default.createElement("div",{className:index_module.attributeList},React__default.default.createElement(index$2.default,{list:b,attributeChanged:x,selectedAttribute:E,attributeLockChange:a=>{m({attributeLockList:a})}}),l&&_&&React__default.default.createElement(index$3,{subAttributeList:A,setSubAttribute:S,getValue:a=>{var i;return(i=s==null?void 0:s.subAttribute)==null?void 0:i[a.value]}})))};module.exports=ClipSidebar;
1
+ "use strict";var React=require("react"),index$2=require("../../../attributeList/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),clipSmall=require("../../../../assets/annotation/audio/clipSmall.svg.js"),clipASmall=require("../../../../assets/annotation/audio/clipASmall.svg.js"),_delete=require("../../../../assets/annotation/audio/delete.svg.js"),loopA=require("../../../../assets/annotation/audio/loopA.svg.js"),audio=require("../../../../utils/audio.js"),index$1=require("../../../longText/index.js"),index=require("../../../../utils/index.js"),index_module=require("./index.module.scss.js"),reactI18next=require("react-i18next"),index$3=require("../../../subAttributeList/index.js");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,e,l)=>e in r?__defProp(r,e,{enumerable:!0,configurable:!0,writable:!0,value:l}):r[e]=l,__spreadValues=(r,e)=>{for(var l in e||(e={}))__hasOwnProp.call(e,l)&&__defNormalProp(r,l,e[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(e))__propIsEnum.call(e,l)&&__defNormalProp(r,l,e[l]);return r},__spreadProps=(r,e)=>__defProps(r,__getOwnPropDescs(e));const ClipSidebar=r=>{const{regions:e=[],updateRegion:l,useAudioClipStore:g}=r,{audioClipState:E,setAudioClipState:m}=g(),{t:p}=reactI18next.useTranslation(),{selectedAttribute:_,selectedRegion:v,clipTextConfigurable:S,clipAttributeList:o,clipAttributeConfigurable:c,secondaryAttributeConfigurable:x,subAttributeList:A,clipTextList:d}=E,{id:i}=v,n=React.useMemo(()=>e.find(t=>t.id===i),[e,i]),y=t=>{e.length&&i&&l(__spreadProps(__spreadValues({},n),{attribute:t})),m({selectedAttribute:t})},C=(t,a)=>{var s;if(e.length&&i){const u=(s=n==null?void 0:n.subAttribute)!=null?s:{};l(__spreadProps(__spreadValues({},n),{subAttribute:__spreadProps(__spreadValues({},u),{[t]:a})}))}},b=[{label:"\u65E0\u5C5E\u6027",value:"",key:"\u65E0\u5C5E\u6027"},...o.map(t=>__spreadProps(__spreadValues({},t),{label:t.key}))],h=t=>{let a="";return S&&(d==null?void 0:d.length)>0&&d.forEach((s,u)=>{a=a+`${!c&&u===0?"":"\uFF0C"}${s.label}\uFF1A${t[s.key]}`}),a};return React__default.default.createElement("div",{className:index_module.clipSidebar},React__default.default.createElement("div",{className:index_module.clipResults},React__default.default.createElement("div",{className:index_module.title},p("ClippedAudio")),e.length>0?React__default.default.createElement("div",{className:index_module.regions},e.map(t=>{const{id:a,attribute:s,text:u,start:f,end:j}=t,q=a===i&&v.loop,N=`${c?audio.getAttributeShowText(s,b):""}${h(t)}`;return React__default.default.createElement("div",{className:index.classnames({[index_module.region]:!0,[index_module.selected]:a===i}),key:a,onClick:()=>{lbAnnotation.EventBus.emit("setSelectedRegion",{id:a,playImmediately:!0})}},React__default.default.createElement("div",{className:index_module.label},q&&React__default.default.createElement("img",{src:loopA}),React__default.default.createElement("div",{className:index_module.text},React__default.default.createElement(index$1,{text:N}))),React__default.default.createElement("div",{className:index_module.time},React__default.default.createElement("img",{src:i===a?clipASmall:clipSmall}),audio.timeFormat(f,"ss.SSS")," -",audio.timeFormat(j,"ss.SSS")),React__default.default.createElement("div",{className:index_module.delete,onClick:()=>{lbAnnotation.EventBus.emit("removeRegionById",a)}},React__default.default.createElement("img",{src:_delete})))})):React__default.default.createElement("div",{className:index_module.empty},p("NoClippedData"))),c&&(o==null?void 0:o.length)>0&&React__default.default.createElement("div",{className:index_module.attributeList},React__default.default.createElement(index$2.default,{list:b,attributeChanged:y,selectedAttribute:_,attributeLockChange:t=>{m({attributeLockList:t})}}),i&&x&&React__default.default.createElement(index$3,{subAttributeList:A,setSubAttribute:C,getValue:t=>{var a;return(a=n==null?void 0:n.subAttribute)==null?void 0:a[t.value]}})))};module.exports=ClipSidebar;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),index$3=require("../audioPlayer/index.js"),dom=require("../../utils/dom.js"),index$4=require("../predictTracking/previewResult/index.js"),es=require("antd/es"),antd=require("antd"),index$5=require("../../constant/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index_module=require("./index.module.scss.js"),index$2=require("./tagResultShow/index.js"),index$1=require("./audioContext/index.js"),index$6=require("./textInput/index.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),annotation=require("../../hooks/annotation.js"),index$7=require("../../views/MainView/sidebar/index.js"),index$8=require("./audioSide/labelSidebar/index.js"),index$9=require("./audioSide/clipSidebar/index.js"),tag=require("../../assets/annotation/audio/tag.svg.js"),tagA=require("../../assets/annotation/audio/tagA.svg.js"),clip=require("../../assets/annotation/audio/clip.svg.js"),clipA=require("../../assets/annotation/audio/clipA.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,a)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,__spreadValues=(e,n)=>{for(var a in n||(n={}))__hasOwnProp.call(n,a)&&__defNormalProp(e,a,n[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(n))__propIsEnum.call(n,a)&&__defNormalProp(e,a,n[a]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:e,sideTab:n})=>{const a=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},a.map((v,x)=>{const{tab:c,selectedSvg:E,commonSvg:S}=v;return React__default.default.createElement("div",{key:x,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:n===c?E:S,onClick:()=>{n!==c&&e(c)}}))}))},AudioTextToolTextarea=({result:e,inputDisabled:n,updateText:a,configList:v,autofocus:x,preContext:c,isCheck:E,clipAttributeConfigurable:S,clipTextConfigurable:q,textConfigurable:g,updateRegion:y,clipAttributeList:f})=>React__default.default.createElement("div",{className:index_module.textareaContainer},React__default.default.createElement("div",{className:index_module.textareaContent},React__default.default.createElement(index$6.default,{isCheck:E,result:e==null?void 0:e.value,textInputDisabled:n,textID:(e==null?void 0:e.id)||0,updateText:a,configList:v,autofocus:!n&&x,preContext:c,regions:e==null?void 0:e.regions,clipAttributeConfigurable:S,clipTextConfigurable:q,textConfigurable:g,updateRegion:y,clipAttributeList:f}))),AudioSideBar=e=>{var n,a;const{sider:v,config:x,result:c,updateTagResult:E,updateRegion:S,isEdit:q,tagConfigurable:g,clipConfigurable:y}=e;let f=(x==null?void 0:x.inputList)||[],C=(n=c==null?void 0:c.tag)!=null?n:{},r=(a=c==null?void 0:c.regions)!=null?a:[];const[D,P]=React.useState([]),[_,p]=React.useState("tag");React.useEffect(()=>{if(!g&&y){p("clip");return}p("tag")},[g,y]),React.useEffect(()=>(window.addEventListener("keydown",O),()=>{window.removeEventListener("keydown",O)}));const O=o=>{if(g&&y)switch(o.keyCode){case EKeyCode.L:p("tag");break;case EKeyCode.X:p("clip");break}if(_==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(o))return;lbAnnotation.CommonToolUtils.isMoveKey(o==null?void 0:o.keyCode)&&o.preventDefault();let i=o.keyCode;if(i&&(i<=57&&i>=49||i<=105&&i>=97)){i>57?i=i-97:i=i-49;const d=D.slice();f.length===1?(T(0,i),P([0,i]),setTimeout(()=>{P([])},500)):d.length===1?(T(d[0],i),P([d[0],i]),setTimeout(()=>{P([])},500)):P([i])}}},T=(o,i)=>{if(o<f.length&&f[o].subSelected&&i<f[o].subSelected.length){const d=f[o].value,m=f[o].isMulti;let j=f[o].subSelected[i].value,M=0;const $=C;for(const R in C)if(R===f[o].value){if(M++,m===!0){const w=$[R].split(";").filter(U=>U!==""),I=w.indexOf(j);I===-1?w.push(j):w.splice(I,1),j=w.join(";")}j===""?delete $[R]:$[R]=j}M===0&&Object.assign(C,{[d]:j}),E(C)}},h=o=>{delete C[o],E(C)},A=g&&y&&React__default.default.createElement(ToggleAudioOption,{setSideTab:p,sideTab:_}),N=_==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:g?f:[],labelSelectedList:D,setLabel:T,tagResult:C,clearResult:h,isEdit:q,withPanelTab:!1}),s=_==="clip"&&React__default.default.createElement(index$9,{regions:r,updateRegion:S,useAudioClipStore:index$1.useAudioClipStore});return v?typeof v=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},v({toggleAudioOption:A,labelSidebar:N,clipSidebar:s})):v:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},A,N,s))},AudioAnnotate=e=>{var n,a,v,x,c,E,S,q,g;const y=(a=(n=e.style)==null?void 0:n.sider)==null?void 0:a.width,{step:f,stepList:C,audioContext:r,sider:D,drawLayerSlot:P,imgList:_,imgIndex:p,currentData:O,config:T,stepInfo:h}=e,A=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(f,C),N=index.jsonParser(O.result),{toolInstanceRef:s}=annotation.useCustomToolInstance({basicInfo:N}),[o,i]=React.useState(!0),[d,m]=React.useState(null),[j,M]=React.useState(0);React.useEffect(()=>{i(!0)},[p]),React.useEffect(()=>{o===!1&&ne()},[o]),React.useEffect(()=>{$()},[]),React.useEffect(()=>{s.current.exportData=()=>[[d],{duration:j,valid:B}],s.current.setResult=se,s.current.clearResult=ue,s.current.currentPageResult=d==null?void 0:d.regions,s.current.emit("updatePageNumber")},[d]);const $=()=>{s.current.emit=t=>{const l=s.current.fns.get(t);l&&l.forEach(u=>{u&&(u==null||u())})},s.current.fns=new Map,s.current.singleOn=(t,l)=>{s.current.fns.set(t,[l])},s.current.on=(t,l)=>{s.current.singleOn(t,l)},s.current.unbindAll=t=>{s.current.fns.delete(t)}},R=React.useMemo(()=>{const t=N[`step_${h==null?void 0:h.step}`];return(t==null?void 0:t.result)||[]},[T,N,h]),{tagConfigurable:w,textConfigurable:I=!0,clipConfigurable:U=!1,clipAttributeConfigurable:W=!1,clipAttributeList:F=[],clipTextConfigurable:V=!1,subAttributeList:G=[],secondaryAttributeConfigurable:H=!1,inputList:J=[],configList:Q=[]}=React.useMemo(()=>{if(A)return lbAnnotation.CommonToolUtils.jsonParser(A==null?void 0:A.config)},[A]),Y={clipConfigurable:U,clipAttributeConfigurable:W,clipAttributeList:F,clipTextConfigurable:V,subAttributeList:G,secondaryAttributeConfigurable:H},B=r?r==null?void 0:r.valid:!0,Z=(x=(v=lbAnnotation.CommonToolUtils.jsonParser(O.result))==null?void 0:v.duration)!=null?x:0,ee=B?Z:0,te=!B||o||![I,V].includes(!0);let X={};if(p!==-1&&(_==null?void 0:_.length)){const t=(c=_[p])==null?void 0:c.preResult,l=(r==null?void 0:r.isEdit)?(E=r==null?void 0:r.stepConfig)==null?void 0:E.loadPreStep:h==null?void 0:h.loadPreStep;if(t&&l){const u=lbAnnotation.CommonToolUtils.jsonParser(t),b=(q=(S=u==null?void 0:u.config)==null?void 0:S.context)!=null?q:{};Object.keys(b).forEach(L=>{L&&b[L]&&(X[L]={visible:!0,content:b[L],type:L})})}}const ne=()=>{(R==null?void 0:R.length)>0?m(R[0]):m({id:lbAnnotation.uuid(),sourceID:"",value:z(),tag:le(),regions:[]})},z=(t=!0)=>{const l={};let u=T.configList||[];return u.length>0&&u.forEach(b=>{l[b.key]=t&&b.default||""}),l},le=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(T.inputList||[]),oe=({duration:t,hasError:l})=>{i(!1),M(t)},ie=t=>{m(l=>__spreadProps(__spreadValues({},l),{regions:((l==null?void 0:l.regions)||[]).filter(u=>u.id!==t)}))},K=t=>{m(l=>{var u;const b=(u=l==null?void 0:l.regions)!=null?u:[],{id:L}=t;return b.find(k=>k.id===L)?__spreadProps(__spreadValues({},l),{regions:b.map(k=>L===k.id?__spreadValues(__spreadValues({},k),t):k)}):__spreadProps(__spreadValues({},l),{regions:[...b,t]})})},ae=(t,l)=>{m(u=>__spreadProps(__spreadValues({},u),{value:__spreadProps(__spreadValues({},u.value),{[l]:t})}))},re=t=>{m(l=>__spreadProps(__spreadValues({},l),{tag:t}))},se=t=>{m(t)},ue=()=>{m(t=>__spreadProps(__spreadValues({},t),{value:z(),tag:{},regions:[]})),lbAnnotation.EventBus.emit("clearRegions")};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:o,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:`${layoutCls}__content`},React__default.default.createElement("div",{className:index_module.containerWrapper},React__default.default.createElement("div",{className:index_module.audioWrapper},w&&React__default.default.createElement(index$2,{result:d==null?void 0:d.tag,labelInfoSet:J,hasPromptLayer:!!(r==null?void 0:r.promptLayer)}),r==null?void 0:r.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:r==null?void 0:r.isEdit,count:ee,toolName:EAudioToolName.AudioTextTool,imgIndex:p},drawLayerSlot:P,fileData:O,onLoaded:oe,invalid:!B,updateRegion:K,removeRegion:ie,regions:d==null?void 0:d.regions,activeToolPanel:r==null?void 0:r.activeToolPanel,footer:e.footer},Y))),(I||V)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:X,result:d,inputDisabled:te,updateText:ae,updateRegion:K,configList:Q,autofocus:!1,textConfigurable:I,clipTextConfigurable:V,clipAttributeList:F,clipAttributeConfigurable:W}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:y!=null?y:240,style:(g=e.style)==null?void 0:g.sider},React__default.default.createElement(AudioSideBar,{sider:D,config:T,result:d,updateTagResult:re,updateRegion:K,isEdit:r==null?void 0:r.isEdit,tagConfigurable:w,clipConfigurable:U})),React__default.default.createElement(index$4,null))))};var AudioAnnotate$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(AudioAnnotate);module.exports=AudioAnnotate$1;
1
+ "use strict";var React=require("react"),index$3=require("../audioPlayer/index.js"),dom=require("../../utils/dom.js"),index$4=require("../predictTracking/previewResult/index.js"),es=require("antd/es"),antd=require("antd"),index$5=require("../../constant/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index_module=require("./index.module.scss.js"),index$2=require("./tagResultShow/index.js"),index$1=require("./audioContext/index.js"),index$6=require("./textInput/index.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),annotation=require("../../hooks/annotation.js"),index$7=require("../../views/MainView/sidebar/index.js"),index$8=require("./audioSide/labelSidebar/index.js"),index$9=require("./audioSide/clipSidebar/index.js"),tag=require("../../assets/annotation/audio/tag.svg.js"),tagA=require("../../assets/annotation/audio/tagA.svg.js"),clip=require("../../assets/annotation/audio/clip.svg.js"),clipA=require("../../assets/annotation/audio/clipA.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,a)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,__spreadValues=(e,n)=>{for(var a in n||(n={}))__hasOwnProp.call(n,a)&&__defNormalProp(e,a,n[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(n))__propIsEnum.call(n,a)&&__defNormalProp(e,a,n[a]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:e,sideTab:n})=>{const a=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},a.map((v,E)=>{const{tab:c,selectedSvg:y,commonSvg:_}=v;return React__default.default.createElement("div",{key:E,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:n===c?y:_,onClick:()=>{n!==c&&e(c)}}))}))},AudioTextToolTextarea=({result:e,inputDisabled:n,updateText:a,configList:v,autofocus:E,preContext:c,isCheck:y,clipAttributeConfigurable:_,clipTextConfigurable:q,textConfigurable:p,updateRegion:C,clipAttributeList:f,clipTextList:g})=>React__default.default.createElement("div",{className:index_module.textareaContainer},React__default.default.createElement("div",{className:index_module.textareaContent},React__default.default.createElement(index$6.default,{isCheck:y,result:e==null?void 0:e.value,textInputDisabled:n,textID:(e==null?void 0:e.id)||0,updateText:a,configList:v,autofocus:!n&&E,preContext:c,regions:e==null?void 0:e.regions,clipAttributeConfigurable:_,clipTextConfigurable:q,textConfigurable:p,updateRegion:C,clipAttributeList:f,clipTextList:g}))),AudioSideBar=e=>{var n,a;const{sider:v,config:E,result:c,updateTagResult:y,updateRegion:_,isEdit:q,tagConfigurable:p,clipConfigurable:C}=e;let f=(E==null?void 0:E.inputList)||[],g=(n=c==null?void 0:c.tag)!=null?n:{},r=(a=c==null?void 0:c.regions)!=null?a:[];const[D,P]=React.useState([]),[S,m]=React.useState("tag");React.useEffect(()=>{if(!p&&C){m("clip");return}m("tag")},[p,C]),React.useEffect(()=>(window.addEventListener("keydown",O),()=>{window.removeEventListener("keydown",O)}));const O=o=>{if(p&&C)switch(o.keyCode){case EKeyCode.L:m("tag");break;case EKeyCode.X:m("clip");break}if(S==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(o))return;lbAnnotation.CommonToolUtils.isMoveKey(o==null?void 0:o.keyCode)&&o.preventDefault();let i=o.keyCode;if(i&&(i<=57&&i>=49||i<=105&&i>=97)){i>57?i=i-97:i=i-49;const d=D.slice();f.length===1?(T(0,i),P([0,i]),setTimeout(()=>{P([])},500)):d.length===1?(T(d[0],i),P([d[0],i]),setTimeout(()=>{P([])},500)):P([i])}}},T=(o,i)=>{if(o<f.length&&f[o].subSelected&&i<f[o].subSelected.length){const d=f[o].value,b=f[o].isMulti;let L=f[o].subSelected[i].value,M=0;const $=g;for(const j in g)if(j===f[o].value){if(M++,b===!0){const w=$[j].split(";").filter(U=>U!==""),N=w.indexOf(L);N===-1?w.push(L):w.splice(N,1),L=w.join(";")}L===""?delete $[j]:$[j]=L}M===0&&Object.assign(g,{[d]:L}),y(g)}},A=o=>{delete g[o],y(g)},h=p&&C&&React__default.default.createElement(ToggleAudioOption,{setSideTab:m,sideTab:S}),I=S==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:p?f:[],labelSelectedList:D,setLabel:T,tagResult:g,clearResult:A,isEdit:q,withPanelTab:!1}),s=S==="clip"&&React__default.default.createElement(index$9,{regions:r,updateRegion:_,useAudioClipStore:index$1.useAudioClipStore});return v?typeof v=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},v({toggleAudioOption:h,labelSidebar:I,clipSidebar:s})):v:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},h,I,s))},AudioAnnotate=e=>{var n,a,v,E,c,y,_,q,p;const C=(a=(n=e.style)==null?void 0:n.sider)==null?void 0:a.width,{step:f,stepList:g,audioContext:r,sider:D,drawLayerSlot:P,imgList:S,imgIndex:m,currentData:O,config:T,stepInfo:A}=e,h=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(f,g),I=index.jsonParser(O.result),{toolInstanceRef:s}=annotation.useCustomToolInstance({basicInfo:I}),[o,i]=React.useState(!0),[d,b]=React.useState(null),[L,M]=React.useState(0);React.useEffect(()=>{i(!0)},[m]),React.useEffect(()=>{o===!1&&le()},[o]),React.useEffect(()=>{$()},[]),React.useEffect(()=>{s.current.exportData=()=>[[d],{duration:L,valid:B}],s.current.setResult=ue,s.current.clearResult=de,s.current.currentPageResult=d==null?void 0:d.regions,s.current.emit("updatePageNumber")},[d]);const $=()=>{s.current.emit=t=>{const l=s.current.fns.get(t);l&&l.forEach(u=>{u&&(u==null||u())})},s.current.fns=new Map,s.current.singleOn=(t,l)=>{s.current.fns.set(t,[l])},s.current.on=(t,l)=>{s.current.singleOn(t,l)},s.current.unbindAll=t=>{s.current.fns.delete(t)}},j=React.useMemo(()=>{const t=I[`step_${A==null?void 0:A.step}`];return(t==null?void 0:t.result)||[]},[T,I,A]),{tagConfigurable:w,textConfigurable:N=!0,clipConfigurable:U=!1,clipAttributeConfigurable:F=!1,clipAttributeList:W=[],clipTextConfigurable:V=!1,subAttributeList:H=[],secondaryAttributeConfigurable:J=!1,inputList:Q=[],configList:Y=[],clipTextList:X=index$1.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=React.useMemo(()=>{if(h)return lbAnnotation.CommonToolUtils.jsonParser(h==null?void 0:h.config)},[h]),Z={clipConfigurable:U,clipAttributeConfigurable:F,clipAttributeList:W,clipTextConfigurable:V,subAttributeList:H,secondaryAttributeConfigurable:J,clipTextList:X},B=r?r==null?void 0:r.valid:!0,ee=(E=(v=lbAnnotation.CommonToolUtils.jsonParser(O.result))==null?void 0:v.duration)!=null?E:0,te=B?ee:0,ne=!B||o||![N,V].includes(!0);let G={};if(m!==-1&&(S==null?void 0:S.length)){const t=(c=S[m])==null?void 0:c.preResult,l=(r==null?void 0:r.isEdit)?(y=r==null?void 0:r.stepConfig)==null?void 0:y.loadPreStep:A==null?void 0:A.loadPreStep;if(t&&l){const u=lbAnnotation.CommonToolUtils.jsonParser(t),x=(q=(_=u==null?void 0:u.config)==null?void 0:_.context)!=null?q:{};Object.keys(x).forEach(R=>{R&&x[R]&&(G[R]={visible:!0,content:x[R],type:R})})}}const le=()=>{(j==null?void 0:j.length)>0?b(j[0]):b({id:lbAnnotation.uuid(),sourceID:"",value:z(),tag:oe(),regions:[]})},z=(t=!0)=>{const l={};let u=T.configList||[];return u.length>0&&u.forEach(x=>{l[x.key]=t&&x.default||""}),l},oe=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(T.inputList||[]),ie=({duration:t,hasError:l})=>{i(!1),M(t)},ae=t=>{b(l=>__spreadProps(__spreadValues({},l),{regions:((l==null?void 0:l.regions)||[]).filter(u=>u.id!==t)}))},K=t=>{b(l=>{var u;const x=(u=l==null?void 0:l.regions)!=null?u:[],{id:R}=t;return x.find(k=>k.id===R)?__spreadProps(__spreadValues({},l),{regions:x.map(k=>R===k.id?__spreadValues(__spreadValues({},k),t):k)}):__spreadProps(__spreadValues({},l),{regions:[...x,t]})})},re=(t,l)=>{b(u=>__spreadProps(__spreadValues({},u),{value:__spreadProps(__spreadValues({},u.value),{[l]:t})}))},se=t=>{b(l=>__spreadProps(__spreadValues({},l),{tag:t}))},ue=t=>{b(t)},de=()=>{b(t=>__spreadProps(__spreadValues({},t),{value:z(),tag:{},regions:[]})),lbAnnotation.EventBus.emit("clearRegions")};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:o,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:`${layoutCls}__content`},React__default.default.createElement("div",{className:index_module.containerWrapper},React__default.default.createElement("div",{className:index_module.audioWrapper},w&&React__default.default.createElement(index$2,{result:d==null?void 0:d.tag,labelInfoSet:Q,hasPromptLayer:!!(r==null?void 0:r.promptLayer)}),r==null?void 0:r.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:r==null?void 0:r.isEdit,count:te,toolName:EAudioToolName.AudioTextTool,imgIndex:m},drawLayerSlot:P,fileData:O,onLoaded:ie,invalid:!B,updateRegion:K,removeRegion:ae,regions:d==null?void 0:d.regions,activeToolPanel:r==null?void 0:r.activeToolPanel,footer:e.footer},Z))),(N||V)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:G,result:d,inputDisabled:ne,updateText:re,updateRegion:K,configList:Y,autofocus:!1,textConfigurable:N,clipTextConfigurable:V,clipAttributeList:W,clipAttributeConfigurable:F,clipTextList:X}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:C!=null?C:240,style:(p=e.style)==null?void 0:p.sider},React__default.default.createElement(AudioSideBar,{sider:D,config:T,result:d,updateTagResult:se,updateRegion:K,isEdit:r==null?void 0:r.isEdit,tagConfigurable:w,clipConfigurable:U})),React__default.default.createElement(index$4,null))))};var AudioAnnotate$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(AudioAnnotate);module.exports=AudioAnnotate$1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),icons=require("@ant-design/icons"),index$1=require("../../../views/MainView/sidebar/TextToolSidebar/index.js"),audio=require("../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),classNames=require("classnames"),index=require("../audioContext/index.js"),index_module=require("./index.module.scss.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(l,u,n)=>u in l?__defProp(l,u,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[u]=n,__spreadValues=(l,u)=>{for(var n in u||(u={}))__hasOwnProp.call(u,n)&&__defNormalProp(l,n,u[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(u))__propIsEnum.call(u,n)&&__defNormalProp(l,n,u[n]);return l},__spreadProps=(l,u)=>__defProps(l,__getOwnPropDescs(u));const EKeyCode=lbAnnotation.cKeyCode.default,ClearIcon=({onClick:l,title:u,disabled:n})=>React__default.default.createElement(antd.Tooltip,{placement:"bottom",title:u},React__default.default.createElement("span",{className:classNames__default.default({[index_module.clearIcon]:!0,[index_module.disabled]:n}),onClick:l})),SingleTextInput=l=>{var u;const{t:n}=reactI18next.useTranslation(),k=React.useRef(null),[f,C]=React.useState(!1),[h,m]=React.useState(!1),{disabled:r,config:o,result:B,updateText:E,index:v,switchToNextTextarea:A,hasMultiple:D,textID:F,addPlaceholder:p,onFocus:T,onBlur:b,onFocusStyle:y={},extra:P}=l,{maxLength:x}=o,w=B?B[o.key]:"",N=(u=w==null?void 0:w.length)!=null?u:0,S=t=>{E&&(E(t,o.key),o.required&&m(!t))},O=D&&A,i={id:`textInput-${v}`,ref:k,disabled:r,value:w,maxLength:x,autoSize:{minRows:2,maxRows:6},onChange:t=>{const s=t.target.value;S(s)},onFocus:t=>{C(!0),T==null||T(t),t.target.value&&m(!1)},onBlur:t=>{C(!1),b==null||b(t),o.required&&m(!t.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:t=>{const{keyCode:s}=t;if(t.ctrlKey){if(s===EKeyCode.Enter&&t.preventDefault(),p&&[EKeyCode.One,EKeyCode.Two,EKeyCode.Three].includes(s))switch(t.preventDefault(),s){case EKeyCode.One:p("\u4986");break;case EKeyCode.Two:p("\u652B");break;case EKeyCode.Three:p("\u7383");break}}else s===EKeyCode.Tab&&O?(t.preventDefault(),t.nativeEvent.stopImmediatePropagation(),A(v)):t.nativeEvent.stopPropagation()}},c=React__default.default.createElement("div",{className:index_module.textAreaFooter},React__default.default.createElement("div",{className:index_module.hotkeyTip},O&&React__default.default.createElement("span",null,"[",n("Switch"),"]Tab"),React__default.default.createElement("span",null,"[",n("TurnPage"),"]Ctrl+Enter")),React__default.default.createElement("div",{className:index_module.wordCount},React__default.default.createElement("span",{className:N>=x?index_module.warning:""},N),"/",React__default.default.createElement("span",null,x)));return React.useEffect(()=>{r&&C(!1)},[r]),React.useEffect(()=>{m(!1)},[F]),React__default.default.createElement("div",{className:index_module.textField},React__default.default.createElement("div",{className:index_module.label},React__default.default.createElement("span",{className:classNames__default.default({[index_module.required]:o.required})},o.label),React__default.default.createElement(ClearIcon,{onClick:()=>{r||S("")},title:"",disabled:r}),React__default.default.createElement("div",{className:index_module.extra},P)),React__default.default.createElement("div",{className:classNames__default.default({disabled:r,"textarea-outline":!0,"ant-input-focused":f,[index_module.textareaContainer]:!0,[index_module.focus]:f,[index_module.invalid]:h}),style:f?y:{}},React__default.default.createElement(index$1.TextareaWithFooter,{footer:c,textareaProps:i})))},TextInput=l=>{const{configList:u,autofocus:n,textID:k,result:f,showText:C,updateText:h,toggleShowText:m,textInputDisabled:r,isCheck:o,isEdit:B,config:E,preContext:v,regions:A=[],textConfigurable:D=!0,clipTextConfigurable:F,clipAttributeConfigurable:p,updateRegion:T,clipAttributeList:b=[]}=l,{t:y}=reactI18next.useTranslation(),[P,x]=React.useState(0),[w,N]=React.useState(""),S=React.useRef(null),{audioClipState:O}=index.useAudioClipStore(),i=u||[__spreadValues({},audio.DEFAULT_TEXT_CONFIG_ITEM)];let c=A;if(F&&!o){const e=O.selectedRegion.id;c=c.filter(a=>a.id===e)}const t=e=>{setTimeout(()=>{const a=document.getElementById(`textInput-${e}`);a&&(x(e),a.focus(),a.select(),a.scrollIntoView({behavior:"smooth",block:"center"}))})},s=e=>{const a=D?i.length:0,d=F?c.length:0,g=a+d,I=(e+1)%g;t(I)},j=e=>{e.keyCode===EKeyCode.Tab&&(e.preventDefault(),i.length>0&&t(0))},L=e=>{const a=document.getElementById(`textInput-${P}`);if(!(E==null?void 0:E.enablePlaceholderHotkey)||!a||!h)return;const{value:d,selectionStart:g,selectionEnd:I}=a,_=`${d.slice(0,g)}${e}${d.slice(I)}`;h(_,i[P].key),N(e),setTimeout(()=>{a.setSelectionRange(g+1,g+1),a.focus()},0),clearTimeout(S.current),S.current=setTimeout(()=>{N("")},400)};React.useEffect(()=>(B||document.addEventListener("keydown",j),()=>{document.removeEventListener("keydown",j)}),[u]),React.useEffect(()=>{n&&!r&&t(0)},[k]);let q=i;o&&(q=i.filter(e=>(f==null?void 0:f[e.key])!==void 0));let M={};return F&&c&&c.forEach(e=>{const{id:a,text:d}=e;M[a]=d}),React__default.default.createElement(React__default.default.Fragment,null,(E==null?void 0:E.enablePlaceholderHotkey)&&React__default.default.createElement("div",{className:index_module.placeholderHotkey},React__default.default.createElement("div",{className:index_module.title},"\u5360\u4F4D\u7B26\u5FEB\u6377\u8F93\u5165",React__default.default.createElement(antd.Tooltip,{overlayStyle:{maxWidth:240},title:React__default.default.createElement("div",null,React__default.default.createElement("div",null,"\u4986\uFF08Ctrl+1\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4F46\u53EA\u6839\u636E\u8FD9\u4E2A\u5B57\u7684\u5F62\u72B6\u5C31\u53EF\u4EE5\u731C\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u652B\uFF08Ctrl+2\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4E14\u65E0\u6CD5\u6839\u636E\u5F62\u72B6\u731C\u5B57\uFF0C\u4F46\u80FD\u7ED3\u5408\u4E0A\u4E0B\u6587\u8BED\u4E49\u5224\u65AD\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u7383\uFF08Ctrl+3\uFF09\uFF1A"),React__default.default.createElement("div",null,"\u5B8C\u5168\u65E0\u6CD5\u5224\u65AD\u662F\u4EC0\u4E48\u5B57")),placement:"bottom"},React__default.default.createElement(icons.QuestionCircleOutlined,{className:index_module.questionIcon}))),React__default.default.createElement(antd.Radio.Group,{value:w},React__default.default.createElement(antd.Radio.Button,{value:"\u4986",onClick:e=>L(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u4986 (\u89C6\u89C9)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+1"))),React__default.default.createElement(antd.Radio.Button,{value:"\u652B",onClick:e=>L(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u652B (\u8BED\u4E49)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+2"))),React__default.default.createElement(antd.Radio.Button,{value:"\u7383",onClick:e=>L(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u7383 (\u65E0\u6548)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+3"))))),React__default.default.createElement("div",{className:index_module.textInputContainer},React__default.default.createElement(index.default,{audioContext:v==null?void 0:v.before}),D&&q.map((e,a)=>React__default.default.createElement(SingleTextInput,{config:e,key:a,index:a,result:f,updateText:h,switchToNextTextarea:s,hasMultiple:i.length>1,disabled:r,textID:k,addPlaceholder:L,onFocus:()=>x(a)})),F&&c.map((e,a)=>{const{id:d,start:g,end:I,attribute:_}=e,K={label:`${y("textTool")}\uFF08${audio.timeFormat(g,"ss.SSS")} - ${audio.timeFormat(I,"ss.SSS")}\uFF09`,key:d,maxLength:3e3},R=q.length+a,$=audio.getAttributeColor(_,b),H={color:audio.getAttributeFontColor(_,b),backgroundColor:$};return React__default.default.createElement(SingleTextInput,{config:K,key:a,index:R,disabled:r,result:M,updateText:V=>{T==null||T(__spreadProps(__spreadValues({},e),{text:V}))},switchToNextTextarea:()=>{s(R)},hasMultiple:!0,onFocus:()=>x(R),onFocusStyle:p?{borderColor:$,boxShadow:`0 0 0 2px ${audio.updateColorOpacity($,.4)}`}:{},extra:p?React__default.default.createElement("div",{style:H,className:index_module.attribute},audio.getAttributeShowText(_,[{value:"",key:y("NoAttribute")},...b])):null})}),React__default.default.createElement(index.default,{audioContext:v==null?void 0:v.after}),m&&React__default.default.createElement("div",{className:index_module.switchItem},y("toggleShowText"),React__default.default.createElement(antd.Switch,{style:{alignSelf:"center"},checked:C,onChange:e=>{m(e)}}))))};exports.ClearIcon=ClearIcon,exports.SingleTextInput=SingleTextInput,exports.default=TextInput;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),icons=require("@ant-design/icons"),index$1=require("../../../views/MainView/sidebar/TextToolSidebar/index.js"),audio=require("../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),classNames=require("classnames"),index=require("../audioContext/index.js"),index_module=require("./index.module.scss.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(a,l,n)=>l in a?__defProp(a,l,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[l]=n,__spreadValues=(a,l)=>{for(var n in l||(l={}))__hasOwnProp.call(l,n)&&__defNormalProp(a,n,l[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(l))__propIsEnum.call(l,n)&&__defNormalProp(a,n,l[n]);return a},__spreadProps=(a,l)=>__defProps(a,__getOwnPropDescs(l));const EKeyCode=lbAnnotation.cKeyCode.default,ClearIcon=({onClick:a,title:l,disabled:n})=>React__default.default.createElement(antd.Tooltip,{placement:"bottom",title:l},React__default.default.createElement("span",{className:classNames__default.default({[index_module.clearIcon]:!0,[index_module.disabled]:n}),onClick:a})),SingleTextInput=a=>{var l;const{t:n}=reactI18next.useTranslation(),A=React.useRef(null),[c,C]=React.useState(!1),[b,d]=React.useState(!1),{disabled:r,config:o,result:D,updateText:f,index:m,switchToNextTextarea:P,hasMultiple:L,textID:h,addPlaceholder:E,onFocus:y,onBlur:g,onFocusStyle:R={},extra:F,errorText:_}=a,{maxLength:v}=o,I=D?D[o.key]:"",N=(l=I==null?void 0:I.length)!=null?l:0,w=t=>{f&&(f(t,o.key),o.required&&d(!t))},O=L&&P,i={id:`textInput-${m}`,ref:A,disabled:r,value:I,maxLength:v,autoSize:{minRows:2,maxRows:6},onChange:t=>{const s=t.target.value;w(s)},onFocus:t=>{C(!0),y==null||y(t),t.target.value&&d(!1)},onBlur:t=>{C(!1),g==null||g(t),o.required&&d(!t.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:t=>{const{keyCode:s}=t;if(t.ctrlKey){if(s===EKeyCode.Enter&&t.preventDefault(),E&&[EKeyCode.One,EKeyCode.Two,EKeyCode.Three].includes(s))switch(t.preventDefault(),s){case EKeyCode.One:E("\u4986");break;case EKeyCode.Two:E("\u652B");break;case EKeyCode.Three:E("\u7383");break}}else s===EKeyCode.Tab&&O?(t.preventDefault(),t.nativeEvent.stopImmediatePropagation(),P(m)):t.nativeEvent.stopPropagation()}},p=React__default.default.createElement("div",{className:index_module.textAreaFooter},React__default.default.createElement("div",{className:index_module.hotkeyTip},O&&React__default.default.createElement("span",null,"[",n("Switch"),"]Tab"),React__default.default.createElement("span",null,"[",n("TurnPage"),"]Ctrl+Enter")),React__default.default.createElement("div",{className:index_module.wordCount},React__default.default.createElement("span",{className:N>=v?index_module.warning:""},N),"/",React__default.default.createElement("span",null,v)));return React.useEffect(()=>{r&&C(!1)},[r]),React.useEffect(()=>{d(!1)},[h]),React__default.default.createElement("div",{className:index_module.textField},React__default.default.createElement("div",{className:index_module.label},React__default.default.createElement("span",{className:classNames__default.default({[index_module.required]:o.required})},o.label),React__default.default.createElement(ClearIcon,{onClick:()=>{r||w("")},title:"",disabled:r}),React__default.default.createElement("div",{className:index_module.extra},F)),React__default.default.createElement("div",{className:classNames__default.default({disabled:r,"textarea-outline":!0,"ant-input-focused":c,[index_module.textareaContainer]:!0,[index_module.focus]:c,[index_module.invalid]:b}),style:c?R:{}},React__default.default.createElement(index$1.TextareaWithFooter,{footer:p,textareaProps:i})),_&&React__default.default.createElement("span",{style:{color:"#ff4d4f",lineHeight:"22px"}},_))},TextInput=a=>{const{configList:l,autofocus:n,textID:A,result:c,showText:C,updateText:b,toggleShowText:d,textInputDisabled:r,isCheck:o,isEdit:D,config:f,preContext:m,regions:P=[],textConfigurable:L=!0,clipTextConfigurable:h,clipAttributeConfigurable:E,updateRegion:y,clipAttributeList:g=[],clipTextList:R=index.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=a,{t:F}=reactI18next.useTranslation(),[_,v]=React.useState(0),[I,N]=React.useState(""),w=React.useRef(null),{audioClipState:O}=index.useAudioClipStore(),i=l||[__spreadValues({},audio.DEFAULT_TEXT_CONFIG_ITEM)];let p=P;if(h&&!o){const e=O.selectedRegion.id;p=p.filter(u=>u.id===e)}const t=e=>{setTimeout(()=>{const u=document.getElementById(`textInput-${e}`);u&&(v(e),u.focus(),u.select(),u.scrollIntoView({behavior:"smooth",block:"center"}))})},s=e=>{const u=L?i.length:0,T=h?p.length:0,x=u+T,k=(e+1)%x;t(k)},K=e=>{e.keyCode===EKeyCode.Tab&&(e.preventDefault(),i.length>0&&t(0))},q=e=>{const u=document.getElementById(`textInput-${_}`);if(!(f==null?void 0:f.enablePlaceholderHotkey)||!u||!b)return;const{value:T,selectionStart:x,selectionEnd:k}=u,B=`${T.slice(0,x)}${e}${T.slice(k)}`;b(B,i[_].key),N(e),setTimeout(()=>{u.setSelectionRange(x+1,x+1),u.focus()},0),clearTimeout(w.current),w.current=setTimeout(()=>{N("")},400)};React.useEffect(()=>(D||document.addEventListener("keydown",K),()=>{document.removeEventListener("keydown",K)}),[l]),React.useEffect(()=>{n&&!r&&t(0)},[A]);let $=i;o&&($=i.filter(e=>(c==null?void 0:c[e.key])!==void 0));const S=p[0];return React__default.default.createElement(React__default.default.Fragment,null,(f==null?void 0:f.enablePlaceholderHotkey)&&React__default.default.createElement("div",{className:index_module.placeholderHotkey},React__default.default.createElement("div",{className:index_module.title},"\u5360\u4F4D\u7B26\u5FEB\u6377\u8F93\u5165",React__default.default.createElement(antd.Tooltip,{overlayStyle:{maxWidth:240},title:React__default.default.createElement("div",null,React__default.default.createElement("div",null,"\u4986\uFF08Ctrl+1\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4F46\u53EA\u6839\u636E\u8FD9\u4E2A\u5B57\u7684\u5F62\u72B6\u5C31\u53EF\u4EE5\u731C\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u652B\uFF08Ctrl+2\uFF09\uFF1A"),React__default.default.createElement("div",{style:{marginBottom:12}},"\u6587\u5B57\u5F02\u5E38\uFF0C\u4E14\u65E0\u6CD5\u6839\u636E\u5F62\u72B6\u731C\u5B57\uFF0C\u4F46\u80FD\u7ED3\u5408\u4E0A\u4E0B\u6587\u8BED\u4E49\u5224\u65AD\u51FA\u662F\u4EC0\u4E48\u5B57"),React__default.default.createElement("div",null,"\u7383\uFF08Ctrl+3\uFF09\uFF1A"),React__default.default.createElement("div",null,"\u5B8C\u5168\u65E0\u6CD5\u5224\u65AD\u662F\u4EC0\u4E48\u5B57")),placement:"bottom"},React__default.default.createElement(icons.QuestionCircleOutlined,{className:index_module.questionIcon}))),React__default.default.createElement(antd.Radio.Group,{value:I},React__default.default.createElement(antd.Radio.Button,{value:"\u4986",onClick:e=>q(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u4986 (\u89C6\u89C9)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+1"))),React__default.default.createElement(antd.Radio.Button,{value:"\u652B",onClick:e=>q(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u652B (\u8BED\u4E49)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+2"))),React__default.default.createElement(antd.Radio.Button,{value:"\u7383",onClick:e=>q(e.target.value)},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("div",{className:"text"},"\u7383 (\u65E0\u6548)"),React__default.default.createElement("div",{className:"hotkey"},"Ctrl+3"))))),React__default.default.createElement("div",{className:index_module.textInputContainer},React__default.default.createElement(index.default,{audioContext:m==null?void 0:m.before}),L&&$.map((e,u)=>React__default.default.createElement(SingleTextInput,{config:e,key:u,index:u,result:c,updateText:b,switchToNextTextarea:s,hasMultiple:i.length>1,disabled:r,textID:A,addPlaceholder:q,onFocus:()=>v(u)})),h&&p.length>0&&R.map((e,u)=>{const{id:T,start:x,end:k,attribute:B}=S,{maxLength:W=3e3,label:H,key:G,required:z}=e,V=S==null?void 0:S[G],U={[S.id]:V},X={label:`${H!=null?H:F("textTool")}\uFF08${audio.timeFormat(x,"ss.SSS")} - ${audio.timeFormat(k,"ss.SSS")}\uFF09`,key:T,maxLength:W},j=$.length+u,M=audio.getAttributeColor(B,g),Q={color:audio.getAttributeFontColor(B,g),backgroundColor:M},J=F("LeastCharacterError",{num:1}),Y=z&&V.length<1?J:void 0;return React__default.default.createElement(SingleTextInput,{config:X,key:u,index:j,disabled:r,result:U,updateText:Z=>{y==null||y(__spreadProps(__spreadValues({},S),{[G]:Z}))},switchToNextTextarea:()=>{s(j)},hasMultiple:!0,onFocus:()=>v(j),onFocusStyle:E?{borderColor:M,boxShadow:`0 0 0 2px ${audio.updateColorOpacity(M,.4)}`}:{},extra:E?React__default.default.createElement("div",{style:Q,className:index_module.attribute},audio.getAttributeShowText(B,[{value:"",key:F("NoAttribute")},...g])):null,errorText:Y})}),React__default.default.createElement(index.default,{audioContext:m==null?void 0:m.after}),d&&React__default.default.createElement("div",{className:index_module.switchItem},F("toggleShowText"),React__default.default.createElement(antd.Switch,{style:{alignSelf:"center"},checked:C,onChange:e=>{d(e)}}))))};exports.ClearIcon=ClearIcon,exports.SingleTextInput=SingleTextInput,exports.default=TextInput;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),ReactDOM=require("react-dom"),index=require("../../audioAnnotate/audioContext/index.js"),audio=require("../../../utils/audio.js"),loop=require("../../../assets/annotation/audio/loop.svg.js"),antd=require("antd"),ahooks=require("ahooks"),index$1=require("../../../utils/index.js"),index_module=require("./index.module.scss.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),ReactDOM__default=_interopDefaultLegacy(ReactDOM);const{Paragraph}=antd.Typography,ClipRegion=t=>{const{audioClipState:f,setAudioClipState:p}=index.useAudioClipStore(),{clipAttributeList:r,clipAttributeConfigurable:g,clipTextConfigurable:b,selectedRegion:s}=f,u=React.useRef(null),{el:x,region:m,edgeAdsorption:v,clipping:C,instance:d}=t,{attribute:a="",text:h="",id:i,start:y,end:R}=m,{id:l}=s,o=audio.getAttributeColor(a,r),n={color:audio.getAttributeFontColor(a,r),backgroundColor:o},e={border:`2px solid ${o}`};if(i===l)e.backgroundColor=audio.updateColorOpacity(o,.6),e.borderLeft=`2px solid ${o}`,e.borderRight=`2px solid ${o}`;else if(d==null||d.setLoop(!1),e.borderLeft=`2px solid ${o}`,e.borderRight=`2px solid ${o}`,C){const c=Object.values(v);c.includes(y)&&(e.borderLeft="3px dashed #fff"),c.includes(R)&&(e.borderRight="3px dashed #fff")}ahooks.useClickAway(()=>{i===l&&p({selectedRegion:{}})},u,["contextmenu"]);const A=i===l&&s.loop,q=React__default.default.createElement("div",{style:e,ref:u,className:index$1.classnames({[index_module.container]:!0})},A&&React__default.default.createElement("div",{className:index_module.loop},React__default.default.createElement("img",{src:loop})),g&&React__default.default.createElement("div",null,React__default.default.createElement("div",{style:n,className:index_module.attribute},audio.getAttributeShowText(a,[{value:"",key:"\u65E0\u5C5E\u6027"},...r]))),b&&React__default.default.createElement(Paragraph,{ellipsis:{rows:2},className:index_module.text,style:n},"\u6587\u672C:",h));return React__default.default.createElement(React__default.default.Fragment,null,ReactDOM__default.default.createPortal(q,x))};module.exports=ClipRegion;
1
+ "use strict";var React=require("react"),ReactDOM=require("react-dom"),index=require("../../audioAnnotate/audioContext/index.js"),audio=require("../../../utils/audio.js"),loop=require("../../../assets/annotation/audio/loop.svg.js"),antd=require("antd"),ahooks=require("ahooks"),index$1=require("../../../utils/index.js"),index_module=require("./index.module.scss.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),ReactDOM__default=_interopDefaultLegacy(ReactDOM);const{Paragraph}=antd.Typography,ClipRegion=t=>{const{t:b}=reactI18next.useTranslation(),{audioClipState:g,setAudioClipState:m}=index.useAudioClipStore(),{clipAttributeList:a,clipAttributeConfigurable:C,clipTextConfigurable:y,selectedRegion:n,clipTextList:u}=g,d=React.useRef(null),{el:h,region:c,edgeAdsorption:R,clipping:q,instance:f}=t,{attribute:l="",text:j="",id:i,start:A,end:E}=c,{id:s}=n,o=audio.getAttributeColor(l,a),p={color:audio.getAttributeFontColor(l,a),backgroundColor:o},e={border:`2px solid ${o}`};if(i===s)e.backgroundColor=audio.updateColorOpacity(o,.6),e.borderLeft=`2px solid ${o}`,e.borderRight=`2px solid ${o}`;else if(f==null||f.setLoop(!1),e.borderLeft=`2px solid ${o}`,e.borderRight=`2px solid ${o}`,q){const r=Object.values(R);r.includes(A)&&(e.borderLeft="3px dashed #fff"),r.includes(E)&&(e.borderRight="3px dashed #fff")}ahooks.useClickAway(()=>{i===s&&m({selectedRegion:{}})},d,["contextmenu"]);const k=i===s&&n.loop,L=React__default.default.createElement("div",{style:e,ref:d,className:index$1.classnames({[index_module.container]:!0})},k&&React__default.default.createElement("div",{className:index_module.loop},React__default.default.createElement("img",{src:loop})),C&&React__default.default.createElement("div",null,React__default.default.createElement("div",{style:p,className:index_module.attribute},audio.getAttributeShowText(l,[{value:"",key:"\u65E0\u5C5E\u6027"},...a]))),y&&(u==null?void 0:u.map((r,_)=>{var v,x;return React__default.default.createElement(Paragraph,{ellipsis:{rows:2},className:index_module.text,style:p,key:_},(v=r==null?void 0:r.label)!=null?v:b("textTool"),":",(x=c[r==null?void 0:r.key])!=null?x:"")})));return React__default.default.createElement(React__default.default.Fragment,null,ReactDOM__default.default.createPortal(L,h))};module.exports=ClipRegion;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),getWebPcm2Wac=require("../audioAnnotate/utils/getWebPcm2Wac.js"),_=require("lodash"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),index$a=require("../invalidPage/index.js"),index$5=require("../imageError/index.js"),index$9=require("../../utils/index.js"),index$c=require("../videoPlayer/components/SpeedController/index.js"),WaveSurfer=require("@labelbee/wavesurfer"),Region=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.regions.js"),Cursor=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.cursor.js"),index$d=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$1=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$b=require("./progressDot/index.js"),index$6=require("./clipTip/index.js"),index$4=require("./useSwitchHotkey/index.js"),index$2=require("./useAudioCombine/index.js"),index$3=require("./useAudioSegment/index.js"),index$7=require("./combineTip/index.js"),index$8=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js");function _interopDefaultLegacy(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),WaveSurfer__default=_interopDefaultLegacy(WaveSurfer),Region__default=_interopDefaultLegacy(Region),Cursor__default=_interopDefaultLegacy(Cursor),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(u,s,c)=>s in u?__defProp(u,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):u[s]=c,__spreadValues=(u,s)=>{for(var c in s||(s={}))__hasOwnProp.call(s,c)&&__defNormalProp(u,c,s[c]);if(__getOwnPropSymbols)for(var c of __getOwnPropSymbols(s))__propIsEnum.call(s,c)&&__defNormalProp(u,c,s[c]);return u},__spreadProps=(u,s)=>__defProps(u,__getOwnPropDescs(s));const{EToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,PER_PROGRESS=.1,AudioPlayerContext=React__default.default.createContext({count:0,isEdit:!1,toolName:EToolName.Empty,imgIndex:0}),AudioPlayer=({fileData:u={},onLoaded:s,context:c,invalid:$e,height:Le,hideError:Ie,onError:te,updateRegion:x,removeRegion:B,regions:C=[],activeToolPanel:Oe,clipConfigurable:Ne,clipTextConfigurable:We,clipAttributeList:Fe,clipAttributeConfigurable:re,secondaryAttributeConfigurable:ze,subAttributeList:Ue,isCheck:E,hoverRegionId:L,footer:He,drawLayerSlot:ne})=>{var oe,ie;const{url:M,path:ae}=u,[I,O]=React.useState(!1),[le,se]=React.useState(!1),[R,Xe]=React.useState(0),[Ze,ue]=React.useState(!1),[D,ce]=React.useState(0),o=React.useRef(null),S=React.useRef(null),de=React.useRef(R),N=e=>{de.current=e,Xe(e)},[ve,Ke]=React.useState(0),[k,Ve]=React.useState(1),W=React.useRef(null),[fe,Ge]=React.useState({}),{audioClipState:F,setAudioClipState:T}=index.useAudioClipStore(),[z,U]=React.useState(!1),d=ahooks.useLatest(F),me=ahooks.useLatest(fe),Ye=ahooks.useLatest(I),w=ahooks.useLatest(C),pe=ahooks.useUpdate(),[ge,Je]=React.useState([]),[be,Qe]=React.useState({}),et=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),_e=e=>{e<index$d.audioZoomInfo.min||e>index$d.audioZoomInfo.max||(Ve(e),audio.dispatchResizeEvent(),et())};index$1({container:W.current,target:document.querySelector(`[data-id=${(ie=(oe=d.current)==null?void 0:oe.selectedRegion)==null?void 0:ie.id}]`),clipping:z,zoom:k,zoomHandler:_e});const $=()=>{let e=w.current;const{attributeLockList:r}=d.current;r.length&&(e=e.filter(t=>r.includes(t.attribute))),X(),e.forEach(t=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},t),{drag:!E,resize:!E,color:"rgba(0, 0, 0, 0)"}))}),pe()},v=e=>{var r,t,n,i,a,f,p;const{id:l,loop:m=!0,playImmediately:y=!1}=e;if(l){const A=(n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{};Object.entries(A).forEach(([,g])=>{const{id:P}=g;l===P?g.select():g.cancelSelect()}),T({selectedRegion:{id:l,loop:m},selectedAttribute:(f=(a=(i=w.current)==null?void 0:i.find(g=>g.id===l))==null?void 0:a.attribute)!=null?f:""}),m&&y&&((p=q(l))==null||p.playLoop())}else T({selectedRegion:{}})},{combineInstance:tt}=index$2({waveRef:o,sortByStartRegions:ge,regionMap:be,updateRegion:x,removeRegion:B,generateRegions:$,setSelectedRegion:v}),{segmentInstance:rt,onRegionMouseMove:nt,segmentTimeTip:ot}=index$3({waveRef:o,regionMap:be,updateRegion:x,removeRegion:B,generateRegions:$,setSelectedRegion:v}),ye={clipTextConfigurable:We,clipAttributeList:Fe,clipAttributeConfigurable:re,clipConfigurable:Ne,secondaryAttributeConfigurable:ze,subAttributeList:Ue};React.useEffect(()=>{T({selectedAttribute:""})},[re]),React.useEffect(()=>{H()},[F.selectedAttribute]),React.useEffect(()=>{$()},[F.attributeLockList]),ahooks.useDeepCompareEffect(()=>{T(ye),setTimeout(()=>{Ee()})},[ye]),ahooks.useDeepCompareEffect(()=>{Je(_.sortBy(C,["start"])),Qe(C.reduce((e,r)=>{const{id:t}=r;return __spreadProps(__spreadValues({},e),{[t]:r})},{}))},[C]),React.useEffect(()=>{if(L){const e=Ye.current;v({id:L,loop:e,playImmediately:!0})}else v({})},[L]);const Ee=()=>{var e,r;d.current.clipConfigurable?(!E&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),$()):((r=o.current)==null||r.disableDragSelection(),X()),H()},H=()=>{var e,r,t,n,i;let a="";d.current.clipConfigurable?a=audio.getAttributeColor(d.current.selectedAttribute,(e=d.current.clipAttributeList)!=null?e:[]):a="transparent",((t=(r=o==null?void 0:o.current)==null?void 0:r.cursor)==null?void 0:t.cursor)&&((i=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||i.setStyle({border:`2px dashed ${a}`}))},q=e=>{var r,t,n;return((n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{})[e]},Re=()=>{var e,r;if(M){const t=((r=(e=ae==null?void 0:ae.split("."))==null?void 0:e.pop())==null?void 0:r.toLowerCase())==="pcm";ue(!1),t?getWebPcm2Wac.getWebPcm2WavBase64(M).then(n=>{Se(n)}):Se(M)}},Se=e=>{var r;e&&(se(!0),N(0),ce(0),(r=o==null?void 0:o.current)==null||r.load(e))},X=()=>{var e;(e=o.current)==null||e.clearRegions()},Z=e=>{const r=q(e);r&&(U(!1),r==null||r.remove(),B==null||B(e),v({}))},{run:he}=ahooks.useThrottleFn(v,{wait:500});index$4({sortByStartRegions:ge,setSelectedRegion:v});const it=e=>{const{start:r,end:t}=me.current;return(r||t)&&e.update(me.current),e},at=({action:e,id:r,eventDownTime:t})=>{var n,i;if(!d.current.clipConfigurable)return;r&&v({id:r});const a=q((r!=null?r:(n=d.current.selectedRegion)==null?void 0:n.id)||""),f=[];(e==="create"?w.current:(i=w.current)==null?void 0:i.filter(m=>m.id!==a.id)).forEach(m=>{const{start:y,end:A,attribute:g}=m;g===d.current.selectedAttribute&&[y,A].forEach(P=>{f.includes(P)||f.push(P)})});const l=audio.getCanMoveRange(f.sort((m,y)=>m-y),t);o.current.range=l},lt=e=>{H(),setTimeout(()=>{U(!1)});const r=it(e),{id:t,start:n,end:i}=r;v({id:t,playImmediately:!0});const a={id:t,start:utils.decimalReserved(n,3),end:utils.decimalReserved(i,3)};x==null||x(a),pe()},st=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:Le||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:C,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),r=()=>{var t;N(((t=o==null?void 0:o.current)==null?void 0:t.getCurrentTime())||0)};e.on("ready",()=>{var t;const n=((t=o==null?void 0:o.current)==null?void 0:t.getDuration())||0;ce(n),r(),s==null||s({duration:Math.round(n)}),se(!1),j(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",V),lbAnnotation.EventBus.on("clearRegions",X),lbAnnotation.EventBus.on("removeRegionById",Z),lbAnnotation.EventBus.on("setSelectedRegion",he),e.on("regions-eventDown",at),Ee()}),e.on("audioprocess",()=>{r()}),e.on("play",()=>{O(!0)}),e.on("pause",()=>{O(!1)}),e.on("finish",()=>{O(!1)}),e.on("seek",()=>{r()}),e.on("error",()=>{ue(!0),s==null||s({hasError:!0}),te==null||te()}),e.on("region-created",t=>{var n;const{id:i,start:a,end:f}=t;if(w.current.find(l=>l.id===i))return;const p={id:i,start:utils.decimalReserved(a,3),end:utils.decimalReserved(f,3),attribute:d.current.selectedAttribute,text:""};if(d.current.secondaryAttributeConfigurable){const l=lbAnnotation.TagUtils.getDefaultResultByConfig((n=d.current.subAttributeList)!=null?n:[]);p.subAttribute=l!=null?l:{}}x==null||x(p)}),e.on("region-updated",(t,n)=>{var i,a,f,p,l,m,y,A,g,P;const je=n==null?void 0:n.action;T({combined:!1,segment:!1}),je==="resize"&&((a=(i=o==null?void 0:o.current)==null?void 0:i.cursor)==null||a.setStyle({borderStyle:"solid"})),je==="drag"&&((p=(f=o==null?void 0:o.current)==null?void 0:f.cursor)==null||p.setStyle({borderColor:"transparent"}));const G={},Y=[],J={},Et=(l=w.current)==null?void 0:l.filter(b=>b.id!==t.id),Rt=(A=(y=(m=o.current)==null?void 0:m.regions)==null?void 0:y.list)!=null?A:{};Et.forEach(b=>{var Me,De;const{element:Q}=(Me=Rt[b.id])!=null?Me:{},{start:Pt,end:xt}=b;if(Q){const{x:ke,width:Ct}=((De=Q.getBoundingClientRect)==null?void 0:De.call(Q))||{},wt=ke+Ct;[ke,wt].forEach((ee,At)=>{Y.includes(ee)||(Y.push(ee),J[ee]=At===0?Pt:xt)})}});const{x:Be,width:St}=((P=(g=t.element).getBoundingClientRect)==null?void 0:P.call(g))||{},ht=Be+St;Y.forEach(b=>{Math.abs(audio.precisionMinus(b,Be))<5&&(G.start=J[b]),Math.abs(audio.precisionMinus(b,ht))<5&&(G.end=J[b])}),Ge(G),he({id:t.id}),U(!0)}),e.on("region-update-end",t=>{lt(t)}),e.on("region-contextmenu",(t,n)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){Z(t.id);return}v({id:t.id,playImmediately:!0})}}),e.on("region-click",(t,n,i)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),d.current.combined){tt(t);return}if(d.current.segment){rt(t,i);return}v({id:t.id,playImmediately:!0})}}),e.on("region-mousemove",nt),o.current=e},ut=I?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Pe=e=>e?`${parseFloat((e/D*100).toFixed(4))}%`:"0%",xe=Pe(R),ct=Pe(ve),h=()=>{if(!le)return o==null?void 0:o.current},dt=()=>{var e;(e=h())==null||e.skipForward(PER_PROGRESS)},vt=()=>{var e;(e=h())==null||e.skipBackward(PER_PROGRESS)},j=()=>{var e;(e=h())==null||e.playPause(),v({})},Ce=e=>{var r;switch(e.keyCode){case EKeyCode.Right:dt();break;case EKeyCode.Left:vt();break;case EKeyCode.Space:e.preventDefault(),j();break;case EKeyCode.Delete:if(!E){const{id:t}=((r=d.current)==null?void 0:r.selectedRegion)||{};t&&Z(t)}break}},ft=e=>{V(e)},we=___default.default.throttle(ft,50);let K=!1;const Ae=()=>{K&&(j(),K=!1),document.removeEventListener("mousemove",we),document.removeEventListener("mouseup",Ae)},mt=e=>{V(e),I&&(K=!0,j()),document.addEventListener("mousemove",we),document.addEventListener("mouseup",Ae)},pt=()=>{Re()};React.useEffect(()=>(st(),()=>{var e;(e=o==null?void 0:o.current)==null||e.destroy(),o.current=null,lbAnnotation.EventBus.unbindAll("setCurrentTimeByPosition"),lbAnnotation.EventBus.unbindAll("clearRegions"),lbAnnotation.EventBus.unbindAll("removeRegionById"),lbAnnotation.EventBus.unbindAll("setSelectedRegion")}),[]);const gt=e=>{var r,t,n;(r=h())==null||r.playPause(),(t=h())==null||t.setPlaybackRate(e),(n=h())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",Ce),()=>{document.removeEventListener("keydown",Ce)})),React.useEffect(()=>{v({}),Re()},[M]);const Te=e=>{var r,t,n,i;if((o==null?void 0:o.current)&&(S==null?void 0:S.current)){const a=(t=(r=o==null?void 0:o.current)==null?void 0:r.getDuration())!=null?t:0,f=(n=S==null?void 0:S.current)==null?void 0:n.getBoundingClientRect();let l=(e.clientX-f.left)/(((i=S==null?void 0:S.current)==null?void 0:i.clientWidth)||0)*a;return l>a&&(l=a),l}return 0},V=e=>{var r;const t=Te(e);(r=o==null?void 0:o.current)==null||r.skip(t-de.current),N(t)},bt=e=>{Ke(Te(e))},_t=D?Math.max(D-R,0):0,yt=(c==null?void 0:c.toolName)!==EToolName.Empty&&(c==null?void 0:c.isEdit)!==!0&&(Oe==="remark"||E),qe=React__default.default.createElement("div",{className:index_module.audioPlayer},Ze&&!Ie&&React__default.default.createElement(index$5,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:pt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$6,{getRegionInstanceById:q,clipping:z}),React__default.default.createElement(index$7,{container:W.current}),React__default.default.createElement(index$8,{segmentTimeTip:ot}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:W},React__default.default.createElement("div",{id:"waveform",style:{width:`${k*100}%`},className:index$9.classnames({[index_module.waveform]:!0,"bee-audio-combined":d.current.combined,"bee-audio-clip":d.current.clipConfigurable})},$e&&React__default.default.createElement(index$a,{isAudio:!0}),React__default.default.createElement("div",{ref:S,className:index_module.progress,onMouseDown:mt,onMouseMove:bt},React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0}),style:{left:xe}},audio.formatTime(R)),React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:ct}},audio.formatTime(ve)),React__default.default.createElement(index$b,{playPercentage:xe})),yt&&(ne==null?void 0:ne({currentTime:R,remainingTime:_t,audioPlayer:h()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:ut,onClick:()=>{j()},className:index$9.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:le})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(R,"ss.SSS")} / -${audio.timeFormat(D-R,"ss.SSS")}`),React__default.default.createElement(index$c.default,{playerType:index$c.EPlayerType.Audio,onChange:e=>{gt(e)}}),React__default.default.createElement(index$d.default,{onChange:e=>{_e(e)},zoom:k}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return c?React__default.default.createElement(AudioPlayerContext.Provider,{value:c},qe,C.map(e=>{const{id:r}=e,t=document.querySelector(`[data-id=${r}]`);return t?React__default.default.createElement(index$f,{el:t,key:r,region:e,edgeAdsorption:fe,clipping:z,zoom:k,instance:q(r)}):null}),React__default.default.createElement(index$g.default,{footer:He})):qe};exports.AudioPlayer=AudioPlayer,exports.AudioPlayerContext=AudioPlayerContext;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),getWebPcm2Wac=require("../audioAnnotate/utils/getWebPcm2Wac.js"),_=require("lodash"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),index$a=require("../invalidPage/index.js"),index$5=require("../imageError/index.js"),index$9=require("../../utils/index.js"),index$c=require("../videoPlayer/components/SpeedController/index.js"),WaveSurfer=require("@labelbee/wavesurfer"),Region=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.regions.js"),Cursor=require("@labelbee/wavesurfer/dist/plugin/wavesurfer.cursor.js"),index$d=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$1=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$b=require("./progressDot/index.js"),index$6=require("./clipTip/index.js"),index$4=require("./useSwitchHotkey/index.js"),index$2=require("./useAudioCombine/index.js"),index$3=require("./useAudioSegment/index.js"),index$7=require("./combineTip/index.js"),index$8=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js");function _interopDefaultLegacy(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),WaveSurfer__default=_interopDefaultLegacy(WaveSurfer),Region__default=_interopDefaultLegacy(Region),Cursor__default=_interopDefaultLegacy(Cursor),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(u,s,d)=>s in u?__defProp(u,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):u[s]=d,__spreadValues=(u,s)=>{for(var d in s||(s={}))__hasOwnProp.call(s,d)&&__defNormalProp(u,d,s[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(s))__propIsEnum.call(s,d)&&__defNormalProp(u,d,s[d]);return u},__spreadProps=(u,s)=>__defProps(u,__getOwnPropDescs(s));const{EToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,PER_PROGRESS=.1,AudioPlayerContext=React__default.default.createContext({count:0,isEdit:!1,toolName:EToolName.Empty,imgIndex:0}),AudioPlayer=({fileData:u={},onLoaded:s,context:d,invalid:Le,height:Oe,hideError:Ne,onError:te,updateRegion:x,removeRegion:B,regions:C=[],activeToolPanel:We,clipConfigurable:Fe,clipTextConfigurable:re,clipAttributeList:ze,clipAttributeConfigurable:ne,secondaryAttributeConfigurable:Ue,subAttributeList:He,isCheck:E,hoverRegionId:I,footer:Xe,drawLayerSlot:oe,clipTextList:ie})=>{var ae,le;const{url:M,path:se}=u,[L,O]=React.useState(!1),[ue,de]=React.useState(!1),[R,Ze]=React.useState(0),[Ke,ce]=React.useState(!1),[D,fe]=React.useState(0),o=React.useRef(null),S=React.useRef(null),ve=React.useRef(R),N=e=>{ve.current=e,Ze(e)},[me,Ve]=React.useState(0),[k,Ge]=React.useState(1),W=React.useRef(null),[pe,Ye]=React.useState({}),{audioClipState:F,setAudioClipState:T}=index.useAudioClipStore(),[z,U]=React.useState(!1),c=ahooks.useLatest(F),ge=ahooks.useLatest(pe),Je=ahooks.useLatest(L),w=ahooks.useLatest(C),be=ahooks.useUpdate(),[_e,Qe]=React.useState([]),[ye,et]=React.useState({}),tt=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),Ee=e=>{e<index$d.audioZoomInfo.min||e>index$d.audioZoomInfo.max||(Ge(e),audio.dispatchResizeEvent(),tt())};index$1({container:W.current,target:document.querySelector(`[data-id=${(le=(ae=c.current)==null?void 0:ae.selectedRegion)==null?void 0:le.id}]`),clipping:z,zoom:k,zoomHandler:Ee});const $=()=>{let e=w.current;const{attributeLockList:r}=c.current;r.length&&(e=e.filter(t=>r.includes(t.attribute))),X(),e.forEach(t=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},t),{drag:!E,resize:!E,color:"rgba(0, 0, 0, 0)"}))}),be()},f=e=>{var r,t,n,a,l,v,p;const{id:i,loop:m=!0,playImmediately:y=!1}=e;if(i){const A=(n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{};Object.entries(A).forEach(([,g])=>{const{id:P}=g;i===P?g.select():g.cancelSelect()}),T({selectedRegion:{id:i,loop:m},selectedAttribute:(v=(l=(a=w.current)==null?void 0:a.find(g=>g.id===i))==null?void 0:l.attribute)!=null?v:""}),m&&y&&((p=j(i))==null||p.playLoop())}else T({selectedRegion:{}})},{combineInstance:rt}=index$2({waveRef:o,sortByStartRegions:_e,regionMap:ye,updateRegion:x,removeRegion:B,generateRegions:$,setSelectedRegion:f}),{segmentInstance:nt,onRegionMouseMove:ot,segmentTimeTip:it}=index$3({waveRef:o,regionMap:ye,updateRegion:x,removeRegion:B,generateRegions:$,setSelectedRegion:f}),Re={clipTextConfigurable:re,clipAttributeList:ze,clipAttributeConfigurable:ne,clipConfigurable:Fe,secondaryAttributeConfigurable:Ue,subAttributeList:He,clipTextList:ie};React.useEffect(()=>{T({selectedAttribute:""})},[ne]),React.useEffect(()=>{H()},[F.selectedAttribute]),React.useEffect(()=>{$()},[F.attributeLockList]),ahooks.useDeepCompareEffect(()=>{T(Re),setTimeout(()=>{Se()})},[Re]),ahooks.useDeepCompareEffect(()=>{Qe(_.sortBy(C,["start"])),et(C.reduce((e,r)=>{const{id:t}=r;return __spreadProps(__spreadValues({},e),{[t]:r})},{}))},[C]),React.useEffect(()=>{if(I){const e=Je.current;f({id:I,loop:e,playImmediately:!0})}else f({})},[I]);const Se=()=>{var e,r;c.current.clipConfigurable?(!E&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),$()):((r=o.current)==null||r.disableDragSelection(),X()),H()},H=()=>{var e,r,t,n,a;let l="";c.current.clipConfigurable?l=audio.getAttributeColor(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):l="transparent",((t=(r=o==null?void 0:o.current)==null?void 0:r.cursor)==null?void 0:t.cursor)&&((a=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||a.setStyle({border:`2px dashed ${l}`}))},j=e=>{var r,t,n;return((n=(t=(r=o.current)==null?void 0:r.regions)==null?void 0:t.list)!=null?n:{})[e]},he=()=>{var e,r;if(M){const t=((r=(e=se==null?void 0:se.split("."))==null?void 0:e.pop())==null?void 0:r.toLowerCase())==="pcm";ce(!1),t?getWebPcm2Wac.getWebPcm2WavBase64(M).then(n=>{Pe(n)}):Pe(M)}},Pe=e=>{var r;e&&(de(!0),N(0),fe(0),(r=o==null?void 0:o.current)==null||r.load(e))},X=()=>{var e;(e=o.current)==null||e.clearRegions()},Z=e=>{const r=j(e);r&&(U(!1),r==null||r.remove(),B==null||B(e),f({}))},{run:xe}=ahooks.useThrottleFn(f,{wait:500});index$4({sortByStartRegions:_e,setSelectedRegion:f});const at=e=>{const{start:r,end:t}=ge.current;return(r||t)&&e.update(ge.current),e},lt=({action:e,id:r,eventDownTime:t})=>{var n,a;if(!c.current.clipConfigurable)return;r&&f({id:r});const l=j((r!=null?r:(n=c.current.selectedRegion)==null?void 0:n.id)||""),v=[];(e==="create"?w.current:(a=w.current)==null?void 0:a.filter(m=>m.id!==l.id)).forEach(m=>{const{start:y,end:A,attribute:g}=m;g===c.current.selectedAttribute&&[y,A].forEach(P=>{v.includes(P)||v.push(P)})});const i=audio.getCanMoveRange(v.sort((m,y)=>m-y),t);o.current.range=i},st=e=>{H(),setTimeout(()=>{U(!1)});const r=at(e),{id:t,start:n,end:a}=r;f({id:t,playImmediately:!0});const l={id:t,start:utils.decimalReserved(n,3),end:utils.decimalReserved(a,3)};x==null||x(l),be()},ut=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:Oe||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:C,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),r=()=>{var t;N(((t=o==null?void 0:o.current)==null?void 0:t.getCurrentTime())||0)};e.on("ready",()=>{var t;const n=((t=o==null?void 0:o.current)==null?void 0:t.getDuration())||0;fe(n),r(),s==null||s({duration:Math.round(n)}),de(!1),q(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",V),lbAnnotation.EventBus.on("clearRegions",X),lbAnnotation.EventBus.on("removeRegionById",Z),lbAnnotation.EventBus.on("setSelectedRegion",xe),e.on("regions-eventDown",lt),Se()}),e.on("audioprocess",()=>{r()}),e.on("play",()=>{O(!0)}),e.on("pause",()=>{O(!1)}),e.on("finish",()=>{O(!1)}),e.on("seek",()=>{r()}),e.on("error",()=>{ce(!0),s==null||s({hasError:!0}),te==null||te()}),e.on("region-created",t=>{var n;const{id:a,start:l,end:v}=t;if(w.current.find(i=>i.id===a))return;const p={id:a,start:utils.decimalReserved(l,3),end:utils.decimalReserved(v,3),attribute:c.current.selectedAttribute,text:""};if(c.current.secondaryAttributeConfigurable){const i=lbAnnotation.TagUtils.getDefaultResultByConfig((n=c.current.subAttributeList)!=null?n:[]);p.subAttribute=i!=null?i:{}}re&&ie.forEach((i,m)=>{m===0?Object.assign(p,{text:i==null?void 0:i.default}):Object.assign(p,{[i.key]:i==null?void 0:i.default})}),x==null||x(p)}),e.on("region-updated",(t,n)=>{var a,l,v,p,i,m,y,A,g,P;const Me=n==null?void 0:n.action;T({combined:!1,segment:!1}),Me==="resize"&&((l=(a=o==null?void 0:o.current)==null?void 0:a.cursor)==null||l.setStyle({borderStyle:"solid"})),Me==="drag"&&((p=(v=o==null?void 0:o.current)==null?void 0:v.cursor)==null||p.setStyle({borderColor:"transparent"}));const G={},Y=[],J={},Rt=(i=w.current)==null?void 0:i.filter(b=>b.id!==t.id),St=(A=(y=(m=o.current)==null?void 0:m.regions)==null?void 0:y.list)!=null?A:{};Rt.forEach(b=>{var ke,$e;const{element:Q}=(ke=St[b.id])!=null?ke:{},{start:xt,end:Ct}=b;if(Q){const{x:Ie,width:wt}=(($e=Q.getBoundingClientRect)==null?void 0:$e.call(Q))||{},At=Ie+wt;[Ie,At].forEach((ee,Tt)=>{Y.includes(ee)||(Y.push(ee),J[ee]=Tt===0?xt:Ct)})}});const{x:De,width:ht}=((P=(g=t.element).getBoundingClientRect)==null?void 0:P.call(g))||{},Pt=De+ht;Y.forEach(b=>{Math.abs(audio.precisionMinus(b,De))<5&&(G.start=J[b]),Math.abs(audio.precisionMinus(b,Pt))<5&&(G.end=J[b])}),Ye(G),xe({id:t.id}),U(!0)}),e.on("region-update-end",t=>{st(t)}),e.on("region-contextmenu",(t,n)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){Z(t.id);return}f({id:t.id,playImmediately:!0})}}),e.on("region-click",(t,n,a)=>{if(!E){if(n.preventDefault(),n.stopPropagation(),c.current.combined){rt(t);return}if(c.current.segment){nt(t,a);return}f({id:t.id,playImmediately:!0})}}),e.on("region-mousemove",ot),o.current=e},dt=L?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Ce=e=>e?`${parseFloat((e/D*100).toFixed(4))}%`:"0%",we=Ce(R),ct=Ce(me),h=()=>{if(!ue)return o==null?void 0:o.current},ft=()=>{var e;(e=h())==null||e.skipForward(PER_PROGRESS)},vt=()=>{var e;(e=h())==null||e.skipBackward(PER_PROGRESS)},q=()=>{var e;(e=h())==null||e.playPause(),f({})},Ae=e=>{var r;switch(e.keyCode){case EKeyCode.Right:ft();break;case EKeyCode.Left:vt();break;case EKeyCode.Space:e.preventDefault(),q();break;case EKeyCode.Delete:if(!E){const{id:t}=((r=c.current)==null?void 0:r.selectedRegion)||{};t&&Z(t)}break}},mt=e=>{V(e)},Te=___default.default.throttle(mt,50);let K=!1;const je=()=>{K&&(q(),K=!1),document.removeEventListener("mousemove",Te),document.removeEventListener("mouseup",je)},pt=e=>{V(e),L&&(K=!0,q()),document.addEventListener("mousemove",Te),document.addEventListener("mouseup",je)},gt=()=>{he()};React.useEffect(()=>(ut(),()=>{var e;(e=o==null?void 0:o.current)==null||e.destroy(),o.current=null,lbAnnotation.EventBus.unbindAll("setCurrentTimeByPosition"),lbAnnotation.EventBus.unbindAll("clearRegions"),lbAnnotation.EventBus.unbindAll("removeRegionById"),lbAnnotation.EventBus.unbindAll("setSelectedRegion")}),[]);const bt=e=>{var r,t,n;(r=h())==null||r.playPause(),(t=h())==null||t.setPlaybackRate(e),(n=h())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",Ae),()=>{document.removeEventListener("keydown",Ae)})),React.useEffect(()=>{f({}),he()},[M]);const qe=e=>{var r,t,n,a;if((o==null?void 0:o.current)&&(S==null?void 0:S.current)){const l=(t=(r=o==null?void 0:o.current)==null?void 0:r.getDuration())!=null?t:0,v=(n=S==null?void 0:S.current)==null?void 0:n.getBoundingClientRect();let i=(e.clientX-v.left)/(((a=S==null?void 0:S.current)==null?void 0:a.clientWidth)||0)*l;return i>l&&(i=l),i}return 0},V=e=>{var r;const t=qe(e);(r=o==null?void 0:o.current)==null||r.skip(t-ve.current),N(t)},_t=e=>{Ve(qe(e))},yt=D?Math.max(D-R,0):0,Et=(d==null?void 0:d.toolName)!==EToolName.Empty&&(d==null?void 0:d.isEdit)!==!0&&(We==="remark"||E),Be=React__default.default.createElement("div",{className:index_module.audioPlayer},Ke&&!Ne&&React__default.default.createElement(index$5,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:gt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$6,{getRegionInstanceById:j,clipping:z}),React__default.default.createElement(index$7,{container:W.current}),React__default.default.createElement(index$8,{segmentTimeTip:it}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:W},React__default.default.createElement("div",{id:"waveform",style:{width:`${k*100}%`},className:index$9.classnames({[index_module.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},Le&&React__default.default.createElement(index$a,{isAudio:!0}),React__default.default.createElement("div",{ref:S,className:index_module.progress,onMouseDown:pt,onMouseMove:_t},React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0}),style:{left:we}},audio.formatTime(R)),React__default.default.createElement("div",{className:index$9.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:ct}},audio.formatTime(me)),React__default.default.createElement(index$b,{playPercentage:we})),Et&&(oe==null?void 0:oe({currentTime:R,remainingTime:yt,audioPlayer:h()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:dt,onClick:()=>{q()},className:index$9.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:ue})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(R,"ss.SSS")} / -${audio.timeFormat(D-R,"ss.SSS")}`),React__default.default.createElement(index$c.default,{playerType:index$c.EPlayerType.Audio,onChange:e=>{bt(e)}}),React__default.default.createElement(index$d.default,{onChange:e=>{Ee(e)},zoom:k}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return d?React__default.default.createElement(AudioPlayerContext.Provider,{value:d},Be,C.map(e=>{const{id:r}=e,t=document.querySelector(`[data-id=${r}]`);return t?React__default.default.createElement(index$f,{el:t,key:r,region:e,edgeAdsorption:pe,clipping:z,zoom:k,instance:j(r)}):null}),React__default.default.createElement(index$g.default,{footer:Xe})):Be};exports.AudioPlayer=AudioPlayer,exports.AudioPlayerContext=AudioPlayerContext;
@@ -1 +1 @@
1
- "use strict";var ahooks=require("ahooks"),es=require("antd/es"),React=require("react"),reactRedux=require("react-redux"),reactI18next=require("react-i18next"),usePointCloudViews=require("../pointCloudView/hooks/usePointCloudViews.js"),PointCloudContext=require("../pointCloudView/PointCloudContext.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,a,r)=>a in n?__defProp(n,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[a]=r,__spreadValues=(n,a)=>{for(var r in a||(a={}))__hasOwnProp.call(a,r)&&__defNormalProp(n,r,a[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(a))__propIsEnum.call(a,r)&&__defNormalProp(n,r,a[r]);return n},__spreadProps=(n,a)=>__defProps(n,__getOwnPropDescs(a));const PointCloud2DRectOperationView=n=>{var a;const{mappingData:r,size:l,config:f,checkMode:O,afterImgOnLoad:L}=n,v=(a=r==null?void 0:r.url)!=null?a:"",{t:y}=reactI18next.useTranslation(),{pointCloudBoxList:s,setPointCloudResult:V,defaultAttribute:p,rectList:R,addRectIn2DView:E,updateRectIn2DView:m,removeRectIn2DView:S}=React.useContext(PointCloudContext.PointCloudContext),{update2DViewRect:j}=usePointCloudViews.usePointCloudViews(),_=React__default.default.useRef(null),t=React.useRef(null),D=ahooks.useLatest(j),P=React.useRef(null),[q,w]=React.useState(!0),g=React.useMemo(()=>R==null?void 0:R.filter(e=>e.imageName===(r==null?void 0:r.path)),[r==null?void 0:r.path,R]),d=ahooks.useLatest(r==null?void 0:r.path),C=e=>{var o;const{boxID:u}=e;if(u){const i=(o=D.current)==null?void 0:o.call(D,e);P.current=i,V(i);return}m(e)},I=e=>{d.current&&E(__spreadProps(__spreadValues({},e),{imageName:d.current}))},x=e=>{e.some(u=>u.boxID)&&es.message.warning(y("ProjectionFrameCannotBeDeleted")),S(e)},B=React.useCallback(()=>{let e=[];return s.forEach(o=>{const{rects:u=[],id:i,attribute:c,trackID:A}=o,h=u.find(k=>k.imageName===d.current),N=i+"_"+d.current;h&&(e=[...e,__spreadProps(__spreadValues({},h),{boxID:i,id:N,attribute:c,order:A})])}),e},[s]),b=()=>{var e,o,u;const i=B(),c=(e=t.current)==null?void 0:e.selectedRectID;(o=t.current)==null||o.setResult([...i,...g]),c&&((u=t.current)==null||u.setSelectedRectID(c))};return React.useEffect(()=>{if(_.current){const e=new lbAnnotation.PointCloud2DRectOperation({container:_.current,size:l,config:__spreadProps(__spreadValues({},f),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:O});return t.current=e,t.current.init(),t.current.on("updateDragResult",C),t.current.on("afterAddingDrawingRect",I),t.current.on("deleteSelectedRects",x),()=>{var o,u,i,c;(o=t.current)==null||o.unbind("updateDragResult",C),(u=t.current)==null||u.unbind("afterAddingDrawingRect",I),(i=t.current)==null||i.unbind("deleteSelectedRects",x),(c=t.current)==null||c.destroy()}}},[]),React.useEffect(()=>{w(!0),t.current&&v&&lbAnnotation.ImgUtils.load(v).then(e=>{t.current.setImgNode(e),L(e),w(!1)})},[v]),React.useEffect(()=>{var e;(e=t.current)==null||e.setSize(l)},[l]),React.useEffect(()=>{s!==P.current&&b()},[s]),React.useEffect(()=>{var e,o,u;const i=g.find(c=>c.id===t.current.selectedRectID);(o=(e=t.current)==null?void 0:e.setDefaultAttribute)==null||o.call(e,p),i&&m(__spreadProps(__spreadValues({},(u=t.current)==null?void 0:u.selectedRect),{attribute:p})),b()},[p]),React.useEffect(()=>{b()},[g]),React.useEffect(()=>{var e,o,u,i;const c=(o=(e=t.current)==null?void 0:e.config)!=null?o:{};(i=t.current)==null||i.setConfig(JSON.stringify(__spreadProps(__spreadValues({},c),{attributeList:(u=f.attributeList)!=null?u:[]})))},[f.attributeList]),React__default.default.createElement(es.Spin,{spinning:q},React__default.default.createElement("div",{ref:_,style:__spreadValues({position:"relative"},l)}))};var PointCloud2DRectOperationView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DRectOperationView);module.exports=PointCloud2DRectOperationView$1;
1
+ "use strict";var ahooks=require("ahooks"),es=require("antd/es"),React=require("react"),reactRedux=require("react-redux"),usePointCloudViews=require("../pointCloudView/hooks/usePointCloudViews.js"),PointCloudContext=require("../pointCloudView/PointCloudContext.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(u,i,n)=>i in u?__defProp(u,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):u[i]=n,__spreadValues=(u,i)=>{for(var n in i||(i={}))__hasOwnProp.call(i,n)&&__defNormalProp(u,n,i[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(i))__propIsEnum.call(i,n)&&__defNormalProp(u,n,i[n]);return u},__spreadProps=(u,i)=>__defProps(u,__getOwnPropDescs(i));const PointCloud2DRectOperationView=u=>{var i;const{mappingData:n,size:l,config:f,checkMode:V,afterImgOnLoad:y}=u,p=(i=n==null?void 0:n.url)!=null?i:"",{pointCloudBoxList:v,setPointCloudResult:b,defaultAttribute:R,rectList:_,addRectIn2DView:E,updateRectIn2DView:w,removeRectIn2DView:S}=React.useContext(PointCloudContext.PointCloudContext),{update2DViewRect:j,remove2DViewRect:q}=usePointCloudViews.usePointCloudViews(),g=React__default.default.useRef(null),r=React.useRef(null),P=ahooks.useMemoizedFn(j),C=ahooks.useMemoizedFn(q),m=React.useRef(null),[B,I]=React.useState(!0),D=React.useMemo(()=>_==null?void 0:_.filter(e=>e.imageName===(n==null?void 0:n.path)),[n==null?void 0:n.path,_]),s=ahooks.useLatest(n==null?void 0:n.path),x=e=>{const{boxID:o}=e;if(o){const t=P==null?void 0:P(e);m.current=t,b(t);return}w(e)},O=e=>{s.current&&E(__spreadProps(__spreadValues({},e),{imageName:s.current}))},h=e=>{const o=e.find(t=>t.boxID);if(o){const t=C==null?void 0:C(o);m.current=t,b(t),d();return}S(e)},M=ahooks.useMemoizedFn(()=>{let e=[];return v.forEach(o=>{const{rects:t=[],id:c,attribute:a,trackID:z}=o,L=t.find(F=>F.imageName===s.current),A=c+"_"+s.current;L&&(e=[...e,__spreadProps(__spreadValues({},L),{boxID:c,id:A,attribute:a,order:z})])}),e}),d=ahooks.useMemoizedFn(()=>{var e,o,t;const c=M(),a=(e=r.current)==null?void 0:e.selectedRectID;(o=r.current)==null||o.setResult([...c,...D]),a&&((t=r.current)==null||t.setSelectedRectID(a))});return React.useEffect(()=>{if(g.current){const e=new lbAnnotation.PointCloud2DRectOperation({container:g.current,size:l,config:__spreadProps(__spreadValues({},f),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:V});return r.current=e,r.current.init(),r.current.on("updateDragResult",x),r.current.on("afterAddingDrawingRect",O),r.current.on("deleteSelectedRects",h),()=>{var o,t,c,a;(o=r.current)==null||o.unbind("updateDragResult",x),(t=r.current)==null||t.unbind("afterAddingDrawingRect",O),(c=r.current)==null||c.unbind("deleteSelectedRects",h),(a=r.current)==null||a.destroy()}}},[]),React.useEffect(()=>{I(!0),r.current&&p&&lbAnnotation.ImgUtils.load(p).then(e=>{r.current.setImgNode(e),y(e),I(!1)})},[p]),React.useEffect(()=>{var e;(e=r.current)==null||e.setSize(l)},[l]),React.useEffect(()=>{v!==m.current&&d()},[v]),React.useEffect(()=>{var e,o,t;const c=D.find(a=>a.id===r.current.selectedRectID);(o=(e=r.current)==null?void 0:e.setDefaultAttribute)==null||o.call(e,R),c&&w(__spreadProps(__spreadValues({},(t=r.current)==null?void 0:t.selectedRect),{attribute:R})),d()},[R]),React.useEffect(()=>{d()},[D]),React.useEffect(()=>{var e,o,t,c;const a=(o=(e=r.current)==null?void 0:e.config)!=null?o:{};(c=r.current)==null||c.setConfig(JSON.stringify(__spreadProps(__spreadValues({},a),{attributeList:(t=f.attributeList)!=null?t:[]})))},[f.attributeList]),React__default.default.createElement(es.Spin,{spinning:B},React__default.default.createElement("div",{ref:g,style:__spreadValues({position:"relative"},l)}))};var PointCloud2DRectOperationView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DRectOperationView);module.exports=PointCloud2DRectOperationView$1;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,o,i)=>o in t?__defProp(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i,__spreadValues=(t,o)=>{for(var i in o||(o={}))__hasOwnProp.call(o,i)&&__defNormalProp(t,i,o[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(o))__propIsEnum.call(o,i)&&__defNormalProp(t,i,o[i]);return t},__spreadProps=(t,o)=>__defProps(t,__getOwnPropDescs(o));const EKeyCode=lbAnnotation.cKeyCode.default,pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),PointCloudViewIcon=({perspectiveView:t})=>{const{isActive:o,setTarget3DView:i}=React.useContext(PointCloud3DContext),n=u=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",u)]:!0,active:o});return React__default.default.createElement("span",{onClick:()=>{i(lbUtils.EPerspectiveView[t])},className:n(t.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:t})=>{const{reset3DView:o,followTopView:i}=React.useContext(PointCloud3DContext),{t:n}=reactI18next.useTranslation(),u=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Top"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Front"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Left"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Back"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Right"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"LFT"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"RBT"})),p=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(antd.Tooltip,{title:n("CameraFollowTopView")},React__default.default.createElement("span",{onClick:()=>{i()},className:dom.getClassName("point-cloud-3d-view","followTop")})),React__default.default.createElement("span",{onClick:()=>{o()},className:dom.getClassName("point-cloud-3d-view","reset")}));return t?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebarZoom")},p,u):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},u,p)},PointCloud3D=({currentData:t,config:o,highlightAttribute:i})=>{const n=React.useContext(PointCloudContext.PointCloudContext),[u,p]=React.useState(!0),[d,w]=React.useState(!1),m=React.useRef(null),{initPointCloud3d:E}=usePointCloudViews.usePointCloudViews(),f=useSize(m),{t:C}=reactI18next.useTranslation();React.useEffect(()=>{!n.mainViewInstance||E==null||E(f)},[f]);const{selectedBox:c}=useSingleBox.useSingleBox(),{selectedSphere:v}=useSphere.useSphere(),V=e=>{var a,l;const r=c==null?void 0:c.info;if(r){const s=__spreadValues({},r.center);s.x=s.x-.01,s.z=1e3;const g=e===lbUtils.EPerspectiveView.Top;(a=n.mainViewInstance)==null||a.updateCameraByBox(r,e,g?s:void 0)}v&&((l=n.mainViewInstance)==null||l.updateCameraBySphere(v,e))},_=()=>{var e;(e=n.mainViewInstance)==null||e.resetCamera()},h=()=>{var e,a;const l=(e=n.topViewInstance)==null?void 0:e.pointCloudInstance.camera;l&&((a=n.mainViewInstance)==null||a.applyCameraTarget(l))};React.useEffect(()=>{if(m.current&&(t==null?void 0:t.url)){let e=n.mainViewInstance;!e&&f.width&&(e=new lbAnnotation.PointCloud({container:m.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(f),config:o}),n.setMainViewInstance(e))}},[f,t]),React.useEffect(()=>{var e;if(m.current&&(t==null?void 0:t.url)&&t.result&&n.mainViewInstance){let a=n.mainViewInstance;const l=lbUtils.PointCloudUtils.getBoxParamsFromResultList(t.result);l.forEach(r=>{var s;const g=(s=lbUtils.toolStyleConverter.getColorFromConfig({attribute:r.attribute},__spreadProps(__spreadValues({},o),{attributeConfigurable:!0}),{}))==null?void 0:s.hex;a==null||a.addBoxToSense(r,g)}),a.render(),n.setPointCloudResult(l),n.setPointCloudValid((e=index.jsonParser(t.result))==null?void 0:e.valid)}},[t,n.mainViewInstance]),React.useEffect(()=>{var e,a,l,r;if(c){V(lbUtils.EPerspectiveView.Top);const s=(l=(a=(e=n.topViewInstance)==null?void 0:e.pointCloudInstance)==null?void 0:a.camera.zoom)!=null?l:1;(r=n.mainViewInstance)==null||r.updateCameraZoom(s)}},[c]),React.useEffect(()=>{var e,a,l,r;if(v){V(lbUtils.EPerspectiveView.Top);const s=(l=(a=(e=n.topViewInstance)==null?void 0:e.pointCloudInstance)==null?void 0:a.camera.zoom)!=null?l:1;(r=n.mainViewInstance)==null||r.updateCameraZoom(s)}},[v]),React.useEffect(()=>(window.addEventListener("keydown",P),()=>{window.removeEventListener("keydown",P)}),[]);const P=e=>{if(e.keyCode===EKeyCode.Esc){w(!1);return}},x=React.useMemo(()=>({reset3DView:_,setTarget3DView:V,isActive:!!c,followTopView:h}),[c,n.mainViewInstance]);React.useEffect(()=>{var e,a,l;const r=n.pointCloudBoxList.filter(s=>s.attribute===i);(r==null?void 0:r.length)>0&&((e=n.mainViewInstance)==null||e.clearHighlightBoxes(),(a=n.mainViewInstance)==null||a.highlightBoxes(r)),r.length===0&&((l=n.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[i,n.mainViewInstance]);const I=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{onChange:e=>{var a;(a=n.mainViewInstance)==null||a.updatePointSize({customSize:e})}}),React__default.default.createElement("span",{style:{marginRight:8}},C("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:u,onChange:e=>{var a;p(e),(a=n.mainViewInstance)==null||a.setShowDirection(e)}}),d&&React__default.default.createElement(PointCloud3DContext.Provider,{value:x},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:d})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:d}),title:d?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{w(!1)}}),C("3DView")):React__default.default.createElement(index$2,{title:C("3DView"),onClick:()=>{w(!0)}}),toolbar:I},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!d&&React__default.default.createElement(PointCloud3DContext.Provider,{value:x},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:m})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
1
+ "use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,o,i)=>o in t?__defProp(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i,__spreadValues=(t,o)=>{for(var i in o||(o={}))__hasOwnProp.call(o,i)&&__defNormalProp(t,i,o[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(o))__propIsEnum.call(o,i)&&__defNormalProp(t,i,o[i]);return t},__spreadProps=(t,o)=>__defProps(t,__getOwnPropDescs(o));const EKeyCode=lbAnnotation.cKeyCode.default,pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),PointCloudViewIcon=({perspectiveView:t})=>{const{isActive:o,setTarget3DView:i}=React.useContext(PointCloud3DContext),n=u=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",u)]:!0,active:o});return React__default.default.createElement("span",{onClick:()=>{i(lbUtils.EPerspectiveView[t])},className:n(t.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:t})=>{const{reset3DView:o,followTopView:i}=React.useContext(PointCloud3DContext),{t:n}=reactI18next.useTranslation(),u=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Top"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Front"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Left"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Back"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Right"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"LFT"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"RBT"})),p=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(antd.Tooltip,{title:n("CameraFollowTopView")},React__default.default.createElement("span",{onClick:()=>{i()},className:dom.getClassName("point-cloud-3d-view","followTop")})),React__default.default.createElement("span",{onClick:()=>{o()},className:dom.getClassName("point-cloud-3d-view","reset")}));return t?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebarZoom")},p,u):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},u,p)},PointCloud3D=({currentData:t,config:o,highlightAttribute:i})=>{const n=React.useContext(PointCloudContext.PointCloudContext),[u,p]=React.useState(!0),[d,C]=React.useState(!1),m=React.useRef(null),{initPointCloud3d:E}=usePointCloudViews.usePointCloudViews(),f=useSize(m),{t:g}=reactI18next.useTranslation();React.useEffect(()=>{!n.mainViewInstance||E==null||E(f)},[f]);const{selectedBox:c}=useSingleBox.useSingleBox(),{selectedSphere:v}=useSphere.useSphere(),V=e=>{var a,l;const r=c==null?void 0:c.info;if(r){const s=__spreadValues({},r.center);s.x=s.x-.01,s.z=1e3;const w=e===lbUtils.EPerspectiveView.Top;(a=n.mainViewInstance)==null||a.updateCameraByBox(r,e,w?s:void 0)}v&&((l=n.mainViewInstance)==null||l.updateCameraBySphere(v,e))},_=()=>{var e;(e=n.mainViewInstance)==null||e.resetCamera()},h=()=>{var e,a;const l=(e=n.topViewInstance)==null?void 0:e.pointCloudInstance.camera;l&&((a=n.mainViewInstance)==null||a.applyCameraTarget(l))};React.useEffect(()=>{if(m.current&&(t==null?void 0:t.url)){let e=n.mainViewInstance;!e&&f.width&&(e=new lbAnnotation.PointCloud({container:m.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(f),config:o}),n.setMainViewInstance(e))}},[f,t]),React.useEffect(()=>{var e;if(m.current&&(t==null?void 0:t.url)&&t.result&&n.mainViewInstance){let a=n.mainViewInstance;const l=lbUtils.PointCloudUtils.getBoxParamsFromResultList(t.result);l.forEach(s=>{var w;const b=(w=lbUtils.toolStyleConverter.getColorFromConfig({attribute:s.attribute},__spreadProps(__spreadValues({},o),{attributeConfigurable:!0}),{}))==null?void 0:w.hex;a==null||a.addBoxToSense(s,b)}),a.render(),n.setPointCloudResult(l);const r=lbUtils.PointCloudUtils.getRectParamsFromResultList(t.result);n.setRectList(r),n.setPointCloudValid((e=index.jsonParser(t.result))==null?void 0:e.valid)}},[t,n.mainViewInstance]),React.useEffect(()=>{var e,a,l,r;if(c){V(lbUtils.EPerspectiveView.Top);const s=(l=(a=(e=n.topViewInstance)==null?void 0:e.pointCloudInstance)==null?void 0:a.camera.zoom)!=null?l:1;(r=n.mainViewInstance)==null||r.updateCameraZoom(s)}},[c]),React.useEffect(()=>{var e,a,l,r;if(v){V(lbUtils.EPerspectiveView.Top);const s=(l=(a=(e=n.topViewInstance)==null?void 0:e.pointCloudInstance)==null?void 0:a.camera.zoom)!=null?l:1;(r=n.mainViewInstance)==null||r.updateCameraZoom(s)}},[v]),React.useEffect(()=>(window.addEventListener("keydown",P),()=>{window.removeEventListener("keydown",P)}),[]);const P=e=>{if(e.keyCode===EKeyCode.Esc){C(!1);return}},x=React.useMemo(()=>({reset3DView:_,setTarget3DView:V,isActive:!!c,followTopView:h}),[c,n.mainViewInstance]);React.useEffect(()=>{var e,a,l;const r=n.pointCloudBoxList.filter(s=>s.attribute===i);(r==null?void 0:r.length)>0&&((e=n.mainViewInstance)==null||e.clearHighlightBoxes(),(a=n.mainViewInstance)==null||a.highlightBoxes(r)),r.length===0&&((l=n.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[i,n.mainViewInstance]);const I=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{onChange:e=>{var a;(a=n.mainViewInstance)==null||a.updatePointSize({customSize:e})}}),React__default.default.createElement("span",{style:{marginRight:8}},g("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:u,onChange:e=>{var a;p(e),(a=n.mainViewInstance)==null||a.setShowDirection(e)}}),d&&React__default.default.createElement(PointCloud3DContext.Provider,{value:x},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:d})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:d}),title:d?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{C(!1)}}),g("3DView")):React__default.default.createElement(index$2,{title:g("3DView"),onClick:()=>{C(!0)}}),toolbar:I},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!d&&React__default.default.createElement(PointCloud3DContext.Provider,{value:x},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:m})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("../PointCloudContext.js"),useSingleBox=require("./useSingleBox.js"),useSphere=require("./useSphere.js"),ctx=require("../../../store/ctx.js"),StepUtils=require("../../../utils/StepUtils.js"),index=require("../../../utils/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js"),ahooks=require("ahooks"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__async=(e,t,n)=>new Promise((a,o)=>{var d=u=>{try{c(n.next(u))}catch(f){o(f)}},P=u=>{try{c(n.throw(u))}catch(f){o(f)}},c=u=>u.done?a(u.value):Promise.resolve(u.value).then(d,P);c((n=n.apply(e,t)).next())});const DEFAULT_SCOPE=5,DEFAULT_RADIUS=90,INTELLIGENT_FIT_MARGIN=.01,PointCloudView={"3D":"3D",Top:"Top",Side:"Side",Back:"Back"},topViewPoint2PointCloud=(e,t,n,a,o)=>{const{x:d,y:P}=lbUtils.PointCloudUtils.transferCanvas2World(e,t),{defaultZ:c}=lbUtils.DEFAULT_SPHERE_PARAMS,u={center:{x:d,y:P,z:c},id:e.id},f=a?__spreadValues(__spreadValues({},a),u):__spreadProps(__spreadValues({},u),{attribute:"",valid:!0});return o&&Object.assign(f,o),f},topViewPolygon2PointCloud=(e,t,n,a,o,d)=>{let P=e.pointList.map(y=>lbUtils.PointCloudUtils.transferCanvas2World(y,t)),c=0,u=1,f={};if(n){const y=n.getSensesPointZAxisInPolygon(P,void 0,d);d&&y.fittedCoordinates.length>0&&(P=y.fittedCoordinates),c=(y.maxZ+y.minZ)/2,u=y.maxZ-y.minZ,f={count:y.zCount}}const[v,B,j]=P,_=lbAnnotation.MathUtils.getLineCenterPoint([v,j]),O=lbAnnotation.MathUtils.getLineLength(v,B),I=lbAnnotation.MathUtils.getLineLength(B,j),A=lbAnnotation.MathUtils.getRadiusFromQuadrangle(e.pointList);a&&(c=a.center.z,u=a.depth);const k={center:{x:_.x,y:_.y,z:c},width:d?I+INTELLIGENT_FIT_MARGIN:I,height:d?O+INTELLIGENT_FIT_MARGIN:O,depth:u,rotation:A,id:e.id},R=__spreadValues(a?__spreadValues(__spreadValues({},a),k):__spreadProps(__spreadValues({},k),{attribute:"",valid:!0}),f);o&&Object.assign(R,o);const z=P.map(y=>lbUtils.PointCloudUtils.transferWorld2Canvas(y,t));return{boxParams:R,newPointList:z}},sideViewPoint2PointCloud=(e,t,n)=>{const a={x:e.x-t.x,y:e.y-t.y};return __spreadProps(__spreadValues({},n),{center:{x:n.center.x-a.x,y:n.center.y,z:n.center.z-a.y}})},sideViewPolygon2PointCloud=(e,t,n,a)=>{const[o,d,P]=e.pointList,[c,u,f]=t.pointList,v=lbAnnotation.MathUtils.getLineCenterPoint([o,P]),B=lbAnnotation.MathUtils.getLineCenterPoint([c,f]),_={x:{x:v.x-B.x,y:v.y-B.y}.x,y:0,z:v.y-B.y},O=lbAnnotation.MathUtils.getLineLength(o,d),I=lbAnnotation.MathUtils.getLineLength(c,u),A=O-I,k=lbAnnotation.MathUtils.getLineLength(d,P),R=lbAnnotation.MathUtils.getLineLength(u,f),z=k-R,{newBoxParams:y}=a.getNewBoxBySideUpdate(_,z,A,n);return y},backViewPoint2PointCloud=(e,t,n)=>{const a={x:e.x-t.x,y:e.y-t.y};return __spreadProps(__spreadValues({},n),{center:{x:n.center.x,y:n.center.y-a.x,z:n.center.z-a.y}})},backViewPolygon2PointCloud=(e,t,n,a)=>{const[o,d,P]=e.pointList,[c,u,f]=t.pointList,v=lbAnnotation.MathUtils.getLineCenterPoint([o,P]),B=lbAnnotation.MathUtils.getLineCenterPoint([c,f]),_={x:{x:v.x-B.x,y:v.y-B.y}.x,y:0,z:v.y-B.y},O=lbAnnotation.MathUtils.getLineLength(o,d),I=lbAnnotation.MathUtils.getLineLength(c,u),A=O-I,k=lbAnnotation.MathUtils.getLineLength(d,P),R=lbAnnotation.MathUtils.getLineLength(u,f),z=k-R;let{newBoxParams:y}=a.getNewBoxByBackUpdate(_,z,A,n);return y},syncSideViewByPoint=(e,t,n,a,o)=>{var d;if(!n)return;const{toolInstance:P,pointCloudInstance:c}=n;c.loadPCDFile(a,(d=o==null?void 0:o.radius)!=null?d:DEFAULT_RADIUS);const{cameraPositionVector:u}=c.updateOrthoCameraBySphere(e,lbUtils.EPerspectiveView.Left);c.setInitCameraPosition(u);const{point2d:f,zoom:v}=c.getSphereSidePoint2DCoordinate(e);c.camera.zoom=v,c.camera.updateProjectionMatrix(),c.render(),P.initPosition(),P.zoomChangeOnCenter(v),P.setResult([__spreadProps(__spreadValues(__spreadValues({},t),f),{valid:e.valid,textAttribute:"",attribute:e.attribute})]),P.setSelectedID(t.id)},synchronizeSideView=(e,t,n,a)=>{if(!n)return;const{pointCloud2dOperation:o,pointCloudInstance:d}=n;d.loadPCDFileByBox(a,e,{width:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=d.updateOrthoCamera(e,lbUtils.EPerspectiveView.Left);d.setInitCameraPosition(P);const{polygon2d:c,zoom:u}=d.getBoxSidePolygon2DCoordinate(e);d.camera.zoom=u,d.camera.updateProjectionMatrix(),d.render(),o.initPosition(),o.zoomChangeOnCenter(u),o.setResultAndSelectedID([{id:t.id,valid:e.valid,pointList:c,textAttribute:"",isRect:!0,attribute:e.attribute}],t.id)},syncBackViewByPoint=(e,t,n,a,o)=>{var d;if(!n)return;const{toolInstance:P,pointCloudInstance:c}=n;c.loadPCDFile(a,(d=o==null?void 0:o.radius)!=null?d:DEFAULT_RADIUS);const{cameraPositionVector:u}=c.updateOrthoCameraBySphere(e,lbUtils.EPerspectiveView.Back);c.setInitCameraPosition(u);const{point2d:f,zoom:v}=c.getSphereBackPoint2DCoordinate(e);c.camera.zoom=v,c.camera.updateProjectionMatrix(),c.render(),P.initPosition(),P.zoomChangeOnCenter(v),P.setResult([__spreadProps(__spreadValues(__spreadValues({},t),f),{valid:e.valid,textAttribute:"",attribute:e.attribute})]),P.setSelectedID(t.id)},synchronizeBackView=(e,t,n,a)=>{if(!n)return;const{pointCloud2dOperation:o,pointCloudInstance:d}=n;d.loadPCDFileByBox(a,e,{height:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=d.updateOrthoCamera(e,lbUtils.EPerspectiveView.Back);d.setInitCameraPosition(P);const{polygon2d:c,zoom:u}=d.getBoxBackPolygon2DCoordinate(e);d.camera.zoom=u,d.camera.updateProjectionMatrix(),d.render(),o.initPosition(),o.zoomChangeOnCenter(u),o.setResultAndSelectedID([{id:t.id,valid:e.valid,pointList:c,textAttribute:"",isRect:!0,attribute:e.attribute}],t.id)},syncTopViewByPoint=(e,t,n,a)=>{if(!n||!a)return;a.generateSphere(e),a.updateCameraBySphere(e,lbUtils.EPerspectiveView.Top),a.render();const{toolInstance:o,pointCloudInstance:d}=n,{point2d:P}=d.getSphereTopPoint2DCoordinate(e),c=[...o.pointList].map(u=>u.id===t.id?__spreadProps(__spreadValues(__spreadValues({},t),P),{valid:e.valid,textAttribute:"",attribute:e.attribute}):u);o.setResult(c),o.setSelectedID(t.id)},synchronizeTopView=(e,t,n,a)=>{var o,d;if(!n||!a)return;a.generateBox(e,t.id),a.render();const{pointCloud2dOperation:P,pointCloudInstance:c}=n,{polygon2d:u}=c.getBoxTopPolygon2DCoordinate(e),f=[...P.polygonList],v=f.find(B=>B.id===t.id);v?(v.pointList=u,v.valid=(o=e.valid)!=null?o:!0):f.push({id:t.id,pointList:u,textAttribute:"",isRect:!0,valid:(d=e.valid)!=null?d:!0}),P.setResultAndSelectedID(f,t.id)},usePointCloudViews=()=>{const e=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:t,sideViewInstance:n,backViewInstance:a,mainViewInstance:o,addPointCloudBox:d,addPointCloudSphere:P,setSelectedIDs:c,selectedIDs:u,pointCloudBoxList:f,pointCloudSphereList:v,hideAttributes:B,setHighlight2DDataList:j,cuboidBoxIn2DView:_,imageSizes:O}=e,{addHistory:I,initHistory:A,pushHistoryUnderUpdatePolygon:k}=useHistory.useHistory(),{selectedPolygon:R}=usePolygon.usePolygon(),{getPointCloudSphereByID:z,updatePointCloudSphere:y,selectedSphere:q}=useSphere.useSphere(),{currentData:M,config:w}=ctx.useSelector(i=>{const{stepList:s,step:p,imgList:l,imgIndex:r}=i.annotation;return{currentData:l[r],config:index.jsonParser(StepUtils.getCurrentStepInfo(p,s).config)}}),T=ctx.useDispatch(),tt=ahooks.useLatest(_),W=i=>{if(!tt.current){const{mappingImgList:s=[]}=M,p=s.map(l=>index.getRectPointCloudBox({pointCloudBox:i,mappingData:l,imageSizes:O}));Object.assign(i,{rects:p.filter(l=>l!==void 0)})}},{selectedBox:S,updateSelectedBox:ot,updateSelectedBoxes:Z,getPointCloudByID:et}=useSingleBox.useSingleBox({generateRects:W}),Q=S==null?void 0:S.info;if(!t||!n||!a)return{topViewAddSphere:()=>{},topViewAddBox:()=>{},topViewSelectedChanged:()=>{},sideViewUpdateBox:()=>{},backViewUpdateBox:()=>{}};const{pointCloudInstance:G}=t,it=i=>{o==null||o.generateBox(i),o==null||o.controls.update(),o==null||o.render()},nt=i=>{o==null||o.generateSphere(i),o==null||o.controls.update(),o==null||o.render()},st=({newPoint:i,size:s,zoom:p,trackConfigurable:l})=>{var r;const C={attribute:(r=t.toolInstance.defaultAttribute)!=null?r:""};l===!0&&Object.assign(C,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:[],extraSphereList:v})});const h=topViewPoint2PointCloud(i,s,G,void 0,C);c(i.id);const x=P(h);F(PointCloudView.Top,i,h,p,x,w),I({newSphereParams:h})},lt=({polygon:i,size:s,imgList:p,trackConfigurable:l,zoom:r,intelligentFit:C})=>{var h,x;const g={attribute:(h=t.toolInstance.defaultAttribute)!=null?h:""};l===!0&&Object.assign(g,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:f,extraSphereList:v})});const b=t==null?void 0:t.toolInstance,m=__spreadValues({},i);let{boxParams:L,newPointList:D}=topViewPolygon2PointCloud(m,s,G,void 0,g,C);L=T(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[L],stepConfig:w,action:"viewUpdateBox"}))[0],C&&(D==null?void 0:D.length)&&(m.pointList=D);const U=B.includes(m.attribute);W(L);const N=d(L),J=(x=e==null?void 0:e.polygonList)!=null?x:[];t==null||t.updatePolygonList(N!=null?N:[],J),U?c([]):(c(L.id),b.selection.setSelectedIDs(m.id),E({omitView:PointCloudView.Top,polygon:m,boxParams:L,zoom:r,newPointCloudBoxList:N}),C&&synchronizeTopView(L,m,t,o)),I({newBoxParams:L})},rt=i=>{const{boxID:s,imageName:p,width:l,height:r,x:C,y:h}=i,x=f.find(g=>g.id===s);if(x==null?void 0:x.rects){const{rects:g=[]}=x,b=g.find(m=>m.imageName===p);if(b){let m=g;const L=__spreadProps(__spreadValues({},b),{width:l,height:r,x:C,y:h});m=g.map(U=>U===b?L:U);const D=__spreadProps(__spreadValues({},x),{rects:m}),V=f.map(U=>U===x?D:U);return t==null||t.updatePolygonList(V!=null?V:[]),V}}},at=({newSelectedBox:i,newPointCloudList:s,newSelectedSphere:p,newSphereList:l})=>{var r;const C=t==null?void 0:t.toolInstance;if(!(u.length===0||!C)){if(i||(S==null?void 0:S.info)){const h=i!=null?i:S==null?void 0:S.info;(r=C==null?void 0:C.selection)==null||r.setSelectedIDs(u[0]);const x=C.selectedPolygon;if(u.length===1&&h){E({omitView:PointCloudView.Top,polygon:x,boxParams:h,newPointCloudBoxList:s});return}}if((p||q)&&u.length===1){const h=p!=null?p:q;C.setSelectedID(u[0]);const x=C.selectedPoint;h&&F(PointCloudView.Top,x,h,void 0,l,w)}}},X=(i,s,p)=>{if(Q){let l,r;switch(p){case PointCloudView.Back:l=backViewPolygon2PointCloud;break;case PointCloudView.Side:l=sideViewPolygon2PointCloud;break;default:l=sideViewPolygon2PointCloud;break}if(r=l(i,s,Q,n.pointCloudInstance),o){const{count:b}=o.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(r).polygonPointList,[r.center.z-r.depth/2,r.center.z+r.depth/2]);r=__spreadProps(__spreadValues({},r),{count:b})}const h=T(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[r],stepConfig:w,action:"viewUpdateBox"}))[0],x=r.valid!==h.valid;r=h;const g=ot(r);return r=g.find(b=>b.id===r.id),E({omitView:x?void 0:p,polygon:i,boxParams:r,newPointCloudBoxList:g}),g}},Y=(i,s,p)=>{if(q){let l,r;switch(p){case PointCloudView.Back:l=backViewPoint2PointCloud;break;case PointCloudView.Side:l=sideViewPoint2PointCloud;break;default:l=sideViewPoint2PointCloud;break}r=l(i,s,q);const C=y(r);return F(p,i,r,void 0,C,w),C}},dt=(i,s)=>{Y(i,s,PointCloudView.Side)},ct=(i,s)=>{Y(i,s,PointCloudView.Back)},ut=(i,s)=>{X(i,s,PointCloudView.Side)},pt=(i,s)=>{X(i,s,PointCloudView.Back)},Pt=(i,s)=>{const p=z(i.id),l=topViewPoint2PointCloud(i,s,G,p),r=y(l);F(PointCloudView.Top,i,l,void 0,r,w)},Ct=(i,s)=>{if(R){const l=__spreadValues({},i[0].newPolygon);l.pointList=l.pointList.map(r=>lbUtils.PointCloudUtils.transferCanvas2World(r,s)),k(l);return}let p=i.map(({newPolygon:l})=>{const r=et(l.id),{boxParams:C}=topViewPolygon2PointCloud(l,s,t.pointCloudInstance,r);return C});if(p=T(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:p,stepConfig:w,action:"viewUpdateBox"})),p.length===1){const{newPolygon:l}=i[0],r=Z(p);E({polygon:l,boxParams:p[0],newPointCloudBoxList:r})}else{const l=Z(p);l&&e.syncAllViewPointCloudColor(l)}},gt=i=>{var s,p,l,r,C;if(S){const h=Number(i.widthDefault),x=Number(i.depthDefault),g=Number(i.heightDefault),b=S==null?void 0:S.info.trackID,L=((s=t==null?void 0:t.toolInstance)==null?void 0:s.polygonList).find(H=>(H==null?void 0:H.trackID)===b),D={width:(l=(p=t==null?void 0:t.toolInstance)==null?void 0:p.basicImgInfo)==null?void 0:l.width,height:(C=(r=t==null?void 0:t.toolInstance)==null?void 0:r.basicImgInfo)==null?void 0:C.height},V=L.pointList.map(H=>lbUtils.PointCloudUtils.transferCanvas2World(H,D)),U=lbAnnotation.MathUtils.getModifiedRectangleCoordinates(V,g,h),N=U[0],J=U[2],K=lbAnnotation.MathUtils.getLineCenterPoint([N,J]),ht=S.info.center.z-S.info.depth/2,$=__spreadProps(__spreadValues({},S.info),{center:{x:K.x,y:K.y,z:ht+x/2},width:h,height:g,depth:x,valid:!0}),ft=Z([$]);E({omitView:PointCloudView["3D"],polygon:L,boxParams:$,newPointCloudBoxList:ft})}},F=(i,s,p,l,r,C)=>__async(void 0,null,function*(){const h=M==null?void 0:M.url,x={[PointCloudView.Side]:()=>{syncSideViewByPoint(p,s,n,h,C)},[PointCloudView.Back]:()=>{a&&syncBackViewByPoint(p,s,a,h,C)},[PointCloudView.Top]:()=>{syncTopViewByPoint(p,s,t,o)}};Object.keys(x).forEach(g=>{g!==i&&x[g]()}),l&&(o==null||o.updateCameraZoom(l)),nt(p)}),E=i=>__async(void 0,null,function*(){const{omitView:s,polygon:p,boxParams:l,zoom:r,newPointCloudBoxList:C}=i,h=M==null?void 0:M.url;C&&(yield e.syncAllViewPointCloudColor(C));const x={[PointCloudView.Side]:()=>{synchronizeSideView(l,p,n,h)},[PointCloudView.Back]:()=>{a&&synchronizeBackView(l,p,a,h)},[PointCloudView.Top]:()=>{synchronizeTopView(l,p,t,o)}};Object.keys(x).forEach(g=>{g!==s&&x[g]()}),r&&(o==null||o.updateCameraZoom(r)),it(l)});return{topViewAddSphere:st,topViewAddBox:lt,topViewSelectedChanged:at,topViewUpdatePoint:Pt,sideViewUpdatePoint:dt,backViewUpdatePoint:ct,topViewUpdateBox:Ct,sideViewUpdateBox:ut,backViewUpdateBox:pt,pointCloudBoxListUpdated:i=>{t.updatePolygonList(i),o==null||o.generateBoxes(i)},initPointCloud3d:i=>{if(!o)return;const s=lbUtils.PointCloudUtils.getDefaultOrthographicParams(i);o.initOrthographicCamera(s),o.initRenderer(),o.render()},updatePointCloudData:(...i)=>__async(void 0,[...i],function*(s=M){var p,l,r,C,h,x;if(!(s==null?void 0:s.url)||!o)return;j([]),actionCreators.SetPointCloudLoading(T,!0),actionCreators.SetLoadPCDFileLoading(T,!0),yield o.loadPCDFile(s.url,(p=w==null?void 0:w.radius)!=null?p:DEFAULT_RADIUS),o==null||o.clearAllBox(),o==null||o.clearAllSphere();let g=[],b=[],m=[],L=[];o.updateTopCamera();const D=(r=(l=index.jsonParser(s.result))==null?void 0:l.valid)!=null?r:!0;if(e.setPointCloudValid(D),(C=e.sideViewInstance)==null||C.clearAllData(),(h=e.backViewInstance)==null||h.clearAllData(),s.result){if(g=lbUtils.PointCloudUtils.getBoxParamsFromResultList(s.result),(g==null?void 0:g.length)>0&&s.isPreResult&&(w==null?void 0:w.lowerLimitPointsNumInBox)>0){g=yield o==null?void 0:o.filterPreResult(s.url,w,g);const V=index.jsonParser(s.result);V[lbUtils.POINT_CLOUD_DEFAULT_STEP].result=g,s.result=JSON.stringify(V),e.setPointCloudResult(g)}m=lbUtils.PointCloudUtils.getPolygonListFromResultList(s.result),b=lbUtils.PointCloudUtils.getLineListFromResultList(s.result),L=lbUtils.PointCloudUtils.getSphereParamsFromResultList(s.result),t.updateData(s.url,s.result,{radius:(x=w==null?void 0:w.radius)!=null?x:DEFAULT_RADIUS}),o==null||o.generateBoxes(g),o==null||o.generateSpheres(L),yield e.syncAllViewPointCloudColor(g,[])}A({pointCloudBoxList:g,polygonList:m,lineList:b,pointCloudSphereList:L}),actionCreators.SetPointCloudLoading(T,!1),actionCreators.SetLoadPCDFileLoading(T,!1)}),updateViewsByDefaultSize:gt,generateRects:W,update2DViewRect:rt}};exports.syncBackViewByPoint=syncBackViewByPoint,exports.syncSideViewByPoint=syncSideViewByPoint,exports.syncTopViewByPoint=syncTopViewByPoint,exports.synchronizeBackView=synchronizeBackView,exports.synchronizeSideView=synchronizeSideView,exports.synchronizeTopView=synchronizeTopView,exports.topViewPoint2PointCloud=topViewPoint2PointCloud,exports.topViewPolygon2PointCloud=topViewPolygon2PointCloud,exports.usePointCloudViews=usePointCloudViews;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("../PointCloudContext.js"),useSingleBox=require("./useSingleBox.js"),useSphere=require("./useSphere.js"),ctx=require("../../../store/ctx.js"),StepUtils=require("../../../utils/StepUtils.js"),index=require("../../../utils/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js"),ahooks=require("ahooks"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__async=(e,t,r)=>new Promise((a,o)=>{var c=p=>{try{u(r.next(p))}catch(f){o(f)}},P=p=>{try{u(r.throw(p))}catch(f){o(f)}},u=p=>p.done?a(p.value):Promise.resolve(p.value).then(c,P);u((r=r.apply(e,t)).next())});const DEFAULT_SCOPE=5,DEFAULT_RADIUS=90,INTELLIGENT_FIT_MARGIN=.01,PointCloudView={"3D":"3D",Top:"Top",Side:"Side",Back:"Back"},topViewPoint2PointCloud=(e,t,r,a,o)=>{const{x:c,y:P}=lbUtils.PointCloudUtils.transferCanvas2World(e,t),{defaultZ:u}=lbUtils.DEFAULT_SPHERE_PARAMS,p={center:{x:c,y:P,z:u},id:e.id},f=a?__spreadValues(__spreadValues({},a),p):__spreadProps(__spreadValues({},p),{attribute:"",valid:!0});return o&&Object.assign(f,o),f},topViewPolygon2PointCloud=(e,t,r,a,o,c)=>{let P=e.pointList.map(L=>lbUtils.PointCloudUtils.transferCanvas2World(L,t)),u=0,p=1,f={};if(r){const L=r.getSensesPointZAxisInPolygon(P,void 0,c);c&&L.fittedCoordinates.length>0&&(P=L.fittedCoordinates),u=(L.maxZ+L.minZ)/2,p=L.maxZ-L.minZ,f={count:L.zCount}}const[x,B,z]=P,U=lbAnnotation.MathUtils.getLineCenterPoint([x,z]),V=lbAnnotation.MathUtils.getLineLength(x,B),I=lbAnnotation.MathUtils.getLineLength(B,z),k=lbAnnotation.MathUtils.getRadiusFromQuadrangle(e.pointList);a&&(u=a.center.z,p=a.depth);const _={center:{x:U.x,y:U.y,z:u},width:c?I+INTELLIGENT_FIT_MARGIN:I,height:c?V+INTELLIGENT_FIT_MARGIN:V,depth:p,rotation:k,id:e.id},O=__spreadValues(a?__spreadValues(__spreadValues({},a),_):__spreadProps(__spreadValues({},_),{attribute:"",valid:!0}),f);o&&Object.assign(O,o);const R=P.map(L=>lbUtils.PointCloudUtils.transferWorld2Canvas(L,t));return{boxParams:O,newPointList:R}},sideViewPoint2PointCloud=(e,t,r)=>{const a={x:e.x-t.x,y:e.y-t.y};return __spreadProps(__spreadValues({},r),{center:{x:r.center.x-a.x,y:r.center.y,z:r.center.z-a.y}})},sideViewPolygon2PointCloud=(e,t,r,a)=>{const[o,c,P]=e.pointList,[u,p,f]=t.pointList,x=lbAnnotation.MathUtils.getLineCenterPoint([o,P]),B=lbAnnotation.MathUtils.getLineCenterPoint([u,f]),U={x:{x:x.x-B.x,y:x.y-B.y}.x,y:0,z:x.y-B.y},V=lbAnnotation.MathUtils.getLineLength(o,c),I=lbAnnotation.MathUtils.getLineLength(u,p),k=V-I,_=lbAnnotation.MathUtils.getLineLength(c,P),O=lbAnnotation.MathUtils.getLineLength(p,f),R=_-O,{newBoxParams:L}=a.getNewBoxBySideUpdate(U,R,k,r);return L},backViewPoint2PointCloud=(e,t,r)=>{const a={x:e.x-t.x,y:e.y-t.y};return __spreadProps(__spreadValues({},r),{center:{x:r.center.x,y:r.center.y-a.x,z:r.center.z-a.y}})},backViewPolygon2PointCloud=(e,t,r,a)=>{const[o,c,P]=e.pointList,[u,p,f]=t.pointList,x=lbAnnotation.MathUtils.getLineCenterPoint([o,P]),B=lbAnnotation.MathUtils.getLineCenterPoint([u,f]),U={x:{x:x.x-B.x,y:x.y-B.y}.x,y:0,z:x.y-B.y},V=lbAnnotation.MathUtils.getLineLength(o,c),I=lbAnnotation.MathUtils.getLineLength(u,p),k=V-I,_=lbAnnotation.MathUtils.getLineLength(c,P),O=lbAnnotation.MathUtils.getLineLength(p,f),R=_-O;let{newBoxParams:L}=a.getNewBoxByBackUpdate(U,R,k,r);return L},syncSideViewByPoint=(e,t,r,a,o)=>{var c;if(!r)return;const{toolInstance:P,pointCloudInstance:u}=r;u.loadPCDFile(a,(c=o==null?void 0:o.radius)!=null?c:DEFAULT_RADIUS);const{cameraPositionVector:p}=u.updateOrthoCameraBySphere(e,lbUtils.EPerspectiveView.Left);u.setInitCameraPosition(p);const{point2d:f,zoom:x}=u.getSphereSidePoint2DCoordinate(e);u.camera.zoom=x,u.camera.updateProjectionMatrix(),u.render(),P.initPosition(),P.zoomChangeOnCenter(x),P.setResult([__spreadProps(__spreadValues(__spreadValues({},t),f),{valid:e.valid,textAttribute:"",attribute:e.attribute})]),P.setSelectedID(t.id)},synchronizeSideView=(e,t,r,a)=>{if(!r)return;const{pointCloud2dOperation:o,pointCloudInstance:c}=r;c.loadPCDFileByBox(a,e,{width:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=c.updateOrthoCamera(e,lbUtils.EPerspectiveView.Left);c.setInitCameraPosition(P);const{polygon2d:u,zoom:p}=c.getBoxSidePolygon2DCoordinate(e);c.camera.zoom=p,c.camera.updateProjectionMatrix(),c.render(),o.initPosition(),o.zoomChangeOnCenter(p),o.setResultAndSelectedID([{id:t.id,valid:e.valid,pointList:u,textAttribute:"",isRect:!0,attribute:e.attribute}],t.id)},syncBackViewByPoint=(e,t,r,a,o)=>{var c;if(!r)return;const{toolInstance:P,pointCloudInstance:u}=r;u.loadPCDFile(a,(c=o==null?void 0:o.radius)!=null?c:DEFAULT_RADIUS);const{cameraPositionVector:p}=u.updateOrthoCameraBySphere(e,lbUtils.EPerspectiveView.Back);u.setInitCameraPosition(p);const{point2d:f,zoom:x}=u.getSphereBackPoint2DCoordinate(e);u.camera.zoom=x,u.camera.updateProjectionMatrix(),u.render(),P.initPosition(),P.zoomChangeOnCenter(x),P.setResult([__spreadProps(__spreadValues(__spreadValues({},t),f),{valid:e.valid,textAttribute:"",attribute:e.attribute})]),P.setSelectedID(t.id)},synchronizeBackView=(e,t,r,a)=>{if(!r)return;const{pointCloud2dOperation:o,pointCloudInstance:c}=r;c.loadPCDFileByBox(a,e,{height:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=c.updateOrthoCamera(e,lbUtils.EPerspectiveView.Back);c.setInitCameraPosition(P);const{polygon2d:u,zoom:p}=c.getBoxBackPolygon2DCoordinate(e);c.camera.zoom=p,c.camera.updateProjectionMatrix(),c.render(),o.initPosition(),o.zoomChangeOnCenter(p),o.setResultAndSelectedID([{id:t.id,valid:e.valid,pointList:u,textAttribute:"",isRect:!0,attribute:e.attribute}],t.id)},syncTopViewByPoint=(e,t,r,a)=>{if(!r||!a)return;a.generateSphere(e),a.updateCameraBySphere(e,lbUtils.EPerspectiveView.Top),a.render();const{toolInstance:o,pointCloudInstance:c}=r,{point2d:P}=c.getSphereTopPoint2DCoordinate(e),u=[...o.pointList].map(p=>p.id===t.id?__spreadProps(__spreadValues(__spreadValues({},t),P),{valid:e.valid,textAttribute:"",attribute:e.attribute}):p);o.setResult(u),o.setSelectedID(t.id)},synchronizeTopView=(e,t,r,a)=>{var o,c;if(!r||!a)return;a.generateBox(e,t.id),a.render();const{pointCloud2dOperation:P,pointCloudInstance:u}=r,{polygon2d:p}=u.getBoxTopPolygon2DCoordinate(e),f=[...P.polygonList],x=f.find(B=>B.id===t.id);x?(x.pointList=p,x.valid=(o=e.valid)!=null?o:!0):f.push({id:t.id,pointList:p,textAttribute:"",isRect:!0,valid:(c=e.valid)!=null?c:!0}),P.setResultAndSelectedID(f,t.id)},usePointCloudViews=()=>{const e=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:t,sideViewInstance:r,backViewInstance:a,mainViewInstance:o,addPointCloudBox:c,addPointCloudSphere:P,setSelectedIDs:u,selectedIDs:p,pointCloudBoxList:f,pointCloudSphereList:x,hideAttributes:B,setHighlight2DDataList:z,cuboidBoxIn2DView:U,imageSizes:V}=e,{addHistory:I,initHistory:k,pushHistoryUnderUpdatePolygon:_}=useHistory.useHistory(),{selectedPolygon:O}=usePolygon.usePolygon(),{getPointCloudSphereByID:R,updatePointCloudSphere:L,selectedSphere:N}=useSphere.useSphere(),{currentData:T,config:w}=ctx.useSelector(i=>{const{stepList:n,step:d,imgList:s,imgIndex:l}=i.annotation;return{currentData:s[l],config:index.jsonParser(StepUtils.getCurrentStepInfo(d,n).config)}}),A=ctx.useDispatch(),tt=ahooks.useLatest(U),W=i=>{if(!tt.current){const{mappingImgList:n=[]}=T,d=n.map(s=>index.getRectPointCloudBox({pointCloudBox:i,mappingData:s,imageSizes:V}));Object.assign(i,{rects:d.filter(s=>s!==void 0)})}},{selectedBox:b,updateSelectedBox:ot,updateSelectedBoxes:Z,getPointCloudByID:et}=useSingleBox.useSingleBox({generateRects:W}),Q=b==null?void 0:b.info;if(!t||!r||!a)return{topViewAddSphere:()=>{},topViewAddBox:()=>{},topViewSelectedChanged:()=>{},sideViewUpdateBox:()=>{},backViewUpdateBox:()=>{}};const{pointCloudInstance:G}=t,it=i=>{o==null||o.generateBox(i),o==null||o.controls.update(),o==null||o.render()},nt=i=>{o==null||o.generateSphere(i),o==null||o.controls.update(),o==null||o.render()},st=({newPoint:i,size:n,zoom:d,trackConfigurable:s})=>{var l;const C={attribute:(l=t.toolInstance.defaultAttribute)!=null?l:""};s===!0&&Object.assign(C,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:[],extraSphereList:x})});const h=topViewPoint2PointCloud(i,n,G,void 0,C);u(i.id);const g=P(h);q(PointCloudView.Top,i,h,d,g,w),I({newSphereParams:h})},rt=({polygon:i,size:n,imgList:d,trackConfigurable:s,zoom:l,intelligentFit:C})=>{var h,g;const v={attribute:(h=t.toolInstance.defaultAttribute)!=null?h:""};s===!0&&Object.assign(v,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:f,extraSphereList:x})});const S=t==null?void 0:t.toolInstance,D=__spreadValues({},i);let{boxParams:y,newPointList:m}=topViewPolygon2PointCloud(D,n,G,void 0,v,C);y=A(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[y],stepConfig:w,action:"viewUpdateBox"}))[0],C&&(m==null?void 0:m.length)&&(D.pointList=m);const F=B.includes(D.attribute);W(y);const E=c(y),J=(g=e==null?void 0:e.polygonList)!=null?g:[];t==null||t.updatePolygonList(E!=null?E:[],J),F?u([]):(u(y.id),S.selection.setSelectedIDs(D.id),j({omitView:PointCloudView.Top,polygon:D,boxParams:y,zoom:l,newPointCloudBoxList:E}),C&&synchronizeTopView(y,D,t,o)),I({newBoxParams:y})},lt=i=>{const{boxID:n,imageName:d,width:s,height:l,x:C,y:h}=i,g=f.find(m=>m.id===n);if(!(g==null?void 0:g.rects)||!g.rects.find(m=>m.imageName===d))return;const S=g.rects.map(m=>m.imageName===d?__spreadProps(__spreadValues({},m),{width:s,height:l,x:C,y:h}):m),D=__spreadProps(__spreadValues({},g),{rects:S}),y=f.map(m=>m.id===n?D:m);return t==null||t.updatePolygonList(y!=null?y:[]),y},dt=i=>{const{boxID:n,imageName:d}=i,s=f.find(g=>g.id===n);if(!(s==null?void 0:s.rects))return;const l=s.rects.filter(g=>g.imageName!==d),C=__spreadProps(__spreadValues({},s),{rects:l}),h=f.map(g=>g.id===n?C:g);return t==null||t.updatePolygonList(h!=null?h:[]),h},at=({newSelectedBox:i,newPointCloudList:n,newSelectedSphere:d,newSphereList:s})=>{var l;const C=t==null?void 0:t.toolInstance;if(!(p.length===0||!C)){if(i||(b==null?void 0:b.info)){const h=i!=null?i:b==null?void 0:b.info;(l=C==null?void 0:C.selection)==null||l.setSelectedIDs(p[0]);const g=C.selectedPolygon;if(p.length===1&&h){j({omitView:PointCloudView.Top,polygon:g,boxParams:h,newPointCloudBoxList:n});return}}if((d||N)&&p.length===1){const h=d!=null?d:N;C.setSelectedID(p[0]);const g=C.selectedPoint;h&&q(PointCloudView.Top,g,h,void 0,s,w)}}},X=(i,n,d)=>{if(Q){let s,l;switch(d){case PointCloudView.Back:s=backViewPolygon2PointCloud;break;case PointCloudView.Side:s=sideViewPolygon2PointCloud;break;default:s=sideViewPolygon2PointCloud;break}if(l=s(i,n,Q,r.pointCloudInstance),o){const{count:S}=o.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(l).polygonPointList,[l.center.z-l.depth/2,l.center.z+l.depth/2]);l=__spreadProps(__spreadValues({},l),{count:S})}const h=A(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[l],stepConfig:w,action:"viewUpdateBox"}))[0],g=l.valid!==h.valid;l=h;const v=ot(l);return l=v.find(S=>S.id===l.id),j({omitView:g?void 0:d,polygon:i,boxParams:l,newPointCloudBoxList:v}),v}},Y=(i,n,d)=>{if(N){let s,l;switch(d){case PointCloudView.Back:s=backViewPoint2PointCloud;break;case PointCloudView.Side:s=sideViewPoint2PointCloud;break;default:s=sideViewPoint2PointCloud;break}l=s(i,n,N);const C=L(l);return q(d,i,l,void 0,C,w),C}},ct=(i,n)=>{Y(i,n,PointCloudView.Side)},ut=(i,n)=>{Y(i,n,PointCloudView.Back)},pt=(i,n)=>{X(i,n,PointCloudView.Side)},Pt=(i,n)=>{X(i,n,PointCloudView.Back)},Ct=(i,n)=>{const d=R(i.id),s=topViewPoint2PointCloud(i,n,G,d),l=L(s);q(PointCloudView.Top,i,s,void 0,l,w)},gt=(i,n)=>{if(O){const s=__spreadValues({},i[0].newPolygon);s.pointList=s.pointList.map(l=>lbUtils.PointCloudUtils.transferCanvas2World(l,n)),_(s);return}let d=i.map(({newPolygon:s})=>{const l=et(s.id),{boxParams:C}=topViewPolygon2PointCloud(s,n,t.pointCloudInstance,l);return C});if(d=A(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:d,stepConfig:w,action:"viewUpdateBox"})),d.length===1){const{newPolygon:s}=i[0],l=Z(d);j({polygon:s,boxParams:d[0],newPointCloudBoxList:l})}else{const s=Z(d);s&&e.syncAllViewPointCloudColor(s)}},ht=i=>{var n,d,s,l,C;if(b){const h=Number(i.widthDefault),g=Number(i.depthDefault),v=Number(i.heightDefault),S=b==null?void 0:b.info.trackID,y=((n=t==null?void 0:t.toolInstance)==null?void 0:n.polygonList).find(H=>(H==null?void 0:H.trackID)===S),m={width:(s=(d=t==null?void 0:t.toolInstance)==null?void 0:d.basicImgInfo)==null?void 0:s.width,height:(C=(l=t==null?void 0:t.toolInstance)==null?void 0:l.basicImgInfo)==null?void 0:C.height},M=y.pointList.map(H=>lbUtils.PointCloudUtils.transferCanvas2World(H,m)),F=lbAnnotation.MathUtils.getModifiedRectangleCoordinates(M,v,h),E=F[0],J=F[2],K=lbAnnotation.MathUtils.getLineCenterPoint([E,J]),ft=b.info.center.z-b.info.depth/2,$=__spreadProps(__spreadValues({},b.info),{center:{x:K.x,y:K.y,z:ft+g/2},width:h,height:v,depth:g,valid:!0}),vt=Z([$]);j({omitView:PointCloudView["3D"],polygon:y,boxParams:$,newPointCloudBoxList:vt})}},q=(i,n,d,s,l,C)=>__async(void 0,null,function*(){const h=T==null?void 0:T.url,g={[PointCloudView.Side]:()=>{syncSideViewByPoint(d,n,r,h,C)},[PointCloudView.Back]:()=>{a&&syncBackViewByPoint(d,n,a,h,C)},[PointCloudView.Top]:()=>{syncTopViewByPoint(d,n,t,o)}};Object.keys(g).forEach(v=>{v!==i&&g[v]()}),s&&(o==null||o.updateCameraZoom(s)),nt(d)}),j=i=>__async(void 0,null,function*(){const{omitView:n,polygon:d,boxParams:s,zoom:l,newPointCloudBoxList:C}=i,h=T==null?void 0:T.url;C&&(yield e.syncAllViewPointCloudColor(C));const g={[PointCloudView.Side]:()=>{synchronizeSideView(s,d,r,h)},[PointCloudView.Back]:()=>{a&&synchronizeBackView(s,d,a,h)},[PointCloudView.Top]:()=>{synchronizeTopView(s,d,t,o)}};Object.keys(g).forEach(v=>{v!==n&&g[v]()}),l&&(o==null||o.updateCameraZoom(l)),it(s)});return{topViewAddSphere:st,topViewAddBox:rt,topViewSelectedChanged:at,topViewUpdatePoint:Ct,sideViewUpdatePoint:ct,backViewUpdatePoint:ut,topViewUpdateBox:gt,sideViewUpdateBox:pt,backViewUpdateBox:Pt,pointCloudBoxListUpdated:i=>{t.updatePolygonList(i),o==null||o.generateBoxes(i)},initPointCloud3d:i=>{if(!o)return;const n=lbUtils.PointCloudUtils.getDefaultOrthographicParams(i);o.initOrthographicCamera(n),o.initRenderer(),o.render()},updatePointCloudData:(...i)=>__async(void 0,[...i],function*(n=T){var d,s,l,C,h,g;if(!(n==null?void 0:n.url)||!o)return;z([]),actionCreators.SetPointCloudLoading(A,!0),actionCreators.SetLoadPCDFileLoading(A,!0),yield o.loadPCDFile(n.url,(d=w==null?void 0:w.radius)!=null?d:DEFAULT_RADIUS),o==null||o.clearAllBox(),o==null||o.clearAllSphere();let v=[],S=[],D=[],y=[];o.updateTopCamera();const m=(l=(s=index.jsonParser(n.result))==null?void 0:s.valid)!=null?l:!0;if(e.setPointCloudValid(m),(C=e.sideViewInstance)==null||C.clearAllData(),(h=e.backViewInstance)==null||h.clearAllData(),n.result){if(v=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result),(v==null?void 0:v.length)>0&&n.isPreResult&&(w==null?void 0:w.lowerLimitPointsNumInBox)>0){v=yield o==null?void 0:o.filterPreResult(n.url,w,v);const M=index.jsonParser(n.result);M[lbUtils.POINT_CLOUD_DEFAULT_STEP].result=v,n.result=JSON.stringify(M),e.setPointCloudResult(v)}D=lbUtils.PointCloudUtils.getPolygonListFromResultList(n.result),S=lbUtils.PointCloudUtils.getLineListFromResultList(n.result),y=lbUtils.PointCloudUtils.getSphereParamsFromResultList(n.result),t.updateData(n.url,n.result,{radius:(g=w==null?void 0:w.radius)!=null?g:DEFAULT_RADIUS}),o==null||o.generateBoxes(v),o==null||o.generateSpheres(y),yield e.syncAllViewPointCloudColor(v,[])}k({pointCloudBoxList:v,polygonList:D,lineList:S,pointCloudSphereList:y}),actionCreators.SetPointCloudLoading(A,!1),actionCreators.SetLoadPCDFileLoading(A,!1)}),updateViewsByDefaultSize:ht,generateRects:W,update2DViewRect:lt,remove2DViewRect:dt}};exports.syncBackViewByPoint=syncBackViewByPoint,exports.syncSideViewByPoint=syncSideViewByPoint,exports.syncTopViewByPoint=syncTopViewByPoint,exports.synchronizeBackView=synchronizeBackView,exports.synchronizeSideView=synchronizeSideView,exports.synchronizeTopView=synchronizeTopView,exports.topViewPoint2PointCloud=topViewPoint2PointCloud,exports.topViewPolygon2PointCloud=topViewPolygon2PointCloud,exports.usePointCloudViews=usePointCloudViews;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$2=require("../../components/customResizeHook/index.js"),index$1=require("../../constant/index.js"),styleString=require("../../constant/styleString.js"),Actions=require("../Actions.js"),index=require("../../utils/index.js"),AnnotationDataUtils=require("../../utils/AnnotationDataUtils.js"),ConfigUtils=require("../../utils/ConfigUtils.js"),data=require("../../utils/data.js"),StepUtils=require("../../utils/StepUtils.js"),ToolUtils=require("../../utils/ToolUtils.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),es=require("antd/es"),_=require("lodash"),actionCreators=require("./actionCreators.js"),ToolType=require("../../data/enums/ToolType.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,s)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,__spreadValues=(e,t)=>{for(var s in t||(t={}))__hasOwnProp.call(t,s)&&__defNormalProp(e,s,t[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(t))__propIsEnum.call(t,s)&&__defNormalProp(e,s,t[s]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__async=(e,t,s)=>new Promise((g,a)=>{var S=I=>{try{N(s.next(I))}catch(m){a(m)}},A=I=>{try{N(s.throw(I))}catch(m){a(m)}},N=I=>I.done?g(I.value):Promise.resolve(I.value).then(S,A);N((s=s.apply(e,t)).next())});const getStepConfig=(e,t)=>e.find(s=>s.step===t),initialState={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:""},getTotalPage=e=>{const{imgList:t,imgPageSize:s}=e;return Math.ceil(t.length/s)},calcStepProgress=(e,t)=>e.reduce((s,g)=>{if(g){const a=g.result;if(index.jsonParser(a)[`step_${t}`])return s+1}return s},0)/e.length,updateToolInstance=(e,t)=>{const{step:s,stepList:g}=e,a=StepUtils.getCurrentStepInfo(s,g),S=ConfigUtils.ConfigUtils.jsonParser(a.config);if(ToolUtils.isVideoTool(a==null?void 0:a.tool)||ToolUtils.isAudioTool(a==null?void 0:a.tool)||ToolUtils.isPointCloudTool(a==null?void 0:a.tool)||[ToolType.EToolName.LLM,ToolType.EToolName.NLP].includes(a==null?void 0:a.tool))return;const A=document.getElementById("toolContainer");if(!A)throw"Not exist dom named id-toolContainer";const N=index$2.getFormatSize({width:window.innerWidth,height:window.innerHeight}),I=new lbAnnotation.AnnotationEngine({container:A,toolName:a.tool,size:N,imgNode:t,config:S,style:JSON.parse(styleString)});return{toolInstance:I==null?void 0:I.toolInstance,annotationEngine:I}},LoadFileAndFileData=(e,t)=>(s,g)=>__async(void 0,null,function*(){var a,S;const{stepList:A,step:N}=g().annotation,I=StepUtils.currentToolIsVideo(N,A),m=StepUtils.currentToolIsPointCloud(N,A),D=((a=StepUtils.getCurrentStepInfo(N,A))==null?void 0:a.tool)===ToolType.EToolName.LLM,y=((S=StepUtils.getCurrentStepInfo(N,A))==null?void 0:S.tool)===ToolType.EToolName.NLP,P=StepUtils.currentToolIsAudio(N,A);if(actionCreators.SetAnnotationLoading(s,!0),yield s(TryGetFileDataByAPI(e)),I){s(AfterVideoLoaded(e));return}if(m||D||P||y){s(AfterCommonLoaded(e));return}s(AfterImageLoaded(e,t))}),TryGetFileDataByAPI=e=>(t,s)=>__async(void 0,null,function*(){const{getFileData:g,imgList:a}=s().annotation;if(g){const S=yield g(a[e],e);t({type:Actions.ANNOTATION_ACTIONS.SET_FILE_DATA,payload:{fileData:S,index:e}})}}),AfterVideoLoaded=e=>t=>{t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterCommonLoaded=e=>t=>{actionCreators.SetAnnotationLoading(t,!1),t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterImageLoaded=(e,t)=>(s,g)=>{var a;const{toolInstance:S,imgList:A}=g().annotation,N=(a=A==null?void 0:A[e])==null?void 0:a.url;lbAnnotation.ImgUtils.load(N).then(I=>{actionCreators.SetAnnotationLoading(s,!1),s({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{imgNode:I,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{actionCreators.SetAnnotationLoading(s,!1),S==null||S.setErrorImg(),s({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},composeResultByToolInstance=({toolInstance:e,imgList:t,imgIndex:s,stepList:g,step:a=1})=>{var S,A,N,I;const m=((S=t[s])==null?void 0:S.result)||"",[D,y,P]=(A=e==null?void 0:e.exportData())!=null?A:[],x=(I=(N=e==null?void 0:e.exportCustomData)==null?void 0:N.call(e))!=null?I:{},B=data.composeResultWithBasicImgInfo(m,y),w=data.composeResult(B,{step:a,stepList:g},{rect:D},x);return t.map((b,F)=>F===s?__spreadValues(__spreadProps(__spreadValues({},b),{result:w}),P):__spreadValues({},b))},annotationReducer=(e=__spreadValues({},initialState),t)=>{var s,g,a,S,A,N,I,m,D,y,P,x,B,w,b,F,G,M,V,q,k,H,z,K,W;switch(t.type){case Actions.ANNOTATION_ACTIONS.INIT_ALL_STATE:return __spreadValues(__spreadValues({},e),initialState);case Actions.ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE:return __spreadProps(__spreadValues({},e),{toolInstance:t.payload.toolInstance});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_LIST:return __spreadProps(__spreadValues({},e),{imgList:t.payload.imgList});case Actions.ANNOTATION_ACTIONS.CALC_STEP_PROGRESS:{const{imgList:n,step:o}=e,l=calcStepProgress(n,o);return __spreadProps(__spreadValues({},e),{stepProgress:l})}case Actions.ANNOTATION_ACTIONS.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:o,step:l,stepList:r,toolInstance:u,onSubmit:i,resultList:p}=e;if(!u||!n[o])return e;const d=((s=n[o])==null?void 0:s.result)||"",[,c,T]=(g=u==null?void 0:u.exportData())!=null?g:[],O=(S=(a=u==null?void 0:u.exportCustomData)==null?void 0:a.call(u))!=null?S:{},f=data.composeResultWithBasicImgInfo(d,c),E=data.composeResult(f,{step:l,stepList:r},{rect:p},O),L=e.imgList.map((v,C)=>{if(C===o){const U=AnnotationDataUtils.dataCorrection(E,d,l,r);return __spreadValues(__spreadProps(__spreadValues({},v),{result:U}),T)}return v});if(((A=t.payload)==null?void 0:A.submitType)===index$1.ESubmitType.SyncImgList)return __spreadProps(__spreadValues({},e),{imgList:L});i&&i([L[o]],(N=t.payload)==null?void 0:N.submitType,o,L);const R=calcStepProgress(L,l);return __spreadProps(__spreadValues({},e),{stepProgress:R,imgList:L})}case Actions.ANNOTATION_ACTIONS.SAVE_RESULT:{const{imgList:n,imgIndex:o,onSave:l}=e;return l==null||l(n[o],o,n),__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SUBMIT_RESULT:{const{imgList:n,basicIndex:o,resultList:l,toolInstance:r,basicResultList:u}=e;if(!r)return e;const[i]=(I=r==null?void 0:r.exportData())!=null?I:[];let p=i;if((u==null?void 0:u.length)>0){const d=(m=u[o])==null?void 0:m.id,c=i.map(T=>__spreadProps(__spreadValues({},T),{sourceID:d}));p=___default.default.cloneDeep(l).filter(T=>T.sourceID!==d),p.push(...c)}return __spreadProps(__spreadValues({},e),{resultList:p,imgList:n})}case Actions.ANNOTATION_ACTIONS.SET_BASIC_INDEX:{const{toolInstance:n,step:o,imgList:l,imgIndex:r,stepList:u,annotationEngine:i,resultList:p,basicResultList:d}=e;if(!n||!i)return e;const c=t.payload.basicIndex,T=(D=d[c])==null?void 0:D.id,O=index.jsonParser((y=l[r])==null?void 0:y.result),f=(p||[]).filter(U=>U.sourceID===T),E=getStepConfig(u,o),{dataSourceStep:L,tool:R}=E,v=getStepConfig(u,L);let C=[];return L&&R&&(C=(P=O[`step_${L}`])==null?void 0:P.result,(C==null?void 0:C.length)>0?(i==null||i.setBasicInfo(v.tool,C[c]),i==null||i.launchOperation()):(i==null||i.setBasicInfo(v.tool),i==null||i.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),n==null||n.setResult(f),n==null||n.history.initRecord(f,!0),__spreadProps(__spreadValues({},e),{basicIndex:c})}case Actions.ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:n}=t.payload;return __spreadProps(__spreadValues({},e),{triggerEventAfterIndexChanged:!!n})}case Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA:{const{imgList:n,step:o,toolInstance:l,annotationEngine:r,stepList:u}=e;if(!l)return __spreadProps(__spreadValues({},e),{imgIndex:t.payload.nextIndex});const i=StepUtils.getCurrentStepInfo(o,u),{nextIndex:p,imgNode:d,nextBasicIndex:c,imgError:T}=t.payload,O=c!=null?c:0,f=index.jsonParser((x=n[p])==null?void 0:x.result),E=f[`step_${i.step}`],L=!E,R={rotate:(B=f.rotate)!=null?B:0,valid:(w=f.valid)!=null?w:!0};d&&T!==!0?r==null||r.setImgNode(d,R):l==null||l.setValid(R.valid);const v=getStepConfig(u,i.step),{dataSourceStep:C,tool:U}=v,$=getStepConfig(u,C),X=C&&U,h=(F=(b=f[`step_${C}`])==null?void 0:b.result)!=null?F:[],j=AnnotationDataUtils.getInitialResultList(E==null?void 0:E.result,l,v,h,L);if(r==null||r.launchOperation(),X&&((h==null?void 0:h.length)>0?r==null||r.setBasicInfo($.tool,h[O]):(r==null||r.setBasicInfo($.tool),r==null||r.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),i.tool!=="check"){const Y=(M=(G=h[O])==null?void 0:G.id)!=null?M:"",J=X?j.filter(Z=>lbAnnotation.CommonToolUtils.isSameSourceID(Z.sourceID,Y)):j;(V=l==null?void 0:l.history)==null||V.initRecord(j,!0),l==null||l.setResult(J)}return __spreadProps(__spreadValues({},e),{imgIndex:p,basicIndex:O,basicResultList:h,resultList:j})}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG:return __spreadProps(__spreadValues({},e),{config:(q=t.payload.config)!=null?q:"{}"});case Actions.ANNOTATION_ACTIONS.SET_TASK_STEP_LIST:{const{stepList:n}=t.payload;return __spreadProps(__spreadValues({},e),{stepList:n})}case Actions.ANNOTATION_ACTIONS.SET_TASK_CONFIG:{const{stepList:n,step:o}=t.payload;return __spreadProps(__spreadValues({},e),{stepList:n,step:o})}case Actions.ANNOTATION_ACTIONS.INIT_TOOL:{const{imgNode:n}=e,o=updateToolInstance(e,n);if(o){const{toolInstance:l,annotationEngine:r}=o;return __spreadProps(__spreadValues({},e),{toolInstance:l,annotationEngine:r})}return __spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SET_TOOL:{const n=(k=t.payload)==null?void 0:k.instance;return n?__spreadProps(__spreadValues({},e),{toolInstance:n}):__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT:return __spreadProps(__spreadValues({},e),{onSubmit:t.payload.onSubmit});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SAVE:return __spreadProps(__spreadValues({},e),{onSave:t.payload.onSave});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE:return __spreadProps(__spreadValues({},e),{onPageChange:t.payload.onPageChange});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT:return __spreadProps(__spreadValues({},e),{predictionResult:t.payload.result});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT_VISIBLE:return __spreadProps(__spreadValues({},e),{predictionResultVisible:t.payload.visible});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE:return __spreadProps(__spreadValues({},e),{onStepChange:t.payload.onStepChange});case Actions.ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA:return __spreadProps(__spreadValues({},e),{getFileData:t.payload.getFileData});case Actions.ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE:return __spreadProps(__spreadValues({},e),{pageSize:t.payload.pageSize});case Actions.ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST:return __spreadProps(__spreadValues({},e),{loadFileList:t.payload.loadFileList});case Actions.ANNOTATION_ACTIONS.UPDATE_BEFORE_ROTATE:return __spreadProps(__spreadValues({},e),{beforeRotate:t.payload.beforeRotate});case Actions.ANNOTATION_ACTIONS.UPDATE_PRE_DATA_PROCESS:return __spreadProps(__spreadValues({},e),{preDataProcess:t.payload.preDataProcess});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_INDEX_BY_EXTERNAL:return __spreadProps(__spreadValues({},e),{getImgIndexByExternal:t.payload.getImgIndexByExternal});case Actions.ANNOTATION_ACTIONS.SKIP_BEFORE_PAGE_TURNING:return __spreadProps(__spreadValues({},e),{skipBeforePageTurning:t.payload.skipBeforePageTurning});case Actions.ANNOTATION_ACTIONS.SET_FILE_DATA:{const{fileData:n,index:o}=t.payload,{imgList:l}=e,r=[...l];return r[o]=__spreadValues(__spreadValues({},r[o]),n),__spreadProps(__spreadValues({},e),{imgList:r})}case Actions.ANNOTATION_ACTIONS.UPDATE_ROTATE:{const{toolInstance:n,beforeRotate:o}=e;return o&&o()===!1||(H=n==null?void 0:n.updateRotate)==null||H.call(n),e}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID:{const{toolInstance:n}=e,o=(z=n==null?void 0:n.valid)!=null?z:!0;return antd.Modal.destroyAll(),antd.Modal.confirm({content:lbUtils.i18n.t(o?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{n==null||n.setValid(!o)},okText:lbUtils.i18n.t("Confirm"),cancelText:lbUtils.i18n.t("Cancel")}),e}case Actions.ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT:{const{toolInstance:n,imgIndex:o,imgList:l,step:r}=e;if(!n)return e;if(o===0||o>=l.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const u=l[o-1].result;if(!u)return e;const i=AnnotationDataUtils.copyResultChange(u,r,(K=l[o].result)!=null?K:"");l[o]=__spreadProps(__spreadValues({},l[o]),{result:i});const d=index.jsonParser(i)[`step_${r}`],c=(d==null?void 0:d.result)||[];return n==null||n.setResult(c),n==null||n.history.pushHistory(c),(W=n==null?void 0:n.asyncData)==null||W.call(n,l[o]),__spreadProps(__spreadValues({},e),{imgList:[...l]})}case Actions.ANNOTATION_ACTIONS.SET_STEP:{const{stepList:n,annotationEngine:o}=e,{toStep:l}=t.payload;if(o){const r=getStepConfig(n,l);return o==null||o.setToolName(r.tool,r.config),__spreadProps(__spreadValues({},e),{step:l,toolInstance:o==null?void 0:o.toolInstance})}return __spreadProps(__spreadValues({},e),{step:l})}case Actions.ANNOTATION_ACTIONS.SET_LOADPCDFILE_LOADING:{const{loadPCDFileLoading:n}=t.payload;return __spreadProps(__spreadValues({},e),{loadPCDFileLoading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_LOADING:{const{loading:n}=t.payload;return __spreadProps(__spreadValues({},e),{loading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:n}=t.payload;return __spreadProps(__spreadValues({},e),{pointCloudLoading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_CHECK_MODE:{const{checkMode:n}=t.payload;return __spreadProps(__spreadValues({},e),{checkMode:!!n})}case Actions.ANNOTATION_ACTIONS.SET_HIGHLIGHT_ATTRIBUTE:{const{attribute:n}=t.payload;return __spreadProps(__spreadValues({},e),{highlightAttribute:n})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_TRACK_ID:{const{id:n,newID:o,rangeIndex:l,imgList:r}=t.payload,{imgIndex:u,onSubmit:i}=e,p=[],d=r.map((c,T)=>{if(lbAnnotation.MathUtils.isInRange(T,l)){const O=__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateTrackID({id:n,newID:o,result:c.result})});return p.push({imgIndex:T,newInfo:O}),O}return c});return i&&i([d[u]],index$1.ESubmitType.BatchUpdateTrackID,u,d,{updateImgList:p}),__spreadProps(__spreadValues({},e),{imgList:d})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const{id:n,newData:o,rangeIndex:l}=t.payload,{imgList:r,imgIndex:u,onSubmit:i}=e,p=[],d=r.map((c,T)=>{if(lbAnnotation.MathUtils.isInRange(T,l)){const O=__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateResultByTrackID({id:n,newData:o,result:c.result})});return p.push({imgIndex:T,newInfo:O}),O}return c});return i&&i([d[u]],index$1.ESubmitType.BatchUpdateTrackID,u,d,{updateImgList:p}),__spreadProps(__spreadValues({},e),{imgList:d})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_IMG_LIST_RESULT_BY_PREDICT_RESULT:{const{onSubmit:n,imgList:o,stepList:l,step:r,predictionResult:u}=e,i={};u.forEach(T=>{const{index:O}=T;i[O]=___default.default.pick(T,["center","width","height","depth","rotation","id","attribute","valid","trackID"])});const p=`step_${r}`,d=[],c=o.map((T,O)=>{if(i[O]){const f=T.result==="{}"?index.jsonParser(data.composeResult("",{step:r,stepList:l},{rect:[]},{})):index.jsonParser(T.result);f[p].result.push(i[O]);const E=__spreadProps(__spreadValues({},T),{result:JSON.stringify(f)});return d.push({imgIndex:O,newInfo:E}),E}return T});return n==null||n(c,index$1.ESubmitType.BatchUpdateImgList,-1,c,{updateImgList:d}),__spreadProps(__spreadValues({},e),{imgList:c})}default:return e}};exports.LoadFileAndFileData=LoadFileAndFileData,exports.annotationReducer=annotationReducer,exports.composeResultByToolInstance=composeResultByToolInstance,exports.getStepConfig=getStepConfig,exports.getTotalPage=getTotalPage;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$2=require("../../components/customResizeHook/index.js"),index$1=require("../../constant/index.js"),styleString=require("../../constant/styleString.js"),Actions=require("../Actions.js"),index=require("../../utils/index.js"),AnnotationDataUtils=require("../../utils/AnnotationDataUtils.js"),ConfigUtils=require("../../utils/ConfigUtils.js"),data=require("../../utils/data.js"),StepUtils=require("../../utils/StepUtils.js"),ToolUtils=require("../../utils/ToolUtils.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),es=require("antd/es"),_=require("lodash"),actionCreators=require("./actionCreators.js"),ToolType=require("../../data/enums/ToolType.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,l)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,__spreadValues=(e,t)=>{for(var l in t||(t={}))__hasOwnProp.call(t,l)&&__defNormalProp(e,l,t[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(t))__propIsEnum.call(t,l)&&__defNormalProp(e,l,t[l]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__async=(e,t,l)=>new Promise((g,u)=>{var S=I=>{try{N(l.next(I))}catch(m){u(m)}},A=I=>{try{N(l.throw(I))}catch(m){u(m)}},N=I=>I.done?g(I.value):Promise.resolve(I.value).then(S,A);N((l=l.apply(e,t)).next())});const getStepConfig=(e,t)=>e.find(l=>l.step===t),initialState={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:""},getTotalPage=e=>{const{imgList:t,imgPageSize:l}=e;return Math.ceil(t.length/l)},calcStepProgress=(e,t)=>e.reduce((l,g)=>{if(g){const u=g.result;if(index.jsonParser(u)[`step_${t}`])return l+1}return l},0)/e.length,updateToolInstance=(e,t)=>{const{step:l,stepList:g}=e,u=StepUtils.getCurrentStepInfo(l,g),S=ConfigUtils.ConfigUtils.jsonParser(u.config);if(ToolUtils.isVideoTool(u==null?void 0:u.tool)||ToolUtils.isAudioTool(u==null?void 0:u.tool)||ToolUtils.isPointCloudTool(u==null?void 0:u.tool)||[ToolType.EToolName.LLM,ToolType.EToolName.NLP].includes(u==null?void 0:u.tool))return;const A=document.getElementById("toolContainer");if(!A)throw"Not exist dom named id-toolContainer";const N=index$2.getFormatSize({width:window.innerWidth,height:window.innerHeight}),I=new lbAnnotation.AnnotationEngine({container:A,toolName:u.tool,size:N,imgNode:t,config:S,style:JSON.parse(styleString)});return{toolInstance:I==null?void 0:I.toolInstance,annotationEngine:I}},LoadFileAndFileData=(e,t)=>(l,g)=>__async(void 0,null,function*(){var u,S;const{stepList:A,step:N}=g().annotation,I=StepUtils.currentToolIsVideo(N,A),m=StepUtils.currentToolIsPointCloud(N,A),D=((u=StepUtils.getCurrentStepInfo(N,A))==null?void 0:u.tool)===ToolType.EToolName.LLM,y=((S=StepUtils.getCurrentStepInfo(N,A))==null?void 0:S.tool)===ToolType.EToolName.NLP,P=StepUtils.currentToolIsAudio(N,A);if(actionCreators.SetAnnotationLoading(l,!0),yield l(TryGetFileDataByAPI(e)),I){l(AfterVideoLoaded(e));return}if(m||D||P||y){l(AfterCommonLoaded(e));return}l(AfterImageLoaded(e,t))}),TryGetFileDataByAPI=e=>(t,l)=>__async(void 0,null,function*(){const{getFileData:g,imgList:u}=l().annotation;if(g){const S=yield g(u[e],e);t({type:Actions.ANNOTATION_ACTIONS.SET_FILE_DATA,payload:{fileData:S,index:e}})}}),AfterVideoLoaded=e=>t=>{t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterCommonLoaded=e=>t=>{actionCreators.SetAnnotationLoading(t,!1),t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterImageLoaded=(e,t)=>(l,g)=>{var u;const{toolInstance:S,imgList:A}=g().annotation,N=(u=A==null?void 0:A[e])==null?void 0:u.url;lbAnnotation.ImgUtils.load(N).then(I=>{actionCreators.SetAnnotationLoading(l,!1),l({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{imgNode:I,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{actionCreators.SetAnnotationLoading(l,!1),S==null||S.setErrorImg(),l({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},composeResultByToolInstance=({toolInstance:e,imgList:t,imgIndex:l,stepList:g,step:u=1})=>{var S,A,N,I;const m=((S=t[l])==null?void 0:S.result)||"",[D,y,P]=(A=e==null?void 0:e.exportData())!=null?A:[],x=(I=(N=e==null?void 0:e.exportCustomData)==null?void 0:N.call(e))!=null?I:{},B=data.composeResultWithBasicImgInfo(m,y),w=data.composeResult(B,{step:u,stepList:g},{rect:D},x);return t.map((b,F)=>F===l?__spreadValues(__spreadProps(__spreadValues({},b),{result:w}),P):__spreadValues({},b))},annotationReducer=(e=__spreadValues({},initialState),t)=>{var l,g,u,S,A,N,I,m,D,y,P,x,B,w,b,F,G,M,V,q,k,H,z,K,W,$,X;switch(t.type){case Actions.ANNOTATION_ACTIONS.INIT_ALL_STATE:return __spreadValues(__spreadValues({},e),initialState);case Actions.ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE:return __spreadProps(__spreadValues({},e),{toolInstance:t.payload.toolInstance});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_LIST:return __spreadProps(__spreadValues({},e),{imgList:t.payload.imgList});case Actions.ANNOTATION_ACTIONS.CALC_STEP_PROGRESS:{const{imgList:n,step:o}=e,s=calcStepProgress(n,o);return __spreadProps(__spreadValues({},e),{stepProgress:s})}case Actions.ANNOTATION_ACTIONS.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:o,step:s,stepList:i,toolInstance:a,onSubmit:r,resultList:p}=e;if(!a||!n[o])return e;const d=((l=n[o])==null?void 0:l.result)||"",[,c,T]=(g=a==null?void 0:a.exportData())!=null?g:[],O=(S=(u=a==null?void 0:a.exportCustomData)==null?void 0:u.call(a))!=null?S:{},f=data.composeResultWithBasicImgInfo(d,c),E=data.composeResult(f,{step:s,stepList:i},{rect:p},O),L=e.imgList.map((v,C)=>{if(C===o){const U=AnnotationDataUtils.dataCorrection(E,d,s,i);return __spreadValues(__spreadProps(__spreadValues({},v),{result:U}),T)}return v});if(((A=t.payload)==null?void 0:A.submitType)===index$1.ESubmitType.SyncImgList)return __spreadProps(__spreadValues({},e),{imgList:L});r&&r([L[o]],(N=t.payload)==null?void 0:N.submitType,o,L);const R=calcStepProgress(L,s);return __spreadProps(__spreadValues({},e),{stepProgress:R,imgList:L})}case Actions.ANNOTATION_ACTIONS.SAVE_RESULT:{const{imgList:n,imgIndex:o,onSave:s}=e;return s==null||s(n[o],o,n),__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SUBMIT_RESULT:{const{imgList:n,basicIndex:o,resultList:s,toolInstance:i,basicResultList:a}=e;if(!i)return e;const[r]=(I=i==null?void 0:i.exportData())!=null?I:[];let p=r;if((a==null?void 0:a.length)>0){const d=(m=a[o])==null?void 0:m.id,c=r.map(T=>__spreadProps(__spreadValues({},T),{sourceID:d}));p=___default.default.cloneDeep(s).filter(T=>T.sourceID!==d),p.push(...c)}return __spreadProps(__spreadValues({},e),{resultList:p,imgList:n})}case Actions.ANNOTATION_ACTIONS.SET_BASIC_INDEX:{const{toolInstance:n,step:o,imgList:s,imgIndex:i,stepList:a,annotationEngine:r,resultList:p,basicResultList:d}=e;if(!n||!r)return e;const c=t.payload.basicIndex,T=(D=d[c])==null?void 0:D.id,O=index.jsonParser((y=s[i])==null?void 0:y.result),f=(p||[]).filter(U=>U.sourceID===T),E=getStepConfig(a,o),{dataSourceStep:L,tool:R}=E,v=getStepConfig(a,L);let C=[];return L&&R&&(C=(P=O[`step_${L}`])==null?void 0:P.result,(C==null?void 0:C.length)>0?(r==null||r.setBasicInfo(v.tool,C[c]),r==null||r.launchOperation()):(r==null||r.setBasicInfo(v.tool),r==null||r.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),n==null||n.setResult(f),n==null||n.history.initRecord(f,!0),__spreadProps(__spreadValues({},e),{basicIndex:c})}case Actions.ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:n}=t.payload;return __spreadProps(__spreadValues({},e),{triggerEventAfterIndexChanged:!!n})}case Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA:{const{imgList:n,step:o,toolInstance:s,annotationEngine:i,stepList:a}=e;if(!s)return __spreadProps(__spreadValues({},e),{imgIndex:t.payload.nextIndex});const r=StepUtils.getCurrentStepInfo(o,a),{nextIndex:p,imgNode:d,nextBasicIndex:c,imgError:T}=t.payload,O=c!=null?c:0,f=index.jsonParser((x=n[p])==null?void 0:x.result),E=f[`step_${r.step}`],L=!E,R={rotate:(B=f.rotate)!=null?B:0,valid:(w=f.valid)!=null?w:!0};d&&T!==!0?i==null||i.setImgNode(d,R):s==null||s.setValid(R.valid);const v=getStepConfig(a,r.step),{dataSourceStep:C,tool:U}=v,Y=getStepConfig(a,C),J=C&&U,h=(F=(b=f[`step_${C}`])==null?void 0:b.result)!=null?F:[],j=AnnotationDataUtils.getInitialResultList(E==null?void 0:E.result,s,v,h,L);if(i==null||i.launchOperation(),J&&((h==null?void 0:h.length)>0?i==null||i.setBasicInfo(Y.tool,h[O]):(i==null||i.setBasicInfo(Y.tool),i==null||i.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),r.tool!=="check"){const Z=(M=(G=h[O])==null?void 0:G.id)!=null?M:"",Q=J?j.filter(ee=>lbAnnotation.CommonToolUtils.isSameSourceID(ee.sourceID,Z)):j;(V=s==null?void 0:s.history)==null||V.initRecord(j,!0),s==null||s.setResult(Q)}return __spreadProps(__spreadValues({},e),{imgIndex:p,basicIndex:O,basicResultList:h,resultList:j})}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG:return __spreadProps(__spreadValues({},e),{config:(q=t.payload.config)!=null?q:"{}"});case Actions.ANNOTATION_ACTIONS.SET_TASK_STEP_LIST:{const{stepList:n}=t.payload;return __spreadProps(__spreadValues({},e),{stepList:n})}case Actions.ANNOTATION_ACTIONS.SET_TASK_CONFIG:{const{stepList:n,step:o}=t.payload;return __spreadProps(__spreadValues({},e),{stepList:n,step:o})}case Actions.ANNOTATION_ACTIONS.INIT_TOOL:{const{imgNode:n}=e,o=updateToolInstance(e,n);if(o){const{toolInstance:s,annotationEngine:i}=o;return __spreadProps(__spreadValues({},e),{toolInstance:s,annotationEngine:i})}return __spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SET_TOOL:{const n=(k=t.payload)==null?void 0:k.instance;return n?__spreadProps(__spreadValues({},e),{toolInstance:n}):__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT:return __spreadProps(__spreadValues({},e),{onSubmit:t.payload.onSubmit});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SAVE:return __spreadProps(__spreadValues({},e),{onSave:t.payload.onSave});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE:return __spreadProps(__spreadValues({},e),{onPageChange:t.payload.onPageChange});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT:return __spreadProps(__spreadValues({},e),{predictionResult:t.payload.result});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT_VISIBLE:return __spreadProps(__spreadValues({},e),{predictionResultVisible:t.payload.visible});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE:return __spreadProps(__spreadValues({},e),{onStepChange:t.payload.onStepChange});case Actions.ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA:return __spreadProps(__spreadValues({},e),{getFileData:t.payload.getFileData});case Actions.ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE:return __spreadProps(__spreadValues({},e),{pageSize:t.payload.pageSize});case Actions.ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST:return __spreadProps(__spreadValues({},e),{loadFileList:t.payload.loadFileList});case Actions.ANNOTATION_ACTIONS.UPDATE_BEFORE_ROTATE:return __spreadProps(__spreadValues({},e),{beforeRotate:t.payload.beforeRotate});case Actions.ANNOTATION_ACTIONS.UPDATE_PRE_DATA_PROCESS:return __spreadProps(__spreadValues({},e),{preDataProcess:t.payload.preDataProcess});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_INDEX_BY_EXTERNAL:return __spreadProps(__spreadValues({},e),{getImgIndexByExternal:t.payload.getImgIndexByExternal});case Actions.ANNOTATION_ACTIONS.SKIP_BEFORE_PAGE_TURNING:return __spreadProps(__spreadValues({},e),{skipBeforePageTurning:t.payload.skipBeforePageTurning});case Actions.ANNOTATION_ACTIONS.SET_FILE_DATA:{const{fileData:n,index:o}=t.payload,{imgList:s}=e,i=[...s];return i[o]=__spreadValues(__spreadValues({},i[o]),n),__spreadProps(__spreadValues({},e),{imgList:i})}case Actions.ANNOTATION_ACTIONS.UPDATE_ROTATE:{const{toolInstance:n,beforeRotate:o}=e;return o&&o()===!1||(H=n==null?void 0:n.updateRotate)==null||H.call(n),e}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID:{const{toolInstance:n}=e,o=(z=n==null?void 0:n.valid)!=null?z:!0;return antd.Modal.destroyAll(),antd.Modal.confirm({content:lbUtils.i18n.t(o?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{n==null||n.setValid(!o)},okText:lbUtils.i18n.t("Confirm"),cancelText:lbUtils.i18n.t("Cancel")}),e}case Actions.ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT:{const{toolInstance:n,imgIndex:o,imgList:s,step:i}=e;if(!n)return e;if(o===0||o>=s.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const a=s[o-1].result;if(!a)return e;const r=AnnotationDataUtils.copyResultChange({copyResult:a,step:i,currentResult:(K=s[o].result)!=null?K:"",preMappingImgList:(W=s[o-1].mappingImgList)!=null?W:[],mappingImgList:($=s[o].mappingImgList)!=null?$:[]});s[o]=__spreadProps(__spreadValues({},s[o]),{result:r});const d=index.jsonParser(r)[`step_${i}`],c=(d==null?void 0:d.result)||[];return n==null||n.setResult(c),n==null||n.history.pushHistory(c),(X=n==null?void 0:n.asyncData)==null||X.call(n,s[o]),__spreadProps(__spreadValues({},e),{imgList:[...s]})}case Actions.ANNOTATION_ACTIONS.SET_STEP:{const{stepList:n,annotationEngine:o}=e,{toStep:s}=t.payload;if(o){const i=getStepConfig(n,s);return o==null||o.setToolName(i.tool,i.config),__spreadProps(__spreadValues({},e),{step:s,toolInstance:o==null?void 0:o.toolInstance})}return __spreadProps(__spreadValues({},e),{step:s})}case Actions.ANNOTATION_ACTIONS.SET_LOADPCDFILE_LOADING:{const{loadPCDFileLoading:n}=t.payload;return __spreadProps(__spreadValues({},e),{loadPCDFileLoading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_LOADING:{const{loading:n}=t.payload;return __spreadProps(__spreadValues({},e),{loading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:n}=t.payload;return __spreadProps(__spreadValues({},e),{pointCloudLoading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_CHECK_MODE:{const{checkMode:n}=t.payload;return __spreadProps(__spreadValues({},e),{checkMode:!!n})}case Actions.ANNOTATION_ACTIONS.SET_HIGHLIGHT_ATTRIBUTE:{const{attribute:n}=t.payload;return __spreadProps(__spreadValues({},e),{highlightAttribute:n})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_TRACK_ID:{const{id:n,newID:o,rangeIndex:s,imgList:i}=t.payload,{imgIndex:a,onSubmit:r}=e,p=[],d=i.map((c,T)=>{if(lbAnnotation.MathUtils.isInRange(T,s)){const O=__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateTrackID({id:n,newID:o,result:c.result})});return p.push({imgIndex:T,newInfo:O}),O}return c});return r&&r([d[a]],index$1.ESubmitType.BatchUpdateTrackID,a,d,{updateImgList:p}),__spreadProps(__spreadValues({},e),{imgList:d})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const{id:n,newData:o,rangeIndex:s}=t.payload,{imgList:i,imgIndex:a,onSubmit:r}=e,p=[],d=i.map((c,T)=>{if(lbAnnotation.MathUtils.isInRange(T,s)){const O=__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateResultByTrackID({id:n,newData:o,result:c.result})});return p.push({imgIndex:T,newInfo:O}),O}return c});return r&&r([d[a]],index$1.ESubmitType.BatchUpdateTrackID,a,d,{updateImgList:p}),__spreadProps(__spreadValues({},e),{imgList:d})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_IMG_LIST_RESULT_BY_PREDICT_RESULT:{const{onSubmit:n,imgList:o,stepList:s,step:i,predictionResult:a}=e,r={};a.forEach(T=>{const{index:O}=T;r[O]=___default.default.pick(T,["center","width","height","depth","rotation","id","attribute","valid","trackID"])});const p=`step_${i}`,d=[],c=o.map((T,O)=>{if(r[O]){const f=T.result==="{}"?index.jsonParser(data.composeResult("",{step:i,stepList:s},{rect:[]},{})):index.jsonParser(T.result);f[p].result.push(r[O]);const E=__spreadProps(__spreadValues({},T),{result:JSON.stringify(f)});return d.push({imgIndex:O,newInfo:E}),E}return T});return n==null||n(c,index$1.ESubmitType.BatchUpdateImgList,-1,c,{updateImgList:d}),__spreadProps(__spreadValues({},e),{imgList:c})}default:return e}};exports.LoadFileAndFileData=LoadFileAndFileData,exports.annotationReducer=annotationReducer,exports.composeResultByToolInstance=composeResultByToolInstance,exports.getStepConfig=getStepConfig,exports.getTotalPage=getTotalPage;
@@ -1,10 +1,17 @@
1
1
  import React from 'react';
2
2
  import { SetState } from 'ahooks/lib/useSetState';
3
- import { IAudioTextToolConfig } from '@labelbee/lb-utils';
3
+ import { IAudioTextToolConfig, ITextConfigItem } from '@labelbee/lb-utils';
4
4
  export declare enum EContextType {
5
5
  before = "\u524D\u6587",
6
6
  after = "\u540E\u6587"
7
7
  }
8
+ export declare const DEFAULT_CLIP_TEXT_CONFIG_ITEM: {
9
+ label: string;
10
+ key: string;
11
+ required: boolean;
12
+ default: string;
13
+ maxLength: number;
14
+ }[];
8
15
  interface IAudioContextProps {
9
16
  audioContext: {
10
17
  visible?: boolean;
@@ -31,6 +38,7 @@ interface IAudioClipState extends IAudioClipConfig {
31
38
  combined: boolean;
32
39
  /** 是否按下分割键 */
33
40
  segment: boolean;
41
+ clipTextList: ITextConfigItem[];
34
42
  }
35
43
  interface IAudioClipContext {
36
44
  audioClipState: IAudioClipState;
@@ -45,6 +45,7 @@ interface IProps {
45
45
  /** 更新截取片段数据 */
46
46
  updateRegion?: (region: IAudioTimeSlice) => void;
47
47
  isEdit?: boolean;
48
+ clipTextList: ITextConfigItem[];
48
49
  }
49
50
  export declare const SingleTextInput: (props: any) => React.JSX.Element;
50
51
  /** 文本工具的文本框和对照按钮 */
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { IAudioTimeSlice } from '@labelbee/lb-utils';
2
+ import { IAudioTimeSlice, ITextConfigItem } from '@labelbee/lb-utils';
3
3
  import { ISelectedRegion } from '@/components/audioAnnotate/audioContext';
4
4
  import { IInputList, RenderFooter } from '@/types/main';
5
5
  export interface ISetSelectedRegionParams extends ISelectedRegion {
@@ -13,7 +13,7 @@ interface IAudioPlayerContext {
13
13
  imgIndex: number;
14
14
  }
15
15
  export declare const AudioPlayerContext: React.Context<IAudioPlayerContext>;
16
- export declare const AudioPlayer: ({ fileData, onLoaded, context, invalid, height, hideError, onError, updateRegion, removeRegion, regions, activeToolPanel, clipConfigurable, clipTextConfigurable, clipAttributeList, clipAttributeConfigurable, secondaryAttributeConfigurable, subAttributeList, isCheck, hoverRegionId, footer, drawLayerSlot, }: {
16
+ export declare const AudioPlayer: ({ fileData, onLoaded, context, invalid, height, hideError, onError, updateRegion, removeRegion, regions, activeToolPanel, clipConfigurable, clipTextConfigurable, clipAttributeList, clipAttributeConfigurable, secondaryAttributeConfigurable, subAttributeList, isCheck, hoverRegionId, footer, drawLayerSlot, clipTextList, }: {
17
17
  fileData: any;
18
18
  height?: number | undefined;
19
19
  invalid: boolean;
@@ -41,5 +41,6 @@ export declare const AudioPlayer: ({ fileData, onLoaded, context, invalid, heigh
41
41
  hoverRegionId?: string | undefined;
42
42
  footer?: RenderFooter | undefined;
43
43
  drawLayerSlot?: any;
44
+ clipTextList: ITextConfigItem[];
44
45
  }) => React.JSX.Element;
45
46
  export {};
@@ -69,6 +69,7 @@ export declare const usePointCloudViews: () => {
69
69
  updateViewsByDefaultSize?: undefined;
70
70
  generateRects?: undefined;
71
71
  update2DViewRect?: undefined;
72
+ remove2DViewRect?: undefined;
72
73
  } | {
73
74
  topViewAddSphere: ({ newPoint, size, zoom, trackConfigurable, }: {
74
75
  newPoint: IPointUnit;
@@ -105,4 +106,8 @@ export declare const usePointCloudViews: () => {
105
106
  boxID: string;
106
107
  imageName: string;
107
108
  }) => IPointCloudBox[] | undefined;
109
+ remove2DViewRect: (params: {
110
+ boxID: string;
111
+ imageName: string;
112
+ }) => IPointCloudBox[] | undefined;
108
113
  };