@labelbee/lb-components 1.21.0-alpha.2 → 1.21.0-alpha.3
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/videoAnnotate/index.js +1 -1
- package/dist/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/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/dist/types/components/videoAnnotate/index.d.ts +2 -1
- package/dist/types/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.d.ts +8 -0
- package/dist/types/components/videoAnnotate/videoTextTool/index.d.ts +5 -4
- package/dist/views/MainView/sidebar/TagSidebar/index.js +1 -1
- package/dist/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
- package/es/components/videoAnnotate/index.js +1 -1
- package/es/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/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/es/views/MainView/sidebar/TagSidebar/index.js +1 -1
- package/es/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var React=require("react"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),Actions=require("../../store/Actions.js"),actionCreators=require("../../store/annotation/actionCreators.js"),TagToolInstanceAdaptor=require("./videoTagTool/TagToolInstanceAdaptor.js"),lbAnnotation=require("@labelbee/lb-annotation"),index=require("./videoClipTool/index.js"),StepUtils=require("../../utils/StepUtils.js"),index$2=require("../../utils/index.js"),index$1=require("./videoTextTool/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,r
|
|
1
|
+
"use strict";var React=require("react"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),Actions=require("../../store/Actions.js"),actionCreators=require("../../store/annotation/actionCreators.js"),TagToolInstanceAdaptor=require("./videoTagTool/TagToolInstanceAdaptor.js"),lbAnnotation=require("@labelbee/lb-annotation"),index=require("./videoClipTool/index.js"),StepUtils=require("../../utils/StepUtils.js"),index$2=require("../../utils/index.js"),index$1=require("./videoTextTool/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const{EVideoToolName}=lbAnnotation.cTool,VideoAnnotate=e=>{const{stepInfo:t,skipBeforePageTurning:r}=e,a=t==null?void 0:t.tool,o=ctx.useDispatch(),i=n=>{o({type:Actions.ANNOTATION_ACTIONS.SET_TOOL,payload:{instance:n}})},l=()=>{o({type:Actions.ANNOTATION_ACTIONS.SET_TOOL,payload:{instance:void 0}})},s=()=>{if(r){r(()=>o(actionCreators.PageBackward()));return}o(actionCreators.PageBackward())},u=()=>{if(r){r(()=>o(actionCreators.PageForward()));return}o(actionCreators.PageForward())};return a===EVideoToolName.VideoClipTool?React__default.default.createElement(index,__spreadProps(__spreadValues({},e),{pageBackward:s,pageForward:u,pageJump:n=>o(actionCreators.PageJump(~~n-1)),onMounted:i,onUnmounted:l})):a===EVideoToolName.VideoTextTool?React__default.default.createElement(index$1.VideoTextTool,__spreadProps(__spreadValues({},e),{pageBackward:s,pageForward:u,pageJump:n=>o(actionCreators.PageJump(~~n-1)),onMounted:i,onUnmounted:l})):a===EVideoToolName.VideoTagTool?React__default.default.createElement(TagToolInstanceAdaptor.TagToolInstanceAdaptor,__spreadProps(__spreadValues({},e),{pageBackward:s,pageForward:u,pageJump:n=>o(actionCreators.PageJump(~~n-1)),onMounted:i,onUnmounted:l})):null},mapStateToProps=e=>{var t,r,a,o,i;const{annotation:{imgList:l,imgIndex:s,step:u,stepList:n,loading:p,skipBeforePageTurning:f}}=e,d=StepUtils.getCurrentStepInfo((t=e.annotation)==null?void 0:t.step,(r=e.annotation)==null?void 0:r.stepList),c=(a=l[s])!=null?a:{};return{imgIndex:s,imgList:l,stepInfo:d,config:index$2.jsonParser(d==null?void 0:d.config),step:u,stepList:n,path:(i=(o=c==null?void 0:c.path)!=null?o:c==null?void 0:c.url)!=null?i:"",loading:p,skipBeforePageTurning:f}};var VideoAnnotate$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(VideoAnnotate);module.exports=VideoAnnotate$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var React=require("react"),index_module=require("./index.module.scss.js"),icon_videoCut=require("../../../../../assets/annotation/video/icon_videoCut.svg.js"),icon_timePoint=require("../../../../../assets/annotation/video/icon_timePoint.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const VideoClipToolHotkey=({toggleClipStatus:e,addTime:t})=>React__default.default.createElement("div",{className:index_module.clipToolbar},React__default.default.createElement("span",{className:index_module.buttonWrapper},React__default.default.createElement("
|
|
1
|
+
"use strict";var React=require("react"),index_module=require("./index.module.scss.js"),icon_videoCut=require("../../../../../assets/annotation/video/icon_videoCut.svg.js"),icon_timePoint=require("../../../../../assets/annotation/video/icon_timePoint.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const VideoClipToolHotkey=({toggleClipStatus:e,addTime:t})=>React__default.default.createElement("div",{className:index_module.clipToolbar},React__default.default.createElement("span",{className:index_module.buttonWrapper},React__default.default.createElement("img",{src:icon_videoCut,className:index_module.cutButton,onClick:()=>{e==null||e()}}),"\u622A\u53D6"),React__default.default.createElement("span",{className:index_module.buttonWrapper},React__default.default.createElement("img",{src:icon_timePoint,className:index_module.localButton,onClick:t}),"\u6807\u65F6\u95F4\u70B9"));module.exports=VideoClipToolHotkey;
|
|
@@ -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,r,t)=>r in d?__defProp(d,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[r]=t,__spreadValues=(d,r)=>{for(var t in r||(r={}))__hasOwnProp.call(r,t)&&__defNormalProp(d,t,r[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(r))__propIsEnum.call(r,t)&&__defNormalProp(d,t,r[t]);return d},__spreadProps=(d,r)=>__defProps(d,__getOwnPropDescs(r));class VideoClipTool extends React__default.default.Component{constructor(r){super(r);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.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(s=>s.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===constant.EClipStatus.Clipping){antd.message.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:u,type:l}=this.state.result[this.selectedSliceIndex],n=lbAnnotation.MathUtils.withinRange(audio.precisionAdd(u,t),[0,audio.precisionMinus(l===constant.ETimeSliceType.Time?s: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 s=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(s.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}=s,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,s=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}))}),s||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:s}=this.state;s===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 s=t.findIndex(a=>a.id===e);s>-1&&(t.splice(s,1),this.setState({result:t,selectedID:"",clipStatus:constant.EClipStatus.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,s;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),(s=this.videoPlayer)==null||s.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,s;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}`)):(s=this.videoPlayer)==null||s.pause(),this.setState(h),this.updateSidebar()},this.contextToCancel=t=>{this.state.clipStatus===constant.EClipStatus.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var s,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(((s=l.end)!=null?s: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=()=>{const{pageForward:t,pageJump:e,pageBackward:i}=this.props,{result:s,currentTime:a,videoError:u,valid:l}=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:i,pageForward:t,pageJump:e,valid:l,setVideoRef:n=>{this.videoPlayer=n},showVideoTrack:!u,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded}),React__default.default.createElement(index$2,{result:s,currentTime:a,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,s=e.findIndex(a=>a.id===t.id);s>-1&&(e.splice(s,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:s}=e;if(!s[i])return;const u=index.jsonParser(s[i].result)[`step_${this.stepInfo().step}`],l=(u==null?void 0:u.result)||[],n=audio.isImageValue(s[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,s=e.find(a=>a.id===i);s&&i&&(s.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.setTextAttribute=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const s=e.find(a=>a.id===i);s&&(s.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:constant.EClipStatus.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var r;const{imgIndex:t,imgList:e}=this.props;return((r=e[t])==null?void 0:r.url)||""}get isClipping(){return this.state.clipStatus===constant.EClipStatus.Clipping}get resultJSON(){const{imgIndex:r,imgList:t}=this.props;return t.length===0||!t[r]?"[]":t[r].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return lbAnnotation.AttributeUtils.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedSliceIndex(){return this.state.result.findIndex(r=>r.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(r,t){const e=r.imgIndex-this.props.imgIndex,i=r.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,r),i!==0&&this.setState({loading:!1})),!0}singleOn(r,t){this.fns.set(r,[t])}on(r,t){this.singleOn(r,t)}unbindAll(r){this.fns.delete(r)}render(){const{selectedID:r,result:t,clipStatus:e,selectedAttribute:i}=this.state;return React__default.default.createElement(VideoClipToolContext.VideoClipToolContextProvider,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:r,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,r,t)=>r in d?__defProp(d,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):d[r]=t,__spreadValues=(d,r)=>{for(var t in r||(r={}))__hasOwnProp.call(r,t)&&__defNormalProp(d,t,r[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(r))__propIsEnum.call(r,t)&&__defNormalProp(d,t,r[t]);return d},__spreadProps=(d,r)=>__defProps(d,__getOwnPropDescs(r));class VideoClipTool extends React__default.default.Component{constructor(r){super(r);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.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(s=>s.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===constant.EClipStatus.Clipping){antd.message.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:u,type:l}=this.state.result[this.selectedSliceIndex],n=lbAnnotation.MathUtils.withinRange(audio.precisionAdd(u,t),[0,audio.precisionMinus(l===constant.ETimeSliceType.Time?s: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 s=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(s.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}=s,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,s=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}))}),s||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:s}=this.state;s===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 s=t.findIndex(a=>a.id===e);s>-1&&(t.splice(s,1),this.setState({result:t,selectedID:"",clipStatus:constant.EClipStatus.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,s;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),g=(i=this.videoPlayer)==null?void 0:i.duration;if(g===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:g,id:f,type:constant.ETimeSliceType.Period}),h=this.defaultTextAttribute}else{const f=p.findIndex(m=>m.id===c),v=p[f];v&&(S-v.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),(s=this.videoPlayer)==null||s.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,s;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}`)):(s=this.videoPlayer)==null||s.pause(),this.setState(h),this.updateSidebar()},this.contextToCancel=t=>{this.state.clipStatus===constant.EClipStatus.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var s,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(((s=l.end)!=null?s: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=()=>{const{pageForward:t,pageJump:e,pageBackward:i}=this.props,{result:s,currentTime:a,videoError:u,valid:l}=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:i,pageForward:t,pageJump:e,valid:l,setVideoRef:n=>{this.videoPlayer=n},showVideoTrack:!u,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded,toggleClipStatus:this.toggleClipStatus,addTime:this.addTime}),React__default.default.createElement(index$2,{result:s,currentTime:a,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,s=e.findIndex(a=>a.id===t.id);s>-1&&(e.splice(s,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:s}=e;if(!s[i])return;const u=index.jsonParser(s[i].result)[`step_${this.stepInfo().step}`],l=(u==null?void 0:u.result)||[],n=audio.isImageValue(s[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,s=e.find(a=>a.id===i);s&&i&&(s.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.setTextAttribute=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const s=e.find(a=>a.id===i);s&&(s.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:constant.EClipStatus.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var r;const{imgIndex:t,imgList:e}=this.props;return((r=e[t])==null?void 0:r.url)||""}get isClipping(){return this.state.clipStatus===constant.EClipStatus.Clipping}get resultJSON(){const{imgIndex:r,imgList:t}=this.props;return t.length===0||!t[r]?"[]":t[r].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return lbAnnotation.AttributeUtils.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedSliceIndex(){return this.state.result.findIndex(r=>r.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(r,t){const e=r.imgIndex-this.props.imgIndex,i=r.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,r),i!==0&&this.setState({loading:!1})),!0}singleOn(r,t){this.fns.set(r,[t])}on(r,t){this.singleOn(r,t)}unbindAll(r){this.fns.delete(r)}render(){const{selectedID:r,result:t,clipStatus:e,selectedAttribute:i}=this.state;return React__default.default.createElement(VideoClipToolContext.VideoClipToolContextProvider,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:r,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(s){super(s);this.fns={},this.labelSelectedList=[],this.clearResult=(
|
|
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(s){super(s);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const i=e?this.state.tagResult.map(l=>((l==null?void 0:l.result[e])&&delete l.result[e],l)):[];this.setState({tagResult:i},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,i,l,n,r,a;const o=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(i=this.videoPlayer)==null?void 0:i.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,c=(n=(l=this.videoPlayer)==null?void 0:l.videoWidth)!=null?n:0,g=(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:g}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var i,l;const{isMulti:n}=t,{key:r,value:a}=t.value;if(n){let o=(l=(i=e[r])==null?void 0:i.split(";"))!=null?l:[];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=>{const e=utils.getKeyCodeNumber(t.keyCode);if(e){const i=e-1;if(this.config.inputList.length===1){this.labelSelectedList=[0,i],this.setLabel(0,i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],i],this.setLabel(this.labelSelectedList[0],i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[i],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:i,step:l}=t;if(!e[i])return;const n=index.jsonParser(e[i].result),r=n[`step_${l}`],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=()=>lbAnnotation.TagUtils.getDefaultTagResult(this.config.inputList,[]),this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var s;return index.jsonParser((s=this.props.stepInfo)==null?void 0:s.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var s;return(s=this.state.tagResult[0])!=null?s:{}}get valid(){return this.state.valid}singleOn(s,t){this.fns[s]=t}on(s,t){this.singleOn(s,t)}unbindAll(s){delete this.fns[s]}getTagResultByCode(s,t){var e,i,l;try{const n=(i=(e=this.config)==null?void 0:e.inputList)!=null?i:[],r=n.length>1,a=t!==void 0?s:0,o=t!==void 0?t:s,d=r?n[a]:n[0],u=((l=d.subSelected)!=null?l:[])[o];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(s,t){var e,i,l,n;const r=this.getTagResultByCode(s,t);if(r){const a=this.combineResult(r,(i=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?i:{}),o=[{sourceID:lbAnnotation.CommonToolUtils.getSourceID(),id:(n=(l=this.currentTagResult)==null?void 0:l.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(s){return s.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(s),!0}render(){var s;const{imgIndex:t,imgList:e,pageForward:i,pageJump:l,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:i,pageJump:l,valid:a,setVideoRef:o=>{this.videoPlayer=o},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),React__default.default.createElement(VideoTagLayer.VideoTagLayer,{result:r,inputList:(s=this.config)==null?void 0:s.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(
|
|
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(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}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,a,s,r,o,l;const d=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,u=(a=this.videoPlayer)==null?void 0:a.getVideoPlaybackQuality(),h=u==null?void 0:u.totalVideoFrames,v=(r=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?r:0,p=(l=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?l:0;return[[this.state.result],{valid:this.state.valid,duration:d,frames:h,videoWidth:v,videoHeight:p}]},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,a,s)=>{var r;const o=___default.default.cloneDeep(s!=null?s:{});o.value=Object.assign((r=o.value)!=null?r:{},{[t]:e}),this.setState({result:o},()=>a&&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,a;const{imgList:s,imgIndex:r,step:o}=t;if(!s[r])return;const l=index.jsonParser(s[r].result),d=l[`step_${o}`];this.setState({result:(a=(e=d==null?void 0:d.result)==null?void 0:e[0])!=null?a:{},valid:(l==null?void 0:l.valid)===void 0?!0:l.valid},()=>this.updateSidebar())},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:a,pageForward:s,pageJump:r,pageBackward:o}=this.props,{result:l,valid:d,showText:u}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},u&&l.value&&React__default.default.createElement(VideoTextLayer.VideoTextLayer,{value:l.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:a,pageBackward:o,pageForward:s,pageJump:r,valid:d,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).toFixed(),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,onClick: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(x=>x.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),
|
|
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).toFixed(),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,onClick: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(x=>x.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;
|
|
@@ -19,8 +19,9 @@ export interface IVideoAnnotateProps {
|
|
|
19
19
|
imgList: IFileItem[];
|
|
20
20
|
drawLayerSlot?: DrawLayerSlot;
|
|
21
21
|
footer?: any;
|
|
22
|
+
skipBeforePageTurning?: (pageTurning: Function) => void;
|
|
22
23
|
}
|
|
23
24
|
declare const _default: import("react-redux").ConnectedComponent<React.FC<IVideoAnnotateProps>, import("react-redux").Omit<IVideoAnnotateProps & {
|
|
24
25
|
children?: React.ReactNode;
|
|
25
|
-
}, "stepList" | "step" | "imgIndex" | "imgList" | "config" | "loading" | "path" | "stepInfo">>;
|
|
26
|
+
}, "stepList" | "step" | "imgIndex" | "imgList" | "config" | "skipBeforePageTurning" | "loading" | "path" | "stepInfo">>;
|
|
26
27
|
export default _default;
|
|
@@ -79,6 +79,14 @@ export declare class TagToolInstanceAdaptor extends React.Component<IVideoTagIns
|
|
|
79
79
|
componentDidMount(): void;
|
|
80
80
|
componentWillUnmount(): void;
|
|
81
81
|
setResultFromImgList: (props: IVideoTagInstanceAdaptorProps) => void;
|
|
82
|
+
/**
|
|
83
|
+
* 获取初始值结果列表
|
|
84
|
+
*/
|
|
85
|
+
getInitResultList: () => {
|
|
86
|
+
id: string;
|
|
87
|
+
sourceID: any;
|
|
88
|
+
result: any;
|
|
89
|
+
}[];
|
|
82
90
|
/** Observer imgIndex and set tagResult */
|
|
83
91
|
shouldComponentUpdate(props: IVideoTagInstanceAdaptorProps): boolean;
|
|
84
92
|
render(): React.JSX.Element;
|
|
@@ -25,6 +25,7 @@ export declare class VideoTextTool extends React.Component<IVideoTextInstanceAda
|
|
|
25
25
|
pushHistory: () => void;
|
|
26
26
|
};
|
|
27
27
|
get valid(): boolean;
|
|
28
|
+
get needConfirm(): any;
|
|
28
29
|
get textList(): any[];
|
|
29
30
|
getColor(config?: any, attribute?: string): any;
|
|
30
31
|
clearResult: (sendMsg?: boolean) => void;
|
|
@@ -36,12 +37,12 @@ export declare class VideoTextTool extends React.Component<IVideoTextInstanceAda
|
|
|
36
37
|
videoHeight: number;
|
|
37
38
|
})[];
|
|
38
39
|
toggleShowText: (v: boolean) => void;
|
|
39
|
-
singleOn(event: string, func: () => void)
|
|
40
|
-
on(event: string, func: () => void)
|
|
41
|
-
unbindAll(eventName: string)
|
|
40
|
+
singleOn: (event: string, func: () => void) => void;
|
|
41
|
+
on: (event: string, func: () => void) => void;
|
|
42
|
+
unbindAll: (eventName: string) => void;
|
|
42
43
|
emitEvent: (event: string) => void;
|
|
43
44
|
updateSidebar: () => void;
|
|
44
|
-
updateTextValue: (key: string, text: string, result?: {
|
|
45
|
+
updateTextValue: (key: string, text: string, update: boolean, result?: {
|
|
45
46
|
[key: string]: string;
|
|
46
47
|
} | undefined) => void;
|
|
47
48
|
setResult: (result: any) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$1=require("../../../../components/attributeList/index.js"),index=require("../../../../components/checkboxList/index.js"),icons=require("@ant-design/icons"),es=require("antd/es"),_=require("lodash"),React=require("react"),icon_clearSmall=require("../../../../assets/annotation/common/icon_clearSmall.svg.js"),icon_clearSmall_a=require("../../../../assets/annotation/common/icon_clearSmall_a.svg.js"),lbAnnotation=require("@labelbee/lb-annotation"),reactRedux=require("react-redux"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{Panel}=es.Collapse,expandIconFuc=({isActive:e})=>React__default.default.createElement(icons.CaretRightOutlined,{rotate:e?90:0}),TagSidebar=({toolInstance:e,imgIndex:C})=>{const[u,v]=React.useState([]),s=React.useRef(null),[,q]=React.useState(0),[R,f]=React.useState(-1),{t:m}=reactI18next.useTranslation();React.useEffect(()=>{e&&(v(e.config.inputList.map(t=>t.value)),e.singleOn("render",()=>{q(t=>t+1)}))},[e]),React.useEffect(()=>{if(e&&(e.singleOn("expend",T),e.labelSelectedList.length===1)){let
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$1=require("../../../../components/attributeList/index.js"),index=require("../../../../components/checkboxList/index.js"),icons=require("@ant-design/icons"),es=require("antd/es"),_=require("lodash"),React=require("react"),icon_clearSmall=require("../../../../assets/annotation/common/icon_clearSmall.svg.js"),icon_clearSmall_a=require("../../../../assets/annotation/common/icon_clearSmall_a.svg.js"),lbAnnotation=require("@labelbee/lb-annotation"),reactRedux=require("react-redux"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{Panel}=es.Collapse,expandIconFuc=({isActive:e})=>React__default.default.createElement(icons.CaretRightOutlined,{rotate:e?90:0}),TagSidebar=({toolInstance:e,imgIndex:C})=>{const[u,v]=React.useState([]),s=React.useRef(null),[,q]=React.useState(0),[R,f]=React.useState(-1),{t:m}=reactI18next.useTranslation();React.useEffect(()=>{var r,l;e&&(v((l=(r=e.config)==null?void 0:r.inputList)==null?void 0:l.map(t=>t.value)),e.singleOn("render",()=>{q(t=>t+1)}))},[e]),React.useEffect(()=>{if(e&&(e.singleOn("expend",T),e.labelSelectedList.length===1)){let r=0;for(let l=0;l<e.labelSelectedList[0];l++)r+=46,n[l]&&u[l]!==""&&n[l].subSelected.forEach(t=>{r+=40});s.current&&(s.current.children[0].scrollTop=r)}}),React.useEffect(()=>{s.current&&(s.current.children[0].scrollTop=0)},[C]);const T=()=>{var r;const l=e.labelSelectedList[0],t=(r=n.filter((a,o)=>o===l)[0])==null?void 0:r.value;p(l,t,!0)},p=React.useCallback((r,l,t)=>{const a=_.cloneDeep(u);a[r]===""||t===!0?a[r]=l:a[r]="",v(a)},[u]);if(!e)return null;const{labelSelectedList:c,config:{inputList:n},currentTagResult:i,setLabel:g}=e,j=r=>c.length>0&&c[0]===r?React__default.default.createElement("span",{className:"keyDownIconActive"},r+1):React__default.default.createElement("span",{className:"keyDownIcon"},r+1),b=(r,l=-1)=>r?r.map((t,a)=>{var o,y,E,h,L;if(t.subSelected){const k=lbAnnotation.TagUtils.judgeResultIsInInputList(t.value,(o=i==null?void 0:i.result)==null?void 0:o[t.value],n);return React__default.default.createElement(es.Collapse,{bordered:!1,expandIcon:expandIconFuc,key:`collapse_${a}_${l+1}`,onChange:()=>p(a,t.value),activeKey:[u[a]]},React__default.default.createElement(Panel,{header:React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flex:1}},React__default.default.createElement("span",null,t.key,React__default.default.createElement(es.Tooltip,{placement:"bottom",title:m("ClearThisOption")},React__default.default.createElement("img",{style:{marginLeft:5,cursor:"pointer"},onClick:N=>{N.stopPropagation(),e.clearResult(!0,t.value)},src:R===a||k?icon_clearSmall_a:icon_clearSmall,onMouseEnter:()=>{f(a)},onMouseLeave:()=>{f(-1)}})),k&&u[a]===""&&React__default.default.createElement(es.Badge,{color:"#87d068"})),(n==null?void 0:n.length)>1&&j(a)),key:t.value},React__default.default.createElement("div",{className:"level",style:{backgroundColor:c.length>0&&c[0]===a?"rgba(158, 158, 158, 0.18)":""}},b(t.subSelected,a))))}const d=(n==null?void 0:n[l])?n==null?void 0:n[l].value:0,S=((h=(E=(y=i==null?void 0:i.result)==null?void 0:y[d])==null?void 0:E.split(";"))==null?void 0:h.indexOf(t.value))>-1?t.value:"";return((L=n==null?void 0:n[l])==null?void 0:L.isMulti)===!0?React__default.default.createElement("div",{className:"singleBar",key:`${d}_${l}_${a}`},React__default.default.createElement(index,{attributeChanged:()=>g(l,a),selectedAttribute:[S],list:[{value:t.value,label:t.key}],num:a+1})):React__default.default.createElement("div",{className:"singleBar",key:`${d}_${l}_${a}`},React__default.default.createElement(index$1.default,{forbidColor:!0,attributeChanged:()=>g(l,a),selectedAttribute:S,list:[{value:t.value,label:t.key}],num:a+1}))}):null,x=window.innerHeight-61-80;return React__default.default.createElement("div",{className:"tagOperationMenu",ref:s},(n==null?void 0:n.length)===0?React__default.default.createElement("div",{style:{padding:20,textAlign:"center"}},m("NoConfiguration")):React__default.default.createElement("div",{className:"main",style:{height:x}},b(n)))};function mapStateToProps(e){return{toolInstance:e.annotation.toolInstance,imgIndex:e.annotation.imgIndex}}var TagSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(TagSidebar);exports.default=TagSidebar$1,exports.expandIconFuc=expandIconFuc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),reactRedux=require("react-redux"),_=require("lodash"),index=require("../../../../utils/index.js"),es=require("antd/es"),lbAnnotation=require("@labelbee/lb-annotation"),actionCreators=require("../../../../store/annotation/actionCreators.js"),ConfigUtils=require("../../../../utils/ConfigUtils.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),reactRedux=require("react-redux"),_=require("lodash"),index=require("../../../../utils/index.js"),es=require("antd/es"),lbAnnotation=require("@labelbee/lb-annotation"),actionCreators=require("../../../../store/annotation/actionCreators.js"),ConfigUtils=require("../../../../utils/ConfigUtils.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__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 EKeyCode=lbAnnotation.cKeyCode.default,{EVideoToolName}=lbAnnotation.cTool,syntheticEventStopPagination=e=>{e.stopPropagation(),e.nativeEvent.stopPropagation(),e.nativeEvent.stopImmediatePropagation()},TextareaWithFooter=e=>{const{textareaProps:t,footer:r}=e;return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(es.Input.TextArea,__spreadValues({key:`${t.id}-${t.defaultValue}`,bordered:!1,rows:6,onKeyDown:syntheticEventStopPagination,onKeyUp:syntheticEventStopPagination},t)),React__default.default.createElement("div",{className:index.classnames({textAreaLength:!0})},r))},SingleTextInput=e=>{var t;const r=React.useRef(null),[g,f]=React.useState(!1),[w,m]=React.useState(!1),{t:v}=reactI18next.useTranslation(),{disabled:s,config:l,result:p,updateText:u,index:T,switchToNextTextarea:E,hasMultiple:C,onNext:h}=e,{maxLength:x}=l,i=p?p[l.key]:"",[y,S]=React.useState((t=i==null?void 0:i.length)!=null?t:0);React.useEffect(()=>{var a;S((a=i==null?void 0:i.length)!=null?a:0)},[i]);const c=(a,d)=>{u&&(u(a,l.key,d),l.required&&m(!a))},b=C&&E,N={id:`textInput-${T}`,ref:r,disabled:s,defaultValue:i,maxLength:x,autoSize:{minRows:2,maxRows:6},onChange:a=>{const d=a.target.value;S(a.target.value.length),c(d,!1)},onFocus:()=>{f(!0)},onBlur:a=>{f(!1),c(a.target.value,!0),l.required&&m(!a.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:a=>{a.ctrlKey&&a.keyCode===EKeyCode.Enter&&(h&&h(),a.preventDefault()),a.keyCode===EKeyCode.Tab&&b&&(a.preventDefault(),a.nativeEvent.stopImmediatePropagation(),E(T)),a.nativeEvent.stopPropagation()}},P=React__default.default.createElement("div",{className:"textAreaFooter"},React__default.default.createElement("div",{className:"hotkeyTip"},b&&React__default.default.createElement("span",null,`[${v("Switch")}]Tab`),React__default.default.createElement("span",null,`[${v("TurnPage")}]Ctrl+Enter`)),React__default.default.createElement("div",{className:"wordCount"},React__default.default.createElement("span",{className:y>=x?"warning":""},y),"/",React__default.default.createElement("span",null,x)));return React.useEffect(()=>{s&&f(!1)},[s]),React__default.default.createElement("div",{className:"textField"},React__default.default.createElement("div",{className:"label"},React__default.default.createElement("span",{className:index.classnames({required:l.required})},l.label),React__default.default.createElement("i",{className:index.classnames({clearText:!0,disabled:s}),onClick:()=>{s||c("",!0)}})),React__default.default.createElement("div",{className:index.classnames({disabled:s,"textarea-outline":!0,"ant-input-focused":g,textareaContainer:!0,focus:g,invalid:w})},React__default.default.createElement(TextareaWithFooter,{footer:P,textareaProps:N})))},TextToolSidebar=({toolInstance:e,imgIndex:t,dispatch:r,triggerEventAfterIndexChanged:g,step:f,stepList:w,basicResultList:m})=>{var v,s,l,p;const[u,T]=React.useState([]),[E,C]=React.useState(0),[h,x]=React.useState(!0),[,i]=React.useState(0),{t:y}=reactI18next.useTranslation(),S=n=>{const o=(n+1)%u.length;c(o)},c=n=>{setTimeout(()=>{const o=document.getElementById(`textInput-${n}`);o&&(C(n),o.focus(),o.select(),o.scrollIntoView({behavior:"smooth",block:"center"}))})};React.useEffect(()=>{e&&e.singleOn("valueUpdated",()=>{i(n=>n+1)})},[e]),React.useEffect(()=>{var n;e&&T(_.cloneDeep((n=e==null?void 0:e.config)==null?void 0:n.configList))},[JSON.stringify((v=e==null?void 0:e.config)==null?void 0:v.configList)]);const b=(p=(l=(s=e==null?void 0:e.textList)==null?void 0:s[0])==null?void 0:l.value)!=null?p:{},N=(n,o,k=!1)=>{var L,q;(q=e==null?void 0:e.updateTextValue)==null||q.call(e,o,n,k,(L=e==null?void 0:e.textList)==null?void 0:L[0])};React.useEffect(()=>{t>-1&&g&&c(0)},[t]);const P=()=>{r(actionCreators.PageForward(!0))},a=n=>{x(n),e==null||e.toggleShowText(n)},d=ConfigUtils.ConfigUtils.getStepConfig(w,f),F=d.dataSourceStep>0&&m.length===0,O=d.tool===EVideoToolName.VideoTextTool;return e&&React__default.default.createElement("div",{className:"textToolOperationMenu"},u.map((n,o)=>React__default.default.createElement(SingleTextInput,{config:n,key:n.key,index:o,result:b,updateText:N,switchToNextTextarea:S,hasMultiple:u.length>1,focus:E===o,onNext:P,disabled:F})),O&&React__default.default.createElement("div",{className:"textToolSwitchItem"},y("toggleShowText"),React__default.default.createElement(es.Switch,{style:{alignSelf:"center"},checked:h,onChange:n=>{a(n)}})))};function mapStateToProps(e){return{toolInstance:e.annotation.toolInstance,imgIndex:e.annotation.imgIndex,step:e.annotation.step,basicResultList:e.annotation.basicResultList,stepList:e.annotation.stepList,triggerEventAfterIndexChanged:e.annotation.triggerEventAfterIndexChanged}}var TextToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(TextToolSidebar);exports.SingleTextInput=SingleTextInput,exports.TextareaWithFooter=TextareaWithFooter,exports.default=TextToolSidebar$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import u from"react";import{connect as y}from"react-redux";import{LabelBeeContext as I,useDispatch as b}from"../../store/ctx.js";import{ANNOTATION_ACTIONS as _}from"../../store/Actions.js";import{PageJump as m,PageBackward as v,PageForward as O}from"../../store/annotation/actionCreators.js";import{TagToolInstanceAdaptor as S}from"./videoTagTool/TagToolInstanceAdaptor.js";import{cTool as V}from"@labelbee/lb-annotation";import A from"./videoClipTool/index.js";import E from"../../utils/StepUtils.js";import{jsonParser as C}from"../../utils/index.js";import{VideoTextTool as N}from"./videoTextTool/index.js";var h=Object.defineProperty,L=Object.defineProperties,B=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,j=(e,o,t)=>o in e?h(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,f=(e,o)=>{for(var t in o||(o={}))J.call(o,t)&&j(e,t,o[t]);if(P)for(var t of P(o))D.call(o,t)&&j(e,t,o[t]);return e},T=(e,o)=>L(e,B(o));const{EVideoToolName:g}=V,U=e=>{const{stepInfo:o,skipBeforePageTurning:t}=e,a=o==null?void 0:o.tool,r=b(),i=n=>{r({type:_.SET_TOOL,payload:{instance:n}})},l=()=>{r({type:_.SET_TOOL,payload:{instance:void 0}})},p=()=>{if(t){t(()=>r(v()));return}r(v())},s=()=>{if(t){t(()=>r(O()));return}r(O())};return a===g.VideoClipTool?u.createElement(A,T(f({},e),{pageBackward:p,pageForward:s,pageJump:n=>r(m(~~n-1)),onMounted:i,onUnmounted:l})):a===g.VideoTextTool?u.createElement(N,T(f({},e),{pageBackward:p,pageForward:s,pageJump:n=>r(m(~~n-1)),onMounted:i,onUnmounted:l})):a===g.VideoTagTool?u.createElement(S,T(f({},e),{pageBackward:p,pageForward:s,pageJump:n=>r(m(~~n-1)),onMounted:i,onUnmounted:l})):null},k=e=>{var o,t,a,r,i;const{annotation:{imgList:l,imgIndex:p,step:s,stepList:n,loading:x,skipBeforePageTurning:w}}=e,d=E.getCurrentStepInfo((o=e.annotation)==null?void 0:o.step,(t=e.annotation)==null?void 0:t.stepList),c=(a=l[p])!=null?a:{};return{imgIndex:p,imgList:l,stepInfo:d,config:C(d==null?void 0:d.config),step:s,stepList:n,path:(i=(r=c==null?void 0:c.path)!=null?r:c==null?void 0:c.url)!=null?i:"",loading:x,skipBeforePageTurning:w}};var F=y(k,null,null,{context:I})(U);export{F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";import t from"./index.module.scss.js";import
|
|
1
|
+
import e from"react";import t from"./index.module.scss.js";import a from"../../../../../assets/annotation/video/icon_videoCut.svg.js";import n from"../../../../../assets/annotation/video/icon_timePoint.svg.js";const i=({toggleClipStatus:o,addTime:s})=>e.createElement("div",{className:t.clipToolbar},e.createElement("span",{className:t.buttonWrapper},e.createElement("img",{src:a,className:t.cutButton,onClick:()=>{o==null||o()}}),"\u622A\u53D6"),e.createElement("span",{className:t.buttonWrapper},e.createElement("img",{src:n,className:t.localButton,onClick:s}),"\u6807\u65F6\u95F4\u70B9"));export{i 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 C}from"../../../utils/index.js";import{precisionAdd as D,precisionMinus as j,isImageValue as B}from"../../../utils/audio.js";import{message as m}from"antd";import y from"lodash";import v from"react";import A from"./index.module.scss.js";import{VideoClipToolContextProvider as M}from"./VideoClipToolContext.js";import{EClipStatus as u,ETimeSliceType as x,PER_SLICE_CHANGE as b,SLICE_MIN_TIME as T}from"./constant.js";import{VideoPlayer as N}from"../../videoPlayer/index.js";import U from"./components/videoTimeSlicesOverVideo/index.js";import J from"../../../assets/annotation/video/icon_videoCutting.svg.js";import{decimalReserved as F}from"../../videoPlayer/utils.js";var $=Object.defineProperty,z=Object.defineProperties,G=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,O=(c,r,t)=>r in c?$(c,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[r]=t,q=(c,r)=>{for(var t in r||(r={}))H.call(r,t)&&O(c,t,r[t]);if(L)for(var t of L(r))W.call(r,t)&&O(c,t,r[t]);return c},K=(c,r)=>z(c,G(r));class Q extends v.Component{constructor(r){super(r);this.fns=new Map,this.throttledUpdateTime=y.throttle(t=>{this.videoPlayer.currentTime=t},100,{trailing:!0}),this.stepInfo=()=>this.props.stepInfo,this.emitEvent=t=>{const e=this.fns.get(t);e&&e.forEach(i=>{i&&i()})},this.setValid=t=>{this.setState({valid:t}),t===!1&&(this.clearResult(),this.updateSidebar())},this.updateSidebar=()=>{this.emitEvent("changeClipSidebar")},this.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(s=>s.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===u.Clipping){m.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:o,type:l}=this.state.result[this.selectedSliceIndex],n=I.withinRange(D(o,t),[0,j(l===x.Time?s:a,b)]);this.updateSelectedSliceTimeProperty(n,"start")}},this.updateSelectedSliceTimeEndByPer=t=>{var e,i;if(this.state.clipStatus===u.Clipping){m.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u7ED3\u675F\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(s.type===x.Time){m.info("\u65F6\u95F4\u70B9\u4EC5\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}const{end:o,start:l}=s,n=I.withinRange(D(o,t),[D(l,b),a]);this.updateSelectedSliceTimeProperty(n,"end")}},this.updateSelectedSliceTimeProperty=(t,e)=>{if(this.selectedSliceIndex>-1){const{result:i}=this.state;i[this.selectedSliceIndex][e]=t,this.setState({result:y.cloneDeep(i)}),this.updateSidebar()}},this.keyDownEvents=t=>{if(!V.hotkeyFilter(t))return;const e=t.target;switch(e&&(e==null?void 0:e.tag)==="INPUT"&&(e==null?void 0:e.type)==="radio"&&t.preventDefault(),t.key.toLocaleLowerCase()){case"x":this.toggleClipStatus();break;case"e":this.addTime();break;case"escape":this.cancelClipped();break;case"-":this.updateSelectedSliceTimeStartByPer(-b);break;case"=":this.updateSelectedSliceTimeStartByPer(b);break;case"[":this.updateSelectedSliceTimeEndByPer(-b);break;case"]":this.updateSelectedSliceTimeEndByPer(b);break}},this.videoLoaded=t=>{var e;const i=this.resultJSON,s=i&&!["","{}"].includes(i),a=t?parseFloat(t.toFixed(2)):0,o={loading:!1};((e=C(i))==null?void 0:e.duration)||Object.assign(o,{result:JSON.stringify(K(q({},C(i)),{duration:a}))}),s||Object.assign(o,{result:JSON.stringify({width:0,height:0,rotate:0,valid:!0,duration:a})}),this.setState({loading:!1})},this.setVideoError=(t,e,i)=>{if(t){const{clipStatus:s}=this.state;s===u.Clipping&&this.toggleClipStatus(i)}this.setState({videoError:t,loading:!1})},this.clearResult=()=>{this.setState({result:[],selectedID:"",textValue:""}),this.updateSidebar()},this.cancelClipped=()=>{const{result:t,selectedID:e,clipStatus:i}=this.state;if(i!==u.Clipping)return;const s=t.findIndex(a=>a.id===e);s>-1&&(t.splice(s,1),this.setState({result:t,selectedID:"",clipStatus:u.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,s;if(this.disabled)return;const{clipStatus:a,selectedAttribute:o}=this.state,l=a!==u.Clipping;let n=l?u.Clipping:u.Stop,{result:d,selectedID:p,textValue:S}=this.state;const h=y.cloneDeep(d),f=t||((e=this.videoPlayer)==null?void 0:e.currentTime),E=(i=this.videoPlayer)==null?void 0:i.duration;if(E===void 0||f===void 0)return;const R=F(f,2);if(l){const g=w();p=g,h.push({start:R,end:null,attribute:o,textAttribute:this.defaultTextAttribute,duration:E,id:g,type:x.Period}),S=this.defaultTextAttribute}else{const g=h.findIndex(_=>_.id===p),P=h[g];P&&(f-P.start<T?(h.splice(g,1),m.info(`\u622A\u53D6\u7247\u6BB5\u4E0D\u80FD\u77ED\u4E8E${T}s`),n=u.Stop,p="",S=""):(h[g].end=F(f,2),(s=this.videoPlayer)==null||s.pause(),m.success(`\u5DF2\u622A\u53D6\u7247\u6BB5${d.length}`)))}this.setState({clipStatus:n,result:h,selectedID:p,textValue:S}),this.updateSidebar()},this.addTime=()=>{var t,e,i,s;if(this.disabled)return;const{result:a,selectedAttribute:o,selectedID:l}=this.state,n=w(),d=y.cloneDeep(a),p=((t=this.videoPlayer)==null?void 0:t.currentTime)||0;d.push({start:p,end:p,attribute:o,textAttribute:this.defaultTextAttribute,id:n,type:x.Time,duration:(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0});const S={result:d,selectedID:n,textValue:this.defaultTextAttribute},h=d.find(f=>f.id===l);this.isClipping&&h?(delete S.selectedID,delete S.textValue,m.success(`\u5DF2\u622A\u53D6\u65F6\u95F4\u70B9${d.length-1}`)):(s=this.videoPlayer)==null||s.pause(),this.setState(S),this.updateSidebar()},this.contextToCancel=t=>{this.state.clipStatus===u.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var s,a;const{result:o}=this.state,l=o.find(n=>n.id===t);if(l){const n=l.duration,d=e==="left",p=d?"start":"end",S=d?-n*i:n*i,h=d?[0,Math.max(((s=l.end)!=null?s:0)-T,0)]:[l.start+T,n],f=I.withinRange(S+((a=l==null?void 0:l[p])!=null?a:0),h);l[p]=f,this.throttledUpdateTime(f)}this.setState({result:[...o]}),this.updateSidebar()},this.renderMediaContent=()=>{const{pageForward:t,pageJump:e,pageBackward:i}=this.props,{result:s,currentTime:a,videoError:o,valid:l}=this.state;return v.createElement("div",{className:A.clipContainer},v.createElement(N,{imgIndex:this.props.imgIndex,imgList:this.props.imgList,pageBackward:i,pageForward:t,pageJump:e,valid:l,setVideoRef:n=>{this.videoPlayer=n},showVideoTrack:!o,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded}),v.createElement(U,{result:s,currentTime:a,attributeList:this.props.config.attributeList,extraStyle:{top:this.props.drawLayerSlot?40:0}}),this.isClipping&&v.createElement("i",{className:A.clipping,style:{backgroundImage:J}}))},this.onSelectedTimeSlice=t=>{var e;this.isClipping||(this.setState({selectedID:t.id,selectedAttribute:t.attribute,textValue:t.textAttribute}),this.updateSidebar(),(e=this.videoPlayer)==null||e.pause(),this.videoPlayer.currentTime=t.start)},this.removeTimeSlice=t=>{const{result:e}=this.state,i=this.state.selectedID===t.id?"":this.state.selectedID,s=e.findIndex(a=>a.id===t.id);s>-1&&(e.splice(s,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:s}=e;if(!s[i])return;const o=C(s[i].result)[`step_${this.stepInfo().step}`],l=(o==null?void 0:o.result)||[],n=B(s[i].result||"[]");this.setState({result:l,loading:t,selectedID:"",textValue:"",selectedAttribute:"",clipStatus:u.Stop,valid:n},()=>{this.updateSidebar(),n||m.info("\u65E0\u6548\u89C6\u9891\uFF0C\u8BF7\u8DF3\u8FC7")})}catch(i){console.error("\u6570\u636E\u89E3\u6790\u5931\u8D25"),this.setState({result:[],loading:!1,selectedID:"",textValue:"",selectedAttribute:"",valid:!0},()=>{this.updateSidebar()})}},this.setDefaultAttribute=t=>{const{result:e,selectedID:i}=this.state,s=e.find(a=>a.id===i);s&&i&&(s.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.setTextAttribute=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const s=e.find(a=>a.id===i);s&&(s.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:u.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var r;const{imgIndex:t,imgList:e}=this.props;return((r=e[t])==null?void 0:r.url)||""}get isClipping(){return this.state.clipStatus===u.Clipping}get resultJSON(){const{imgIndex:r,imgList:t}=this.props;return t.length===0||!t[r]?"[]":t[r].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return k.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedSliceIndex(){return this.state.result.findIndex(r=>r.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(r,t){const e=r.imgIndex-this.props.imgIndex,i=r.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,r),i!==0&&this.setState({loading:!1})),!0}singleOn(r,t){this.fns.set(r,[t])}on(r,t){this.singleOn(r,t)}unbindAll(r){this.fns.delete(r)}render(){const{selectedID:r,result:t,clipStatus:e,selectedAttribute:i}=this.state;return v.createElement(M,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:r,attributeList:this.props.config.attributeList,clipStatus:e,selectedAttribute:i,contextToCancel:this.contextToCancel}},this.renderMediaContent())}}export{Q as default};
|
|
1
|
+
import{MathUtils as C,CommonToolUtils as V,uuid as w,AttributeUtils as k}from"@labelbee/lb-annotation";import{jsonParser as I}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 u,ETimeSliceType as T,PER_SLICE_CHANGE as b,SLICE_MIN_TIME as x}from"./constant.js";import{VideoPlayer as N}from"../../videoPlayer/index.js";import U from"./components/videoTimeSlicesOverVideo/index.js";import J from"../../../assets/annotation/video/icon_videoCutting.svg.js";import{decimalReserved as F}from"../../videoPlayer/utils.js";var $=Object.defineProperty,z=Object.defineProperties,G=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,O=(c,r,t)=>r in c?$(c,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[r]=t,q=(c,r)=>{for(var t in r||(r={}))H.call(r,t)&&O(c,t,r[t]);if(L)for(var t of L(r))W.call(r,t)&&O(c,t,r[t]);return c},K=(c,r)=>z(c,G(r));class Q extends v.Component{constructor(r){super(r);this.fns=new Map,this.throttledUpdateTime=y.throttle(t=>{this.videoPlayer.currentTime=t},100,{trailing:!0}),this.stepInfo=()=>this.props.stepInfo,this.emitEvent=t=>{const e=this.fns.get(t);e&&e.forEach(i=>{i&&i()})},this.setValid=t=>{this.setState({valid:t}),t===!1&&(this.clearResult(),this.updateSidebar())},this.updateSidebar=()=>{this.emitEvent("changeClipSidebar")},this.exportData=()=>{var t,e;const i=(e=(t=this.videoRef)==null?void 0:t.duration)!=null?e:0;return[this.state.result.filter(s=>s.end!==null),{valid:this.state.valid,duration:i}]},this.updateSelectedSliceTimeStartByPer=t=>{var e,i;if(this.state.clipStatus===u.Clipping){f.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0,{end:a,start:o,type:l}=this.state.result[this.selectedSliceIndex],n=C.withinRange(D(o,t),[0,j(l===T.Time?s:a,b)]);this.updateSelectedSliceTimeProperty(n,"start")}},this.updateSelectedSliceTimeEndByPer=t=>{var e,i;if(this.state.clipStatus===u.Clipping){f.info("\u622A\u53D6\u4E2D\u4E0D\u652F\u6301\u8C03\u6574\u7ED3\u675F\u65F6\u95F4");return}if(this.selectedSliceIndex>-1){const s=this.state.result[this.selectedSliceIndex],a=(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0;if(s.type===T.Time){f.info("\u65F6\u95F4\u70B9\u4EC5\u652F\u6301\u8C03\u6574\u5F00\u59CB\u65F6\u95F4");return}const{end:o,start:l}=s,n=C.withinRange(D(o,t),[D(l,b),a]);this.updateSelectedSliceTimeProperty(n,"end")}},this.updateSelectedSliceTimeProperty=(t,e)=>{if(this.selectedSliceIndex>-1){const{result:i}=this.state;i[this.selectedSliceIndex][e]=t,this.setState({result:y.cloneDeep(i)}),this.updateSidebar()}},this.keyDownEvents=t=>{if(!V.hotkeyFilter(t))return;const e=t.target;switch(e&&(e==null?void 0:e.tag)==="INPUT"&&(e==null?void 0:e.type)==="radio"&&t.preventDefault(),t.key.toLocaleLowerCase()){case"x":this.toggleClipStatus();break;case"e":this.addTime();break;case"escape":this.cancelClipped();break;case"-":this.updateSelectedSliceTimeStartByPer(-b);break;case"=":this.updateSelectedSliceTimeStartByPer(b);break;case"[":this.updateSelectedSliceTimeEndByPer(-b);break;case"]":this.updateSelectedSliceTimeEndByPer(b);break}},this.videoLoaded=t=>{var e;const i=this.resultJSON,s=i&&!["","{}"].includes(i),a=t?parseFloat(t.toFixed(2)):0,o={loading:!1};((e=I(i))==null?void 0:e.duration)||Object.assign(o,{result:JSON.stringify(K(q({},I(i)),{duration:a}))}),s||Object.assign(o,{result:JSON.stringify({width:0,height:0,rotate:0,valid:!0,duration:a})}),this.setState({loading:!1})},this.setVideoError=(t,e,i)=>{if(t){const{clipStatus:s}=this.state;s===u.Clipping&&this.toggleClipStatus(i)}this.setState({videoError:t,loading:!1})},this.clearResult=()=>{this.setState({result:[],selectedID:"",textValue:""}),this.updateSidebar()},this.cancelClipped=()=>{const{result:t,selectedID:e,clipStatus:i}=this.state;if(i!==u.Clipping)return;const s=t.findIndex(a=>a.id===e);s>-1&&(t.splice(s,1),this.setState({result:t,selectedID:"",clipStatus:u.Stop}),this.updateSidebar())},this.toggleClipStatus=t=>{var e,i,s;if(this.disabled)return;const{clipStatus:a,selectedAttribute:o}=this.state,l=a!==u.Clipping;let n=l?u.Clipping:u.Stop,{result:d,selectedID:p,textValue:S}=this.state;const h=y.cloneDeep(d),m=t||((e=this.videoPlayer)==null?void 0:e.currentTime),E=(i=this.videoPlayer)==null?void 0:i.duration;if(E===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:E,id:g,type:T.Period}),S=this.defaultTextAttribute}else{const g=h.findIndex(_=>_.id===p),P=h[g];P&&(m-P.start<x?(h.splice(g,1),f.info(`\u622A\u53D6\u7247\u6BB5\u4E0D\u80FD\u77ED\u4E8E${x}s`),n=u.Stop,p="",S=""):(h[g].end=F(m,2),(s=this.videoPlayer)==null||s.pause(),f.success(`\u5DF2\u622A\u53D6\u7247\u6BB5${d.length}`)))}this.setState({clipStatus:n,result:h,selectedID:p,textValue:S}),this.updateSidebar()},this.addTime=()=>{var t,e,i,s;if(this.disabled)return;const{result:a,selectedAttribute:o,selectedID:l}=this.state,n=w(),d=y.cloneDeep(a),p=((t=this.videoPlayer)==null?void 0:t.currentTime)||0;d.push({start:p,end:p,attribute:o,textAttribute:this.defaultTextAttribute,id:n,type:T.Time,duration:(i=(e=this.videoPlayer)==null?void 0:e.duration)!=null?i:0});const S={result:d,selectedID:n,textValue:this.defaultTextAttribute},h=d.find(m=>m.id===l);this.isClipping&&h?(delete S.selectedID,delete S.textValue,f.success(`\u5DF2\u622A\u53D6\u65F6\u95F4\u70B9${d.length-1}`)):(s=this.videoPlayer)==null||s.pause(),this.setState(S),this.updateSidebar()},this.contextToCancel=t=>{this.state.clipStatus===u.Stop&&(t.preventDefault(),this.setState({selectedID:""}),this.updateSidebar())},this.onTrackResize=(t,e,i)=>{var s,a;const{result:o}=this.state,l=o.find(n=>n.id===t);if(l){const n=l.duration,d=e==="left",p=d?"start":"end",S=d?-n*i:n*i,h=d?[0,Math.max(((s=l.end)!=null?s:0)-x,0)]:[l.start+x,n],m=C.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=()=>{const{pageForward:t,pageJump:e,pageBackward:i}=this.props,{result:s,currentTime:a,videoError:o,valid:l}=this.state;return v.createElement("div",{className:A.clipContainer},v.createElement(N,{imgIndex:this.props.imgIndex,imgList:this.props.imgList,pageBackward:i,pageForward:t,pageJump:e,valid:l,setVideoRef:n=>{this.videoPlayer=n},showVideoTrack:!o,onTrackResize:this.onTrackResize,drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer,dataLoaded:this.videoLoaded,toggleClipStatus:this.toggleClipStatus,addTime:this.addTime}),v.createElement(U,{result:s,currentTime:a,attributeList:this.props.config.attributeList,extraStyle:{top:this.props.drawLayerSlot?40:0}}),this.isClipping&&v.createElement("i",{className:A.clipping,style:{backgroundImage:J}}))},this.onSelectedTimeSlice=t=>{var e;this.isClipping||(this.setState({selectedID:t.id,selectedAttribute:t.attribute,textValue:t.textAttribute}),this.updateSidebar(),(e=this.videoPlayer)==null||e.pause(),this.videoPlayer.currentTime=t.start)},this.removeTimeSlice=t=>{const{result:e}=this.state,i=this.state.selectedID===t.id?"":this.state.selectedID,s=e.findIndex(a=>a.id===t.id);s>-1&&(e.splice(s,1),this.setState({result:[...e],selectedID:i}),this.updateSidebar())},this.setResult=(t=!0,e=this.props)=>{try{const{imgIndex:i,imgList:s}=e;if(!s[i])return;const o=I(s[i].result)[`step_${this.stepInfo().step}`],l=(o==null?void 0:o.result)||[],n=B(s[i].result||"[]");this.setState({result:l,loading:t,selectedID:"",textValue:"",selectedAttribute:"",clipStatus:u.Stop,valid:n},()=>{this.updateSidebar(),n||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,s=e.find(a=>a.id===i);s&&i&&(s.attribute=t),this.setState({selectedAttribute:t,result:[...e]}),this.updateSidebar()},this.setTextAttribute=t=>{const{result:e,selectedID:i}=this.state;if(this.setState({textValue:t}),i){const s=e.find(a=>a.id===i);s&&(s.textAttribute=t,this.setState({result:[...e]}),this.updateSidebar())}},this.state={result:[],selectedAttribute:"",textValue:"",clipStatus:u.Stop,selectedID:"",loading:!1,videoError:!1,remainingTime:0,currentTime:0,configLoading:!1,valid:!0}}get videoUrl(){var r;const{imgIndex:t,imgList:e}=this.props;return((r=e[t])==null?void 0:r.url)||""}get isClipping(){return this.state.clipStatus===u.Clipping}get resultJSON(){const{imgIndex:r,imgList:t}=this.props;return t.length===0||!t[r]?"[]":t[r].result}get disabled(){return!this.state.valid||this.state.videoError}get loading(){return this.state.loading||this.state.configLoading}get defaultTextAttribute(){return k.getTextAttribute(this.state.result,this.props.config.textCheckType)}get defaultAttribute(){return this.state.selectedAttribute}get selectedSliceIndex(){return this.state.result.findIndex(r=>r.id===this.state.selectedID)}get exportContext(){return{selectedID:this.state.selectedID,result:this.state.result,clipStatus:this.state.clipStatus,videoPlayer:this.videoPlayer,attributeList:this.props.config.attributeList,onSelectedTimeSlice:this.onSelectedTimeSlice,removeTimeSlice:this.removeTimeSlice,updateSelectedSliceTimeProperty:this.updateSelectedSliceTimeProperty}}get valid(){return this.state.valid}componentDidMount(){this.setState({loading:!1}),this.setResult(!1),this.props.onMounted(this),window.addEventListener("keydown",this.keyDownEvents)}componentWillUnmount(){this.props.onUnmounted(),window.removeEventListener("keydown",this.keyDownEvents)}shouldComponentUpdate(r,t){const e=r.imgIndex-this.props.imgIndex,i=r.step-this.props.step;return(e!==0||i!==0)&&(this.setResult(!0,r),i!==0&&this.setState({loading:!1})),!0}singleOn(r,t){this.fns.set(r,[t])}on(r,t){this.singleOn(r,t)}unbindAll(r){this.fns.delete(r)}render(){const{selectedID:r,result:t,clipStatus:e,selectedAttribute:i}=this.state;return v.createElement(M,{value:{videoPlayer:this.videoPlayer,result:t,selectedID:r,attributeList:this.props.config.attributeList,clipStatus:e,selectedAttribute:i,contextToCancel:this.contextToCancel}},this.renderMediaContent())}}export{Q as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import h from"react";import{
|
|
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(s){super(s);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const i=e?this.state.tagResult.map(l=>((l==null?void 0:l.result[e])&&delete l.result[e],l)):[];this.setState({tagResult:i},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,i,l,n,o,r;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(i=this.videoPlayer)==null?void 0:i.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,v=(n=(l=this.videoPlayer)==null?void 0:l.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 i,l;const{isMulti:n}=t,{key:o,value:r}=t.value;if(n){let a=(l=(i=e[o])==null?void 0:i.split(";"))!=null?l:[];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=>{const e=b(t.keyCode);if(e){const i=e-1;if(this.config.inputList.length===1){this.labelSelectedList=[0,i],this.setLabel(0,i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],i],this.setLabel(this.labelSelectedList[0],i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[i],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:i,step:l}=t;if(!e[i])return;const n=c(e[i].result),o=n[`step_${l}`],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=()=>p.getDefaultTagResult(this.config.inputList,[]),this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var s;return c((s=this.props.stepInfo)==null?void 0:s.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var s;return(s=this.state.tagResult[0])!=null?s:{}}get valid(){return this.state.valid}singleOn(s,t){this.fns[s]=t}on(s,t){this.singleOn(s,t)}unbindAll(s){delete this.fns[s]}getTagResultByCode(s,t){var e,i,l;try{const n=(i=(e=this.config)==null?void 0:e.inputList)!=null?i:[],o=n.length>1,r=t!==void 0?s:0,a=t!==void 0?t:s,d=o?n[r]:n[0],u=((l=d.subSelected)!=null?l:[])[a];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(s,t){var e,i,l,n;const o=this.getTagResultByCode(s,t);if(o){const r=this.combineResult(o,(i=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?i:{}),a=[{sourceID:f.getSourceID(),id:(n=(l=this.currentTagResult)==null?void 0:l.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(s){return s.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(s),!0}render(){var s;const{imgIndex:t,imgList:e,pageForward:i,pageJump:l,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:i,pageJump:l,valid:r,setVideoRef:a=>{this.videoPlayer=a},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),h.createElement(R,{result:o,inputList:(s=this.config)==null?void 0:s.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 g}from"../../videoPlayer/index.js";import c from"lodash";import{VideoTextLayer as f}from"../../videoPlayer/VideoTextLayer.js";import{toolStyleConverter as y}from"@labelbee/lb-utils";class x extends u.Component{constructor(
|
|
1
|
+
import u from"react";import{jsonParser as v}from"../../../utils/index.js";import{VideoPlayer as g}from"../../videoPlayer/index.js";import c from"lodash";import{VideoTextLayer as f}from"../../videoPlayer/VideoTextLayer.js";import{toolStyleConverter as y}from"@labelbee/lb-utils";class x extends u.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,n,s,o,r,l;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(n=this.videoPlayer)==null?void 0:n.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,p=(o=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?o:0,m=(l=(r=this.videoPlayer)==null?void 0:r.videoHeight)!=null?l:0;return[[this.state.result],{valid:this.state.valid,duration:a,frames:h,videoWidth:p,videoHeight:m}]},this.toggleShowText=t=>{this.setState({showText:t})},this.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,n,s)=>{var o;const r=c.cloneDeep(s!=null?s:{});r.value=Object.assign((o=r.value)!=null?o:{},{[t]:e}),this.setState({result:r},()=>n&&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,n;const{imgList:s,imgIndex:o,step:r}=t;if(!s[o])return;const l=v(s[o].result),a=l[`step_${r}`];this.setState({result:(n=(e=a==null?void 0:a.result)==null?void 0:e[0])!=null?n:{},valid:(l==null?void 0:l.valid)===void 0?!0:l.valid},()=>this.updateSidebar())},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:n,pageForward:s,pageJump:o,pageBackward:r}=this.props,{result:l,valid:a,showText:d}=this.state;return u.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&l.value&&u.createElement(f,{value:l.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:n,pageBackward:r,pageForward:s,pageJump:o,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
|
|
1
|
+
import e,{useContext as $,useMemo as k}from"react";import{getClassName as l}from"../../../../utils/dom.js";import{CaretUpOutlined as b,CaretDownOutlined as j,PauseOutlined as H,CaretRightOutlined as R}from"@ant-design/icons";import{VideoPlayerCtx as d}from"../../index.js";import{Pagination as S}from"../../../../views/MainView/toolFooter/Pagination.js";import F from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import K from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as f}from"react-i18next";import{decimalReserved as g}from"../../utils.js";import{cTool as O}from"@labelbee/lb-annotation";import A from"../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js";import{VideoClipToolContext as B}from"../../../videoAnnotate/videoClipTool/VideoClipToolContext.js";const{EVideoToolName:I}=O,C=t=>{const o=Math.floor(t/60),n=~~(t%60).toFixed(),i=(t*10).toString().split("").pop(),r=a=>a<10?`0${a}`:a;return`${r(o)}:${r(n)}:${i}`};var E;(function(t){t[t.Video=0]="Video",t[t.Audio=1]="Audio"})(E||(E={}));const M=()=>{const{currentTime:t,duration:o,buffered:n,setCurrentTime:i}=e.useContext(d),r=e.useRef(null),a=k(()=>`${g(n/o*100,1)}%`,[n,o]),c=k(()=>`${g(t/o*100,1)}%`,[t,o]),u=s=>{if(r.current){const p=s.clientX,v=r.current.clientWidth,m=g(p/v*o,1);i(m)}};return e.createElement("div",{className:l("video-progress"),ref:r,onClick:s=>{s.stopPropagation(),s.nativeEvent.stopImmediatePropagation(),u(s)}},e.createElement("div",{className:l("video-slider")},e.createElement("div",{className:l("video-slider","played"),style:{width:c}}),e.createElement("div",{className:l("video-slider","loaded"),style:{width:a}}),e.createElement("div",{className:l("video-slider","played"),style:{width:c}})),e.createElement("div",{className:l("video-slider-bar"),style:{left:c}}))},_=()=>{const{updateNextPlaybackRate:t,playbackRate:o}=e.useContext(d),{t:n}=f();return e.createElement("span",{className:l("video-controller","speed")},e.createElement("span",null,n("Speed")),e.createElement("span",{className:l("video-controller","speedNum")},`${o}x`),e.createElement("span",{className:l("video-controller","speedButton")},e.createElement(b,{onClick:()=>{t()}}),e.createElement(j,{onClick:()=>{t(!1)}})))},L=()=>{const{t}=f();return e.createElement(K,{title:e.createElement("span",{className:l("video-controller","hotkey")},e.createElement("img",{src:F}),t("Hotkeys")),style:{},toolName:I.VideoTagTool})},X=()=>{const{imgIndex:t,imgList:o,pageBackward:n,pageJump:i,pageForward:r}=e.useContext(d);return e.createElement(S,{isVideo:!0,pageBackward:n,imgIndex:t,pageJump:i,totalPage:o.length,pageForward:r,footerCls:l("video-controller")})},z=()=>{const{currentTime:t,duration:o}=e.useContext(d),n=o*10-t*10,i=(n>0?n:0)/10;return e.createElement("div",{className:l("video-controller","time")},`${C(t)} / -${C(i)}`)},D=t=>{const{playPause:o,isPlay:n}=t;return e.createElement("span",{onClick:()=>{o()},className:l("video-controller","playButton")},n?e.createElement(H,null):e.createElement(R,null))},J=t=>{var o,n;const{footer:i}=t,{playPause:r,isPlay:a,addTime:c,toggleClipStatus:u}=e.useContext(d),{result:s}=$(B),p=(n=(o=s==null?void 0:s.filter(w=>w.end!==null))==null?void 0:o.length)!=null?n:0,{t:v}=f(),m=e.createElement(M,null),y=e.createElement(D,{playPause:r,isPlay:a}),T=e.createElement(z,null),x=e.createElement(_,null),N=e.createElement(X,null),P=e.createElement(L,null),V=e.createElement(A,{addTime:c,toggleClipStatus:u}),h=e.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${v("ItemsOfThisPage")}: ${p}`);return i?typeof i=="function"?i({videoProgress:m,videoPlayIcon:y,videoTime:T,videoSpeed:x,videoPageChange:N,videoHotKeys:P,videoClipHotKey:V,videoResultCount:h}):i: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,J as default,C as videoTimeFormat};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import K from"../../../../components/attributeList/index.js";import M from"../../../../components/checkboxList/index.js";import{CaretRightOutlined as P}from"@ant-design/icons";import{Collapse as T,Tooltip as H,Badge as x}from"antd/es";import{cloneDeep as F}from"lodash";import n,{useState as
|
|
1
|
+
import K from"../../../../components/attributeList/index.js";import M from"../../../../components/checkboxList/index.js";import{CaretRightOutlined as P}from"@ant-design/icons";import{Collapse as T,Tooltip as H,Badge as x}from"antd/es";import{cloneDeep as F}from"lodash";import n,{useState as v,useRef as U,useEffect as p,useCallback as q}from"react";import z from"../../../../assets/annotation/common/icon_clearSmall.svg.js";import G from"../../../../assets/annotation/common/icon_clearSmall_a.svg.js";import{TagUtils as J}from"@labelbee/lb-annotation";import{connect as Q}from"react-redux";import{useTranslation as V}from"react-i18next";import{LabelBeeContext as W}from"../../../../store/ctx.js";const{Panel:X}=T,$=({isActive:a})=>n.createElement(P,{rotate:a?90:0}),Y=({toolInstance:a,imgIndex:N})=>{const[s,g]=v([]),i=U(null),[,j]=v(0),[w,f]=v(-1),{t:b}=V();p(()=>{var r,t;a&&(g((t=(r=a.config)==null?void 0:r.inputList)==null?void 0:t.map(e=>e.value)),a.singleOn("render",()=>{j(e=>e+1)}))},[a]),p(()=>{if(a&&(a.singleOn("expend",O),a.labelSelectedList.length===1)){let r=0;for(let t=0;t<a.labelSelectedList[0];t++)r+=46,o[t]&&s[t]!==""&&o[t].subSelected.forEach(e=>{r+=40});i.current&&(i.current.children[0].scrollTop=r)}}),p(()=>{i.current&&(i.current.children[0].scrollTop=0)},[N]);const O=()=>{var r;const t=a.labelSelectedList[0],e=(r=o.filter((l,m)=>m===t)[0])==null?void 0:r.value;h(t,e,!0)},h=q((r,t,e)=>{const l=F(s);l[r]===""||e===!0?l[r]=t:l[r]="",g(l)},[s]);if(!a)return null;const{labelSelectedList:u,config:{inputList:o},currentTagResult:c,setLabel:E}=a,A=r=>u.length>0&&u[0]===r?n.createElement("span",{className:"keyDownIconActive"},r+1):n.createElement("span",{className:"keyDownIcon"},r+1),y=(r,t=-1)=>r?r.map((e,l)=>{var m,L,_,k,C;if(e.subSelected){const R=J.judgeResultIsInInputList(e.value,(m=c==null?void 0:c.result)==null?void 0:m[e.value],o);return n.createElement(T,{bordered:!1,expandIcon:$,key:`collapse_${l}_${t+1}`,onChange:()=>h(l,e.value),activeKey:[s[l]]},n.createElement(X,{header:n.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flex:1}},n.createElement("span",null,e.key,n.createElement(H,{placement:"bottom",title:b("ClearThisOption")},n.createElement("img",{style:{marginLeft:5,cursor:"pointer"},onClick:D=>{D.stopPropagation(),a.clearResult(!0,e.value)},src:w===l||R?G:z,onMouseEnter:()=>{f(l)},onMouseLeave:()=>{f(-1)}})),R&&s[l]===""&&n.createElement(x,{color:"#87d068"})),(o==null?void 0:o.length)>1&&A(l)),key:e.value},n.createElement("div",{className:"level",style:{backgroundColor:u.length>0&&u[0]===l?"rgba(158, 158, 158, 0.18)":""}},y(e.subSelected,l))))}const d=(o==null?void 0:o[t])?o==null?void 0:o[t].value:0,S=((k=(_=(L=c==null?void 0:c.result)==null?void 0:L[d])==null?void 0:_.split(";"))==null?void 0:k.indexOf(e.value))>-1?e.value:"";return((C=o==null?void 0:o[t])==null?void 0:C.isMulti)===!0?n.createElement("div",{className:"singleBar",key:`${d}_${t}_${l}`},n.createElement(M,{attributeChanged:()=>E(t,l),selectedAttribute:[S],list:[{value:e.value,label:e.key}],num:l+1})):n.createElement("div",{className:"singleBar",key:`${d}_${t}_${l}`},n.createElement(K,{forbidColor:!0,attributeChanged:()=>E(t,l),selectedAttribute:S,list:[{value:e.value,label:e.key}],num:l+1}))}):null,B=window.innerHeight-61-80;return n.createElement("div",{className:"tagOperationMenu",ref:i},(o==null?void 0:o.length)===0?n.createElement("div",{style:{padding:20,textAlign:"center"}},b("NoConfiguration")):n.createElement("div",{className:"main",style:{height:B}},y(o)))};function Z(a){return{toolInstance:a.annotation.toolInstance,imgIndex:a.annotation.imgIndex}}var I=Q(Z,null,null,{context:W})(Y);export{I as default,$ as expandIconFuc};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import o,{useState as u,useEffect as T,useRef as M}from"react";import{connect as z}from"react-redux";import{cloneDeep as W}from"lodash";import{classnames as N}from"../../../../utils/index.js";import{Switch as J,Input as G}from"antd/es";import{cKeyCode as H,cTool as Q}from"@labelbee/lb-annotation";import{PageForward as X}from"../../../../store/annotation/actionCreators.js";import{ConfigUtils as Y}from"../../../../utils/ConfigUtils.js";import{useTranslation as K}from"react-i18next";import{LabelBeeContext as Z}from"../../../../store/ctx.js";var ee=Object.defineProperty,R=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,$=(e,t,r)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oe=(e,t)=>{for(var r in t||(t={}))te.call(t,r)&&$(e,r,t[r]);if(R)for(var r of R(t))ne.call(t,r)&&$(e,r,t[r]);return e};const j=H.default,{EVideoToolName:ae}=Q,V=e=>{e.stopPropagation(),e.nativeEvent.stopPropagation(),e.nativeEvent.stopImmediatePropagation()},D=e=>{const{textareaProps:t,footer:r}=e;return o.createElement(o.Fragment,null,o.createElement(G.TextArea,oe({key:`${t.id}-${t.defaultValue}`,bordered:!1,rows:6,onKeyDown:V,onKeyUp:V},t)),o.createElement("div",{className:N({textAreaLength:!0})},r))},q=e=>{var t;const r=M(null),[h,p]=u(!1),[P,E]=u(!1),{t:g}=K(),{disabled:s,config:i,result:v,updateText:d,index:w,switchToNextTextarea:y,hasMultiple:L,onNext:b}=e,{maxLength:x}=i,c=v?v[i.key]:"",[S,_]=u((t=c==null?void 0:c.length)!=null?t:0);T(()=>{var n;_((n=c==null?void 0:c.length)!=null?n:0)},[c]);const m=(n,f)=>{d&&(d(n,i.key,f),i.required&&E(!n))},C=L&&y,k={id:`textInput-${w}`,ref:r,disabled:s,defaultValue:c,maxLength:x,autoSize:{minRows:2,maxRows:6},onChange:n=>{const f=n.target.value;_(n.target.value.length),m(f,!1)},onFocus:()=>{p(!0)},onBlur:n=>{p(!1),m(n.target.value,!0),i.required&&E(!n.target.value)},style:{resize:"none",wordBreak:"break-all"},onKeyDownCapture:n=>{n.ctrlKey&&n.keyCode===j.Enter&&(b&&b(),n.preventDefault()),n.keyCode===j.Tab&&C&&(n.preventDefault(),n.nativeEvent.stopImmediatePropagation(),y(w)),n.nativeEvent.stopPropagation()}},F=o.createElement("div",{className:"textAreaFooter"},o.createElement("div",{className:"hotkeyTip"},C&&o.createElement("span",null,`[${g("Switch")}]Tab`),o.createElement("span",null,`[${g("TurnPage")}]Ctrl+Enter`)),o.createElement("div",{className:"wordCount"},o.createElement("span",{className:S>=x?"warning":""},S),"/",o.createElement("span",null,x)));return T(()=>{s&&p(!1)},[s]),o.createElement("div",{className:"textField"},o.createElement("div",{className:"label"},o.createElement("span",{className:N({required:i.required})},i.label),o.createElement("i",{className:N({clearText:!0,disabled:s}),onClick:()=>{s||m("",!0)}})),o.createElement("div",{className:N({disabled:s,"textarea-outline":!0,"ant-input-focused":h,textareaContainer:!0,focus:h,invalid:P})},o.createElement(D,{footer:F,textareaProps:k})))},re=({toolInstance:e,imgIndex:t,dispatch:r,triggerEventAfterIndexChanged:h,step:p,stepList:P,basicResultList:E})=>{var g,s,i,v;const[d,w]=u([]),[y,L]=u(0),[b,x]=u(!0),[,c]=u(0),{t:S}=K(),_=a=>{const l=(a+1)%d.length;m(l)},m=a=>{setTimeout(()=>{const l=document.getElementById(`textInput-${a}`);l&&(L(a),l.focus(),l.select(),l.scrollIntoView({behavior:"smooth",block:"center"}))})};T(()=>{e&&e.singleOn("valueUpdated",()=>{c(a=>a+1)})},[e]),T(()=>{var a;e&&w(W((a=e==null?void 0:e.config)==null?void 0:a.configList))},[JSON.stringify((g=e==null?void 0:e.config)==null?void 0:g.configList)]);const C=(v=(i=(s=e==null?void 0:e.textList)==null?void 0:s[0])==null?void 0:i.value)!=null?v:{},k=(a,l,I=!1)=>{var O,A;(A=e==null?void 0:e.updateTextValue)==null||A.call(e,l,a,I,(O=e==null?void 0:e.textList)==null?void 0:O[0])};T(()=>{t>-1&&h&&m(0)},[t]);const F=()=>{r(X(!0))},n=a=>{x(a),e==null||e.toggleShowText(a)},f=Y.getStepConfig(P,p),B=f.dataSourceStep>0&&E.length===0,U=f.tool===ae.VideoTextTool;return e&&o.createElement("div",{className:"textToolOperationMenu"},d.map((a,l)=>o.createElement(q,{config:a,key:a.key,index:l,result:C,updateText:k,switchToNextTextarea:_,hasMultiple:d.length>1,focus:y===l,onNext:F,disabled:B})),U&&o.createElement("div",{className:"textToolSwitchItem"},S("toggleShowText"),o.createElement(J,{style:{alignSelf:"center"},checked:b,onChange:a=>{n(a)}})))};function le(e){return{toolInstance:e.annotation.toolInstance,imgIndex:e.annotation.imgIndex,step:e.annotation.step,basicResultList:e.annotation.basicResultList,stepList:e.annotation.stepList,triggerEventAfterIndexChanged:e.annotation.triggerEventAfterIndexChanged}}var ie=z(le,null,null,{context:Z})(re);export{q as SingleTextInput,D as TextareaWithFooter,ie as default};
|