@labelbee/lb-components 1.24.0-alpha.3 → 1.24.0-alpha.5
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.
- package/dist/_virtual/2DViewWorker.js +1 -1
- package/dist/components/LLMMultiWheelView/index.js +1 -1
- package/dist/components/audioAnnotate/index.js +1 -1
- package/dist/components/audioAnnotate/textInput/index.js +1 -1
- package/dist/components/audioAnnotate/textInput/index.module.scss.js +1 -1
- package/dist/components/audioPlayer/index.js +1 -1
- package/dist/index.css +10 -0
- package/dist/views/MainView/LLMMultiWheelLayout/index.js +1 -1
- package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
- package/es/_virtual/2DViewWorker.js +1 -1
- package/es/components/LLMMultiWheelView/index.js +1 -1
- package/es/components/audioAnnotate/index.js +1 -1
- package/es/components/audioAnnotate/textInput/index.js +1 -1
- package/es/components/audioAnnotate/textInput/index.module.scss.js +1 -1
- package/es/components/audioPlayer/index.js +1 -1
- package/es/index.css +10 -0
- package/es/views/MainView/LLMMultiWheelLayout/index.js +1 -1
- package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),index$4=require("../../constant/index.js"),reducer=require("../../store/annotation/reducer.js"),ctx=require("../../store/ctx.js"),index$5=require("../../utils/index.js"),reactRedux=require("react-redux"),index=require("../../store/LLMMultiWheel/index.js"),index$1=require("../../views/MainView/LLMMultiWheelLayout/index.js"),index$2=require("../LLMToolView/questionView/components/header/index.js"),index$3=require("./dialogView/index.js"),index$7=require("../messageMaskLayer/index.js"),index$8=require("../../views/MainView/annotationTips/index.js"),reactI18next=require("react-i18next"),index$6=require("../LLMToolView/questionView/index.js"),antd=require("antd"),lbUtils=require("@labelbee/lb-utils");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,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));const LLMMultiWheelSourceView=e=>{const{questionIsImg:t,answerIsImg:n,LLMConfig:o,dialogList:c,lang:s="cn"}=e,{dataFormatType:u,setDataFormatType:i}=index();return React.useEffect(()=>{var r;s&&((r=lbUtils.i18n)==null||r.changeLanguage(s))},[s]),React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement("div",{className:`${index$1.LLMMultiWheelViewCls}`},React__default.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},React__default.default.createElement(index$2.ToggleDataFormatType,{dataFormatType:u,setDataFormatType:i})),React__default.default.createElement("div",{className:`${index$1.LLMMultiWheelViewCls}-container`},c==null?void 0:c.map((r,d)=>React__default.default.createElement(index$3,__spreadProps(__spreadValues({},r),{key:d,index:d,questionIsImg:t,answerIsImg:n,LLMConfig:o}))))))},getInfoFromLLMFile=({type:e,questionIndex:t,answerIndex:n,llmFile:o})=>{if(e==="question")return o==null?void 0:o.find((s,u)=>t===u);let c=null;return o==null||o.forEach((s,u)=>{var i;(i=s.answerList)==null||i.forEach((r,d)=>{u===t&&n===d&&(c=r)})}),c},LLMMultiWheelView=e=>{var t,n;const{annotation:o,tips:c,showTips:s,drawLayerSlot:u}=e,{imgIndex:i,imgList:r,stepList:d,step:x,toolInstance:p}=o,[w,T]=React.useState(),{setSelectedID:D,newAnswerListMap:y}=index(),[O,q]=React.useState([]),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),index$4=require("../../constant/index.js"),reducer=require("../../store/annotation/reducer.js"),ctx=require("../../store/ctx.js"),index$5=require("../../utils/index.js"),reactRedux=require("react-redux"),index=require("../../store/LLMMultiWheel/index.js"),index$1=require("../../views/MainView/LLMMultiWheelLayout/index.js"),index$2=require("../LLMToolView/questionView/components/header/index.js"),index$3=require("./dialogView/index.js"),index$7=require("../messageMaskLayer/index.js"),index$8=require("../../views/MainView/annotationTips/index.js"),reactI18next=require("react-i18next"),index$6=require("../LLMToolView/questionView/index.js"),antd=require("antd"),lbUtils=require("@labelbee/lb-utils");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,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));const LLMMultiWheelSourceView=e=>{const{questionIsImg:t,answerIsImg:n,LLMConfig:o,dialogList:c,lang:s="cn"}=e,{dataFormatType:u,setDataFormatType:i}=index();return React.useEffect(()=>{var r;s&&((r=lbUtils.i18n)==null||r.changeLanguage(s))},[s]),React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement("div",{className:`${index$1.LLMMultiWheelViewCls}`},React__default.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end",margin:"10px"}},React__default.default.createElement(index$2.ToggleDataFormatType,{dataFormatType:u,setDataFormatType:i})),React__default.default.createElement("div",{className:`${index$1.LLMMultiWheelViewCls}-container`},c==null?void 0:c.map((r,d)=>React__default.default.createElement(index$3,__spreadProps(__spreadValues({},r),{key:d,index:d,questionIsImg:t,answerIsImg:n,LLMConfig:o}))))))},getInfoFromLLMFile=({type:e,questionIndex:t,answerIndex:n,llmFile:o})=>{if(e==="question")return o==null?void 0:o.find((s,u)=>t===u);let c=null;return o==null||o.forEach((s,u)=>{var i;(i=s.answerList)==null||i.forEach((r,d)=>{u===t&&n===d&&(c=r)})}),c},LLMMultiWheelView=e=>{var t,n;const{annotation:o,tips:c,showTips:s,drawLayerSlot:u}=e,{imgIndex:i,imgList:r,stepList:d,step:x,toolInstance:p}=o,[w,T]=React.useState(),{setSelectedID:D,newAnswerListMap:y}=index(),[O,q]=React.useState([]),m=((t=w==null?void 0:w.dataType)==null?void 0:t.prompt)===index$4.ELLMDataType.Picture,M=((n=w==null?void 0:w.dataType)==null?void 0:n.response)===index$4.ELLMDataType.Picture,{t:S}=reactI18next.useTranslation(),[,$]=React.useState(0);return React.useEffect(()=>{var a,v,f;if(!r[i])return;const _=(a=r[i])!=null?a:{},L=(f=(v=_==null?void 0:_.questionList)==null?void 0:v.textList)!=null?f:[];q(L),(L==null?void 0:L.length)&&D(L[0].id)},[i]),React.useEffect(()=>{var a,v;const f=(a=r[i])!=null?a:{},_=f==null?void 0:f.questionList,L=(v=f==null?void 0:f.llmFile)==null?void 0:v.textList,E=_==null?void 0:_.textList,C=E==null?void 0:E.map((l,j)=>{var P;return __spreadProps(__spreadValues({},l),{question:m&&getInfoFromLLMFile({type:"question",questionIndex:j,llmFile:L})||(l==null?void 0:l.question),answerList:(P=l==null?void 0:l.answerList)==null?void 0:P.map((g,b)=>{var h,I,V;const W=`${(h=l==null?void 0:l.id)!=null?h:""}-${(I=g==null?void 0:g.id)!=null?I:""}`,A=M?getInfoFromLLMFile({type:"answer",questionIndex:j,answerIndex:b,llmFile:L})||{}:{};return __spreadValues(__spreadProps(__spreadValues({},g),{answer:g.answer,newAnswer:(V=y[W])!=null?V:g.answer,order:b+1}),A)})})});q(C)},[y,m,M]),React.useEffect(()=>{var a;if(d&&x){const v=(a=reducer.getStepConfig(d,x))==null?void 0:a.config;T(index$5.jsonParser(v))}},[d,x]),React.useEffect(()=>{if(p)return p.on("validUpdated",()=>{$(a=>a+1)}),()=>{p.unbindAll("validUpdated")}},[p]),React__default.default.createElement(antd.Layout,{className:index$6.LLMViewCls},!(p==null?void 0:p.valid)&&React__default.default.createElement(index$7,{message:S("InvalidQuestionAndSkip")}),u==null?void 0:u({}),s===!0&&React__default.default.createElement(index$8,{tips:c}),React__default.default.createElement(LLMMultiWheelSourceView,{questionIsImg:m,answerIsImg:M,LLMConfig:w,dialogList:O}))},mapStateToProps=e=>({annotation:e.annotation});var LLMMultiWheelView$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(LLMMultiWheelView);exports.LLMMultiWheelSourceView=LLMMultiWheelSourceView,exports.default=LLMMultiWheelView$1;
|
|
@@ -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,l,r)=>l in t?__defProp(t,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[l]=r,__spreadValues=(t,l)=>{for(var r in l||(l={}))__hasOwnProp.call(l,r)&&__defNormalProp(t,r,l[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(l))__propIsEnum.call(l,r)&&__defNormalProp(t,r,l[r]);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 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:_}=f;return React__default.default.createElement("div",{key:x,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:l===d?E:_,onClick:()=>{l!==d&&t(d)}}))}))},AudioTextToolTextarea=({result:t,inputDisabled:l,updateText:r,configList:f,autofocus:x,preContext:d,isCheck:E,clipAttributeConfigurable:_,clipTextConfigurable:A,textConfigurable:m,updateRegion:S,clipAttributeList:c,clipTextList:v})=>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:t==null?void 0:t.value,textInputDisabled:l,textID:(t==null?void 0:t.id)||0,updateText:r,configList:f,autofocus:!l&&x,preContext:d,regions:t==null?void 0:t.regions,clipAttributeConfigurable:_,clipTextConfigurable:A,textConfigurable:m,updateRegion:S,clipAttributeList:c,clipTextList:v}))),AudioSideBar=t=>{var l,r;const{sider:f,config:x,result:d,updateTagResult:E,updateRegion:_,isEdit:A,tagConfigurable:m,clipConfigurable:S}=t;let c=(x==null?void 0:x.inputList)||[],v=(l=d==null?void 0:d.tag)!=null?l:{},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 o=n.keyCode;if(o&&(o<=57&&o>=49||o<=105&&o>=97)){o>57?o=o-97:o=o-49;const R=D.slice();c.length===1?(T(0,o),j([0,o]),setTimeout(()=>{j([])},500)):R.length===1?(T(R[0],o),j([R[0],o]),setTimeout(()=>{j([])},500)):j([o])}}},T=(n,o)=>{if(n<c.length&&c[n].subSelected&&o<c[n].subSelected.length){const R=c[n].value,a=c[n].isMulti;let L=c[n].subSelected[o].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:_,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 l,r,f,x,d,E,_,A,m;const S=(r=(l=t.style)==null?void 0:l.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}),[o,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(()=>{o===!1&&se()},[o]),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:le=[],clipTextList:J=index$1.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=React.useMemo(()=>{if(P)return lbAnnotation.CommonToolUtils.jsonParser(P==null?void 0:P.config)},[P]),oe={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||o||![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),C=(A=(_=u==null?void 0:u.config)==null?void 0:_.context)!=null?A:{};Object.keys(C).forEach(q=>{q&&C[q]&&(Q[q]={visible:!0,content:C[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(C=>{i[C.key]=e&&C.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:C}=e,q=u.find($=>$.id===C);let W=[];q?W=u.map($=>C===$.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:o,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},oe))),(F||V)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:Q,result:a,inputDisabled:re,updateText:fe,updateRegion:K,configList:le,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,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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),icons=require("@ant-design/icons"),index$2=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"),index$1=require("../../longText/index.js"),icon_clearSmall_a=require("../../../assets/annotation/common/icon_clearSmall_a.svg.js"),icon_clearSmall=require("../../../assets/annotation/common/icon_clearSmall.svg.js");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})=>{const[T,o]=React.useState(!1);return React__default.default.createElement(antd.Tooltip,{placement:"bottom",title:u},React__default.default.createElement("img",{onMouseEnter:()=>{n||o(!0)},onMouseLeave:()=>o(!1),className:classNames__default.default({[index_module.clearIcon]:!0,[index_module.disabled]:n}),src:T?icon_clearSmall_a:icon_clearSmall,onClick:l}))},SingleTextInput=l=>{var u;const{t:n}=reactI18next.useTranslation(),T=React.useRef(null),[o,y]=React.useState(!1),[_,E]=React.useState(!1),{disabled:s,config:i,result:A,updateText:v,index:x,switchToNextTextarea:L,hasMultiple:S,textID:F,addPlaceholder:p,onFocus:N,onBlur:h,onFocusStyle:C={},extra:b,errorText:I}=l,{maxLength:g}=i,w=A?A[i.key]:"",B=(u=w==null?void 0:w.length)!=null?u:0,k=a=>{v&&(v(a,i.key),i.required&&E(!a))},P=S&&L,f={id:`textInput-${x}`,ref:T,disabled:s,value:w,maxLength:g,autoSize:{minRows:2,maxRows:6},onChange:a=>{const d=a.target.value;k(d)},onFocus:a=>{y(!0),N==null||N(a),a.target.value&&E(!1)},onBlur:a=>{y(!1),h==null||h(a),i.required&&E(!a.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:a=>{const{keyCode:d}=a;if(a.ctrlKey){if(d===EKeyCode.Enter&&a.preventDefault(),p&&[EKeyCode.One,EKeyCode.Two,EKeyCode.Three].includes(d))switch(a.preventDefault(),d){case EKeyCode.One:p("\u4986");break;case EKeyCode.Two:p("\u652B");break;case EKeyCode.Three:p("\u7383");break}}else d===EKeyCode.Tab&&P?(a.preventDefault(),a.nativeEvent.stopImmediatePropagation(),L(x)):a.nativeEvent.stopPropagation()}},m=React__default.default.createElement("div",{className:index_module.textAreaFooter},React__default.default.createElement("div",{className:index_module.hotkeyTip},P&&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:B>=g?index_module.warning:""},B),"/",React__default.default.createElement("span",null,g)));return React.useEffect(()=>{s&&y(!1)},[s]),React.useEffect(()=>{E(!1)},[F]),React__default.default.createElement("div",{className:index_module.textField},React__default.default.createElement("div",{className:index_module.label},React__default.default.createElement("div",{className:index_module.labelText},React__default.default.createElement("span",{className:classNames__default.default({[index_module.titleText]:!0,[index_module.required]:i.required})},React__default.default.createElement(index$1,{text:i.label,openByText:!0,isToolTips:!0})),React__default.default.createElement(ClearIcon,{onClick:()=>{s||k("")},title:"",disabled:s})),React__default.default.createElement("div",{className:index_module.extra},b)),React__default.default.createElement("div",{className:classNames__default.default({disabled:s,"textarea-outline":!0,"ant-input-focused":o,[index_module.textareaContainer]:!0,[index_module.focus]:o,[index_module.invalid]:_}),style:o?C:{}},React__default.default.createElement(index$2.TextareaWithFooter,{footer:m,textareaProps:f})),I&&React__default.default.createElement("span",{style:{color:"#ff4d4f",lineHeight:"22px"}},I))},TextInput=l=>{const{configList:u,autofocus:n,textID:T,result:o,showText:y,updateText:_,toggleShowText:E,textInputDisabled:s,isCheck:i,isEdit:A,config:v,preContext:x,regions:L=[],textConfigurable:S=!0,clipTextConfigurable:F,clipAttributeConfigurable:p,updateRegion:N,clipAttributeList:h=[],clipTextList:C=index.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=l,{t:b}=reactI18next.useTranslation(),[I,g]=React.useState(0),[w,B]=React.useState(""),k=React.useRef(null),{audioClipState:P}=index.useAudioClipStore(),f=u||[__spreadValues({},audio.DEFAULT_TEXT_CONFIG_ITEM)];let m=L;if(F&&!i){const e=P.selectedRegion.id;m=m.filter(t=>t.id===e)}const a=e=>{setTimeout(()=>{const t=document.getElementById(`textInput-${e}`);t&&(g(e),t.focus(),t.select(),t.scrollIntoView({behavior:"smooth",block:"center"}))})},d=e=>{const t=S?f.length:0,c=F?m.length*C.length:0,r=t+c,D=(e+1)%r;a(D)},H=e=>{e.keyCode===EKeyCode.Tab&&(e.preventDefault(),(f.length>0||F&&C.length>0)&&a(0))},q=e=>{const t=document.getElementById(`textInput-${I}`);if(!(v==null?void 0:v.enablePlaceholderHotkey)||!t||!_)return;const{value:c,selectionStart:r,selectionEnd:D}=t,R=`${c.slice(0,r)}${e}${c.slice(D)}`;_(R,f[I].key),B(e),setTimeout(()=>{t.setSelectionRange(r+1,r+1),t.focus()},0),clearTimeout(k.current),k.current=setTimeout(()=>{B("")},400)};React.useEffect(()=>(A||document.addEventListener("keydown",H),()=>{document.removeEventListener("keydown",H)}),[u]),React.useEffect(()=>{n&&!s&&a(0)},[T]);let O=f;i&&(O=f.filter(e=>(o==null?void 0:o[e.key])!==void 0));const W=React.useMemo(()=>C.reduce((e,t)=>(m.forEach(c=>{c&&e.push(__spreadProps(__spreadValues({},t),{clipTextResult:c}))}),e),[]),[C,m]);return React__default.default.createElement(React__default.default.Fragment,null,(v==null?void 0:v.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=>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:x==null?void 0:x.before}),S&&O.map((e,t)=>React__default.default.createElement(SingleTextInput,{config:e,key:t,index:t,result:o,updateText:_,switchToNextTextarea:d,hasMultiple:f.length>1,disabled:s,textID:T,addPlaceholder:q,onFocus:()=>g(t)})),F&&m.length>0&&W.map((e,t)=>{var c;const{clipTextResult:r}=e,{id:D,start:R,end:z,attribute:j}=r,{maxLength:U=3e3,label:K,key:G,required:X}=e,V=r==null?void 0:r[G],Q={[r.id]:V},J={label:`${K!=null?K:b("textTool")}\uFF08${audio.timeFormat(R,"ss.SSS")} - ${audio.timeFormat(z,"ss.SSS")}\uFF09`,key:D,maxLength:U},$=(S?O.length:0)+t,M=audio.getAttributeColor(j,h),Y={color:audio.getAttributeFontColor(j,h),backgroundColor:M},Z=b("LeastCharacterError",{num:1}),ee=X&&V.length<1?Z:void 0,te=(c=audio.getAttributeShowText(j,[{value:"",key:b("NoAttribute")},...h]))!=null?c:"";return React__default.default.createElement(SingleTextInput,{config:J,key:t,index:$,disabled:s,result:Q,updateText:ae=>{N==null||N(__spreadProps(__spreadValues({},r),{[G]:ae}))},switchToNextTextarea:()=>{d($)},hasMultiple:!0,onFocus:()=>g($),onFocusStyle:p?{borderColor:M,boxShadow:`0 0 0 2px ${audio.updateColorOpacity(M,.4)}`}:{},extra:p?React__default.default.createElement("div",{style:Y,className:index_module.attribute},React__default.default.createElement(index$1,{text:te,openByText:!0,isToolTips:!0})):null,errorText:ee})}),React__default.default.createElement(index.default,{audioContext:x==null?void 0:x.after}),E&&React__default.default.createElement("div",{className:index_module.switchItem},b("toggleShowText"),React__default.default.createElement(antd.Switch,{style:{alignSelf:"center"},checked:y,onChange:e=>{E(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$2=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"),index$1=require("../../longText/index.js"),icon_clearSmall_a=require("../../../assets/annotation/common/icon_clearSmall_a.svg.js"),icon_clearSmall=require("../../../assets/annotation/common/icon_clearSmall.svg.js");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,u)=>l in a?__defProp(a,l,{enumerable:!0,configurable:!0,writable:!0,value:u}):a[l]=u,__spreadValues=(a,l)=>{for(var u in l||(l={}))__hasOwnProp.call(l,u)&&__defNormalProp(a,u,l[u]);if(__getOwnPropSymbols)for(var u of __getOwnPropSymbols(l))__propIsEnum.call(l,u)&&__defNormalProp(a,u,l[u]);return a},__spreadProps=(a,l)=>__defProps(a,__getOwnPropDescs(l));const EKeyCode=lbAnnotation.cKeyCode.default,ClearIcon=({onClick:a,title:l,disabled:u})=>{const[T,s]=React.useState(!1);return React__default.default.createElement(antd.Tooltip,{placement:"bottom",title:l},React__default.default.createElement("img",{onMouseEnter:()=>{u||s(!0)},onMouseLeave:()=>s(!1),className:classNames__default.default({[index_module.clearIcon]:!0,[index_module.disabled]:u}),src:T?icon_clearSmall_a:icon_clearSmall,onClick:a}))},SingleTextInput=a=>{var l;const{t:u}=reactI18next.useTranslation(),T=React.useRef(null),[s,y]=React.useState(!1),[S,f]=React.useState(!1),{disabled:i,config:r,result:A,updateText:m,index:E,switchToNextTextarea:P,hasMultiple:_,textID:v,addPlaceholder:p,onFocus:N,onBlur:F,onFocusStyle:h={},extra:C,errorText:I}=a,{maxLength:x}=r,B=A?A[r.key]:"",w=(l=B==null?void 0:B.length)!=null?l:0,k=n=>{m&&(m(n,r.key),r.required&&f(!n))},L=_&&P,O={id:`textInput-${E}`,ref:T,disabled:i,value:B,maxLength:x,autoSize:{minRows:2,maxRows:6},onChange:n=>{const d=n.target.value;k(d)},onFocus:n=>{y(!0),N==null||N(n),n.target.value&&f(!1)},onBlur:n=>{y(!1),F==null||F(n),r.required&&f(!n.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:n=>{const{keyCode:d}=n;if(n.ctrlKey){if(d===EKeyCode.Enter&&n.preventDefault(),p&&[EKeyCode.One,EKeyCode.Two,EKeyCode.Three].includes(d))switch(n.preventDefault(),d){case EKeyCode.One:p("\u4986");break;case EKeyCode.Two:p("\u652B");break;case EKeyCode.Three:p("\u7383");break}}else d===EKeyCode.Tab&&L?(n.preventDefault(),n.nativeEvent.stopImmediatePropagation(),P(E)):n.nativeEvent.stopPropagation()}},R=React__default.default.createElement("div",{className:index_module.textAreaFooter},React__default.default.createElement("div",{className:index_module.hotkeyTip},L&&React__default.default.createElement("span",null,"[",u("Switch"),"]Tab"),React__default.default.createElement("span",null,"[",u("TurnPage"),"]Ctrl+Enter")),React__default.default.createElement("div",{className:index_module.wordCount},React__default.default.createElement("span",{className:w>=x?index_module.warning:""},w),"/",React__default.default.createElement("span",null,x)));return React.useEffect(()=>{i&&y(!1)},[i]),React.useEffect(()=>{f(!1)},[v]),React__default.default.createElement("div",{className:index_module.textField},React__default.default.createElement("div",{className:index_module.label},React__default.default.createElement("div",{className:index_module.labelText},React__default.default.createElement("span",{className:classNames__default.default({[index_module.titleText]:!0,[index_module.required]:r.required})},React__default.default.createElement(index$1,{text:r.label,openByText:!0,isToolTips:!0})),React__default.default.createElement(ClearIcon,{onClick:()=>{i||k("")},title:"",disabled:i})),React__default.default.createElement("div",{className:index_module.extra},C)),React__default.default.createElement("div",{className:classNames__default.default({disabled:i,"textarea-outline":!0,"ant-input-focused":s,[index_module.textareaContainer]:!0,[index_module.focus]:s,[index_module.invalid]:S}),style:s?h:{}},React__default.default.createElement(index$2.TextareaWithFooter,{footer:R,textareaProps:O})),I&&React__default.default.createElement("span",{style:{color:"#ff4d4f",lineHeight:"22px"}},I))},TextInput=a=>{const{configList:l,autofocus:u,textID:T,result:s,showText:y,updateText:S,toggleShowText:f,textInputDisabled:i,isCheck:r,isEdit:A,config:m,preContext:E,regions:P=[],textConfigurable:_=!0,clipTextConfigurable:v,clipAttributeConfigurable:p,updateRegion:N,clipAttributeList:F=[],clipTextList:h=index.DEFAULT_CLIP_TEXT_CONFIG_ITEM}=a,{t:C}=reactI18next.useTranslation(),[I,x]=React.useState(0),[B,w]=React.useState(""),k=React.useRef(null),L=React.useRef(null),[O,R]=React.useState(5),[n,d]=React.useState(!1),{audioClipState:J}=index.useAudioClipStore(),b=l||[__spreadValues({},audio.DEFAULT_TEXT_CONFIG_ITEM)];let g=P;if(v&&!r){const e=J.selectedRegion.id;g=g.filter(t=>t.id===e)}const M=e=>{setTimeout(()=>{const t=document.getElementById(`textInput-${e}`);t&&(x(e),t.focus(),t.select(),t.scrollIntoView({behavior:"smooth",block:"center"}))})},V=e=>{const t=_?b.length:0,c=v?g.length*h.length:0,o=t+c,D=(e+1)%o;M(D)},G=e=>{e.keyCode===EKeyCode.Tab&&(e.preventDefault(),(b.length>0||v&&h.length>0)&&M(0))},q=e=>{const t=document.getElementById(`textInput-${I}`);if(!(m==null?void 0:m.enablePlaceholderHotkey)||!t||!S)return;const{value:c,selectionStart:o,selectionEnd:D}=t,$=`${c.slice(0,o)}${e}${c.slice(D)}`;S($,b[I].key),w(e),setTimeout(()=>{t.setSelectionRange(o+1,o+1),t.focus()},0),clearTimeout(k.current),k.current=setTimeout(()=>{w("")},400)};React.useEffect(()=>(A||document.addEventListener("keydown",G),()=>{document.removeEventListener("keydown",G)}),[l]),React.useEffect(()=>{u&&!i&&M(0)},[T]);let j=b;r&&(j=b.filter(e=>(s==null?void 0:s[e.key])!==void 0));const W=React.useMemo(()=>h.reduce((e,t)=>(g.forEach(c=>{c&&e.push(__spreadProps(__spreadValues({},t),{clipTextResult:c}))}),e),[]),[h,g]),Y=()=>{const e=L.current;e&&v&&g.length>0&&r&&e.clientHeight+e.scrollTop+1>=e.scrollHeight&&(d(!0),Z())},Z=()=>{setTimeout(()=>{R(e=>Math.min(e+5,W.length)),d(!1)},300)};return React__default.default.createElement("div",{className:index_module.textInputBox,ref:L,onScroll:Y},React__default.default.createElement("div",{className:index_module.textInputChild},(m==null?void 0:m.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:B},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:E==null?void 0:E.before}),_&&j.map((e,t)=>React__default.default.createElement(SingleTextInput,{config:e,key:t,index:t,result:s,updateText:S,switchToNextTextarea:V,hasMultiple:b.length>1,disabled:i,textID:T,addPlaceholder:q,onFocus:()=>x(t)})),v&&g.length>0&&React__default.default.createElement(React__default.default.Fragment,null,W.slice(0,O).map((e,t)=>{var c;const{clipTextResult:o}=e,{id:D,start:$,end:ee,attribute:H}=o,{maxLength:te=3e3,label:U,key:X,required:ae}=e,Q=o==null?void 0:o[X],le={[o.id]:Q},ne={label:`${U!=null?U:C("textTool")}\uFF08${audio.timeFormat($,"ss.SSS")} - ${audio.timeFormat(ee,"ss.SSS")}\uFF09`,key:D,maxLength:te},z=(_?j.length:0)+t,K=audio.getAttributeColor(H,F),ue={color:audio.getAttributeFontColor(H,F),backgroundColor:K},re=C("LeastCharacterError",{num:1}),oe=ae&&Q.length<1?re:void 0,se=(c=audio.getAttributeShowText(H,[{value:"",key:C("NoAttribute")},...F]))!=null?c:"";return React__default.default.createElement(SingleTextInput,{config:ne,key:t,index:z,disabled:i,result:le,updateText:ie=>{N==null||N(__spreadProps(__spreadValues({},o),{[X]:ie}))},switchToNextTextarea:()=>{V(z)},hasMultiple:!0,onFocus:()=>x(z),onFocusStyle:p?{borderColor:K,boxShadow:`0 0 0 2px ${audio.updateColorOpacity(K,.4)}`}:{},extra:p?React__default.default.createElement("div",{style:ue,className:index_module.attribute},React__default.default.createElement(index$1,{text:se,openByText:!0,isToolTips:!0})):null,errorText:oe})}),n&&React__default.default.createElement(antd.Spin,{size:"small"})),React__default.default.createElement(index.default,{audioContext:E==null?void 0:E.after}),f&&React__default.default.createElement("div",{className:index_module.switchItem},C("toggleShowText"),React__default.default.createElement(antd.Switch,{style:{alignSelf:"center"},checked:y,onChange:e=>{f(e)}})))))};exports.ClearIcon=ClearIcon,exports.SingleTextInput=SingleTextInput,exports.default=TextInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var styles={textInputContainer:"index-module_textInputContainer__ES6X3",textField:"index-module_textField__uRcb7",label:"index-module_label__xE6hM",labelText:"index-module_labelText__Zg1c4",titleText:"index-module_titleText__BRM44",required:"index-module_required__iElYl",extra:"index-module_extra__PW5Qk",textareaContainer:"index-module_textareaContainer__dTIv4",textAreaFooter:"index-module_textAreaFooter__h1Vv-",warning:"index-module_warning__NKpW6",hotkeyTip:"index-module_hotkeyTip__BSJ6A",wordCount:"index-module_wordCount__OD4eL",focus:"index-module_focus__H07-Y",invalid:"index-module_invalid__F9RC5",inputCount:"index-module_inputCount__--XiT",notify:"index-module_notify__rYuqq",switchItem:"index-module_switchItem__Q256x",placeholderHotkey:"index-module_placeholderHotkey__0SKPo",title:"index-module_title__YRpw9",questionIcon:"index-module_questionIcon__oK1HK",attribute:"index-module_attribute__g8Vbl",clearIcon:"index-module_clearIcon__ZBZqI",disabled:"index-module_disabled__zqh8C"};module.exports=styles;
|
|
1
|
+
"use strict";var styles={textInputContainer:"index-module_textInputContainer__ES6X3",textField:"index-module_textField__uRcb7",label:"index-module_label__xE6hM",labelText:"index-module_labelText__Zg1c4",titleText:"index-module_titleText__BRM44",required:"index-module_required__iElYl",extra:"index-module_extra__PW5Qk",textareaContainer:"index-module_textareaContainer__dTIv4",textAreaFooter:"index-module_textAreaFooter__h1Vv-",warning:"index-module_warning__NKpW6",hotkeyTip:"index-module_hotkeyTip__BSJ6A",wordCount:"index-module_wordCount__OD4eL",focus:"index-module_focus__H07-Y",invalid:"index-module_invalid__F9RC5",inputCount:"index-module_inputCount__--XiT",notify:"index-module_notify__rYuqq",switchItem:"index-module_switchItem__Q256x",placeholderHotkey:"index-module_placeholderHotkey__0SKPo",title:"index-module_title__YRpw9",questionIcon:"index-module_questionIcon__oK1HK",attribute:"index-module_attribute__g8Vbl",clearIcon:"index-module_clearIcon__ZBZqI",disabled:"index-module_disabled__zqh8C",textInputBox:"index-module_textInputBox__C6pdt",textInputChild:"index-module_textInputChild__SOQT6"};module.exports=styles;
|
|
@@ -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"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),index$b=require("../invalidPage/index.js"),index$6=require("../imageError/index.js"),index$a=require("../../utils/index.js"),index$d=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=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index$1=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$2=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$c=require("./progressDot/index.js"),index$7=require("./clipTip/index.js"),index$5=require("./useSwitchHotkey/index.js"),index$3=require("./useAudioCombine/index.js"),index$4=require("./useAudioSegment/index.js"),index$8=require("./combineTip/index.js"),index$9=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js"),reactI18next=require("react-i18next"),useSize=require("../../hooks/useSize.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}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=(l,u,d)=>u in l?__defProp(l,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):l[u]=d,__spreadValues=(l,u)=>{for(var d in u||(u={}))__hasOwnProp.call(u,d)&&__defNormalProp(l,d,u[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(u))__propIsEnum.call(u,d)&&__defNormalProp(l,d,u[d]);return l},__spreadProps=(l,u)=>__defProps(l,__getOwnPropDescs(u));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:l={},onLoaded:u,context:d,invalid:Ne,height:Fe,hideError:ze,onError:re,updateRegion:T,removeRegion:$,regions:x=[],activeToolPanel:Ue,clipConfigurable:Ze,clipTextConfigurable:ne,clipAttributeList:He,clipAttributeConfigurable:oe,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,isCheck:b,hoverRegionId:W,footer:Ke,drawLayerSlot:ie,clipTextList:Ge,lang:ae})=>{var le,se;const{url:O,path:ue}=l,[N,F]=React.useState(!1),[ce,de]=React.useState(!1),[P,Ye]=React.useState(0),[Je,fe]=React.useState(!1),[S,ve]=React.useState(0),o=React.useRef(null),C=React.useRef(null),me=React.useRef(P),z=e=>{me.current=e,Ye(e)},[pe,Qe]=React.useState(0),[j,et]=React.useState(index.audioZoomInfo.defaultValue),y=React.useRef(null),[ge,tt]=React.useState({}),{audioClipState:U,setAudioClipState:B}=index$1.useAudioClipStore(),[Z,H]=React.useState(!1),c=ahooks.useLatest(U),be=ahooks.useLatest(ge);ahooks.useLatest(N);const A=ahooks.useLatest(x),_e=ahooks.useUpdate(),[ye,rt]=React.useState([]),[Ee,nt]=React.useState({}),[ot,Se]=React.useState(""),[he,it]=React.useState({start:0,end:0}),at=useSize(y),lt=React.useMemo(()=>x.filter(e=>{const{start:t,end:r}=he;return e.start>=t&&e.start<=r||e.end>=t&&e.end<=r||e.id===ot}),[x,he]),st=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),Re=e=>{e<index.audioZoomInfo.min||e>index.audioZoomInfo.max||(et(e),audio.dispatchResizeEvent(),st())};index$2({container:y.current,target:document.querySelector(`[data-id=${(se=(le=c.current)==null?void 0:le.selectedRegion)==null?void 0:se.id}]`),clipping:Z,zoom:j,zoomHandler:Re});const L=()=>{let e=A.current;const{attributeLockList:t}=c.current;t.length&&(e=e.filter(r=>t.includes(r.attribute))),X(),e.forEach(r=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},r),{drag:!b,resize:!b,color:"rgba(0, 0, 0, 0)"}))}),_e()},m=e=>{var t,r,n,i,s,v,p;const{id:a,loop:f=!0,playImmediately:g=!1,isLoopStatus:I}=e,q=!1;if(a){const w=(n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{};Object.entries(w).forEach(([,R])=>{const{id:k}=R;a===k?R.select():R.cancelSelect()}),B({selectedRegion:{id:a,loop:q},selectedAttribute:(v=(s=(i=A.current)==null?void 0:i.find(R=>R.id===a))==null?void 0:s.attribute)!=null?v:""}),g&&((p=D(a))==null||p.play())}else B({selectedRegion:{}})},{combineInstance:ut}=index$3({waveRef:o,sortByStartRegions:ye,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:m}),{segmentInstance:ct,onRegionMouseMove:dt,segmentTimeTip:ft}=index$4({waveRef:o,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:m}),xe={clipTextConfigurable:ne,clipAttributeList:He,clipAttributeConfigurable:oe,clipConfigurable:Ze,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,clipTextList:Ge};React.useEffect(()=>{var e;ae&&((e=lbUtils.i18n)==null||e.changeLanguage(ae))},[]),React.useEffect(()=>{B({selectedAttribute:""})},[oe]),React.useEffect(()=>{V()},[U.selectedAttribute]),React.useEffect(()=>{L()},[U.attributeLockList]),ahooks.useDeepCompareEffect(()=>{B(xe),setTimeout(()=>{Pe()})},[xe]),ahooks.useDeepCompareEffect(()=>{rt(_.sortBy(x,["start"])),nt(x.reduce((e,t)=>{const{id:r}=t;return __spreadProps(__spreadValues({},e),{[r]:t})},{})),b&&L()},[x]),React.useEffect(()=>{m(W?{id:W,loop:!1,playImmediately:!0}:{})},[W]);const Pe=()=>{var e,t;c.current.clipConfigurable?(!b&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),L()):((t=o.current)==null||t.disableDragSelection(),X()),V()},V=()=>{var e,t,r,n,i;let s="";c.current.clipConfigurable?s=audio.getAttributeColor(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):s="transparent",((r=(t=o==null?void 0:o.current)==null?void 0:t.cursor)==null?void 0:r.cursor)&&((i=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||i.setStyle({border:`2px dashed ${s}`}))},D=e=>{var t,r,n;return((n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{})[e]},Ce=()=>{var e,t;if(O){const r=((t=(e=ue==null?void 0:ue.split("."))==null?void 0:e.pop())==null?void 0:t.toLowerCase())==="pcm";fe(!1),r?getWebPcm2Wac.getWebPcm2WavBase64(O).then(n=>{we(n)}):we(O)}},we=e=>{var t;e&&(de(!0),z(0),ve(0),(t=o==null?void 0:o.current)==null||t.load(e))},X=()=>{var e;(e=o.current)==null||e.clearRegions()},K=e=>{const t=D(e);t&&(H(!1),t==null||t.remove(),$==null||$(e),m({}))},{run:Te}=ahooks.useThrottleFn(m,{wait:100});index$5({sortByStartRegions:ye,setSelectedRegion:m});const vt=e=>{const{start:t,end:r}=be.current;return(t||r)&&e.update(be.current),e},mt=({action:e,id:t,eventDownTime:r})=>{var n,i;if(!c.current.clipConfigurable)return;t&&m({id:t});const s=D((t!=null?t:(n=c.current.selectedRegion)==null?void 0:n.id)||""),v=[];(e==="create"?A.current:(i=A.current)==null?void 0:i.filter(f=>f.id!==s.id)).forEach(f=>{const{start:g,end:I,attribute:q}=f;q===c.current.selectedAttribute&&[g,I].forEach(w=>{v.includes(w)||v.push(w)})});const a=audio.getCanMoveRange(v.sort((f,g)=>f-g),r);o.current.range=a},pt=e=>{V(),setTimeout(()=>{H(!1)});const t=vt(e),{id:r,start:n,end:i}=t;m({id:r,playImmediately:!0});const s={id:r,start:utils.decimalReserved(n,3),end:utils.decimalReserved(i,3)};T==null||T(s),_e()},gt=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:Fe||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:x,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),t=()=>{var r;z(((r=o==null?void 0:o.current)==null?void 0:r.getCurrentTime())||0)};e.on("ready",()=>{var r;const n=((r=o==null?void 0:o.current)==null?void 0:r.getDuration())||0;ve(n),t(),u==null||u({duration:Math.round(n)}),de(!1),M(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",Y),lbAnnotation.EventBus.on("clearRegions",X),lbAnnotation.EventBus.on("removeRegionById",K),lbAnnotation.EventBus.on("setSelectedRegion",Te),e.on("regions-eventDown",mt),Pe()}),e.on("audioprocess",()=>{t()}),e.on("play",()=>{F(!0)}),e.on("pause",()=>{F(!1)}),e.on("finish",()=>{F(!1)}),e.on("seek",()=>{t()}),e.on("error",()=>{fe(!0),u==null||u({hasError:!0}),re==null||re()}),e.on("region-created",r=>{var n;const{id:i,start:s,end:v}=r;if(A.current.find(a=>a.id===i))return;Se(i);const p={id:i,start:utils.decimalReserved(s,3),end:utils.decimalReserved(v,3),attribute:c.current.selectedAttribute,text:""};if(c.current.secondaryAttributeConfigurable){const a=lbAnnotation.TagUtils.getDefaultResultByConfig((n=c.current.subAttributeList)!=null?n:[]);p.subAttribute=a!=null?a:{}}ne&&c.current.clipTextList.forEach((f,g)=>{g===0?Object.assign(p,{text:f==null?void 0:f.default}):Object.assign(p,{[f.key]:f==null?void 0:f.default})}),T==null||T(p)}),e.on("region-updated",(r,n)=>{var i,s,v,p,a,f,g,I,q,w;const R=n==null?void 0:n.action;B({combined:!1,segment:!1}),R==="resize"&&((s=(i=o==null?void 0:o.current)==null?void 0:i.cursor)==null||s.setStyle({borderStyle:"solid"})),R==="drag"&&((p=(v=o==null?void 0:o.current)==null?void 0:v.cursor)==null||p.setStyle({borderColor:"transparent"}));const k={},J=[],Q={},At=(a=A.current)==null?void 0:a.filter(E=>E.id!==r.id),qt=(I=(g=(f=o.current)==null?void 0:f.regions)==null?void 0:g.list)!=null?I:{};At.forEach(E=>{var $e,Oe;const{element:ee}=($e=qt[E.id])!=null?$e:{},{start:Lt,end:Dt}=E;if(ee){const{x:We,width:Mt}=((Oe=ee.getBoundingClientRect)==null?void 0:Oe.call(ee))||{},It=We+Mt;[We,It].forEach((te,kt)=>{J.includes(te)||(J.push(te),Q[te]=kt===0?Lt:Dt)})}});const{x:ke,width:jt}=((w=(q=r.element).getBoundingClientRect)==null?void 0:w.call(q))||{},Bt=ke+jt;J.forEach(E=>{Math.abs(audio.precisionMinus(E,ke))<5&&(k.start=Q[E]),Math.abs(audio.precisionMinus(E,Bt))<5&&(k.end=Q[E])}),tt(k),Te({id:r.id}),H(!0)}),e.on("region-update-end",r=>{pt(r),Se("")}),e.on("region-contextmenu",(r,n)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){K(r.id);return}m({id:r.id,playImmediately:!0})}}),e.on("region-click",(r,n,i)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),c.current.combined){ut(r);return}if(c.current.segment){ct(r,i);return}m({id:r.id,playImmediately:!0})}}),e.on("region-mousemove",dt),o.current=e},bt=N?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Ae=e=>e?`${parseFloat((e/S*100).toFixed(4))}%`:"0%",qe=Ae(P),_t=Ae(pe),h=()=>{if(!ce)return o==null?void 0:o.current},yt=()=>{var e;(e=h())==null||e.skipForward(PER_PROGRESS)},Et=()=>{var e;(e=h())==null||e.skipBackward(PER_PROGRESS)},M=()=>{var e;(e=h())==null||e.playPause()},je=e=>{var t;switch(e.keyCode){case EKeyCode.Right:yt();break;case EKeyCode.Left:Et();break;case EKeyCode.Space:e.preventDefault(),M();break;case EKeyCode.Delete:if(!b){const{id:r}=((t=c.current)==null?void 0:t.selectedRegion)||{};r&&K(r)}break}},St=e=>{Y(e)},Be=___default.default.throttle(St,50);let G=!1;const Le=()=>{G&&(M(),G=!1),document.removeEventListener("mousemove",Be),document.removeEventListener("mouseup",Le)},ht=e=>{Y(e),N&&(G=!0,M()),document.addEventListener("mousemove",Be),document.addEventListener("mouseup",Le)},Rt=()=>{Ce()};React.useEffect(()=>(gt(),()=>{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 xt=e=>{var t,r,n;(t=h())==null||t.playPause(),(r=h())==null||r.setPlaybackRate(e),(n=h())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",je),()=>{document.removeEventListener("keydown",je)})),React.useEffect(()=>{m({}),Ce()},[O]),React.useEffect(()=>{De()},[at,S,j]);const Pt=()=>{if(y.current&&S){const e=y.current.scrollLeft,t=y.current.clientWidth,r=e/y.current.scrollWidth*S,n=(e+t)/y.current.scrollWidth*S;it({start:r,end:n})}},{run:De}=ahooks.useThrottleFn(Pt,{wait:300}),Me=e=>{var t,r,n,i;if((o==null?void 0:o.current)&&(C==null?void 0:C.current)){const s=(r=(t=o==null?void 0:o.current)==null?void 0:t.getDuration())!=null?r:0,v=(n=C==null?void 0:C.current)==null?void 0:n.getBoundingClientRect();let a=(e.clientX-v.left)/(((i=C==null?void 0:C.current)==null?void 0:i.clientWidth)||0)*s;return a>s&&(a=s),a}return 0},Y=e=>{var t;const r=Me(e);(t=o==null?void 0:o.current)==null||t.skip(r-me.current),z(r)},Ct=e=>{Qe(Me(e))},wt=S?Math.max(S-P,0):0,Tt=(d==null?void 0:d.toolName)!==EToolName.Empty&&(d==null?void 0:d.isEdit)!==!0&&(Ue==="remark"||b),Ie=React__default.default.createElement("div",{className:index_module.audioPlayer},Je&&!ze&&React__default.default.createElement(index$6,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:Rt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$7,{getRegionInstanceById:D,clipping:Z}),React__default.default.createElement(index$8,{container:y.current}),React__default.default.createElement(index$9,{segmentTimeTip:ft}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:y,onScroll:()=>De()},React__default.default.createElement("div",{id:"waveform",style:{width:`${j*100}%`},className:index$a.classnames({[index_module.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},Ne&&React__default.default.createElement(index$b,{isAudio:!0}),React__default.default.createElement("div",{ref:C,className:index_module.progress,onMouseDown:ht,onMouseMove:Ct},React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0}),style:{left:qe}},audio.formatTime(P)),React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:_t}},audio.formatTime(pe)),React__default.default.createElement(index$c,{playPercentage:qe})),Tt&&(ie==null?void 0:ie({currentTime:P,remainingTime:wt,audioPlayer:h()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:bt,onClick:()=>{M()},className:index$a.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:ce})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(P,"ss.SSS")} / -${audio.timeFormat(S-P,"ss.SSS")}`),React__default.default.createElement(index$d.default,{playerType:index$d.EPlayerType.Audio,onChange:e=>{xt(e)}}),React__default.default.createElement(index.default,{onChange:e=>{var t;(t=h())==null||t.pause(),Re(e)},zoom:j}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return d?React__default.default.createElement(AudioPlayerContext.Provider,{value:d},Ie,lt.map(e=>{const{id:t}=e,r=document.querySelector(`[data-id=${t}]`);return r?React__default.default.createElement(index$f,{el:r,key:t,region:e,edgeAdsorption:ge,clipping:Z,zoom:j,instance:D(t),isCheck:b}):null}),React__default.default.createElement(index$g.default,{footer:Ke})):Ie},WrapAudioPlayer=l=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(AudioPlayer,__spreadValues({},l)));exports.AudioPlayer=AudioPlayer,exports.AudioPlayerContext=AudioPlayerContext,exports.WrapAudioPlayer=WrapAudioPlayer;
|
|
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"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),index$b=require("../invalidPage/index.js"),index$6=require("../imageError/index.js"),index$a=require("../../utils/index.js"),index$d=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=require("./zoomSlider/index.js"),index$e=require("./labelDisplayToggle/index.js"),index$f=require("./clipRegion/index.js"),index$1=require("../audioAnnotate/audioContext/index.js"),ahooks=require("ahooks"),index$2=require("./useAudioScroll/index.js"),index_module=require("./index.module.scss.js"),audio=require("../../utils/audio.js"),index$c=require("./progressDot/index.js"),index$7=require("./clipTip/index.js"),index$5=require("./useSwitchHotkey/index.js"),index$3=require("./useAudioCombine/index.js"),index$4=require("./useAudioSegment/index.js"),index$8=require("./combineTip/index.js"),index$9=require("./segmentTip/index.js"),index$g=require("../../views/MainView/toolFooter/index.js"),utils=require("../videoPlayer/utils.js"),reactI18next=require("react-i18next"),useSize=require("../../hooks/useSize.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}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=(l,u,d)=>u in l?__defProp(l,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):l[u]=d,__spreadValues=(l,u)=>{for(var d in u||(u={}))__hasOwnProp.call(u,d)&&__defNormalProp(l,d,u[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(u))__propIsEnum.call(u,d)&&__defNormalProp(l,d,u[d]);return l},__spreadProps=(l,u)=>__defProps(l,__getOwnPropDescs(u));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:l={},onLoaded:u,context:d,invalid:Ne,height:Fe,hideError:ze,onError:ne,updateRegion:T,removeRegion:$,regions:x=[],activeToolPanel:Ue,clipConfigurable:Ze,clipTextConfigurable:oe,clipAttributeList:He,clipAttributeConfigurable:ie,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,isCheck:b,hoverRegionId:W,footer:Ke,drawLayerSlot:ae,clipTextList:Ge,lang:le})=>{var se,ue;const{url:O,path:ce}=l,[N,F]=React.useState(!1),[de,z]=React.useState(!1),[P,Ye]=React.useState(0),[Je,fe]=React.useState(!1),[S,ve]=React.useState(0),o=React.useRef(null),C=React.useRef(null),me=React.useRef(P),U=e=>{me.current=e,Ye(e)},[pe,Qe]=React.useState(0),[j,et]=React.useState(index.audioZoomInfo.defaultValue),y=React.useRef(null),[ge,tt]=React.useState({}),{audioClipState:Z,setAudioClipState:B}=index$1.useAudioClipStore(),[H,V]=React.useState(!1),c=ahooks.useLatest(Z),be=ahooks.useLatest(ge);ahooks.useLatest(N);const A=ahooks.useLatest(x),_e=ahooks.useUpdate(),[ye,rt]=React.useState([]),[Ee,nt]=React.useState({}),[ot,Se]=React.useState(""),[he,it]=React.useState({start:0,end:0}),at=useSize(y),lt=React.useMemo(()=>x.filter(e=>{const{start:t,end:r}=he;return e.start>=t&&e.start<=r||e.end>=t&&e.end<=r||e.id===ot}),[x,he]),st=_.debounce(()=>{lbAnnotation.EventBus.emit("audioZoom")},500),Re=e=>{e<index.audioZoomInfo.min||e>index.audioZoomInfo.max||(et(e),audio.dispatchResizeEvent(),st())};index$2({container:y.current,target:document.querySelector(`[data-id=${(ue=(se=c.current)==null?void 0:se.selectedRegion)==null?void 0:ue.id}]`),clipping:H,zoom:j,zoomHandler:Re});const L=()=>{let e=A.current;const{attributeLockList:t}=c.current;t.length&&(e=e.filter(r=>t.includes(r.attribute))),K(),e.forEach(r=>{var n;(n=o.current)==null||n.addRegion(__spreadProps(__spreadValues({},r),{drag:!b,resize:!b,color:"rgba(0, 0, 0, 0)"}))}),_e()},m=e=>{var t,r,n,i,s,v,p;const{id:a,loop:f=!0,playImmediately:g=!1,isLoopStatus:I}=e,q=!1;if(a){const w=(n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{};Object.entries(w).forEach(([,R])=>{const{id:k}=R;a===k?R.select():R.cancelSelect()}),B({selectedRegion:{id:a,loop:q},selectedAttribute:(v=(s=(i=A.current)==null?void 0:i.find(R=>R.id===a))==null?void 0:s.attribute)!=null?v:""}),g&&((p=D(a))==null||p.play())}else B({selectedRegion:{}})},{combineInstance:ut}=index$3({waveRef:o,sortByStartRegions:ye,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:m}),{segmentInstance:ct,onRegionMouseMove:dt,segmentTimeTip:ft}=index$4({waveRef:o,regionMap:Ee,updateRegion:T,removeRegion:$,generateRegions:L,setSelectedRegion:m}),xe={clipTextConfigurable:oe,clipAttributeList:He,clipAttributeConfigurable:ie,clipConfigurable:Ze,secondaryAttributeConfigurable:Ve,subAttributeList:Xe,clipTextList:Ge};React.useEffect(()=>{var e;le&&((e=lbUtils.i18n)==null||e.changeLanguage(le))},[]),React.useEffect(()=>{B({selectedAttribute:""})},[ie]),React.useEffect(()=>{X()},[Z.selectedAttribute]),React.useEffect(()=>{L()},[Z.attributeLockList]),ahooks.useDeepCompareEffect(()=>{B(xe),setTimeout(()=>{Pe()})},[xe]),ahooks.useDeepCompareEffect(()=>{rt(_.sortBy(x,["start"])),nt(x.reduce((e,t)=>{const{id:r}=t;return __spreadProps(__spreadValues({},e),{[r]:t})},{})),b&&L()},[x]),React.useEffect(()=>{m(W?{id:W,loop:!1,playImmediately:!0}:{})},[W]);const Pe=()=>{var e,t;c.current.clipConfigurable?(!b&&o.current&&((e=o.current)==null||e.enableDragSelection({slop:5})),L()):((t=o.current)==null||t.disableDragSelection(),K()),X()},X=()=>{var e,t,r,n,i;let s="";c.current.clipConfigurable?s=audio.getAttributeColor(c.current.selectedAttribute,(e=c.current.clipAttributeList)!=null?e:[]):s="transparent",((r=(t=o==null?void 0:o.current)==null?void 0:t.cursor)==null?void 0:r.cursor)&&((i=(n=o==null?void 0:o.current)==null?void 0:n.cursor)==null||i.setStyle({border:`2px dashed ${s}`}))},D=e=>{var t,r,n;return((n=(r=(t=o.current)==null?void 0:t.regions)==null?void 0:r.list)!=null?n:{})[e]},Ce=()=>{var e,t;if(O){const r=((t=(e=ce==null?void 0:ce.split("."))==null?void 0:e.pop())==null?void 0:t.toLowerCase())==="pcm";fe(!1),r?getWebPcm2Wac.getWebPcm2WavBase64(O).then(n=>{we(n)}):we(O)}},we=e=>{var t;e&&(z(!0),U(0),ve(0),(t=o==null?void 0:o.current)==null||t.load(e))},K=()=>{var e;(e=o.current)==null||e.clearRegions()},G=e=>{const t=D(e);t&&(V(!1),t==null||t.remove(),$==null||$(e),m({}))},{run:Te}=ahooks.useThrottleFn(m,{wait:100});index$5({sortByStartRegions:ye,setSelectedRegion:m});const vt=e=>{const{start:t,end:r}=be.current;return(t||r)&&e.update(be.current),e},mt=({action:e,id:t,eventDownTime:r})=>{var n,i;if(!c.current.clipConfigurable)return;t&&m({id:t});const s=D((t!=null?t:(n=c.current.selectedRegion)==null?void 0:n.id)||""),v=[];(e==="create"?A.current:(i=A.current)==null?void 0:i.filter(f=>f.id!==s.id)).forEach(f=>{const{start:g,end:I,attribute:q}=f;q===c.current.selectedAttribute&&[g,I].forEach(w=>{v.includes(w)||v.push(w)})});const a=audio.getCanMoveRange(v.sort((f,g)=>f-g),r);o.current.range=a},pt=e=>{X(),setTimeout(()=>{V(!1)});const t=vt(e),{id:r,start:n,end:i}=t;m({id:r,playImmediately:!0});const s={id:r,start:utils.decimalReserved(n,3),end:utils.decimalReserved(i,3)};T==null||T(s),_e()},gt=()=>{const e=WaveSurfer__default.default.create({container:"#waveform",waveColor:"#999",progressColor:"#999",height:Fe||245,normalize:!0,cursorWidth:2,cursorColor:"white",responsive:0,hideScrollbar:!0,plugins:[Region__default.default.create({regions:x,dragSelection:{slop:5},canMove:!1}),Cursor__default.default.create({opacity:1,customStyle:{border:"2px dashed transparent"}})]}),t=()=>{var r;U(((r=o==null?void 0:o.current)==null?void 0:r.getCurrentTime())||0)};e.on("ready",()=>{var r;const n=((r=o==null?void 0:o.current)==null?void 0:r.getDuration())||0;ve(n),t(),u==null||u({duration:Math.round(n)}),z(!1),M(),lbAnnotation.EventBus.on("setCurrentTimeByPosition",J),lbAnnotation.EventBus.on("clearRegions",K),lbAnnotation.EventBus.on("removeRegionById",G),lbAnnotation.EventBus.on("setSelectedRegion",Te),e.on("regions-eventDown",mt),Pe()}),e.on("audioprocess",()=>{t()}),e.on("play",()=>{F(!0)}),e.on("pause",()=>{F(!1)}),e.on("finish",()=>{F(!1)}),e.on("seek",()=>{t()}),e.on("error",()=>{fe(!0),z(!1),u==null||u({hasError:!0}),ne==null||ne()}),e.on("region-created",r=>{var n;const{id:i,start:s,end:v}=r;if(A.current.find(a=>a.id===i))return;Se(i);const p={id:i,start:utils.decimalReserved(s,3),end:utils.decimalReserved(v,3),attribute:c.current.selectedAttribute,text:""};if(c.current.secondaryAttributeConfigurable){const a=lbAnnotation.TagUtils.getDefaultResultByConfig((n=c.current.subAttributeList)!=null?n:[]);p.subAttribute=a!=null?a:{}}oe&&c.current.clipTextList.forEach((f,g)=>{g===0?Object.assign(p,{text:f==null?void 0:f.default}):Object.assign(p,{[f.key]:f==null?void 0:f.default})}),T==null||T(p)}),e.on("region-updated",(r,n)=>{var i,s,v,p,a,f,g,I,q,w;const R=n==null?void 0:n.action;B({combined:!1,segment:!1}),R==="resize"&&((s=(i=o==null?void 0:o.current)==null?void 0:i.cursor)==null||s.setStyle({borderStyle:"solid"})),R==="drag"&&((p=(v=o==null?void 0:o.current)==null?void 0:v.cursor)==null||p.setStyle({borderColor:"transparent"}));const k={},Q=[],ee={},At=(a=A.current)==null?void 0:a.filter(E=>E.id!==r.id),qt=(I=(g=(f=o.current)==null?void 0:f.regions)==null?void 0:g.list)!=null?I:{};At.forEach(E=>{var $e,Oe;const{element:te}=($e=qt[E.id])!=null?$e:{},{start:Lt,end:Dt}=E;if(te){const{x:We,width:Mt}=((Oe=te.getBoundingClientRect)==null?void 0:Oe.call(te))||{},It=We+Mt;[We,It].forEach((re,kt)=>{Q.includes(re)||(Q.push(re),ee[re]=kt===0?Lt:Dt)})}});const{x:ke,width:jt}=((w=(q=r.element).getBoundingClientRect)==null?void 0:w.call(q))||{},Bt=ke+jt;Q.forEach(E=>{Math.abs(audio.precisionMinus(E,ke))<5&&(k.start=ee[E]),Math.abs(audio.precisionMinus(E,Bt))<5&&(k.end=ee[E])}),tt(k),Te({id:r.id}),V(!0)}),e.on("region-update-end",r=>{pt(r),Se("")}),e.on("region-contextmenu",(r,n)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),audio.isDoubleClick(n)){G(r.id);return}m({id:r.id,playImmediately:!0})}}),e.on("region-click",(r,n,i)=>{if(!b){if(n.preventDefault(),n.stopPropagation(),c.current.combined){ut(r);return}if(c.current.segment){ct(r,i);return}m({id:r.id,playImmediately:!0})}}),e.on("region-mousemove",dt),o.current=e},bt=N?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null),Ae=e=>e?`${parseFloat((e/S*100).toFixed(4))}%`:"0%",qe=Ae(P),_t=Ae(pe),h=()=>{if(!de)return o==null?void 0:o.current},yt=()=>{var e;(e=h())==null||e.skipForward(PER_PROGRESS)},Et=()=>{var e;(e=h())==null||e.skipBackward(PER_PROGRESS)},M=()=>{var e;(e=h())==null||e.playPause()},je=e=>{var t;switch(e.keyCode){case EKeyCode.Right:yt();break;case EKeyCode.Left:Et();break;case EKeyCode.Space:e.preventDefault(),M();break;case EKeyCode.Delete:if(!b){const{id:r}=((t=c.current)==null?void 0:t.selectedRegion)||{};r&&G(r)}break}},St=e=>{J(e)},Be=___default.default.throttle(St,50);let Y=!1;const Le=()=>{Y&&(M(),Y=!1),document.removeEventListener("mousemove",Be),document.removeEventListener("mouseup",Le)},ht=e=>{J(e),N&&(Y=!0,M()),document.addEventListener("mousemove",Be),document.addEventListener("mouseup",Le)},Rt=()=>{Ce()};React.useEffect(()=>(gt(),()=>{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 xt=e=>{var t,r,n;(t=h())==null||t.playPause(),(r=h())==null||r.setPlaybackRate(e),(n=h())==null||n.playPause()};React.useEffect(()=>(document.addEventListener("keydown",je),()=>{document.removeEventListener("keydown",je)})),React.useEffect(()=>{m({}),Ce()},[O]),React.useEffect(()=>{De()},[at,S,j]);const Pt=()=>{if(y.current&&S){const e=y.current.scrollLeft,t=y.current.clientWidth,r=e/y.current.scrollWidth*S,n=(e+t)/y.current.scrollWidth*S;it({start:r,end:n})}},{run:De}=ahooks.useThrottleFn(Pt,{wait:300}),Me=e=>{var t,r,n,i;if((o==null?void 0:o.current)&&(C==null?void 0:C.current)){const s=(r=(t=o==null?void 0:o.current)==null?void 0:t.getDuration())!=null?r:0,v=(n=C==null?void 0:C.current)==null?void 0:n.getBoundingClientRect();let a=(e.clientX-v.left)/(((i=C==null?void 0:C.current)==null?void 0:i.clientWidth)||0)*s;return a>s&&(a=s),a}return 0},J=e=>{var t;const r=Me(e);(t=o==null?void 0:o.current)==null||t.skip(r-me.current),U(r)},Ct=e=>{Qe(Me(e))},wt=S?Math.max(S-P,0):0,Tt=(d==null?void 0:d.toolName)!==EToolName.Empty&&(d==null?void 0:d.isEdit)!==!0&&(Ue==="remark"||b),Ie=React__default.default.createElement("div",{className:index_module.audioPlayer},Je&&!ze&&React__default.default.createElement(index$6,{fileTypeName:"\u97F3\u9891",ignoreOffsetY:!0,reloadImage:Rt,backgroundColor:"#ffffffbb"}),React__default.default.createElement(index$7,{getRegionInstanceById:D,clipping:H}),React__default.default.createElement(index$8,{container:y.current}),React__default.default.createElement(index$9,{segmentTimeTip:ft}),React__default.default.createElement("div",{className:index_module.waveformContainer,ref:y,onScroll:()=>De()},React__default.default.createElement("div",{id:"waveform",style:{width:`${j*100}%`},className:index$a.classnames({[index_module.waveform]:!0,"bee-audio-combined":c.current.combined,"bee-audio-clip":c.current.clipConfigurable})},Ne&&React__default.default.createElement(index$b,{isAudio:!0}),React__default.default.createElement("div",{ref:C,className:index_module.progress,onMouseDown:ht,onMouseMove:Ct},React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0}),style:{left:qe}},audio.formatTime(P)),React__default.default.createElement("div",{className:index$a.classnames({[index_module.radioTooltip]:!0,[index_module.mouseTooltip]:!0}),style:{left:_t}},audio.formatTime(pe)),React__default.default.createElement(index$c,{playPercentage:qe})),Tt&&(ae==null?void 0:ae({currentTime:P,remainingTime:wt,audioPlayer:h()})))),React__default.default.createElement("div",{className:index_module.controlBar},React__default.default.createElement(antd.Button,{type:"link",icon:bt,onClick:()=>{M()},className:index$a.classnames({[index_module.playButton]:!0,[index_module.playButtonDisabled]:de})}),React__default.default.createElement("span",{className:index_module.time},`${audio.timeFormat(P,"ss.SSS")} / -${audio.timeFormat(S-P,"ss.SSS")}`),React__default.default.createElement(index$d.default,{playerType:index$d.EPlayerType.Audio,onChange:e=>{xt(e)}}),React__default.default.createElement(index.default,{onChange:e=>{var t;(t=h())==null||t.pause(),Re(e)},zoom:j}),React__default.default.createElement(index$e,{EventBus:lbAnnotation.EventBus})));return d?React__default.default.createElement(AudioPlayerContext.Provider,{value:d},Ie,lt.map(e=>{const{id:t}=e,r=document.querySelector(`[data-id=${t}]`);return r?React__default.default.createElement(index$f,{el:r,key:t,region:e,edgeAdsorption:ge,clipping:H,zoom:j,instance:D(t),isCheck:b}):null}),React__default.default.createElement(index$g.default,{footer:Ke})):Ie},WrapAudioPlayer=l=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(AudioPlayer,__spreadValues({},l)));exports.AudioPlayer=AudioPlayer,exports.AudioPlayerContext=AudioPlayerContext,exports.WrapAudioPlayer=WrapAudioPlayer;
|
package/dist/index.css
CHANGED
|
@@ -1018,6 +1018,16 @@
|
|
|
1018
1018
|
.index-module_clearIcon__ZBZqI.index-module_disabled__zqh8C {
|
|
1019
1019
|
cursor: not-allowed;
|
|
1020
1020
|
}
|
|
1021
|
+
|
|
1022
|
+
.index-module_textInputBox__C6pdt {
|
|
1023
|
+
flex: 1;
|
|
1024
|
+
overflow: scroll;
|
|
1025
|
+
text-align: center;
|
|
1026
|
+
}
|
|
1027
|
+
.index-module_textInputBox__C6pdt .index-module_textInputChild__SOQT6 {
|
|
1028
|
+
display: inline-block;
|
|
1029
|
+
width: 65%;
|
|
1030
|
+
}
|
|
1021
1031
|
.index-module_optionMenu__-aO65 {
|
|
1022
1032
|
display: flex;
|
|
1023
1033
|
flex-direction: column;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$2=require("../../../components/LLMMultiWheelView/index.js"),index=require("../../../constant/index.js"),index$1=require("../../../utils/index.js"),dom=require("../../../utils/dom.js"),es=require("antd/es"),React=require("react"),index$4=require("../sidebar/index.js"),index$3=require("../toolFooter/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const LLMMultiWheelViewCls=`${index.prefix}-LLMMultiWheelView`,{Sider,Content}=es.Layout,layoutCls=`${index.prefix}-layout`,LLMMultiWheelLayout=e=>{var t,l;return React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container")},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:index$1.classnames({[`${layoutCls}__content`]:!0,[`${index.prefix}-LLMLayout`]:!0})},React__default.default.createElement(index$2.default,{showTips:e.showTips,tips:e.tips,drawLayerSlot:e.drawLayerSlot}),React__default.default.createElement(index$3.default,{style:(t=e.style)==null?void 0:t.footer,mode:e.mode,footer:e==null?void 0:e.footer})),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$2=require("../../../components/LLMMultiWheelView/index.js"),index=require("../../../constant/index.js"),index$1=require("../../../utils/index.js"),dom=require("../../../utils/dom.js"),es=require("antd/es"),reResizable=require("re-resizable"),React=require("react"),index$4=require("../sidebar/index.js"),index$3=require("../toolFooter/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const LLMMultiWheelViewCls=`${index.prefix}-LLMMultiWheelView`,{Sider,Content}=es.Layout,layoutCls=`${index.prefix}-layout`,LLMMultiWheelLayout=e=>{var t,l;return React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container")},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:index$1.classnames({[`${layoutCls}__content`]:!0,[`${index.prefix}-LLMLayout`]:!0})},React__default.default.createElement(index$2.default,{showTips:e.showTips,tips:e.tips,drawLayerSlot:e.drawLayerSlot}),React__default.default.createElement(index$3.default,{style:(t=e.style)==null?void 0:t.footer,mode:e.mode,footer:e==null?void 0:e.footer})),React__default.default.createElement(reResizable.Resizable,{defaultSize:{width:600},enable:{left:!0}},React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:"100%",style:{position:"relative",height:"100%"}},React__default.default.createElement(index$4.default,{sider:e==null?void 0:e.sider,checkMode:e==null?void 0:e.checkMode}),(l=e.drawLayerSlot)==null?void 0:l.call(e,{}))))};exports.LLMMultiWheelViewCls=LLMMultiWheelViewCls,exports.default=LLMMultiWheelLayout;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),icons=require("@ant-design/icons"),ToolIcons=require("../ToolIcons.js"),ToolType=require("../../../../data/enums/ToolType.js"),lbAnnotation=require("@labelbee/lb-annotation"),PointCloudContext=require("../../../../components/pointCloudView/PointCloudContext.js"),antd=require("antd"),StepUtils=require("../../../../utils/StepUtils.js"),reactRedux=require("react-redux"),index=require("../../../../utils/index.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js"),index$6=require("./components/batchUpdateModal/index.js"),index$1=require("./components/annotatedBox/index.js"),index$3=require("./components/rectRotateSensitivitySlider/index.js"),index$2=require("./components/findTrackIDIndex/index.js"),index$4=require("./components/firstFrameDataSwitch/index.js"),index$5=require("./components/selectBoxVisibleSwitch/index.js"),lbUtils=require("@labelbee/lb-utils"),index$7=require("../../../../components/attributeList/index.js"),useAttribute=require("../../../../components/pointCloudView/hooks/useAttribute.js"),lassoSelector=require("../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js"),lassoSelector_a=require("../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js"),circleSelector=require("../../../../assets/annotation/pointCloudTool/circleSelector.svg.js"),circleSelector_a=require("../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js"),icon_rect=require("../../../../assets/annotation/rectTool/icon_rect.svg.js"),icon_rect_a=require("../../../../assets/annotation/rectTool/icon_rect_a.svg.js"),index$9=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js"),index$8=require("../../../../components/subAttributeList/index.js"),DynamicResizer=require("../../../../components/DynamicResizer/DynamicResizer.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,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));const BoxTrackIDInput=()=>{const[e,t]=React.useState(!1),n=React.useContext(PointCloudContext.PointCloudContext),{pointCloudBoxList:i}=n,{selectedBox:s,updateSelectedBox:o}=useSingleBox.useSingleBox(),[u,c]=React.useState(""),{t:p}=reactI18next.useTranslation(),m=s==null?void 0:s.info.trackID,r=d=>!!i.find(g=>g.trackID===d&&g.id!==(s==null?void 0:s.info.id)),a=(d=!1)=>{const v=parseInt(u,10);if(d&&t(!1),isNaN(v)){antd.message.error(p("PositiveIntegerCheck"));return}if(u.indexOf(".")>-1){antd.message.error(p("NotAllowDecimalPointsInTrackID"));return}if(r(v)){antd.message.error(p("DuplicateTrackIDsExist"));return}if(!(v>0)){antd.message.error(p("PositiveIntegerCheck"));return}S(v)};React.useEffect(()=>{t(!1)},[m]);const S=d=>{var v;const g=o({trackID:d});(v=n==null?void 0:n.topViewInstance)==null||v.updatePolygonList(g!=null?g:[]),n.mainViewInstance&&n.selectedPointCloudBox&&(n==null||n.mainViewInstance.generateBox(n==null?void 0:n.selectedPointCloudBox))};return React__default.default.createElement("div",{style:{padding:24}},React__default.default.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},React__default.default.createElement("span",null,p("CurrentBoxTrackIDs")),m&&React__default.default.createElement(index$6,{id:m,updateCurrentPolygonList:d=>S(d)})),React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",lineHeight:"12px"}},e&&m?React__default.default.createElement(antd.Input,{defaultValue:m,onChange:d=>{c(d.target.value)},disabled:!m,size:"small",onBlur:()=>{a()},onPressEnter:()=>{a(!0)}}):React__default.default.createElement("span",null,m),React__default.default.createElement(icons.EditFilled,{style:{color:"#999",marginLeft:16,cursor:typeof m!="undefined"?"pointer":"not-allowed"},onClick:()=>{m&&t(!e)}})))},isAllowUpdateInSegment=({segmentStatus:e,globalPattern:t})=>t===lbUtils.EPointCloudPattern.Segmentation&&![lbUtils.EPointCloudSegmentStatus.Edit,lbUtils.EPointCloudSegmentStatus.Ready].includes(e),AttributeUpdater=({attributeList:e,subAttributeList:t,toolInstance:n,config:i,stepList:s,stepInfo:o,enableColorPicker:u})=>{const[c,p]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready}),{selectedBox:m}=useSingleBox.useSingleBox(),r=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:a}=r,{t:S}=reactI18next.useTranslation(),{defaultAttribute:d}=useAttribute.useAttribute(),v=usePointCloudViews.usePointCloudViews(),{isPointCloudSegmentationPattern:g}=useStatus.useStatus(),D=ctx.useDispatch(),T={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};React.useEffect(()=>{if(!!a)return a.on("syncPointCloudStatus",p),()=>{a.unbind("syncPointCloudStatus",p)}},[a]);const j=(l,C)=>{var x,b,P,E,y;const _=(x=i==null?void 0:i.attributeList)==null?void 0:x.map(f=>f.value===l?__spreadProps(__spreadValues({},f),{color:C}):f),w=__spreadProps(__spreadValues({},i),{attributeList:_}),k=JSON.stringify(w),A=s==null?void 0:s.map(f=>(f==null?void 0:f.step)===(o==null?void 0:o.step)?__spreadProps(__spreadValues({},f),{config:k}):f);(b=r==null?void 0:r.topViewInstance)==null||b.updateAttributeList(_),(P=r==null?void 0:r.sideViewInstance)==null||P.updateAttributeList(_),(E=r==null?void 0:r.backViewInstance)==null||E.updateAttributeList(_),(y=r==null?void 0:r.mainViewInstance)==null||y.setConfig(w),D(actionCreators.SetTaskStepList({stepList:A}))},q=l=>{v.updateViewsByDefaultSize&&v.updateViewsByDefaultSize(l)},I=l=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setDefaultAttribute(l)},h=(l,C)=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setSubAttribute(l,C)},L=e.map(l=>({label:l.key,value:l.value,color:l==null?void 0:l.color,limit:l==null?void 0:l.limit,isDefault:l==null?void 0:l.isDefault})),V=m||c.cacheSegData&&c.segmentStatus===lbUtils.EPointCloudSegmentStatus.Edit,B=g;return React__default.default.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},React__default.default.createElement("div",{style:T},S("Attribute")),React__default.default.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},React__default.default.createElement(index$7.default,{list:L,forbidDefault:!0,selectedAttribute:d!=null?d:"",attributeChanged:l=>I(l),updateColorConfig:j,enableColorPicker:u,updateSize:q,forbidShowLimitPopover:B}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),V&&React__default.default.createElement(index$8,{subAttributeList:t,setSubAttribute:h,getValue:l=>{var C,x,b,P;return((x=(C=r.selectedPointCloudBox)==null?void 0:C.subAttribute)==null?void 0:x[l.value])||((P=(b=c.cacheSegData)==null?void 0:b.subAttribute)==null?void 0:P[l.value])}})))},renderSegmentTools=[{toolName:"LassoSelector",commonSvg:lassoSelector,selectedSvg:lassoSelector_a},{toolName:"RectSelector",commonSvg:icon_rect,selectedSvg:icon_rect_a},{toolName:"CircleSelector",commonSvg:circleSelector,selectedSvg:circleSelector_a}],PointCloudSegToolIcon=({toolInstance:e})=>{const{ptSegmentInstance:t}=React.useContext(PointCloudContext.PointCloudContext),[n,i]=React.useState("LassoSelector"),{t:s}=reactI18next.useTranslation();return React.useEffect(()=>{if(!t)return;const o=()=>{i("LassoSelector")},u=()=>{i("RectSelector")},c=()=>{i("CircleSelector")};return t.on("LassoSelector",o),t.on("RectSelector",u),t.on("CircleSelector",c),()=>{t.unbind("LassoSelector",o),t.unbind("RectSelector",u),t.unbind("CircleSelector",c)}},[t]),React__default.default.createElement("div",{className:`${index$9.sidebarCls}__level`},renderSegmentTools.map(o=>{const u=n===o.toolName;return React__default.default.createElement("span",{className:`${index$9.sidebarCls}__toolOption`,key:o.toolName,onClick:()=>t==null?void 0:t.emit(o.toolName)},React__default.default.createElement("img",{className:`${index$9.sidebarCls}__singleTool`,src:u?o==null?void 0:o.selectedSvg:o==null?void 0:o.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$9.sidebarCls}__toolOption__selected`]:u})},s(o.toolName)))}))},PointCloudToolSidebar=({stepInfo:e,toolInstance:t,imgList:n,imgIndex:i,stepList:s,enableColorPicker:o})=>{var u,c;const{updatePointCloudPattern:p,pointCloudPattern:m,isPointCloudSegmentationPattern:r}=useStatus.useStatus(),a=index.jsonParser(e.config),S=(u=a==null?void 0:a.attributeList)!=null?u:[],d=(a==null?void 0:a.secondaryAttributeConfigurable)===!0?(c=a==null?void 0:a.inputList)!=null?c:[]:[];return r?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegToolIcon,{toolInstance:t}),React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:S,subAttributeList:d,config:a,stepList:s,stepInfo:e,enableColorPicker:o})):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ToolIcons.ToolIcons,{toolName:lbAnnotation.cTool.EPointCloudName.PointCloud,selectedToolName:m,onChange:v=>p==null?void 0:p(v)}),React__default.default.createElement("div",{style:{flex:1,overflow:"hidden"}},React__default.default.createElement(DynamicResizer,{minTopHeight:42,defaultHeight:400,localKey:"id:"+(e==null?void 0:e.id)+"taskID:"+(e==null?void 0:e.taskID)+"step:"+(e==null?void 0:e.step)+"type:"+(e==null?void 0:e.type)},React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:S,subAttributeList:d,config:a,stepList:s,stepInfo:e,enableColorPicker:o}),(a==null?void 0:a.trackConfigurable)===!0&&m===ToolType.EToolName.Rect?React__default.default.createElement("div",{style:{height:"100%",overflow:"auto"}},React__default.default.createElement(BoxTrackIDInput,null),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$1,{imgList:n,imgIndex:i}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$2.default,{imgList:n,imgIndex:i}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$3,null),e.loadPreStep>0&&React__default.default.createElement(index$4,null),React__default.default.createElement(index$5,null)):React__default.default.createElement("div",null))))},mapStateToProps=e=>{var t,n,i,s;const o=StepUtils.getCurrentStepInfo((t=e.annotation)==null?void 0:t.step,(n=e.annotation)==null?void 0:n.stepList),u=(i=e.annotation)==null?void 0:i.toolInstance,c=(s=e.annotation)==null?void 0:s.stepList;return{stepInfo:o,toolInstance:u,imgList:e.annotation.imgList,imgIndex:e.annotation.imgIndex,stepList:c}};var PointCloudToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudToolSidebar);exports.PointCloudSegToolIcon=PointCloudSegToolIcon,exports.default=PointCloudToolSidebar$1;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),icons=require("@ant-design/icons"),ToolIcons=require("../ToolIcons.js"),ToolType=require("../../../../data/enums/ToolType.js"),lbAnnotation=require("@labelbee/lb-annotation"),PointCloudContext=require("../../../../components/pointCloudView/PointCloudContext.js"),antd=require("antd"),StepUtils=require("../../../../utils/StepUtils.js"),reactRedux=require("react-redux"),index=require("../../../../utils/index.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js"),index$6=require("./components/batchUpdateModal/index.js"),index$1=require("./components/annotatedBox/index.js"),index$3=require("./components/rectRotateSensitivitySlider/index.js"),index$2=require("./components/findTrackIDIndex/index.js"),index$4=require("./components/firstFrameDataSwitch/index.js"),index$5=require("./components/selectBoxVisibleSwitch/index.js"),lbUtils=require("@labelbee/lb-utils"),index$7=require("../../../../components/attributeList/index.js"),useAttribute=require("../../../../components/pointCloudView/hooks/useAttribute.js"),lassoSelector=require("../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js"),lassoSelector_a=require("../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js"),circleSelector=require("../../../../assets/annotation/pointCloudTool/circleSelector.svg.js"),circleSelector_a=require("../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js"),icon_rect=require("../../../../assets/annotation/rectTool/icon_rect.svg.js"),icon_rect_a=require("../../../../assets/annotation/rectTool/icon_rect_a.svg.js"),index$9=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js"),index$8=require("../../../../components/subAttributeList/index.js"),DynamicResizer=require("../../../../components/DynamicResizer/DynamicResizer.js"),_=require("lodash");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,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));const BoxTrackIDInput=()=>{const[e,t]=React.useState(!1),n=React.useContext(PointCloudContext.PointCloudContext),{pointCloudBoxList:i}=n,{selectedBox:s,updateSelectedBox:o}=useSingleBox.useSingleBox(),[u,c]=React.useState(""),{t:v}=reactI18next.useTranslation(),m=s==null?void 0:s.info.trackID,r=React.useMemo(()=>_.isNumber(m)&&m>=0,[m]),a=d=>!!i.find(C=>C.trackID===d&&C.id!==(s==null?void 0:s.info.id)),g=(d=!1)=>{const p=parseInt(u,10);if(d&&t(!1),isNaN(p)){antd.message.error(v("PositiveIntegerCheck"));return}if(u.indexOf(".")>-1){antd.message.error(v("NotAllowDecimalPointsInTrackID"));return}if(a(p)){antd.message.error(v("DuplicateTrackIDsExist"));return}if(p<0){antd.message.error(v("PositiveIntegerCheck"));return}f(p)};React.useEffect(()=>{t(!1)},[m]);const f=d=>{var p;const C=o({trackID:d});(p=n==null?void 0:n.topViewInstance)==null||p.updatePolygonList(C!=null?C:[]),n.mainViewInstance&&n.selectedPointCloudBox&&(n==null||n.mainViewInstance.generateBox(n==null?void 0:n.selectedPointCloudBox))};return React__default.default.createElement("div",{style:{padding:24}},React__default.default.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},React__default.default.createElement("span",null,v("CurrentBoxTrackIDs")),r&&React__default.default.createElement(index$6,{id:m,updateCurrentPolygonList:d=>f(d)})),React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",lineHeight:"12px"}},e&&r?React__default.default.createElement(antd.Input,{defaultValue:m,onChange:d=>{c(d.target.value)},disabled:!r,size:"small",onBlur:()=>{g()},onPressEnter:()=>{g(!0)}}):React__default.default.createElement("span",null,m),React__default.default.createElement(icons.EditFilled,{style:{color:"#999",marginLeft:16,cursor:typeof m!="undefined"?"pointer":"not-allowed"},onClick:()=>{r&&t(!e)}})))},isAllowUpdateInSegment=({segmentStatus:e,globalPattern:t})=>t===lbUtils.EPointCloudPattern.Segmentation&&![lbUtils.EPointCloudSegmentStatus.Edit,lbUtils.EPointCloudSegmentStatus.Ready].includes(e),AttributeUpdater=({attributeList:e,subAttributeList:t,toolInstance:n,config:i,stepList:s,stepInfo:o,enableColorPicker:u})=>{const[c,v]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready}),{selectedBox:m}=useSingleBox.useSingleBox(),r=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:a}=r,{t:g}=reactI18next.useTranslation(),{defaultAttribute:f}=useAttribute.useAttribute(),d=usePointCloudViews.usePointCloudViews(),{isPointCloudSegmentationPattern:p}=useStatus.useStatus(),C=ctx.useDispatch(),j={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};React.useEffect(()=>{if(!!a)return a.on("syncPointCloudStatus",v),()=>{a.unbind("syncPointCloudStatus",v)}},[a]);const q=(l,x)=>{var b,P,E,w,D;const y=(b=i==null?void 0:i.attributeList)==null?void 0:b.map(S=>S.value===l?__spreadProps(__spreadValues({},S),{color:x}):S),T=__spreadProps(__spreadValues({},i),{attributeList:y}),A=JSON.stringify(T),N=s==null?void 0:s.map(S=>(S==null?void 0:S.step)===(o==null?void 0:o.step)?__spreadProps(__spreadValues({},S),{config:A}):S);(P=r==null?void 0:r.topViewInstance)==null||P.updateAttributeList(y),(E=r==null?void 0:r.sideViewInstance)==null||E.updateAttributeList(y),(w=r==null?void 0:r.backViewInstance)==null||w.updateAttributeList(y),(D=r==null?void 0:r.mainViewInstance)==null||D.setConfig(T),C(actionCreators.SetTaskStepList({stepList:N}))},I=l=>{d.updateViewsByDefaultSize&&d.updateViewsByDefaultSize(l)},h=l=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setDefaultAttribute(l)},L=(l,x)=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setSubAttribute(l,x)},B=e.map(l=>({label:l.key,value:l.value,color:l==null?void 0:l.color,limit:l==null?void 0:l.limit,isDefault:l==null?void 0:l.isDefault})),V=m||c.cacheSegData&&c.segmentStatus===lbUtils.EPointCloudSegmentStatus.Edit,k=p;return React__default.default.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},React__default.default.createElement("div",{style:j},g("Attribute")),React__default.default.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},React__default.default.createElement(index$7.default,{list:B,forbidDefault:!0,selectedAttribute:f!=null?f:"",attributeChanged:l=>h(l),updateColorConfig:q,enableColorPicker:u,updateSize:I,forbidShowLimitPopover:k}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),V&&React__default.default.createElement(index$8,{subAttributeList:t,setSubAttribute:L,getValue:l=>{var x,b,P,E;return((b=(x=r.selectedPointCloudBox)==null?void 0:x.subAttribute)==null?void 0:b[l.value])||((E=(P=c.cacheSegData)==null?void 0:P.subAttribute)==null?void 0:E[l.value])}})))},renderSegmentTools=[{toolName:"LassoSelector",commonSvg:lassoSelector,selectedSvg:lassoSelector_a},{toolName:"RectSelector",commonSvg:icon_rect,selectedSvg:icon_rect_a},{toolName:"CircleSelector",commonSvg:circleSelector,selectedSvg:circleSelector_a}],PointCloudSegToolIcon=({toolInstance:e})=>{const{ptSegmentInstance:t}=React.useContext(PointCloudContext.PointCloudContext),[n,i]=React.useState("LassoSelector"),{t:s}=reactI18next.useTranslation();return React.useEffect(()=>{if(!t)return;const o=()=>{i("LassoSelector")},u=()=>{i("RectSelector")},c=()=>{i("CircleSelector")};return t.on("LassoSelector",o),t.on("RectSelector",u),t.on("CircleSelector",c),()=>{t.unbind("LassoSelector",o),t.unbind("RectSelector",u),t.unbind("CircleSelector",c)}},[t]),React__default.default.createElement("div",{className:`${index$9.sidebarCls}__level`},renderSegmentTools.map(o=>{const u=n===o.toolName;return React__default.default.createElement("span",{className:`${index$9.sidebarCls}__toolOption`,key:o.toolName,onClick:()=>t==null?void 0:t.emit(o.toolName)},React__default.default.createElement("img",{className:`${index$9.sidebarCls}__singleTool`,src:u?o==null?void 0:o.selectedSvg:o==null?void 0:o.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$9.sidebarCls}__toolOption__selected`]:u})},s(o.toolName)))}))},PointCloudToolSidebar=({stepInfo:e,toolInstance:t,imgList:n,imgIndex:i,stepList:s,enableColorPicker:o})=>{var u,c;const{updatePointCloudPattern:v,pointCloudPattern:m,isPointCloudSegmentationPattern:r}=useStatus.useStatus(),a=index.jsonParser(e.config),g=(u=a==null?void 0:a.attributeList)!=null?u:[],f=(a==null?void 0:a.secondaryAttributeConfigurable)===!0?(c=a==null?void 0:a.inputList)!=null?c:[]:[];return r?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegToolIcon,{toolInstance:t}),React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:g,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:o})):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ToolIcons.ToolIcons,{toolName:lbAnnotation.cTool.EPointCloudName.PointCloud,selectedToolName:m,onChange:d=>v==null?void 0:v(d)}),React__default.default.createElement("div",{style:{flex:1,overflow:"hidden"}},React__default.default.createElement(DynamicResizer,{minTopHeight:42,defaultHeight:400,localKey:"id:"+(e==null?void 0:e.id)+"taskID:"+(e==null?void 0:e.taskID)+"step:"+(e==null?void 0:e.step)+"type:"+(e==null?void 0:e.type)},React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:g,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:o}),(a==null?void 0:a.trackConfigurable)===!0&&m===ToolType.EToolName.Rect?React__default.default.createElement("div",{style:{height:"100%",overflow:"auto"}},React__default.default.createElement(BoxTrackIDInput,null),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$1,{imgList:n,imgIndex:i}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$2.default,{imgList:n,imgIndex:i}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$3,null),e.loadPreStep>0&&React__default.default.createElement(index$4,null),React__default.default.createElement(index$5,null)):React__default.default.createElement("div",null))))},mapStateToProps=e=>{var t,n,i,s;const o=StepUtils.getCurrentStepInfo((t=e.annotation)==null?void 0:t.step,(n=e.annotation)==null?void 0:n.stepList),u=(i=e.annotation)==null?void 0:i.toolInstance,c=(s=e.annotation)==null?void 0:s.stepList;return{stepInfo:o,toolInstance:u,imgList:e.annotation.imgList,imgIndex:e.annotation.imgIndex,stepList:c}};var PointCloudToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudToolSidebar);exports.PointCloudSegToolIcon=PointCloudSegToolIcon,exports.default=PointCloudToolSidebar$1;
|