@labelbee/lb-components 1.24.0-alpha.15 → 1.24.0-alpha.16
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.
|
@@ -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"),audio=require("../../utils/audio.js"),dataTransform=require("./utils/dataTransform.js"),ahooks=require("ahooks");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,o,r)=>o in t?__defProp(t,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[o]=r,__spreadValues=(t,o)=>{for(var r in o||(o={}))__hasOwnProp.call(o,r)&&__defNormalProp(t,r,o[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(o))__propIsEnum.call(o,r)&&__defNormalProp(t,r,o[r]);return t},__spreadProps=(t,o)=>__defProps(t,__getOwnPropDescs(o));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:t,sideTab:o})=>{const r=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},r.map((f,x)=>{const{tab:d,selectedSvg:E,commonSvg:C}=f;return React__default.default.createElement("div",{key:x,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:o===d?E:C,onClick:()=>{o!==d&&t(d)}}))}))},AudioTextToolTextarea=({result:t,inputDisabled:o,updateText:r,configList:f,autofocus:x,preContext:d,isCheck:E,clipAttributeConfigurable:C,clipTextConfigurable:A,textConfigurable:m,updateRegion:S,clipAttributeList:c,clipTextList:v})=>React__default.default.createElement(index$6.default,{isCheck:E,result:t==null?void 0:t.value,textInputDisabled:o,textID:(t==null?void 0:t.id)||0,updateText:r,configList:f,autofocus:!o&&x,preContext:d,regions:t==null?void 0:t.regions,clipAttributeConfigurable:C,clipTextConfigurable:A,textConfigurable:m,updateRegion:S,clipAttributeList:c,clipTextList:v}),AudioSideBar=t=>{var o,r;const{sider:f,config:x,result:d,updateTagResult:E,updateRegion:C,isEdit:A,tagConfigurable:m,clipConfigurable:S}=t;let c=(x==null?void 0:x.inputList)||[],v=(o=d==null?void 0:d.tag)!=null?o:{},s=(r=d==null?void 0:d.regions)!=null?r:[];const[D,j]=React.useState([]),[y,g]=React.useState("tag");React.useEffect(()=>{if(!m&&S){g("clip");return}g("tag")},[m,S]),React.useEffect(()=>(window.addEventListener("keydown",I),()=>{window.removeEventListener("keydown",I)}));const I=n=>{if(m&&S)switch(n.keyCode){case EKeyCode.L:g("tag");break;case EKeyCode.X:g("clip");break}if(y==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(n))return;lbAnnotation.CommonToolUtils.isMoveKey(n==null?void 0:n.keyCode)&&n.preventDefault();let l=n.keyCode;if(l&&(l<=57&&l>=49||l<=105&&l>=97)){l>57?l=l-97:l=l-49;const R=D.slice();c.length===1?(T(0,l),j([0,l]),setTimeout(()=>{j([])},500)):R.length===1?(T(R[0],l),j([R[0],l]),setTimeout(()=>{j([])},500)):j([l])}}},T=(n,l)=>{if(n<c.length&&c[n].subSelected&&l<c[n].subSelected.length){const R=c[n].value,a=c[n].isMulti;let L=c[n].subSelected[l].value,M=0;const N=v;for(const b in v)if(b===c[n].value){if(M++,a===!0){const w=N[b].split(";").filter(U=>U!==""),p=w.indexOf(L);p===-1?w.push(L):w.splice(p,1),L=w.join(";")}L===""?delete N[b]:N[b]=L}M===0&&Object.assign(v,{[R]:L}),E(v)}},h=n=>{delete v[n],E(v)},O=m&&S&&React__default.default.createElement(ToggleAudioOption,{setSideTab:g,sideTab:y}),P=y==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:m?c:[],labelSelectedList:D,setLabel:T,tagResult:v,clearResult:h,isEdit:A,withPanelTab:!1}),k=y==="clip"&&React__default.default.createElement(index$9,{regions:s,updateRegion:C,useAudioClipStore:index$1.useAudioClipStore});return f?typeof f=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},f({toggleAudioOption:O,labelSidebar:P,clipSidebar:k})):f:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},O,P,k))},AudioAnnotate=t=>{var o,r,f,x,d,E,C,A,m;const S=(r=(o=t.style)==null?void 0:o.sider)==null?void 0:r.width,{step:c,stepList:v,audioContext:s,sider:D,drawLayerSlot:j,imgList:y,imgIndex:g,currentData:I,config:T,stepInfo:h,checkMode:O}=t,P=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(c,v),k=index.jsonParser(I.result),{toolInstanceRef:n}=annotation.useCustomToolInstance({basicInfo:k}),[l,R]=React.useState(!0),[a,L]=React.useState(null),[M,N]=React.useState(0),[b,w]=React.useState(!0),p=e=>{if(!e)return;const i=dataTransform.fixData(e);L(i)};React.useEffect(()=>{R(!0)},[g]),React.useEffect(()=>{l===!1&&se()},[l]),React.useEffect(()=>{Z()},[]),React.useEffect(()=>{n.current.exportData=()=>[[a],{duration:M,valid:b}],n.current.setResult=ge,n.current.clearResult=pe,n.current.currentPageResult=a==null?void 0:a.regions,n.current.emit("updatePageNumber"),n.current.setSelectedRegion=U,n.current.setValid=me},[a,b]);const U=e=>{lbAnnotation.EventBus.emit("setSelectedRegion",{id:e,isLoopStatus:!0,playImmediately:!0})},Z=()=>{n.current.emit=e=>{const i=n.current.fns.get(e);i&&i.forEach(u=>{u&&(u==null||u())})},n.current.fns=new Map,n.current.singleOn=(e,i)=>{n.current.fns.set(e,[i])},n.current.on=(e,i)=>{n.current.singleOn(e,i)},n.current.unbindAll=e=>{n.current.fns.delete(e)}},B=React.useMemo(()=>{const e=k[`step_${h==null?void 0:h.step}`];return(e==null?void 0:e.result)||[]},[T,k,h]),{tagConfigurable:z,textConfigurable:F=!0,clipConfigurable:X=!1,clipAttributeConfigurable:G=!1,clipAttributeList:H=[],clipTextConfigurable:V=!1,subAttributeList:ee=[],secondaryAttributeConfigurable:te=!1,inputList:ne=[],configList:oe=[],clipTextList:J=index$1.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=React.useMemo(()=>{if(P)return lbAnnotation.CommonToolUtils.jsonParser(P==null?void 0:P.config)},[P]),le={clipConfigurable:X,clipAttributeConfigurable:G,clipAttributeList:H,clipTextConfigurable:V,subAttributeList:ee,secondaryAttributeConfigurable:te,clipTextList:J},ie=(x=(f=lbAnnotation.CommonToolUtils.jsonParser(I.result))==null?void 0:f.duration)!=null?x:0,ae=b?ie:0,re=!b||l||![F,V].includes(!0)||O;let Q={};if(g!==-1&&(y==null?void 0:y.length)){const e=(d=y[g])==null?void 0:d.preResult,i=(s==null?void 0:s.isEdit)?(E=s==null?void 0:s.stepConfig)==null?void 0:E.loadPreStep:h==null?void 0:h.loadPreStep;if(e&&i){const u=lbAnnotation.CommonToolUtils.jsonParser(e),_=(A=(C=u==null?void 0:u.config)==null?void 0:C.context)!=null?A:{};Object.keys(_).forEach(q=>{q&&_[q]&&(Q[q]={visible:!0,content:_[q],type:q})})}}const se=()=>{(B==null?void 0:B.length)>0?p(B[0]):p({id:lbAnnotation.uuid(),sourceID:"",value:Y(),tag:ue(),regions:[]});const e=audio.isImageValue(y[g].result||"[]");w(e)},Y=(e=!0)=>{const i={};let u=T.configList||[];return u.length>0&&u.forEach(_=>{i[_.key]=e&&_.default||""}),i},ue=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(T.inputList||[]),de=({duration:e,hasError:i})=>{(s==null?void 0:s.onLoaded)&&(s==null||s.onLoaded()),R(!1),N(e)},ce=ahooks.useMemoizedFn(e=>{p(__spreadProps(__spreadValues({},a||{}),{regions:((a==null?void 0:a.regions)||[]).filter(i=>i.id!==e)}))}),K=ahooks.useMemoizedFn(e=>{var i;const u=(i=a==null?void 0:a.regions)!=null?i:[],{id:_}=e,q=u.find($=>$.id===_);let W=[];q?W=u.map($=>_===$.id?__spreadValues(__spreadValues({},$),e):$):W=[...u,e],p(__spreadProps(__spreadValues({},a),{regions:W}))}),fe=(e,i)=>{const u=__spreadProps(__spreadValues({},a),{value:__spreadProps(__spreadValues({},a.value),{[i]:e})});p(u)},ve=e=>{const i=__spreadProps(__spreadValues({},a),{tag:e});p(i)},ge=e=>{p(e)},pe=()=>{const e=__spreadProps(__spreadValues({},a),{value:Y(),tag:{},regions:[]});p(e),lbAnnotation.EventBus.emit("clearRegions")},me=e=>{w(e)};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:l,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%",userSelect:"none"}},t==null?void 0:t.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},z&&React__default.default.createElement(index$2,{result:a==null?void 0:a.tag,labelInfoSet:ne,hasPromptLayer:!!(s==null?void 0:s.promptLayer)}),s==null?void 0:s.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:s==null?void 0:s.isEdit,count:ae,toolName:EAudioToolName.AudioTextTool,imgIndex:g},drawLayerSlot:j,fileData:I,onLoaded:de,invalid:!b,updateRegion:K,removeRegion:ce,regions:a==null?void 0:a.regions,activeToolPanel:s==null?void 0:s.activeToolPanel,footer:t.footer,isCheck:O},le))),(F||V)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:Q,result:a,inputDisabled:re,updateText:fe,updateRegion:K,configList:oe,autofocus:!1,textConfigurable:F,clipTextConfigurable:V,clipAttributeList:H,clipAttributeConfigurable:G,clipTextList:J,isCheck:O}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:S!=null?S:240,style:(m=t.style)==null?void 0:m.sider},React__default.default.createElement(AudioSideBar,{sider:D,config:T,result:a,updateTagResult:ve,updateRegion:K,isEdit:s==null?void 0:s.isEdit,tagConfigurable:z,clipConfigurable:X})),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"),audio=require("../../utils/audio.js"),dataTransform=require("./utils/dataTransform.js"),ahooks=require("ahooks");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,l,s)=>l in t?__defProp(t,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[l]=s,__spreadValues=(t,l)=>{for(var s in l||(l={}))__hasOwnProp.call(l,s)&&__defNormalProp(t,s,l[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(l))__propIsEnum.call(l,s)&&__defNormalProp(t,s,l[s]);return t},__spreadProps=(t,l)=>__defProps(t,__getOwnPropDescs(l));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:t,sideTab:l})=>{const s=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},s.map((g,E)=>{const{tab:c,selectedSvg:S,commonSvg:R}=g;return React__default.default.createElement("div",{key:E,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:l===c?S:R,onClick:()=>{l!==c&&t(c)}}))}))},AudioTextToolTextarea=({result:t,inputDisabled:l,updateText:s,configList:g,autofocus:E,preContext:c,isCheck:S,clipAttributeConfigurable:R,clipTextConfigurable:q,textConfigurable:p,updateRegion:y,clipAttributeList:I,clipTextList:f})=>React__default.default.createElement(index$6.default,{isCheck:S,result:t==null?void 0:t.value,textInputDisabled:l,textID:(t==null?void 0:t.id)||0,updateText:s,configList:g,autofocus:!l&&E,preContext:c,regions:t==null?void 0:t.regions,clipAttributeConfigurable:R,clipTextConfigurable:q,textConfigurable:p,updateRegion:y,clipAttributeList:I,clipTextList:f}),AudioSideBar=t=>{var l,s;const{sider:g,config:E,result:c,updateTagResult:S,updateRegion:R,isEdit:q,tagConfigurable:p,clipConfigurable:y,valid:I}=t;let f=(E==null?void 0:E.inputList)||[],n=(l=c==null?void 0:c.tag)!=null?l:{},V=(s=c==null?void 0:c.regions)!=null?s:[];const[N,m]=React.useState([]),[b,_]=React.useState("tag");React.useEffect(()=>{if(!p&&y){_("clip");return}_("tag")},[p,y]),React.useEffect(()=>(window.addEventListener("keydown",j),()=>{window.removeEventListener("keydown",j)}));const j=a=>{if(p&&y)switch(a.keyCode){case EKeyCode.L:_("tag");break;case EKeyCode.X:_("clip");break}if(b==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(a))return;lbAnnotation.CommonToolUtils.isMoveKey(a==null?void 0:a.keyCode)&&a.preventDefault();let r=a.keyCode;if(r&&(r<=57&&r>=49||r<=105&&r>=97)){r>57?r=r-97:r=r-49;const o=N.slice();f.length===1?(C(0,r),m([0,r]),setTimeout(()=>{m([])},500)):o.length===1?(C(o[0],r),m([o[0],r]),setTimeout(()=>{m([])},500)):m([r])}}},C=(a,r)=>{if(a<f.length&&f[a].subSelected&&r<f[a].subSelected.length){const o=f[a].value,U=f[a].isMulti;let L=f[a].subSelected[r].value,$=0;const x=n;for(const P in n)if(P===f[a].value){if($++,U===!0){const v=x[P].split(";").filter(B=>B!==""),D=v.indexOf(L);D===-1?v.push(L):v.splice(D,1),L=v.join(";")}L===""?delete x[P]:x[P]=L}$===0&&Object.assign(n,{[o]:L}),S(n)}},O=a=>{delete n[a],S(n)},h=p&&y&&React__default.default.createElement(ToggleAudioOption,{setSideTab:_,sideTab:b}),A=b==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:p?f:[],labelSelectedList:N,setLabel:C,tagResult:n,clearResult:O,isEdit:q,withPanelTab:!1}),u=b==="clip"&&React__default.default.createElement(index$9,{regions:V,updateRegion:R,useAudioClipStore:index$1.useAudioClipStore});return g?typeof g=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},g({toggleAudioOption:h,labelSidebar:A,clipSidebar:u,valid:I})):g:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},h,A,u))},AudioAnnotate=t=>{var l,s,g,E,c,S,R,q,p;const y=(s=(l=t.style)==null?void 0:l.sider)==null?void 0:s.width,{step:I,stepList:f,audioContext:n,sider:V,drawLayerSlot:N,imgList:m,imgIndex:b,currentData:_,config:j,stepInfo:C,checkMode:O}=t,h=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(I,f),A=index.jsonParser(_.result),{toolInstanceRef:u}=annotation.useCustomToolInstance({basicInfo:A}),[a,r]=React.useState(!0),[o,U]=React.useState(null),[L,$]=React.useState(0),[x,P]=React.useState(!0),v=e=>{if(!e)return;const i=dataTransform.fixData(e);U(i)};React.useEffect(()=>{r(!0)},[b]),React.useEffect(()=>{a===!1&&se()},[a]),React.useEffect(()=>{B()},[]),React.useEffect(()=>{u.current.exportData=()=>[[o],{duration:L,valid:x}],u.current.setResult=ge,u.current.clearResult=pe,u.current.currentPageResult=o==null?void 0:o.regions,u.current.emit("updatePageNumber"),u.current.setSelectedRegion=D,u.current.setValid=me},[o,x]);const D=e=>{lbAnnotation.EventBus.emit("setSelectedRegion",{id:e,isLoopStatus:!0,playImmediately:!0})},B=()=>{u.current.emit=e=>{const i=u.current.fns.get(e);i&&i.forEach(d=>{d&&(d==null||d())})},u.current.fns=new Map,u.current.singleOn=(e,i)=>{u.current.fns.set(e,[i])},u.current.on=(e,i)=>{u.current.singleOn(e,i)},u.current.unbindAll=e=>{u.current.fns.delete(e)}},F=React.useMemo(()=>{const e=A[`step_${C==null?void 0:C.step}`];return(e==null?void 0:e.result)||[]},[j,A,C]),{tagConfigurable:X,textConfigurable:K=!0,clipConfigurable:G=!1,clipAttributeConfigurable:H=!1,clipAttributeList:J=[],clipTextConfigurable:M=!1,subAttributeList:ee=[],secondaryAttributeConfigurable:te=!1,inputList:ne=[],configList:oe=[],clipTextList:Q=index$1.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=React.useMemo(()=>{if(h)return lbAnnotation.CommonToolUtils.jsonParser(h==null?void 0:h.config)},[h]),le={clipConfigurable:G,clipAttributeConfigurable:H,clipAttributeList:J,clipTextConfigurable:M,subAttributeList:ee,secondaryAttributeConfigurable:te,clipTextList:Q},ie=(E=(g=lbAnnotation.CommonToolUtils.jsonParser(_.result))==null?void 0:g.duration)!=null?E:0,ae=x?ie:0,re=!x||a||![K,M].includes(!0)||O;let Y={};if(b!==-1&&(m==null?void 0:m.length)){const e=(c=m[b])==null?void 0:c.preResult,i=(n==null?void 0:n.isEdit)?(S=n==null?void 0:n.stepConfig)==null?void 0:S.loadPreStep:C==null?void 0:C.loadPreStep;if(e&&i){const d=lbAnnotation.CommonToolUtils.jsonParser(e),T=(q=(R=d==null?void 0:d.config)==null?void 0:R.context)!=null?q:{};Object.keys(T).forEach(w=>{w&&T[w]&&(Y[w]={visible:!0,content:T[w],type:w})})}}const se=()=>{(F==null?void 0:F.length)>0?v(F[0]):v({id:lbAnnotation.uuid(),sourceID:"",value:Z(),tag:ue(),regions:[]});const e=audio.isImageValue(m[b].result||"[]");P(e)},Z=(e=!0)=>{const i={};let d=j.configList||[];return d.length>0&&d.forEach(T=>{i[T.key]=e&&T.default||""}),i},ue=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(j.inputList||[]),de=({duration:e,hasError:i})=>{(n==null?void 0:n.onLoaded)&&(n==null||n.onLoaded()),r(!1),$(e)},ce=ahooks.useMemoizedFn(e=>{v(__spreadProps(__spreadValues({},o||{}),{regions:((o==null?void 0:o.regions)||[]).filter(i=>i.id!==e)}))}),W=ahooks.useMemoizedFn(e=>{var i;const d=(i=o==null?void 0:o.regions)!=null?i:[],{id:T}=e,w=d.find(k=>k.id===T);let z=[];w?z=d.map(k=>T===k.id?__spreadValues(__spreadValues({},k),e):k):z=[...d,e],v(__spreadProps(__spreadValues({},o),{regions:z}))}),fe=(e,i)=>{const d=__spreadProps(__spreadValues({},o),{value:__spreadProps(__spreadValues({},o.value),{[i]:e})});v(d)},ve=e=>{const i=__spreadProps(__spreadValues({},o),{tag:e});v(i)},ge=e=>{v(e)},pe=()=>{const e=__spreadProps(__spreadValues({},o),{value:Z(),tag:{},regions:[]});v(e),lbAnnotation.EventBus.emit("clearRegions")},me=e=>{P(e)};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:a,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%",userSelect:"none"}},t==null?void 0:t.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},X&&React__default.default.createElement(index$2,{result:o==null?void 0:o.tag,labelInfoSet:ne,hasPromptLayer:!!(n==null?void 0:n.promptLayer)}),n==null?void 0:n.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:n==null?void 0:n.isEdit,count:ae,toolName:EAudioToolName.AudioTextTool,imgIndex:b},drawLayerSlot:N,fileData:_,onLoaded:de,invalid:!x,updateRegion:W,removeRegion:ce,regions:o==null?void 0:o.regions,activeToolPanel:n==null?void 0:n.activeToolPanel,footer:t.footer,isCheck:O},le))),(K||M)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:Y,result:o,inputDisabled:re,updateText:fe,updateRegion:W,configList:oe,autofocus:!1,textConfigurable:K,clipTextConfigurable:M,clipAttributeList:J,clipAttributeConfigurable:H,clipTextList:Q,isCheck:O}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:y!=null?y:240,style:(p=t.style)==null?void 0:p.sider},React__default.default.createElement(AudioSideBar,{sider:V,config:j,result:o,updateTagResult:ve,updateRegion:W,isEdit:n==null?void 0:n.isEdit,tagConfigurable:X,clipConfigurable:G,valid:x})),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
|
-
import
|
|
1
|
+
import s,{useState as N,useEffect as D,useMemo as ae}from"react";import{AudioPlayer as Oe}from"../audioPlayer/index.js";import{getClassName as ke}from"../../utils/dom.js";import Ne from"../predictTracking/previewResult/index.js";import{Layout as ue}from"antd/es";import{Spin as De}from"antd";import{prefix as $e}from"../../constant/index.js";import{cKeyCode as Me,CommonToolUtils as $,EventBus as ce,uuid as Ve,TagUtils as Be,cTool as Fe}from"@labelbee/lb-annotation";import K from"./index.module.scss.js";import Ke from"./tagResultShow/index.js";import{AudioClipProvider as We,DEFAULT_CLIP_TEXT_CONFIG_ITEM as Ue,useAudioClipStore as Xe}from"./audioContext/index.js";import ze from"./textInput/index.js";import{connect as Ge}from"react-redux";import{a2MapStateToProps as qe}from"../../store/annotation/map.js";import{LabelBeeContext as He}from"../../store/ctx.js";import{jsonParser as Je}from"../../utils/index.js";import{useCustomToolInstance as Qe}from"../../hooks/annotation.js";import{sidebarCls as ee}from"../../views/MainView/sidebar/index.js";import Ye from"./audioSide/labelSidebar/index.js";import Ze from"./audioSide/clipSidebar/index.js";import et from"../../assets/annotation/audio/tag.svg.js";import tt from"../../assets/annotation/audio/tagA.svg.js";import ot from"../../assets/annotation/audio/clip.svg.js";import nt from"../../assets/annotation/audio/clipA.svg.js";import{isImageValue as it}from"../../utils/audio.js";import lt from"./utils/dataTransform.js";import{useMemoizedFn as de}from"ahooks";var st=Object.defineProperty,rt=Object.defineProperties,at=Object.getOwnPropertyDescriptors,fe=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,ct=Object.prototype.propertyIsEnumerable,me=(t,i,u)=>i in t?st(t,i,{enumerable:!0,configurable:!0,writable:!0,value:u}):t[i]=u,L=(t,i)=>{for(var u in i||(i={}))ut.call(i,u)&&me(t,u,i[u]);if(fe)for(var u of fe(i))ct.call(i,u)&&me(t,u,i[u]);return t},M=(t,i)=>rt(t,at(i));const{EAudioToolName:dt}=Fe,pe=Me.default,{Sider:ft,Content:mt}=ue,ge=`${$e}-layout`,pt=({setSideTab:t,sideTab:i})=>{const u=[{tab:"tag",commonSvg:et,selectedSvg:tt},{tab:"clip",commonSvg:ot,selectedSvg:nt}];return s.createElement("div",{className:K.toggleAudioOption},u.map((g,_)=>{const{tab:f,selectedSvg:E,commonSvg:h}=g;return s.createElement("div",{key:_,className:K.option},s.createElement("img",{className:K.icon,src:i===f?E:h,onClick:()=>{i!==f&&t(f)}}))}))},gt=({result:t,inputDisabled:i,updateText:u,configList:g,autofocus:_,preContext:f,isCheck:E,clipAttributeConfigurable:h,clipTextConfigurable:O,textConfigurable:v,updateRegion:x,clipAttributeList:V,clipTextList:m})=>s.createElement(ze,{isCheck:E,result:t==null?void 0:t.value,textInputDisabled:i,textID:(t==null?void 0:t.id)||0,updateText:u,configList:g,autofocus:!i&&_,preContext:f,regions:t==null?void 0:t.regions,clipAttributeConfigurable:h,clipTextConfigurable:O,textConfigurable:v,updateRegion:x,clipAttributeList:V,clipTextList:m}),vt=t=>{var i,u;const{sider:g,config:_,result:f,updateTagResult:E,updateRegion:h,isEdit:O,tagConfigurable:v,clipConfigurable:x,valid:V}=t;let m=(_==null?void 0:_.inputList)||[],o=(i=f==null?void 0:f.tag)!=null?i:{},G=(u=f==null?void 0:f.regions)!=null?u:[];const[W,b]=N([]),[S,C]=N("tag");D(()=>{if(!v&&x){C("clip");return}C("tag")},[v,x]),D(()=>(window.addEventListener("keydown",w),()=>{window.removeEventListener("keydown",w)}));const w=r=>{if(v&&x)switch(r.keyCode){case pe.L:C("tag");break;case pe.X:C("clip");break}if(S==="tag"){if(!$.hotkeyFilter(r))return;$.isMoveKey(r==null?void 0:r.keyCode)&&r.preventDefault();let a=r.keyCode;if(a&&(a<=57&&a>=49||a<=105&&a>=97)){a>57?a=a-97:a=a-49;const n=W.slice();m.length===1?(R(0,a),b([0,a]),setTimeout(()=>{b([])},500)):n.length===1?(R(n[0],a),b([n[0],a]),setTimeout(()=>{b([])},500)):b([a])}}},R=(r,a)=>{if(r<m.length&&m[r].subSelected&&a<m[r].subSelected.length){const n=m[r].value,q=m[r].isMulti;let j=m[r].subSelected[a].value,U=0;const y=o;for(const A in o)if(A===m[r].value){if(U++,q===!0){const p=y[A].split(";").filter(H=>H!==""),X=p.indexOf(j);X===-1?p.push(j):p.splice(X,1),j=p.join(";")}j===""?delete y[A]:y[A]=j}U===0&&Object.assign(o,{[n]:j}),E(o)}},B=r=>{delete o[r],E(o)},P=v&&x&&s.createElement(pt,{setSideTab:C,sideTab:S}),k=S==="tag"&&s.createElement(Ye,{labelInfoSet:v?m:[],labelSelectedList:W,setLabel:R,tagResult:o,clearResult:B,isEdit:O,withPanelTab:!1}),c=S==="clip"&&s.createElement(Ze,{regions:G,updateRegion:h,useAudioClipStore:Xe});return g?typeof g=="function"?s.createElement("div",{className:`${ee}`},g({toggleAudioOption:P,labelSidebar:k,clipSidebar:c,valid:V})):g:s.createElement("div",{className:`${ee}`},s.createElement("div",{className:`${ee}__content`},P,k,c))},bt=t=>{var i,u,g,_,f,E,h,O,v;const x=(u=(i=t.style)==null?void 0:i.sider)==null?void 0:u.width,{step:V,stepList:m,audioContext:o,sider:G,drawLayerSlot:W,imgList:b,imgIndex:S,currentData:C,config:w,stepInfo:R,checkMode:B}=t,P=$.getCurrentStepToolAndConfig(V,m),k=Je(C.result),{toolInstanceRef:c}=Qe({basicInfo:k}),[r,a]=N(!0),[n,q]=N(null),[j,U]=N(0),[y,A]=N(!0),p=e=>{if(!e)return;const l=lt.fixData(e);q(l)};D(()=>{a(!0)},[S]),D(()=>{r===!1&&Re()},[r]),D(()=>{H()},[]),D(()=>{c.current.exportData=()=>[[n],{duration:j,valid:y}],c.current.setResult=Pe,c.current.clearResult=Ae,c.current.currentPageResult=n==null?void 0:n.regions,c.current.emit("updatePageNumber"),c.current.setSelectedRegion=X,c.current.setValid=Ie},[n,y]);const X=e=>{ce.emit("setSelectedRegion",{id:e,isLoopStatus:!0,playImmediately:!0})},H=()=>{c.current.emit=e=>{const l=c.current.fns.get(e);l&&l.forEach(d=>{d&&(d==null||d())})},c.current.fns=new Map,c.current.singleOn=(e,l)=>{c.current.fns.set(e,[l])},c.current.on=(e,l)=>{c.current.singleOn(e,l)},c.current.unbindAll=e=>{c.current.fns.delete(e)}},J=ae(()=>{const e=k[`step_${R==null?void 0:R.step}`];return(e==null?void 0:e.result)||[]},[w,k,R]),{tagConfigurable:te,textConfigurable:Q=!0,clipConfigurable:oe=!1,clipAttributeConfigurable:ne=!1,clipAttributeList:ie=[],clipTextConfigurable:z=!1,subAttributeList:ve=[],secondaryAttributeConfigurable:be=!1,inputList:Se=[],configList:ye=[],clipTextList:le=Ue}=ae(()=>{if(P)return $.jsonParser(P==null?void 0:P.config)},[P]),_e={clipConfigurable:oe,clipAttributeConfigurable:ne,clipAttributeList:ie,clipTextConfigurable:z,subAttributeList:ve,secondaryAttributeConfigurable:be,clipTextList:le},Ee=(_=(g=$.jsonParser(C.result))==null?void 0:g.duration)!=null?_:0,xe=y?Ee:0,Ce=!y||r||![Q,z].includes(!0)||B;let se={};if(S!==-1&&(b==null?void 0:b.length)){const e=(f=b[S])==null?void 0:f.preResult,l=(o==null?void 0:o.isEdit)?(E=o==null?void 0:o.stepConfig)==null?void 0:E.loadPreStep:R==null?void 0:R.loadPreStep;if(e&&l){const d=$.jsonParser(e),T=(O=(h=d==null?void 0:d.config)==null?void 0:h.context)!=null?O:{};Object.keys(T).forEach(I=>{I&&T[I]&&(se[I]={visible:!0,content:T[I],type:I})})}}const Re=()=>{(J==null?void 0:J.length)>0?p(J[0]):p({id:Ve(),sourceID:"",value:re(),tag:Te(),regions:[]});const e=it(b[S].result||"[]");A(e)},re=(e=!0)=>{const l={};let d=w.configList||[];return d.length>0&&d.forEach(T=>{l[T.key]=e&&T.default||""}),l},Te=()=>Be.getDefaultResultByConfig(w.inputList||[]),Le=({duration:e,hasError:l})=>{(o==null?void 0:o.onLoaded)&&(o==null||o.onLoaded()),a(!1),U(e)},he=de(e=>{p(M(L({},n||{}),{regions:((n==null?void 0:n.regions)||[]).filter(l=>l.id!==e)}))}),Y=de(e=>{var l;const d=(l=n==null?void 0:n.regions)!=null?l:[],{id:T}=e,I=d.find(F=>F.id===T);let Z=[];I?Z=d.map(F=>T===F.id?L(L({},F),e):F):Z=[...d,e],p(M(L({},n),{regions:Z}))}),je=(e,l)=>{const d=M(L({},n),{value:M(L({},n.value),{[l]:e})});p(d)},we=e=>{const l=M(L({},n),{tag:e});p(l)},Pe=e=>{p(e)},Ae=()=>{const e=M(L({},n),{value:re(),tag:{},regions:[]});p(e),ce.emit("clearRegions")},Ie=e=>{A(e)};return s.createElement(We,null,s.createElement(De,{spinning:r,wrapperClassName:"audio-tool-spinner"},s.createElement(ue,{className:ke("layout","container"),style:{height:"100%",userSelect:"none"}},t==null?void 0:t.leftSider,s.createElement(mt,{className:`${ge}__content`},s.createElement("div",{className:K.containerWrapper},s.createElement("div",{className:K.audioWrapper},te&&s.createElement(Ke,{result:n==null?void 0:n.tag,labelInfoSet:Se,hasPromptLayer:!!(o==null?void 0:o.promptLayer)}),o==null?void 0:o.promptLayer,s.createElement(Oe,L({context:{isEdit:o==null?void 0:o.isEdit,count:xe,toolName:dt.AudioTextTool,imgIndex:S},drawLayerSlot:W,fileData:C,onLoaded:Le,invalid:!y,updateRegion:Y,removeRegion:he,regions:n==null?void 0:n.regions,activeToolPanel:o==null?void 0:o.activeToolPanel,footer:t.footer,isCheck:B},_e))),(Q||z)&&s.createElement(gt,{preContext:se,result:n,inputDisabled:Ce,updateText:je,updateRegion:Y,configList:ye,autofocus:!1,textConfigurable:Q,clipTextConfigurable:z,clipAttributeList:ie,clipAttributeConfigurable:ne,clipTextList:le,isCheck:B}))),s.createElement(ft,{className:`${ge}__side`,width:x!=null?x:240,style:(v=t.style)==null?void 0:v.sider},s.createElement(vt,{sider:G,config:w,result:n,updateTagResult:we,updateRegion:Y,isEdit:o==null?void 0:o.isEdit,tagConfigurable:te,clipConfigurable:oe,valid:y})),s.createElement(Ne,null))))};var St=Ge(qe,null,null,{context:He})(bt);export{St as default};
|