@labelbee/lb-components 1.21.0-alpha.6 → 1.21.0-alpha.8
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/components/LLMToolView/questionView/index.js +1 -1
- package/dist/components/videoAnnotate/videoClipTool/index.js +1 -1
- package/dist/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.js +1 -1
- package/dist/components/videoAnnotate/videoTextTool/index.js +1 -1
- package/dist/components/videoPlayer/components/controller/index.js +1 -1
- package/es/components/LLMToolView/questionView/index.js +1 -1
- package/es/components/videoAnnotate/videoClipTool/index.js +1 -1
- package/es/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.js +1 -1
- package/es/components/videoAnnotate/videoTextTool/index.js +1 -1
- package/es/components/videoPlayer/components/controller/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),index=require("../../../constant/index.js"),classNames=require("classnames"),reactI18next=require("react-i18next"),lbUtils=require("@labelbee/lb-utils"),index$4=require("../../markdownView/index.js"),index$1=require("../modelAPIView/index.js"),index$5=require("../../diffMatchPatchComponent/index.js"),index$2=require("./components/header/index.js"),index$3=require("./components/imgView/index.js"),_=require("lodash");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e};const LLMViewCls=`${index.prefix}-LLMView`,RenderAnswer=({i:e,dataFormatType:t,isTextControl:r})=>{var l;return t===index.EDataFormatType.Markdown?React__default.default.createElement(index$4,{value:(l=e==null?void 0:e.newAnswer)!=null?l:e==null?void 0:e.answer}):r?React__default.default.createElement("div",{style:{width:"100%",overflowWrap:"break-word"}},React__default.default.createElement(index$5,{originString:e==null?void 0:e.answer,currentString:e==null?void 0:e.newAnswer})):React__default.default.createElement("div",{style:{whiteSpace:"pre-wrap"}},e==null?void 0:e.answer)},QuestionView=e=>{var t,r;const{hoverKey:l,answerList:u,question:i,lang:d,modelAPIResponse:f,setModelAPIResponse:m,checkMode:p=!0,LLMConfig:n,answerHeaderSlot:w}=e,[s,x]=React.useState(index.EDataFormatType.Default),E=((t=n==null?void 0:n.dataType)==null?void 0:t.prompt)===index.ELLMDataType.Picture,y=((r=n==null?void 0:n.dataType)==null?void 0:r.response)===index.ELLMDataType.Picture,{t:g}=reactI18next.useTranslation();React.useEffect(()=>{var a;d&&((a=lbUtils.i18n)==null||a.changeLanguage(d))},[]);const L=a=>{var o;return(n==null?void 0:n.isTextEdit)?!!((o=((n==null?void 0:n.textEdit)||[]).filter(v=>(v==null?void 0:v.title)===a.order)[0])==null?void 0:o.textControl):!1},P=React__default.default.createElement("div",null,u.map((a,o)=>{const c=L(a);return React__default.default.createElement("div",{className:classNames__default.default({[`${LLMViewCls}__content`]:!0,[`${LLMViewCls}__contentActive`]:l===(a==null?void 0:a.order)}),key:o},React__default.default.createElement(antd.Tag,{className:`${LLMViewCls}__tag`},a==null?void 0:a.order),React__default.default.createElement(RenderAnswer,{i:a,isTextControl:c,dataFormatType:s}))}),_.isString(i)&&React__default.default.createElement(index$1,{dataFormatType:s,modelAPIResponse:f,question:i,setModelAPIResponse:m,checkMode:p,annotation:e.annotation}));return React__default.default.createElement("div",{className:LLMViewCls},React__default.default.createElement(index$2,{question:i,dataFormatType:s,setDataFormatType:x,isImg:E}),React__default.default.createElement("div",{className:`${LLMViewCls}__textBox`},React__default.default.createElement("div",{className:`${LLMViewCls}__title`},g("Answer")," ",w),y?React__default.default.createElement(index$3,{hoverKey:l,answerList:u}):P))},WrapQuestionView=e=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(QuestionView,__spreadValues({},e)));exports.LLMViewCls=LLMViewCls,exports.default=WrapQuestionView;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),index=require("../../../constant/index.js"),classNames=require("classnames"),reactI18next=require("react-i18next"),lbUtils=require("@labelbee/lb-utils"),index$4=require("../../markdownView/index.js"),index$1=require("../modelAPIView/index.js"),index$5=require("../../diffMatchPatchComponent/index.js"),index$2=require("./components/header/index.js"),index$3=require("./components/imgView/index.js"),_=require("lodash");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e};const LLMViewCls=`${index.prefix}-LLMView`,RenderAnswer=({i:e,dataFormatType:t,isTextControl:r})=>{var l;return t===index.EDataFormatType.Markdown?React__default.default.createElement(index$4,{value:(l=e==null?void 0:e.newAnswer)!=null?l:e==null?void 0:e.answer}):r?React__default.default.createElement("div",{style:{width:"100%",overflowWrap:"break-word"}},React__default.default.createElement(index$5,{originString:e==null?void 0:e.answer,currentString:e==null?void 0:e.newAnswer})):React__default.default.createElement("div",{style:{whiteSpace:"pre-wrap"}},(e==null?void 0:e.newAnswer)||(e==null?void 0:e.answer))},QuestionView=e=>{var t,r;const{hoverKey:l,answerList:u,question:i,lang:d,modelAPIResponse:f,setModelAPIResponse:m,checkMode:p=!0,LLMConfig:n,answerHeaderSlot:w}=e,[s,x]=React.useState(index.EDataFormatType.Default),E=((t=n==null?void 0:n.dataType)==null?void 0:t.prompt)===index.ELLMDataType.Picture,y=((r=n==null?void 0:n.dataType)==null?void 0:r.response)===index.ELLMDataType.Picture,{t:g}=reactI18next.useTranslation();React.useEffect(()=>{var a;d&&((a=lbUtils.i18n)==null||a.changeLanguage(d))},[]);const L=a=>{var o;return(n==null?void 0:n.isTextEdit)?!!((o=((n==null?void 0:n.textEdit)||[]).filter(v=>(v==null?void 0:v.title)===a.order)[0])==null?void 0:o.textControl):!1},P=React__default.default.createElement("div",null,u.map((a,o)=>{const c=L(a);return React__default.default.createElement("div",{className:classNames__default.default({[`${LLMViewCls}__content`]:!0,[`${LLMViewCls}__contentActive`]:l===(a==null?void 0:a.order)}),key:o},React__default.default.createElement(antd.Tag,{className:`${LLMViewCls}__tag`},a==null?void 0:a.order),React__default.default.createElement(RenderAnswer,{i:a,isTextControl:c,dataFormatType:s}))}),_.isString(i)&&React__default.default.createElement(index$1,{dataFormatType:s,modelAPIResponse:f,question:i,setModelAPIResponse:m,checkMode:p,annotation:e.annotation}));return React__default.default.createElement("div",{className:LLMViewCls},React__default.default.createElement(index$2,{question:i,dataFormatType:s,setDataFormatType:x,isImg:E}),React__default.default.createElement("div",{className:`${LLMViewCls}__textBox`},React__default.default.createElement("div",{className:`${LLMViewCls}__title`},g("Answer")," ",w),y?React__default.default.createElement(index$3,{hoverKey:l,answerList:u}):P))},WrapQuestionView=e=>React__default.default.createElement(reactI18next.I18nextProvider,{i18n:lbUtils.i18n},React__default.default.createElement(QuestionView,__spreadValues({},e)));exports.LLMViewCls=LLMViewCls,exports.default=WrapQuestionView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var lbAnnotation=require("@labelbee/lb-annotation"),index=require("../../../utils/index.js"),audio=require("../../../utils/audio.js"),antd=require("antd"),_=require("lodash"),React=require("react"),index_module=require("./index.module.scss.js"),VideoClipToolContext=require("./VideoClipToolContext.js"),constant=require("./constant.js"),index$1=require("../../videoPlayer/index.js"),index$2=require("./components/videoTimeSlicesOverVideo/index.js"),icon_videoCutting=require("../../../assets/annotation/video/icon_videoCutting.svg.js"),utils=require("../../videoPlayer/utils.js");function _interopDefaultLegacy(d){return d&&typeof d=="object"&&"default"in d?d:{default:d}}var ___default=_interopDefaultLegacy(_),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=(d,s,t)=>s in d?__defProp(d,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[s]=t,__spreadValues=(d,s)=>{for(var t in s||(s={}))__hasOwnProp.call(s,t)&&__defNormalProp(d,t,s[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(s))__propIsEnum.call(s,t)&&__defNormalProp(d,t,s[t]);return d},__spreadProps=(d,s)=>__defProps(d,__getOwnPropDescs(s));class VideoClipTool extends React__default.default.Component{constructor(s){super(s);this.fns=new Map,this.throttledUpdateTime=___default.default.throttle(t=>{this.videoPlayer.currentTime=t},100,{trailing:!0}),this.stepInfo=()=>this.props.stepInfo,this.emitEvent=t=>{const e=this.fns.get(t);e&&e.forEach(i=>{i&&i()})},this.setValid=t=>{this.setState({valid:t}),t===!1&&(this.clearResult(),this.updateSidebar())},this.updateSidebar=()=>{this.emitEvent("changeClipSidebar"),this.emitEvent("updateTextAttribute"),this.emitEvent("changeAttributeSidebar")},this.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(r=>r.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===constant.EClipStatus.Clipping){antd.message.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:u,type:l}=this.state.result[this.selectedSliceIndex],n=lbAnnotation.MathUtils.withinRange(audio.precisionAdd(u,t),[0,audio.precisionMinus(l===constant.ETimeSliceType.Time?r:a,constant.PER_SLICE_CHANGE)]);this.updateSelectedSliceTimeProperty(n,"start")}},this.updateSelectedSliceTimeEndByPer=t=>{var e,i;if(this.state.clipStatus===constant.EClipStatus.Clipping){antd.message.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u7ED3\u675F\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(r.type===constant.ETimeSliceType.Time){antd.message.info("\u65F6\u95F4\u70B9\u4EC5\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}const{end:u,start:l}=r,n=lbAnnotation.MathUtils.withinRange(audio.precisionAdd(u,t),[audio.precisionAdd(l,constant.PER_SLICE_CHANGE),a]);this.updateSelectedSliceTimeProperty(n,"end")}},this.updateSelectedSliceTimeProperty=(t,e)=>{if(this.selectedSliceIndex>-1){const{result:i}=this.state;i[this.selectedSliceIndex][e]=t,this.setState({result:___default.default.cloneDeep(i)}),this.updateSidebar()}},this.keyDownEvents=t=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(t))return;const e=t.target;switch(e&&(e==null?void 0:e.tag)==="INPUT"&&(e==null?void 0:e.type)==="radio"&&t.preventDefault(),t.key.toLocaleLowerCase()){case"x":this.toggleClipStatus();break;case"e":this.addTime();break;case"escape":this.cancelClipped();break;case"-":this.updateSelectedSliceTimeStartByPer(-constant.PER_SLICE_CHANGE);break;case"=":this.updateSelectedSliceTimeStartByPer(constant.PER_SLICE_CHANGE);break;case"[":this.updateSelectedSliceTimeEndByPer(-constant.PER_SLICE_CHANGE);break;case"]":this.updateSelectedSliceTimeEndByPer(constant.PER_SLICE_CHANGE);break}},this.videoLoaded=t=>{var e;const i=this.resultJSON,r=i&&!["","{}"].includes(i),a=t?parseFloat(t.toFixed(2)):0,u={loading:!1};((e=index.jsonParser(i))==null?void 0:e.duration)||Object.assign(u,{result:JSON.stringify(__spreadProps(__spreadValues({},index.jsonParser(i)),{duration:a}))}),r||Object.assign(u,{result:JSON.stringify({width:0,height:0,rotate:0,valid:!0,duration:a})}),this.setState({loading:!1})},this.setVideoError=(t,e,i)=>{if(t){const{clipStatus:r}=this.state;r===constant.EClipStatus.Clipping&&this.toggleClipStatus(i)}this.setState({videoError:t,loading:!1})},this.clearResult=()=>{this.setState({result:[],selectedID:"",textValue:""}),this.updateSidebar()},this.cancelClipped=()=>{const{result:t,selectedID:e,clipStatus:i}=this.state;if(i!==constant.EClipStatus.Clipping)return;const r=t.findIndex(a=>a.id===e);r>-1&&(t.splice(r,1),this.setState({result:t,selectedID:"",clipStatus:constant.EClipStatus.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,r;if(this.disabled)return;const{clipStatus:a,selectedAttribute:u}=this.state,l=a!==constant.EClipStatus.Clipping;let n=l?constant.EClipStatus.Clipping:constant.EClipStatus.Stop,{result:o,selectedID:c,textValue:h}=this.state;const p=___default.default.cloneDeep(o),S=t||((e=this.videoPlayer)==null?void 0:e.currentTime),v=(i=this.videoPlayer)==null?void 0:i.duration;if(v===void 0||S===void 0)return;const C=utils.decimalReserved(S,2);if(l){const f=lbAnnotation.uuid();c=f,p.push({start:C,end:null,attribute:u,textAttribute:this.defaultTextAttribute,duration:v,id:f,type:constant.ETimeSliceType.Period}),h=this.defaultTextAttribute}else{const f=p.findIndex(m=>m.id===c),g=p[f];g&&(S-g.start<constant.SLICE_MIN_TIME?(p.splice(f,1),antd.message.info(`\u622A\u53D6\u7247\u6BB5\u4E0D\u80FD\u77ED\u4E8E${constant.SLICE_MIN_TIME}s`),n=constant.EClipStatus.Stop,c="",h=""):(p[f].end=utils.decimalReserved(S,2),(r=this.videoPlayer)==null||r.pause(),antd.message.success(`\u5DF2\u622A\u53D6\u7247\u6BB5${o.length}`)))}this.setState({clipStatus:n,result:p,selectedID:c,textValue:h}),this.updateSidebar()},this.addTime=()=>{var t,e,i,r;if(this.disabled)return;const{result:a,selectedAttribute:u,selectedID:l}=this.state,n=lbAnnotation.uuid(),o=___default.default.cloneDeep(a),c=((t=this.videoPlayer)==null?void 0:t.currentTime)||0;o.push({start:c,end:c,attribute:u,textAttribute:this.defaultTextAttribute,id:n,type:constant.ETimeSliceType.Time,duration:(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0});const h={result:o,selectedID:n,textValue:this.defaultTextAttribute},p=o.find(S=>S.id===l);this.isClipping&&p?(delete h.selectedID,delete h.textValue,antd.message.success(`\u5DF2\u622A\u53D6\u65F6\u95F4\u70B9${o.length-1}`)):(r=this.videoPlayer)==null||r.pause(),this.setState(h),this.updateSidebar()},this.updateCurrentTime=t=>{this.setState({currentTime:t})},this.contextToCancel=t=>{this.state.clipStatus===constant.EClipStatus.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var r,a;const{result:u}=this.state,l=u.find(n=>n.id===t);if(l){const n=l.duration,o=e==="left",c=o?"start":"end",h=o?-n*i:n*i,p=o?[0,Math.max(((r=l.end)!=null?r:0)-constant.SLICE_MIN_TIME,0)]:[l.start+constant.SLICE_MIN_TIME,n],S=lbAnnotation.MathUtils.withinRange(h+((a=l==null?void 0:l[c])!=null?a:0),p);l[c]=S,this.throttledUpdateTime(S)}this.setState({result:[...u]}),this.updateSidebar()},this.renderMediaContent=()=>{var t;const{pageForward:e,pageJump:i,pageBackward:r}=this.props,{result:a,videoError:u,valid:l,currentTime:n}=this.state;return React__default.default.createElement("div",{className:index_module.clipContainer},React__default.default.createElement(index$1.VideoPlayer,{imgIndex:this.props.imgIndex,imgList:this.props.imgList,pageBackward:r,pageForward:e,pageJump:i,valid:l,setVideoRef:o=>{this.videoPlayer=o},showVideoTrack:!u,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded,toggleClipStatus:this.toggleClipStatus,addTime:this.addTime,updateCurrentTime:this.updateCurrentTime}),React__default.default.createElement(index$2,{key:(t=this.videoPlayer)==null?void 0:t.currentTime,result:a,currentTime:n,attributeList:this.props.config.attributeList,extraStyle:{top:this.props.drawLayerSlot?40:0}}),this.isClipping&&React__default.default.createElement("i",{className:index_module.clipping,style:{backgroundImage:icon_videoCutting}}))},this.onSelectedTimeSlice=t=>{var e;this.isClipping||(this.setState({selectedID:t.id,selectedAttribute:t.attribute,textValue:t.textAttribute}),this.updateSidebar(),(e=this.videoPlayer)==null||e.pause(),this.videoPlayer.currentTime=t.start)},this.removeTimeSlice=t=>{const{result:e}=this.state,i=this.state.selectedID===t.id?"":this.state.selectedID,r=e.findIndex(a=>a.id===t.id);r>-1&&(e.splice(r,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:r}=e;if(!r[i])return;const u=index.jsonParser(r[i].result)[`step_${this.stepInfo().step}`],l=(u==null?void 0:u.result)||[],n=audio.isImageValue(r[i].result||"[]");this.setState({result:l,loading:t,selectedID:"",textValue:"",selectedAttribute:"",clipStatus:constant.EClipStatus.Stop,valid:n},()=>{this.updateSidebar(),n||antd.message.info("\u65E0\u6548\u89C6\u9891\uFF0C\u8BF7\u8DF3\u8FC7")})}catch(i){console.error("\u6570\u636E\u89E3\u6790\u5931\u8D25"),this.setState({result:[],loading:!1,selectedID:"",textValue:"",selectedAttribute:"",valid:!0},()=>{this.updateSidebar()})}},this.setDefaultAttribute=t=>{const{result:e,selectedID:i}=this.state,r=e.find(a=>a.id===i);r&&i&&(r.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.textChange=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const r=e.find(a=>a.id===i);r&&(r.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:constant.EClipStatus.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var s;const{imgIndex:t,imgList:e}=this.props;return((s=e[t])==null?void 0:s.url)||""}get isClipping(){return this.state.clipStatus===constant.EClipStatus.Clipping}get resultJSON(){const{imgIndex:s,imgList:t}=this.props;return t.length===0||!t[s]?"[]":t[s].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return lbAnnotation.AttributeUtils.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedID(){return this.state.selectedID}get selectedSliceIndex(){return this.state.result.findIndex(s=>s.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}get config(){var s;return index.jsonParser((s=this.props.stepInfo)==null?void 0:s.config)}get selectedText(){var s,t;return(t=(s=this.state.result)==null?void 0:s[this.selectedSliceIndex])==null?void 0:t.textAttribute}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(s,t){const e=s.imgIndex-this.props.imgIndex,i=s.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,s),i!==0&&this.setState({loading:!1})),!0}singleOn(s,t){this.fns.set(s,[t])}on(s,t){this.singleOn(s,t)}unbindAll(s){this.fns.delete(s)}render(){const{selectedID:s,result:t,clipStatus:e,selectedAttribute:i}=this.state;return React__default.default.createElement(VideoClipToolContext.VideoClipToolContextProvider,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:s,attributeList:this.props.config.attributeList,clipStatus:e,selectedAttribute:i,contextToCancel:this.contextToCancel}},this.renderMediaContent())}}module.exports=VideoClipTool;
|
|
1
|
+
"use strict";var lbAnnotation=require("@labelbee/lb-annotation"),index=require("../../../utils/index.js"),audio=require("../../../utils/audio.js"),antd=require("antd"),_=require("lodash"),React=require("react"),index_module=require("./index.module.scss.js"),VideoClipToolContext=require("./VideoClipToolContext.js"),constant=require("./constant.js"),index$1=require("../../videoPlayer/index.js"),index$2=require("./components/videoTimeSlicesOverVideo/index.js"),icon_videoCutting=require("../../../assets/annotation/video/icon_videoCutting.svg.js"),utils=require("../../videoPlayer/utils.js");function _interopDefaultLegacy(d){return d&&typeof d=="object"&&"default"in d?d:{default:d}}var ___default=_interopDefaultLegacy(_),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=(d,s,t)=>s in d?__defProp(d,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[s]=t,__spreadValues=(d,s)=>{for(var t in s||(s={}))__hasOwnProp.call(s,t)&&__defNormalProp(d,t,s[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(s))__propIsEnum.call(s,t)&&__defNormalProp(d,t,s[t]);return d},__spreadProps=(d,s)=>__defProps(d,__getOwnPropDescs(s));class VideoClipTool extends React__default.default.Component{constructor(s){super(s);this.fns=new Map,this.throttledUpdateTime=___default.default.throttle(t=>{this.videoPlayer.currentTime=t},100,{trailing:!0}),this.stepInfo=()=>this.props.stepInfo,this.emitEvent=t=>{const e=this.fns.get(t);e&&e.forEach(i=>{i&&i()})},this.setValid=t=>{this.setState({valid:t}),t===!1&&(this.clearResult(),this.updateSidebar())},this.updateSidebar=()=>{this.emitEvent("changeClipSidebar"),this.emitEvent("updateTextAttribute"),this.emitEvent("changeAttributeSidebar")},this.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(r=>r.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===constant.EClipStatus.Clipping){antd.message.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:u,type:l}=this.state.result[this.selectedSliceIndex],n=lbAnnotation.MathUtils.withinRange(audio.precisionAdd(u,t),[0,audio.precisionMinus(l===constant.ETimeSliceType.Time?r:a,constant.PER_SLICE_CHANGE)]);this.updateSelectedSliceTimeProperty(n,"start")}},this.updateSelectedSliceTimeEndByPer=t=>{var e,i;if(this.state.clipStatus===constant.EClipStatus.Clipping){antd.message.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u7ED3\u675F\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(r.type===constant.ETimeSliceType.Time){antd.message.info("\u65F6\u95F4\u70B9\u4EC5\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}const{end:u,start:l}=r,n=lbAnnotation.MathUtils.withinRange(audio.precisionAdd(u,t),[audio.precisionAdd(l,constant.PER_SLICE_CHANGE),a]);this.updateSelectedSliceTimeProperty(n,"end")}},this.updateSelectedSliceTimeProperty=(t,e)=>{if(this.selectedSliceIndex>-1){const{result:i}=this.state;i[this.selectedSliceIndex][e]=t,this.setState({result:___default.default.cloneDeep(i)}),this.updateSidebar()}},this.keyDownEvents=t=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(t))return;const e=t.target;switch(e&&(e==null?void 0:e.tag)==="INPUT"&&(e==null?void 0:e.type)==="radio"&&t.preventDefault(),t.key.toLocaleLowerCase()){case"x":this.toggleClipStatus();break;case"e":this.addTime();break;case"escape":this.cancelClipped();break;case"-":this.updateSelectedSliceTimeStartByPer(-constant.PER_SLICE_CHANGE);break;case"=":this.updateSelectedSliceTimeStartByPer(constant.PER_SLICE_CHANGE);break;case"[":this.updateSelectedSliceTimeEndByPer(-constant.PER_SLICE_CHANGE);break;case"]":this.updateSelectedSliceTimeEndByPer(constant.PER_SLICE_CHANGE);break}},this.videoLoaded=t=>{var e;const i=this.resultJSON,r=i&&!["","{}"].includes(i),a=t?parseFloat(t.toFixed(2)):0,u={loading:!1};((e=index.jsonParser(i))==null?void 0:e.duration)||Object.assign(u,{result:JSON.stringify(__spreadProps(__spreadValues({},index.jsonParser(i)),{duration:a}))}),r||Object.assign(u,{result:JSON.stringify({width:0,height:0,rotate:0,valid:!0,duration:a})}),this.setState({loading:!1})},this.setVideoError=(t,e,i)=>{if(t){const{clipStatus:r}=this.state;r===constant.EClipStatus.Clipping&&this.toggleClipStatus(i)}this.setState({videoError:t,loading:!1})},this.clearResult=()=>{this.setState({result:[],selectedID:"",textValue:""}),this.updateSidebar()},this.cancelClipped=()=>{const{result:t,selectedID:e,clipStatus:i}=this.state;if(i!==constant.EClipStatus.Clipping)return;const r=t.findIndex(a=>a.id===e);r>-1&&(t.splice(r,1),this.setState({result:t,selectedID:"",clipStatus:constant.EClipStatus.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,r;if(this.disabled)return;const{clipStatus:a,selectedAttribute:u}=this.state,l=a!==constant.EClipStatus.Clipping;let n=l?constant.EClipStatus.Clipping:constant.EClipStatus.Stop,{result:o,selectedID:c,textValue:h}=this.state;const p=___default.default.cloneDeep(o),S=t||((e=this.videoPlayer)==null?void 0:e.currentTime),v=(i=this.videoPlayer)==null?void 0:i.duration;if(v===void 0||S===void 0)return;const C=utils.decimalReserved(S,2);if(l){const f=lbAnnotation.uuid();c=f,p.push({start:C,end:null,attribute:u,textAttribute:this.defaultTextAttribute,duration:v,id:f,type:constant.ETimeSliceType.Period}),h=this.defaultTextAttribute}else{const f=p.findIndex(m=>m.id===c),g=p[f];g&&(S-g.start<constant.SLICE_MIN_TIME?(p.splice(f,1),antd.message.info(`\u622A\u53D6\u7247\u6BB5\u4E0D\u80FD\u77ED\u4E8E${constant.SLICE_MIN_TIME}s`),n=constant.EClipStatus.Stop,c="",h=""):(p[f].end=utils.decimalReserved(S,2),(r=this.videoPlayer)==null||r.pause(),antd.message.success(`\u5DF2\u622A\u53D6\u7247\u6BB5${o.length}`)))}this.setState({clipStatus:n,result:p,selectedID:c,textValue:h}),this.updateSidebar()},this.addTime=()=>{var t,e,i,r;if(this.disabled)return;const{result:a,selectedAttribute:u,selectedID:l}=this.state,n=lbAnnotation.uuid(),o=___default.default.cloneDeep(a),c=((t=this.videoPlayer)==null?void 0:t.currentTime)||0;o.push({start:c,end:c,attribute:u,textAttribute:this.defaultTextAttribute,id:n,type:constant.ETimeSliceType.Time,duration:(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0});const h={result:o,selectedID:n,textValue:this.defaultTextAttribute},p=o.find(S=>S.id===l);this.isClipping&&p?(delete h.selectedID,delete h.textValue,antd.message.success(`\u5DF2\u622A\u53D6\u65F6\u95F4\u70B9${o.length-1}`)):(r=this.videoPlayer)==null||r.pause(),this.setState(h),this.updateSidebar()},this.updateCurrentTime=t=>{this.setState({currentTime:t})},this.contextToCancel=t=>{this.state.clipStatus===constant.EClipStatus.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var r,a;const{result:u}=this.state,l=u.find(n=>n.id===t);if(l){const n=l.duration,o=e==="left",c=o?"start":"end",h=o?-n*i:n*i,p=o?[0,Math.max(((r=l.end)!=null?r:0)-constant.SLICE_MIN_TIME,0)]:[l.start+constant.SLICE_MIN_TIME,n],S=lbAnnotation.MathUtils.withinRange(h+((a=l==null?void 0:l[c])!=null?a:0),p);l[c]=S,this.throttledUpdateTime(S)}this.setState({result:[...u]}),this.updateSidebar()},this.renderMediaContent=()=>{var t;const{pageForward:e,pageJump:i,pageBackward:r}=this.props,{result:a,videoError:u,valid:l,currentTime:n}=this.state;return React__default.default.createElement("div",{className:index_module.clipContainer},React__default.default.createElement(index$1.VideoPlayer,{imgIndex:this.props.imgIndex,imgList:this.props.imgList,pageBackward:r,pageForward:e,pageJump:i,valid:l,setVideoRef:o=>{this.videoPlayer=o},showVideoTrack:!u,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded,toggleClipStatus:this.toggleClipStatus,addTime:this.addTime,updateCurrentTime:this.updateCurrentTime}),React__default.default.createElement(index$2,{key:(t=this.videoPlayer)==null?void 0:t.currentTime,result:a,currentTime:n,attributeList:this.props.config.attributeList,extraStyle:{top:this.props.drawLayerSlot?40:0}}),this.isClipping&&React__default.default.createElement("i",{className:index_module.clipping,style:{backgroundImage:icon_videoCutting}}))},this.onSelectedTimeSlice=t=>{var e;this.isClipping||(this.setState({selectedID:t.id,selectedAttribute:t.attribute,textValue:t.textAttribute,currentTime:t.start}),this.updateSidebar(),(e=this.videoPlayer)==null||e.pause(),this.videoPlayer.currentTime=t.start)},this.removeTimeSlice=t=>{const{result:e}=this.state,i=this.state.selectedID===t.id?"":this.state.selectedID,r=e.findIndex(a=>a.id===t.id);r>-1&&(e.splice(r,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:r}=e;if(!r[i])return;const u=index.jsonParser(r[i].result)[`step_${this.stepInfo().step}`],l=(u==null?void 0:u.result)||[],n=audio.isImageValue(r[i].result||"[]");this.setState({result:l,loading:t,selectedID:"",textValue:"",selectedAttribute:"",clipStatus:constant.EClipStatus.Stop,valid:n},()=>{this.updateSidebar(),n||antd.message.info("\u65E0\u6548\u89C6\u9891\uFF0C\u8BF7\u8DF3\u8FC7")})}catch(i){console.error("\u6570\u636E\u89E3\u6790\u5931\u8D25"),this.setState({result:[],loading:!1,selectedID:"",textValue:"",selectedAttribute:"",valid:!0},()=>{this.updateSidebar()})}},this.setDefaultAttribute=t=>{const{result:e,selectedID:i}=this.state,r=e.find(a=>a.id===i);r&&i&&(r.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.textChange=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const r=e.find(a=>a.id===i);r&&(r.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:constant.EClipStatus.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var s;const{imgIndex:t,imgList:e}=this.props;return((s=e[t])==null?void 0:s.url)||""}get isClipping(){return this.state.clipStatus===constant.EClipStatus.Clipping}get resultJSON(){const{imgIndex:s,imgList:t}=this.props;return t.length===0||!t[s]?"[]":t[s].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return lbAnnotation.AttributeUtils.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedID(){return this.state.selectedID}get selectedSliceIndex(){return this.state.result.findIndex(s=>s.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}get config(){var s;return index.jsonParser((s=this.props.stepInfo)==null?void 0:s.config)}get selectedText(){var s,t;return(t=(s=this.state.result)==null?void 0:s[this.selectedSliceIndex])==null?void 0:t.textAttribute}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(s,t){const e=s.imgIndex-this.props.imgIndex,i=s.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,s),i!==0&&this.setState({loading:!1})),!0}singleOn(s,t){this.fns.set(s,[t])}on(s,t){this.singleOn(s,t)}unbindAll(s){this.fns.delete(s)}render(){const{selectedID:s,result:t,clipStatus:e,selectedAttribute:i}=this.state;return React__default.default.createElement(VideoClipToolContext.VideoClipToolContextProvider,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:s,attributeList:this.props.config.attributeList,clipStatus:e,selectedAttribute:i,contextToCancel:this.contextToCancel}},this.renderMediaContent())}}module.exports=VideoClipTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),VideoTagLayer=require("../../videoPlayer/VideoTagLayer.js"),_=require("lodash"),utils=require("../../videoPlayer/utils.js");function _interopDefaultLegacy(h){return h&&typeof h=="object"&&"default"in h?h:{default:h}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class TagToolInstanceAdaptor extends React__default.default.Component{constructor(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),VideoTagLayer=require("../../videoPlayer/VideoTagLayer.js"),_=require("lodash"),utils=require("../../videoPlayer/utils.js");function _interopDefaultLegacy(h){return h&&typeof h=="object"&&"default"in h?h:{default:h}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class TagToolInstanceAdaptor extends React__default.default.Component{constructor(i){super(i);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const l=e?this.state.tagResult.map(s=>((s==null?void 0:s.result[e])&&delete s.result[e],s)):[];this.setState({tagResult:l},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,l,s,n,r,a;const o=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(l=this.videoPlayer)==null?void 0:l.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,c=(n=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?n:0,v=(a=(r=this.videoPlayer)==null?void 0:r.videoHeight)!=null?a:0;return[this.state.tagResult,{valid:this.state.valid,duration:o,frames:u,videoWidth:c,videoHeight:v}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var l,s;const{isMulti:n}=t,{key:r,value:a}=t.value;if(n){let o=(s=(l=e[r])==null?void 0:l.split(";"))!=null?s:[];o.includes(a)?o=o.filter(u=>u!==a):o.push(a);const d=new Set(o);return e[r]=Array.from(d).join(";"),___default.default.pickBy(e,u=>u)}return e[r]=e[r]===a?void 0:a,___default.default.pickBy(e,o=>o)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{var e;const l=utils.getKeyCodeNumber(t.keyCode);if(l){const s=l-1;if(((e=this.config.inputList)==null?void 0:e.length)===1){this.labelSelectedList=[0,s],this.setLabel(0,s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],s],this.setLabel(this.labelSelectedList[0],s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[s],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:l,stepInfo:s}=t;if(!e[l])return;const n=index.jsonParser(e[l].result),r=n[`step_${s.step}`],a=this.getInitResultList();this.setState({tagResult:r?r==null?void 0:r.result:a,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.emitEvent("render"))},this.getInitResultList=()=>{var t;return lbAnnotation.TagUtils.getDefaultTagResult((t=this.config.inputList)!=null?t:[],[])},this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var i;return index.jsonParser((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var i;return(i=this.state.tagResult[0])!=null?i:{}}get valid(){return this.state.valid}singleOn(i,t){this.fns[i]=t}on(i,t){this.singleOn(i,t)}unbindAll(i){delete this.fns[i]}getTagResultByCode(i,t){var e,l,s;try{const n=(l=(e=this.config)==null?void 0:e.inputList)!=null?l:[],r=(n==null?void 0:n.length)>1,a=t!==void 0?i:0,o=t!==void 0?t:i,d=r?n[a]:n[0],u=((s=d.subSelected)!=null?s:[])[o];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(i,t){var e,l,s,n;const r=this.getTagResultByCode(i,t);if(r){const a=this.combineResult(r,(l=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?l:{}),o=[{sourceID:lbAnnotation.CommonToolUtils.getSourceID(),id:(n=(s=this.currentTagResult)==null?void 0:s.id)!=null?n:lbAnnotation.uuid(8,62),result:a}];this.setState({tagResult:o},()=>this.emitEvent("render"))}}componentDidMount(){document.addEventListener("keydown",this.keydown),this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){document.addEventListener("keydown",this.keydown),this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i;const{imgIndex:t,imgList:e,pageForward:l,pageJump:s,pageBackward:n}=this.props,{tagResult:r,valid:a}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},React__default.default.createElement(index$1.VideoPlayer,{imgIndex:t,imgList:e,pageBackward:n,pageForward:l,pageJump:s,valid:a,setVideoRef:o=>{this.videoPlayer=o},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),React__default.default.createElement(VideoTagLayer.VideoTagLayer,{result:r,inputList:(i=this.config)==null?void 0:i.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}exports.TagToolInstanceAdaptor=TagToolInstanceAdaptor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),_=require("lodash"),VideoTextLayer=require("../../videoPlayer/VideoTextLayer.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class VideoTextTool extends React__default.default.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,s,r,l,o,a;const n=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,v=(l=(r=this.videoPlayer)==null?void 0:r.videoWidth)!=null?l:0,f=(a=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?a:0;return[[this.state.result],{valid:this.state.valid,duration:n,frames:h,videoWidth:v,videoHeight:f}]},this.toggleShowText=t=>{this.setState({showText:t})},this.singleOn=(t,e)=>{this.fns[t]=e},this.on=(t,e)=>{this.singleOn(t,e)},this.unbindAll=t=>{delete this.fns[t]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,e,s,r)=>{var l;const o=___default.default.cloneDeep(r!=null?r:{});o.value=Object.assign((l=o.value)!=null?l:{},{[t]:e}),this.setState({result:o},()=>s&&this.updateSidebar())},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e,s;const{imgList:r,imgIndex:l,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),_=require("lodash"),VideoTextLayer=require("../../videoPlayer/VideoTextLayer.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class VideoTextTool extends React__default.default.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,s,r,l,o,a;const n=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,v=(l=(r=this.videoPlayer)==null?void 0:r.videoWidth)!=null?l:0,f=(a=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?a:0;return[[this.state.result],{valid:this.state.valid,duration:n,frames:h,videoWidth:v,videoHeight:f}]},this.toggleShowText=t=>{this.setState({showText:t})},this.singleOn=(t,e)=>{this.fns[t]=e},this.on=(t,e)=>{this.singleOn(t,e)},this.unbindAll=t=>{delete this.fns[t]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,e,s,r)=>{var l;const o=___default.default.cloneDeep(r!=null?r:{});o.value=Object.assign((l=o.value)!=null?l:{},{[t]:e}),this.setState({result:o},()=>s&&this.updateSidebar())},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e,s;const{imgList:r,imgIndex:l,stepInfo:o}=t;if(!r[l])return;const a=index.jsonParser(r[l].result),n=a[`step_${o.step}`],d={value:this.getInitTextValue()};this.setState({result:n?(s=(e=n==null?void 0:n.result)==null?void 0:e[0])!=null?s:{}:d,valid:(a==null?void 0:a.valid)===void 0?!0:a.valid},()=>this.updateSidebar())},this.getInitTextValue=()=>{let t={};return this.config.configList.forEach(e=>{var s;t[e.key]=(s=e.default)!=null?s:""}),t},this.state={result:{},valid:!0,showText:!0}}get config(){var i;return index.jsonParser((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get needConfirm(){var i;const{result:t}=this.state;return(i=this.config.configList)==null?void 0:i.some(e=>e.required&&!(t==null?void 0:t.value[e.key]))}get textList(){return[this.state.result]}getColor(i=this.config,t=""){return lbUtils.toolStyleConverter.getColorByConfig({attribute:t,config:i})}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i,t;const{imgIndex:e,imgList:s,pageForward:r,pageJump:l,pageBackward:o}=this.props,{result:a,valid:n,showText:d}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&a.value&&React__default.default.createElement(VideoTextLayer.VideoTextLayer,{value:a.value,toolColor:(t=(i=this.getColor(this.config))==null?void 0:i.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),React__default.default.createElement(index$1.VideoPlayer,{imgIndex:e,imgList:s,pageBackward:o,pageForward:r,pageJump:l,valid:n,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}exports.VideoTextTool=VideoTextTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),dom=require("../../../../utils/dom.js"),icons=require("@ant-design/icons"),index=require("../../index.js"),Pagination=require("../../../../views/MainView/toolFooter/Pagination.js"),icon_keyboard_h=require("../../../../assets/annotation/video/icon_keyboard_h.svg.js"),index$2=require("../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js"),reactI18next=require("react-i18next"),utils=require("../../utils.js"),lbAnnotation=require("@labelbee/lb-annotation"),index$1=require("../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js"),VideoClipToolContext=require("../../../videoAnnotate/videoClipTool/VideoClipToolContext.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{EVideoToolName}=lbAnnotation.cTool,videoTimeFormat=e=>{const t=Math.floor(e/60),a=~~(e%60)
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),dom=require("../../../../utils/dom.js"),icons=require("@ant-design/icons"),index=require("../../index.js"),Pagination=require("../../../../views/MainView/toolFooter/Pagination.js"),icon_keyboard_h=require("../../../../assets/annotation/video/icon_keyboard_h.svg.js"),index$2=require("../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js"),reactI18next=require("react-i18next"),utils=require("../../utils.js"),lbAnnotation=require("@labelbee/lb-annotation"),index$1=require("../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js"),VideoClipToolContext=require("../../../videoAnnotate/videoClipTool/VideoClipToolContext.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{EVideoToolName}=lbAnnotation.cTool,videoTimeFormat=e=>{const t=Math.floor(e/60),a=~~Math.floor(e%60),o=(e*10).toString().split("").pop(),l=s=>s<10?`0${s}`:s;return`${l(t)}:${l(a)}:${o}`};exports.EPlayerType=void 0,function(e){e[e.Video=0]="Video",e[e.Audio=1]="Audio"}(exports.EPlayerType||(exports.EPlayerType={}));const VideoProgress=()=>{const{currentTime:e,duration:t,buffered:a,setCurrentTime:o}=React__default.default.useContext(index.VideoPlayerCtx),l=React__default.default.useRef(null),s=React.useMemo(()=>`${utils.decimalReserved(a/t*100,1)}%`,[a,t]),r=React.useMemo(()=>`${utils.decimalReserved(e/t*100,1)}%`,[e,t]),d=n=>{if(l.current){const c=n.clientX,u=l.current.clientWidth,i=utils.decimalReserved(c/u*t,1);o(i)}};return React__default.default.createElement("div",{className:dom.getClassName("video-progress"),ref:l,onMouseUp:n=>{n.stopPropagation(),n.nativeEvent.stopImmediatePropagation(),d(n)}},React__default.default.createElement("div",{className:dom.getClassName("video-slider")},React__default.default.createElement("div",{className:dom.getClassName("video-slider","played"),style:{width:r}}),React__default.default.createElement("div",{className:dom.getClassName("video-slider","loaded"),style:{width:s}}),React__default.default.createElement("div",{className:dom.getClassName("video-slider","played"),style:{width:r}})),React__default.default.createElement("div",{className:dom.getClassName("video-slider-bar"),style:{left:r}}))},VideoSpeedButton=()=>{const{updateNextPlaybackRate:e,playbackRate:t}=React__default.default.useContext(index.VideoPlayerCtx),{t:a}=reactI18next.useTranslation();return React__default.default.createElement("span",{className:dom.getClassName("video-controller","speed")},React__default.default.createElement("span",null,a("Speed")),React__default.default.createElement("span",{className:dom.getClassName("video-controller","speedNum")},`${t}x`),React__default.default.createElement("span",{className:dom.getClassName("video-controller","speedButton")},React__default.default.createElement(icons.CaretUpOutlined,{onClick:()=>{e()}}),React__default.default.createElement(icons.CaretDownOutlined,{onClick:()=>{e(!1)}})))},VideoHotKeys=()=>{const{t:e}=reactI18next.useTranslation();return React__default.default.createElement(index$2.default,{title:React__default.default.createElement("span",{className:dom.getClassName("video-controller","hotkey")},React__default.default.createElement("img",{src:icon_keyboard_h}),e("Hotkeys")),style:{},toolName:EVideoToolName.VideoTagTool})},VideoPageChange=()=>{const{imgIndex:e,imgList:t,pageBackward:a,pageJump:o,pageForward:l}=React__default.default.useContext(index.VideoPlayerCtx);return React__default.default.createElement(Pagination.Pagination,{isVideo:!0,pageBackward:a,imgIndex:e,pageJump:o,totalPage:t.length,pageForward:l,footerCls:dom.getClassName("video-controller")})},VideoTime=()=>{const{currentTime:e,duration:t}=React__default.default.useContext(index.VideoPlayerCtx),a=t*10-e*10,o=(a>0?a:0)/10;return React__default.default.createElement("div",{className:dom.getClassName("video-controller","time")},`${videoTimeFormat(e)} / -${videoTimeFormat(o)}`)},VideoPlay=e=>{const{playPause:t,isPlay:a}=e;return React__default.default.createElement("span",{onClick:()=>{t()},className:dom.getClassName("video-controller","playButton")},a?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null))},VideoController=e=>{var t,a;const{footer:o}=e,{playPause:l,isPlay:s,addTime:r,toggleClipStatus:d}=React__default.default.useContext(index.VideoPlayerCtx),{result:n}=React.useContext(VideoClipToolContext.VideoClipToolContext),c=(a=(t=n==null?void 0:n.filter(N=>N.end!==null))==null?void 0:t.length)!=null?a:0,{t:u}=reactI18next.useTranslation(),i=React__default.default.createElement(VideoProgress,null),m=React__default.default.createElement(VideoPlay,{playPause:l,isPlay:s}),f=React__default.default.createElement(VideoTime,null),v=React__default.default.createElement(VideoSpeedButton,null),p=React__default.default.createElement(VideoPageChange,null),C=React__default.default.createElement(VideoHotKeys,null),g=React__default.default.createElement(index$1,{addTime:r,toggleClipStatus:d}),y=React__default.default.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${u("ItemsOfThisPage")}: ${c}`);return o?typeof o=="function"?o({videoProgress:i,videoPlayIcon:m,videoTime:f,videoSpeed:v,videoPageChange:p,videoHotKeys:C,videoClipHotKey:g,videoResultCount:y}):o:React__default.default.createElement("div",{className:dom.getClassName("video-controller","wrapper")},i,React__default.default.createElement("div",{className:dom.getClassName("video-controller")},m,f,v,g,React__default.default.createElement("div",{className:dom.getClassName("video-controller","holder")}),y,p,C))};exports.default=VideoController,exports.videoTimeFormat=videoTimeFormat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import r,{useState as j,useEffect as C}from"react";import{Tag as O}from"antd";import{EDataFormatType as v,ELLMDataType as w,prefix as S}from"../../../constant/index.js";import b from"classnames";import{I18nextProvider as N,useTranslation as $}from"react-i18next";import{i18n as _}from"@labelbee/lb-utils";import D from"../../markdownView/index.js";import k from"../modelAPIView/index.js";import R from"../../diffMatchPatchComponent/index.js";import F from"./components/header/index.js";import q from"./components/imgView/index.js";import{isString as B}from"lodash";var H=Object.defineProperty,E=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,g=(e,t,n)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K=(e,t)=>{for(var n in t||(t={}))Q.call(t,n)&&g(e,n,t[n]);if(E)for(var n of E(t))W.call(t,n)&&g(e,n,t[n]);return e};const l=`${S}-LLMView`,z=({i:e,dataFormatType:t,isTextControl:n})=>{var i;return t===v.Markdown?r.createElement(D,{value:(i=e==null?void 0:e.newAnswer)!=null?i:e==null?void 0:e.answer}):n?r.createElement("div",{style:{width:"100%",overflowWrap:"break-word"}},r.createElement(R,{originString:e==null?void 0:e.answer,currentString:e==null?void 0:e.newAnswer})):r.createElement("div",{style:{whiteSpace:"pre-wrap"}},e==null?void 0:e.answer)},G=e=>{var t,n;const{hoverKey:i,answerList:d,question:m,lang:u,modelAPIResponse:x,setModelAPIResponse:y,checkMode:P=!0,LLMConfig:a,answerHeaderSlot:h}=e,[c,I]=j(v.Default),
|
|
1
|
+
import r,{useState as j,useEffect as C}from"react";import{Tag as O}from"antd";import{EDataFormatType as v,ELLMDataType as w,prefix as S}from"../../../constant/index.js";import b from"classnames";import{I18nextProvider as N,useTranslation as $}from"react-i18next";import{i18n as _}from"@labelbee/lb-utils";import D from"../../markdownView/index.js";import k from"../modelAPIView/index.js";import R from"../../diffMatchPatchComponent/index.js";import F from"./components/header/index.js";import q from"./components/imgView/index.js";import{isString as B}from"lodash";var H=Object.defineProperty,E=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,g=(e,t,n)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,K=(e,t)=>{for(var n in t||(t={}))Q.call(t,n)&&g(e,n,t[n]);if(E)for(var n of E(t))W.call(t,n)&&g(e,n,t[n]);return e};const l=`${S}-LLMView`,z=({i:e,dataFormatType:t,isTextControl:n})=>{var i;return t===v.Markdown?r.createElement(D,{value:(i=e==null?void 0:e.newAnswer)!=null?i:e==null?void 0:e.answer}):n?r.createElement("div",{style:{width:"100%",overflowWrap:"break-word"}},r.createElement(R,{originString:e==null?void 0:e.answer,currentString:e==null?void 0:e.newAnswer})):r.createElement("div",{style:{whiteSpace:"pre-wrap"}},(e==null?void 0:e.newAnswer)||(e==null?void 0:e.answer))},G=e=>{var t,n;const{hoverKey:i,answerList:d,question:m,lang:u,modelAPIResponse:x,setModelAPIResponse:y,checkMode:P=!0,LLMConfig:a,answerHeaderSlot:h}=e,[c,I]=j(v.Default),A=((t=a==null?void 0:a.dataType)==null?void 0:t.prompt)===w.Picture,M=((n=a==null?void 0:a.dataType)==null?void 0:n.response)===w.Picture,{t:T}=$();C(()=>{var o;u&&((o=_)==null||o.changeLanguage(u))},[]);const V=o=>{var s;return(a==null?void 0:a.isTextEdit)?!!((s=((a==null?void 0:a.textEdit)||[]).filter(f=>(f==null?void 0:f.title)===o.order)[0])==null?void 0:s.textControl):!1},L=r.createElement("div",null,d.map((o,s)=>{const p=V(o);return r.createElement("div",{className:b({[`${l}__content`]:!0,[`${l}__contentActive`]:i===(o==null?void 0:o.order)}),key:s},r.createElement(O,{className:`${l}__tag`},o==null?void 0:o.order),r.createElement(z,{i:o,isTextControl:p,dataFormatType:c}))}),B(m)&&r.createElement(k,{dataFormatType:c,modelAPIResponse:x,question:m,setModelAPIResponse:y,checkMode:P,annotation:e.annotation}));return r.createElement("div",{className:l},r.createElement(F,{question:m,dataFormatType:c,setDataFormatType:I,isImg:A}),r.createElement("div",{className:`${l}__textBox`},r.createElement("div",{className:`${l}__title`},T("Answer")," ",h),M?r.createElement(q,{hoverKey:i,answerList:d}):L))},J=e=>r.createElement(N,{i18n:_},r.createElement(G,K({},e)));export{l as LLMViewCls,J as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{MathUtils as I,CommonToolUtils as V,uuid as w,AttributeUtils as k}from"@labelbee/lb-annotation";import{jsonParser as T}from"../../../utils/index.js";import{precisionAdd as D,precisionMinus as j,isImageValue as B}from"../../../utils/audio.js";import{message as f}from"antd";import y from"lodash";import v from"react";import A from"./index.module.scss.js";import{VideoClipToolContextProvider as M}from"./VideoClipToolContext.js";import{EClipStatus as d,ETimeSliceType as x,PER_SLICE_CHANGE as b,SLICE_MIN_TIME as C}from"./constant.js";import{VideoPlayer as N}from"../../videoPlayer/index.js";import U from"./components/videoTimeSlicesOverVideo/index.js";import J from"../../../assets/annotation/video/icon_videoCutting.svg.js";import{decimalReserved as F}from"../../videoPlayer/utils.js";var $=Object.defineProperty,z=Object.defineProperties,G=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,O=(c,s,t)=>s in c?$(c,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[s]=t,q=(c,s)=>{for(var t in s||(s={}))H.call(s,t)&&O(c,t,s[t]);if(L)for(var t of L(s))W.call(s,t)&&O(c,t,s[t]);return c},K=(c,s)=>z(c,G(s));class Q extends v.Component{constructor(s){super(s);this.fns=new Map,this.throttledUpdateTime=y.throttle(t=>{this.videoPlayer.currentTime=t},100,{trailing:!0}),this.stepInfo=()=>this.props.stepInfo,this.emitEvent=t=>{const e=this.fns.get(t);e&&e.forEach(i=>{i&&i()})},this.setValid=t=>{this.setState({valid:t}),t===!1&&(this.clearResult(),this.updateSidebar())},this.updateSidebar=()=>{this.emitEvent("changeClipSidebar"),this.emitEvent("updateTextAttribute"),this.emitEvent("changeAttributeSidebar")},this.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(r=>r.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===d.Clipping){f.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:o,type:l}=this.state.result[this.selectedSliceIndex],n=I.withinRange(D(o,t),[0,j(l===x.Time?r:a,b)]);this.updateSelectedSliceTimeProperty(n,"start")}},this.updateSelectedSliceTimeEndByPer=t=>{var e,i;if(this.state.clipStatus===d.Clipping){f.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u7ED3\u675F\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(r.type===x.Time){f.info("\u65F6\u95F4\u70B9\u4EC5\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}const{end:o,start:l}=r,n=I.withinRange(D(o,t),[D(l,b),a]);this.updateSelectedSliceTimeProperty(n,"end")}},this.updateSelectedSliceTimeProperty=(t,e)=>{if(this.selectedSliceIndex>-1){const{result:i}=this.state;i[this.selectedSliceIndex][e]=t,this.setState({result:y.cloneDeep(i)}),this.updateSidebar()}},this.keyDownEvents=t=>{if(!V.hotkeyFilter(t))return;const e=t.target;switch(e&&(e==null?void 0:e.tag)==="INPUT"&&(e==null?void 0:e.type)==="radio"&&t.preventDefault(),t.key.toLocaleLowerCase()){case"x":this.toggleClipStatus();break;case"e":this.addTime();break;case"escape":this.cancelClipped();break;case"-":this.updateSelectedSliceTimeStartByPer(-b);break;case"=":this.updateSelectedSliceTimeStartByPer(b);break;case"[":this.updateSelectedSliceTimeEndByPer(-b);break;case"]":this.updateSelectedSliceTimeEndByPer(b);break}},this.videoLoaded=t=>{var e;const i=this.resultJSON,r=i&&!["","{}"].includes(i),a=t?parseFloat(t.toFixed(2)):0,o={loading:!1};((e=T(i))==null?void 0:e.duration)||Object.assign(o,{result:JSON.stringify(K(q({},T(i)),{duration:a}))}),r||Object.assign(o,{result:JSON.stringify({width:0,height:0,rotate:0,valid:!0,duration:a})}),this.setState({loading:!1})},this.setVideoError=(t,e,i)=>{if(t){const{clipStatus:r}=this.state;r===d.Clipping&&this.toggleClipStatus(i)}this.setState({videoError:t,loading:!1})},this.clearResult=()=>{this.setState({result:[],selectedID:"",textValue:""}),this.updateSidebar()},this.cancelClipped=()=>{const{result:t,selectedID:e,clipStatus:i}=this.state;if(i!==d.Clipping)return;const r=t.findIndex(a=>a.id===e);r>-1&&(t.splice(r,1),this.setState({result:t,selectedID:"",clipStatus:d.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,r;if(this.disabled)return;const{clipStatus:a,selectedAttribute:o}=this.state,l=a!==d.Clipping;let n=l?d.Clipping:d.Stop,{result:u,selectedID:p,textValue:S}=this.state;const h=y.cloneDeep(u),m=t||((e=this.videoPlayer)==null?void 0:e.currentTime),_=(i=this.videoPlayer)==null?void 0:i.duration;if(_===void 0||m===void 0)return;const R=F(m,2);if(l){const g=w();p=g,h.push({start:R,end:null,attribute:o,textAttribute:this.defaultTextAttribute,duration:_,id:g,type:x.Period}),S=this.defaultTextAttribute}else{const g=h.findIndex(P=>P.id===p),E=h[g];E&&(m-E.start<C?(h.splice(g,1),f.info(`\u622A\u53D6\u7247\u6BB5\u4E0D\u80FD\u77ED\u4E8E${C}s`),n=d.Stop,p="",S=""):(h[g].end=F(m,2),(r=this.videoPlayer)==null||r.pause(),f.success(`\u5DF2\u622A\u53D6\u7247\u6BB5${u.length}`)))}this.setState({clipStatus:n,result:h,selectedID:p,textValue:S}),this.updateSidebar()},this.addTime=()=>{var t,e,i,r;if(this.disabled)return;const{result:a,selectedAttribute:o,selectedID:l}=this.state,n=w(),u=y.cloneDeep(a),p=((t=this.videoPlayer)==null?void 0:t.currentTime)||0;u.push({start:p,end:p,attribute:o,textAttribute:this.defaultTextAttribute,id:n,type:x.Time,duration:(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0});const S={result:u,selectedID:n,textValue:this.defaultTextAttribute},h=u.find(m=>m.id===l);this.isClipping&&h?(delete S.selectedID,delete S.textValue,f.success(`\u5DF2\u622A\u53D6\u65F6\u95F4\u70B9${u.length-1}`)):(r=this.videoPlayer)==null||r.pause(),this.setState(S),this.updateSidebar()},this.updateCurrentTime=t=>{this.setState({currentTime:t})},this.contextToCancel=t=>{this.state.clipStatus===d.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var r,a;const{result:o}=this.state,l=o.find(n=>n.id===t);if(l){const n=l.duration,u=e==="left",p=u?"start":"end",S=u?-n*i:n*i,h=u?[0,Math.max(((r=l.end)!=null?r:0)-C,0)]:[l.start+C,n],m=I.withinRange(S+((a=l==null?void 0:l[p])!=null?a:0),h);l[p]=m,this.throttledUpdateTime(m)}this.setState({result:[...o]}),this.updateSidebar()},this.renderMediaContent=()=>{var t;const{pageForward:e,pageJump:i,pageBackward:r}=this.props,{result:a,videoError:o,valid:l,currentTime:n}=this.state;return v.createElement("div",{className:A.clipContainer},v.createElement(N,{imgIndex:this.props.imgIndex,imgList:this.props.imgList,pageBackward:r,pageForward:e,pageJump:i,valid:l,setVideoRef:u=>{this.videoPlayer=u},showVideoTrack:!o,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded,toggleClipStatus:this.toggleClipStatus,addTime:this.addTime,updateCurrentTime:this.updateCurrentTime}),v.createElement(U,{key:(t=this.videoPlayer)==null?void 0:t.currentTime,result:a,currentTime:n,attributeList:this.props.config.attributeList,extraStyle:{top:this.props.drawLayerSlot?40:0}}),this.isClipping&&v.createElement("i",{className:A.clipping,style:{backgroundImage:J}}))},this.onSelectedTimeSlice=t=>{var e;this.isClipping||(this.setState({selectedID:t.id,selectedAttribute:t.attribute,textValue:t.textAttribute}),this.updateSidebar(),(e=this.videoPlayer)==null||e.pause(),this.videoPlayer.currentTime=t.start)},this.removeTimeSlice=t=>{const{result:e}=this.state,i=this.state.selectedID===t.id?"":this.state.selectedID,r=e.findIndex(a=>a.id===t.id);r>-1&&(e.splice(r,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:r}=e;if(!r[i])return;const o=T(r[i].result)[`step_${this.stepInfo().step}`],l=(o==null?void 0:o.result)||[],n=B(r[i].result||"[]");this.setState({result:l,loading:t,selectedID:"",textValue:"",selectedAttribute:"",clipStatus:d.Stop,valid:n},()=>{this.updateSidebar(),n||f.info("\u65E0\u6548\u89C6\u9891\uFF0C\u8BF7\u8DF3\u8FC7")})}catch(i){console.error("\u6570\u636E\u89E3\u6790\u5931\u8D25"),this.setState({result:[],loading:!1,selectedID:"",textValue:"",selectedAttribute:"",valid:!0},()=>{this.updateSidebar()})}},this.setDefaultAttribute=t=>{const{result:e,selectedID:i}=this.state,r=e.find(a=>a.id===i);r&&i&&(r.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.textChange=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const r=e.find(a=>a.id===i);r&&(r.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:d.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var s;const{imgIndex:t,imgList:e}=this.props;return((s=e[t])==null?void 0:s.url)||""}get isClipping(){return this.state.clipStatus===d.Clipping}get resultJSON(){const{imgIndex:s,imgList:t}=this.props;return t.length===0||!t[s]?"[]":t[s].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return k.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedID(){return this.state.selectedID}get selectedSliceIndex(){return this.state.result.findIndex(s=>s.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}get config(){var s;return T((s=this.props.stepInfo)==null?void 0:s.config)}get selectedText(){var s,t;return(t=(s=this.state.result)==null?void 0:s[this.selectedSliceIndex])==null?void 0:t.textAttribute}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(s,t){const e=s.imgIndex-this.props.imgIndex,i=s.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,s),i!==0&&this.setState({loading:!1})),!0}singleOn(s,t){this.fns.set(s,[t])}on(s,t){this.singleOn(s,t)}unbindAll(s){this.fns.delete(s)}render(){const{selectedID:s,result:t,clipStatus:e,selectedAttribute:i}=this.state;return v.createElement(M,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:s,attributeList:this.props.config.attributeList,clipStatus:e,selectedAttribute:i,contextToCancel:this.contextToCancel}},this.renderMediaContent())}}export{Q as default};
|
|
1
|
+
import{MathUtils as I,CommonToolUtils as V,uuid as w,AttributeUtils as k}from"@labelbee/lb-annotation";import{jsonParser as T}from"../../../utils/index.js";import{precisionAdd as D,precisionMinus as j,isImageValue as B}from"../../../utils/audio.js";import{message as f}from"antd";import y from"lodash";import v from"react";import A from"./index.module.scss.js";import{VideoClipToolContextProvider as M}from"./VideoClipToolContext.js";import{EClipStatus as d,ETimeSliceType as x,PER_SLICE_CHANGE as b,SLICE_MIN_TIME as C}from"./constant.js";import{VideoPlayer as N}from"../../videoPlayer/index.js";import U from"./components/videoTimeSlicesOverVideo/index.js";import J from"../../../assets/annotation/video/icon_videoCutting.svg.js";import{decimalReserved as F}from"../../videoPlayer/utils.js";var $=Object.defineProperty,z=Object.defineProperties,G=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,O=(c,s,t)=>s in c?$(c,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[s]=t,q=(c,s)=>{for(var t in s||(s={}))H.call(s,t)&&O(c,t,s[t]);if(L)for(var t of L(s))W.call(s,t)&&O(c,t,s[t]);return c},K=(c,s)=>z(c,G(s));class Q extends v.Component{constructor(s){super(s);this.fns=new Map,this.throttledUpdateTime=y.throttle(t=>{this.videoPlayer.currentTime=t},100,{trailing:!0}),this.stepInfo=()=>this.props.stepInfo,this.emitEvent=t=>{const e=this.fns.get(t);e&&e.forEach(i=>{i&&i()})},this.setValid=t=>{this.setState({valid:t}),t===!1&&(this.clearResult(),this.updateSidebar())},this.updateSidebar=()=>{this.emitEvent("changeClipSidebar"),this.emitEvent("updateTextAttribute"),this.emitEvent("changeAttributeSidebar")},this.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(r=>r.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===d.Clipping){f.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:o,type:l}=this.state.result[this.selectedSliceIndex],n=I.withinRange(D(o,t),[0,j(l===x.Time?r:a,b)]);this.updateSelectedSliceTimeProperty(n,"start")}},this.updateSelectedSliceTimeEndByPer=t=>{var e,i;if(this.state.clipStatus===d.Clipping){f.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u7ED3\u675F\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const r=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(r.type===x.Time){f.info("\u65F6\u95F4\u70B9\u4EC5\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}const{end:o,start:l}=r,n=I.withinRange(D(o,t),[D(l,b),a]);this.updateSelectedSliceTimeProperty(n,"end")}},this.updateSelectedSliceTimeProperty=(t,e)=>{if(this.selectedSliceIndex>-1){const{result:i}=this.state;i[this.selectedSliceIndex][e]=t,this.setState({result:y.cloneDeep(i)}),this.updateSidebar()}},this.keyDownEvents=t=>{if(!V.hotkeyFilter(t))return;const e=t.target;switch(e&&(e==null?void 0:e.tag)==="INPUT"&&(e==null?void 0:e.type)==="radio"&&t.preventDefault(),t.key.toLocaleLowerCase()){case"x":this.toggleClipStatus();break;case"e":this.addTime();break;case"escape":this.cancelClipped();break;case"-":this.updateSelectedSliceTimeStartByPer(-b);break;case"=":this.updateSelectedSliceTimeStartByPer(b);break;case"[":this.updateSelectedSliceTimeEndByPer(-b);break;case"]":this.updateSelectedSliceTimeEndByPer(b);break}},this.videoLoaded=t=>{var e;const i=this.resultJSON,r=i&&!["","{}"].includes(i),a=t?parseFloat(t.toFixed(2)):0,o={loading:!1};((e=T(i))==null?void 0:e.duration)||Object.assign(o,{result:JSON.stringify(K(q({},T(i)),{duration:a}))}),r||Object.assign(o,{result:JSON.stringify({width:0,height:0,rotate:0,valid:!0,duration:a})}),this.setState({loading:!1})},this.setVideoError=(t,e,i)=>{if(t){const{clipStatus:r}=this.state;r===d.Clipping&&this.toggleClipStatus(i)}this.setState({videoError:t,loading:!1})},this.clearResult=()=>{this.setState({result:[],selectedID:"",textValue:""}),this.updateSidebar()},this.cancelClipped=()=>{const{result:t,selectedID:e,clipStatus:i}=this.state;if(i!==d.Clipping)return;const r=t.findIndex(a=>a.id===e);r>-1&&(t.splice(r,1),this.setState({result:t,selectedID:"",clipStatus:d.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,r;if(this.disabled)return;const{clipStatus:a,selectedAttribute:o}=this.state,l=a!==d.Clipping;let n=l?d.Clipping:d.Stop,{result:u,selectedID:p,textValue:S}=this.state;const h=y.cloneDeep(u),m=t||((e=this.videoPlayer)==null?void 0:e.currentTime),_=(i=this.videoPlayer)==null?void 0:i.duration;if(_===void 0||m===void 0)return;const R=F(m,2);if(l){const g=w();p=g,h.push({start:R,end:null,attribute:o,textAttribute:this.defaultTextAttribute,duration:_,id:g,type:x.Period}),S=this.defaultTextAttribute}else{const g=h.findIndex(P=>P.id===p),E=h[g];E&&(m-E.start<C?(h.splice(g,1),f.info(`\u622A\u53D6\u7247\u6BB5\u4E0D\u80FD\u77ED\u4E8E${C}s`),n=d.Stop,p="",S=""):(h[g].end=F(m,2),(r=this.videoPlayer)==null||r.pause(),f.success(`\u5DF2\u622A\u53D6\u7247\u6BB5${u.length}`)))}this.setState({clipStatus:n,result:h,selectedID:p,textValue:S}),this.updateSidebar()},this.addTime=()=>{var t,e,i,r;if(this.disabled)return;const{result:a,selectedAttribute:o,selectedID:l}=this.state,n=w(),u=y.cloneDeep(a),p=((t=this.videoPlayer)==null?void 0:t.currentTime)||0;u.push({start:p,end:p,attribute:o,textAttribute:this.defaultTextAttribute,id:n,type:x.Time,duration:(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0});const S={result:u,selectedID:n,textValue:this.defaultTextAttribute},h=u.find(m=>m.id===l);this.isClipping&&h?(delete S.selectedID,delete S.textValue,f.success(`\u5DF2\u622A\u53D6\u65F6\u95F4\u70B9${u.length-1}`)):(r=this.videoPlayer)==null||r.pause(),this.setState(S),this.updateSidebar()},this.updateCurrentTime=t=>{this.setState({currentTime:t})},this.contextToCancel=t=>{this.state.clipStatus===d.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var r,a;const{result:o}=this.state,l=o.find(n=>n.id===t);if(l){const n=l.duration,u=e==="left",p=u?"start":"end",S=u?-n*i:n*i,h=u?[0,Math.max(((r=l.end)!=null?r:0)-C,0)]:[l.start+C,n],m=I.withinRange(S+((a=l==null?void 0:l[p])!=null?a:0),h);l[p]=m,this.throttledUpdateTime(m)}this.setState({result:[...o]}),this.updateSidebar()},this.renderMediaContent=()=>{var t;const{pageForward:e,pageJump:i,pageBackward:r}=this.props,{result:a,videoError:o,valid:l,currentTime:n}=this.state;return v.createElement("div",{className:A.clipContainer},v.createElement(N,{imgIndex:this.props.imgIndex,imgList:this.props.imgList,pageBackward:r,pageForward:e,pageJump:i,valid:l,setVideoRef:u=>{this.videoPlayer=u},showVideoTrack:!o,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded,toggleClipStatus:this.toggleClipStatus,addTime:this.addTime,updateCurrentTime:this.updateCurrentTime}),v.createElement(U,{key:(t=this.videoPlayer)==null?void 0:t.currentTime,result:a,currentTime:n,attributeList:this.props.config.attributeList,extraStyle:{top:this.props.drawLayerSlot?40:0}}),this.isClipping&&v.createElement("i",{className:A.clipping,style:{backgroundImage:J}}))},this.onSelectedTimeSlice=t=>{var e;this.isClipping||(this.setState({selectedID:t.id,selectedAttribute:t.attribute,textValue:t.textAttribute,currentTime:t.start}),this.updateSidebar(),(e=this.videoPlayer)==null||e.pause(),this.videoPlayer.currentTime=t.start)},this.removeTimeSlice=t=>{const{result:e}=this.state,i=this.state.selectedID===t.id?"":this.state.selectedID,r=e.findIndex(a=>a.id===t.id);r>-1&&(e.splice(r,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:r}=e;if(!r[i])return;const o=T(r[i].result)[`step_${this.stepInfo().step}`],l=(o==null?void 0:o.result)||[],n=B(r[i].result||"[]");this.setState({result:l,loading:t,selectedID:"",textValue:"",selectedAttribute:"",clipStatus:d.Stop,valid:n},()=>{this.updateSidebar(),n||f.info("\u65E0\u6548\u89C6\u9891\uFF0C\u8BF7\u8DF3\u8FC7")})}catch(i){console.error("\u6570\u636E\u89E3\u6790\u5931\u8D25"),this.setState({result:[],loading:!1,selectedID:"",textValue:"",selectedAttribute:"",valid:!0},()=>{this.updateSidebar()})}},this.setDefaultAttribute=t=>{const{result:e,selectedID:i}=this.state,r=e.find(a=>a.id===i);r&&i&&(r.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.textChange=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const r=e.find(a=>a.id===i);r&&(r.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:d.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var s;const{imgIndex:t,imgList:e}=this.props;return((s=e[t])==null?void 0:s.url)||""}get isClipping(){return this.state.clipStatus===d.Clipping}get resultJSON(){const{imgIndex:s,imgList:t}=this.props;return t.length===0||!t[s]?"[]":t[s].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return k.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedID(){return this.state.selectedID}get selectedSliceIndex(){return this.state.result.findIndex(s=>s.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}get config(){var s;return T((s=this.props.stepInfo)==null?void 0:s.config)}get selectedText(){var s,t;return(t=(s=this.state.result)==null?void 0:s[this.selectedSliceIndex])==null?void 0:t.textAttribute}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(s,t){const e=s.imgIndex-this.props.imgIndex,i=s.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,s),i!==0&&this.setState({loading:!1})),!0}singleOn(s,t){this.fns.set(s,[t])}on(s,t){this.singleOn(s,t)}unbindAll(s){this.fns.delete(s)}render(){const{selectedID:s,result:t,clipStatus:e,selectedAttribute:i}=this.state;return v.createElement(M,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:s,attributeList:this.props.config.attributeList,clipStatus:e,selectedAttribute:i,contextToCancel:this.contextToCancel}},this.renderMediaContent())}}export{Q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import h from"react";import{TagUtils as p,CommonToolUtils as f,uuid as y}from"@labelbee/lb-annotation";import{jsonParser as c}from"../../../utils/index.js";import{VideoPlayer as L}from"../../videoPlayer/index.js";import{VideoTagLayer as R}from"../../videoPlayer/VideoTagLayer.js";import g from"lodash";import{getKeyCodeNumber as b}from"../../videoPlayer/utils.js";class S extends h.Component{constructor(i){super(i);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const l=e?this.state.tagResult.map(s=>((s==null?void 0:s.result[e])&&delete s.result[e],s)):[];this.setState({tagResult:l},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,l,s,n,o,r;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(l=this.videoPlayer)==null?void 0:l.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,v=(n=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?n:0,m=(r=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?r:0;return[this.state.tagResult,{valid:this.state.valid,duration:a,frames:u,videoWidth:v,videoHeight:m}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var l,s;const{isMulti:n}=t,{key:o,value:r}=t.value;if(n){let a=(s=(l=e[o])==null?void 0:l.split(";"))!=null?s:[];a.includes(r)?a=a.filter(u=>u!==r):a.push(r);const d=new Set(a);return e[o]=Array.from(d).join(";"),g.pickBy(e,u=>u)}return e[o]=e[o]===r?void 0:r,g.pickBy(e,a=>a)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{var e;const l=b(t.keyCode);if(l){const s=l-1;if(((e=this.config.inputList)==null?void 0:e.length)===1){this.labelSelectedList=[0,s],this.setLabel(0,s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],s],this.setLabel(this.labelSelectedList[0],s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[s],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:l,
|
|
1
|
+
import h from"react";import{TagUtils as p,CommonToolUtils as f,uuid as y}from"@labelbee/lb-annotation";import{jsonParser as c}from"../../../utils/index.js";import{VideoPlayer as L}from"../../videoPlayer/index.js";import{VideoTagLayer as R}from"../../videoPlayer/VideoTagLayer.js";import g from"lodash";import{getKeyCodeNumber as b}from"../../videoPlayer/utils.js";class S extends h.Component{constructor(i){super(i);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const l=e?this.state.tagResult.map(s=>((s==null?void 0:s.result[e])&&delete s.result[e],s)):[];this.setState({tagResult:l},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,l,s,n,o,r;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(l=this.videoPlayer)==null?void 0:l.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,v=(n=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?n:0,m=(r=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?r:0;return[this.state.tagResult,{valid:this.state.valid,duration:a,frames:u,videoWidth:v,videoHeight:m}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var l,s;const{isMulti:n}=t,{key:o,value:r}=t.value;if(n){let a=(s=(l=e[o])==null?void 0:l.split(";"))!=null?s:[];a.includes(r)?a=a.filter(u=>u!==r):a.push(r);const d=new Set(a);return e[o]=Array.from(d).join(";"),g.pickBy(e,u=>u)}return e[o]=e[o]===r?void 0:r,g.pickBy(e,a=>a)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{var e;const l=b(t.keyCode);if(l){const s=l-1;if(((e=this.config.inputList)==null?void 0:e.length)===1){this.labelSelectedList=[0,s],this.setLabel(0,s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],s],this.setLabel(this.labelSelectedList[0],s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[s],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:l,stepInfo:s}=t;if(!e[l])return;const n=c(e[l].result),o=n[`step_${s.step}`],r=this.getInitResultList();this.setState({tagResult:o?o==null?void 0:o.result:r,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.emitEvent("render"))},this.getInitResultList=()=>{var t;return p.getDefaultTagResult((t=this.config.inputList)!=null?t:[],[])},this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var i;return c((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var i;return(i=this.state.tagResult[0])!=null?i:{}}get valid(){return this.state.valid}singleOn(i,t){this.fns[i]=t}on(i,t){this.singleOn(i,t)}unbindAll(i){delete this.fns[i]}getTagResultByCode(i,t){var e,l,s;try{const n=(l=(e=this.config)==null?void 0:e.inputList)!=null?l:[],o=(n==null?void 0:n.length)>1,r=t!==void 0?i:0,a=t!==void 0?t:i,d=o?n[r]:n[0],u=((s=d.subSelected)!=null?s:[])[a];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(i,t){var e,l,s,n;const o=this.getTagResultByCode(i,t);if(o){const r=this.combineResult(o,(l=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?l:{}),a=[{sourceID:f.getSourceID(),id:(n=(s=this.currentTagResult)==null?void 0:s.id)!=null?n:y(8,62),result:r}];this.setState({tagResult:a},()=>this.emitEvent("render"))}}componentDidMount(){document.addEventListener("keydown",this.keydown),this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){document.addEventListener("keydown",this.keydown),this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i;const{imgIndex:t,imgList:e,pageForward:l,pageJump:s,pageBackward:n}=this.props,{tagResult:o,valid:r}=this.state;return h.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},h.createElement(L,{imgIndex:t,imgList:e,pageBackward:n,pageForward:l,pageJump:s,valid:r,setVideoRef:a=>{this.videoPlayer=a},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),h.createElement(R,{result:o,inputList:(i=this.config)==null?void 0:i.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}export{S as TagToolInstanceAdaptor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import u from"react";import{jsonParser as v}from"../../../utils/index.js";import{VideoPlayer as
|
|
1
|
+
import u from"react";import{jsonParser as v}from"../../../utils/index.js";import{VideoPlayer as g}from"../../videoPlayer/index.js";import c from"lodash";import{VideoTextLayer as m}from"../../videoPlayer/VideoTextLayer.js";import{toolStyleConverter as y}from"@labelbee/lb-utils";class x extends u.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,s,o,l,r,n;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,p=(l=(o=this.videoPlayer)==null?void 0:o.videoWidth)!=null?l:0,f=(n=(r=this.videoPlayer)==null?void 0:r.videoHeight)!=null?n:0;return[[this.state.result],{valid:this.state.valid,duration:a,frames:h,videoWidth:p,videoHeight:f}]},this.toggleShowText=t=>{this.setState({showText:t})},this.singleOn=(t,e)=>{this.fns[t]=e},this.on=(t,e)=>{this.singleOn(t,e)},this.unbindAll=t=>{delete this.fns[t]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,e,s,o)=>{var l;const r=c.cloneDeep(o!=null?o:{});r.value=Object.assign((l=r.value)!=null?l:{},{[t]:e}),this.setState({result:r},()=>s&&this.updateSidebar())},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e,s;const{imgList:o,imgIndex:l,stepInfo:r}=t;if(!o[l])return;const n=v(o[l].result),a=n[`step_${r.step}`],d={value:this.getInitTextValue()};this.setState({result:a?(s=(e=a==null?void 0:a.result)==null?void 0:e[0])!=null?s:{}:d,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.updateSidebar())},this.getInitTextValue=()=>{let t={};return this.config.configList.forEach(e=>{var s;t[e.key]=(s=e.default)!=null?s:""}),t},this.state={result:{},valid:!0,showText:!0}}get config(){var i;return v((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get needConfirm(){var i;const{result:t}=this.state;return(i=this.config.configList)==null?void 0:i.some(e=>e.required&&!(t==null?void 0:t.value[e.key]))}get textList(){return[this.state.result]}getColor(i=this.config,t=""){return y.getColorByConfig({attribute:t,config:i})}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i,t;const{imgIndex:e,imgList:s,pageForward:o,pageJump:l,pageBackward:r}=this.props,{result:n,valid:a,showText:d}=this.state;return u.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&n.value&&u.createElement(m,{value:n.value,toolColor:(t=(i=this.getColor(this.config))==null?void 0:i.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),u.createElement(g,{imgIndex:e,imgList:s,pageBackward:r,pageForward:o,pageJump:l,valid:a,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}export{x as VideoTextTool};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e,{useContext as $,useMemo as w}from"react";import{getClassName as l}from"../../../../utils/dom.js";import{CaretUpOutlined as b,CaretDownOutlined as j,PauseOutlined as H,CaretRightOutlined as R}from"@ant-design/icons";import{VideoPlayerCtx as d}from"../../index.js";import{Pagination as S}from"../../../../views/MainView/toolFooter/Pagination.js";import
|
|
1
|
+
import e,{useContext as $,useMemo as w}from"react";import{getClassName as l}from"../../../../utils/dom.js";import{CaretUpOutlined as b,CaretDownOutlined as j,PauseOutlined as H,CaretRightOutlined as R}from"@ant-design/icons";import{VideoPlayerCtx as d}from"../../index.js";import{Pagination as S}from"../../../../views/MainView/toolFooter/Pagination.js";import M from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import F from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as f}from"react-i18next";import{decimalReserved as g}from"../../utils.js";import{cTool as K}from"@labelbee/lb-annotation";import O from"../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js";import{VideoClipToolContext as A}from"../../../videoAnnotate/videoClipTool/VideoClipToolContext.js";const{EVideoToolName:B}=K,C=t=>{const o=Math.floor(t/60),n=~~Math.floor(t%60),r=(t*10).toString().split("").pop(),i=a=>a<10?`0${a}`:a;return`${i(o)}:${i(n)}:${r}`};var E;(function(t){t[t.Video=0]="Video",t[t.Audio=1]="Audio"})(E||(E={}));const I=()=>{const{currentTime:t,duration:o,buffered:n,setCurrentTime:r}=e.useContext(d),i=e.useRef(null),a=w(()=>`${g(n/o*100,1)}%`,[n,o]),c=w(()=>`${g(t/o*100,1)}%`,[t,o]),u=s=>{if(i.current){const p=s.clientX,v=i.current.clientWidth,m=g(p/v*o,1);r(m)}};return e.createElement("div",{className:l("video-progress"),ref:i,onMouseUp:s=>{s.stopPropagation(),s.nativeEvent.stopImmediatePropagation(),u(s)}},e.createElement("div",{className:l("video-slider")},e.createElement("div",{className:l("video-slider","played"),style:{width:c}}),e.createElement("div",{className:l("video-slider","loaded"),style:{width:a}}),e.createElement("div",{className:l("video-slider","played"),style:{width:c}})),e.createElement("div",{className:l("video-slider-bar"),style:{left:c}}))},_=()=>{const{updateNextPlaybackRate:t,playbackRate:o}=e.useContext(d),{t:n}=f();return e.createElement("span",{className:l("video-controller","speed")},e.createElement("span",null,n("Speed")),e.createElement("span",{className:l("video-controller","speedNum")},`${o}x`),e.createElement("span",{className:l("video-controller","speedButton")},e.createElement(b,{onClick:()=>{t()}}),e.createElement(j,{onClick:()=>{t(!1)}})))},L=()=>{const{t}=f();return e.createElement(F,{title:e.createElement("span",{className:l("video-controller","hotkey")},e.createElement("img",{src:M}),t("Hotkeys")),style:{},toolName:B.VideoTagTool})},U=()=>{const{imgIndex:t,imgList:o,pageBackward:n,pageJump:r,pageForward:i}=e.useContext(d);return e.createElement(S,{isVideo:!0,pageBackward:n,imgIndex:t,pageJump:r,totalPage:o.length,pageForward:i,footerCls:l("video-controller")})},X=()=>{const{currentTime:t,duration:o}=e.useContext(d),n=o*10-t*10,r=(n>0?n:0)/10;return e.createElement("div",{className:l("video-controller","time")},`${C(t)} / -${C(r)}`)},z=t=>{const{playPause:o,isPlay:n}=t;return e.createElement("span",{onClick:()=>{o()},className:l("video-controller","playButton")},n?e.createElement(H,null):e.createElement(R,null))},D=t=>{var o,n;const{footer:r}=t,{playPause:i,isPlay:a,addTime:c,toggleClipStatus:u}=e.useContext(d),{result:s}=$(A),p=(n=(o=s==null?void 0:s.filter(k=>k.end!==null))==null?void 0:o.length)!=null?n:0,{t:v}=f(),m=e.createElement(I,null),y=e.createElement(z,{playPause:i,isPlay:a}),T=e.createElement(X,null),x=e.createElement(_,null),N=e.createElement(U,null),P=e.createElement(L,null),V=e.createElement(O,{addTime:c,toggleClipStatus:u}),h=e.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${v("ItemsOfThisPage")}: ${p}`);return r?typeof r=="function"?r({videoProgress:m,videoPlayIcon:y,videoTime:T,videoSpeed:x,videoPageChange:N,videoHotKeys:P,videoClipHotKey:V,videoResultCount:h}):r:e.createElement("div",{className:l("video-controller","wrapper")},m,e.createElement("div",{className:l("video-controller")},y,T,x,V,e.createElement("div",{className:l("video-controller","holder")}),h,N,P))};export{E as EPlayerType,D as default,C as videoTimeFormat};
|